From 7f07dd7f0e1e34e8904f4dfbefd9c9ea1b255763 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Mon, 14 Oct 2019 11:14:46 +0200 Subject: [PATCH 0001/1112] gnu: perl-cache-fastmmap: Update to 1.48. * gnu/packages/perl.scm (perl-cache-fastmmap): Update to 1.48. --- gnu/packages/perl.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 7d1235ed65b..5290e22d9bc 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -652,14 +652,14 @@ easy to use abstraction of the file system or shared memory.") (define-public perl-cache-fastmmap (package (name "perl-cache-fastmmap") - (version "1.47") + (version "1.48") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/R/RO/ROBM/" "Cache-FastMmap-" version ".tar.gz")) (sha256 - (base32 "0fdni3iyjfnx8ldgrz3h6z6yxbklrx76klcghg6xvmzd878yqlmi")))) + (base32 "118y5lxwa092zrii7mcwnqypff7424w1dpgfkg8zlnz7h2mmnd9c")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/Cache-FastMmap") (synopsis "Shared memory interprocess cache via mmap") From b55e32894175569decd9488af8e192566a173922 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Mon, 14 Oct 2019 16:18:05 +0200 Subject: [PATCH 0002/1112] gnu: poedit: Update to 2.2.4. * gnu/packages/poedit.scm (poedit): Update to 2.2.4. --- gnu/packages/poedit.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gnu/packages/poedit.scm b/gnu/packages/poedit.scm index 0b21a9eea76..3487636a3d4 100644 --- a/gnu/packages/poedit.scm +++ b/gnu/packages/poedit.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2019 Julien Lepiller +;;; Copyright © 2019 Tobias Geerinckx-Rice ;;; ;;; This file is part of GNU Guix. ;;; @@ -37,7 +38,7 @@ (define-public poedit (package (name "poedit") - (version "2.2.1") + (version "2.2.4") (source (origin (method git-fetch) (uri (git-reference @@ -46,7 +47,7 @@ (file-name (git-file-name name version)) (sha256 (base32 - "1fxzmry4b23l90j03jdyvd4jprdpy4xcnhw7xrmmfnlbh2abf9x7")) + "147jiiab4n0nbhzp1vw1jn8ykhy7qh6zf02654ppi0imdfvfnjss")) (modules '((guix build utils))) (snippet '(begin From 8fc3a337ab420dc9f80472ce057eae603fc892d3 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Mon, 14 Oct 2019 16:21:12 +0200 Subject: [PATCH 0003/1112] gnu: network-manager-applet: Update to 1.8.24. * gnu/packages/gnome.scm (network-manager-applet): Update to 1.8.24. --- gnu/packages/gnome.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 7f16b174995..94458c3cd71 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -5659,7 +5659,7 @@ Cisco's AnyConnect SSL VPN.") (define-public network-manager-applet (package (name "network-manager-applet") - (version "1.8.18") + (version "1.8.24") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -5667,7 +5667,7 @@ Cisco's AnyConnect SSL VPN.") name "-" version ".tar.xz")) (sha256 (base32 - "0y31g0lxr93370xi74hbpvcy9m81n5wdkdhq8xy2nqp0y4219p13")))) + "1gzvz4wfqfsfclqg56y954al8x6fmz71cnxlx1i4nqr7a25bp2qi")))) (build-system meson-build-system) (arguments '(#:glib-or-gtk? #t)) From f64cd5d1acb5089b3657b45302bc0aae1368bf4e Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Mon, 14 Oct 2019 16:47:37 +0200 Subject: [PATCH 0004/1112] gnu: sqitch: Update to 1.0.0. * gnu/packages/databases.scm (sqitch): Update to 1.0.0. --- gnu/packages/databases.scm | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index bb7adf25a69..8da96ff51c8 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -1156,17 +1156,15 @@ for example from a shell script.") (define-public sqitch (package (name "sqitch") - (version "0.9999") + (version "1.0.0") (source (origin (method url-fetch) (uri (string-append - "mirror://cpan/authors/id/D/DW/DWHEELER/App-Sqitch-" - version - ".tar.gz")) + "mirror://cpan/authors/id/D/DW/DWHEELER/App-Sqitch-v" + version ".tar.gz")) (sha256 - (base32 - "1cvj8grs3bzc4g7dw1zc26g4biv1frav18sq0fkvi2kk0q1aigzm")))) + (base32 "0p4wraqiscvwmmsvfqfy65blgsilwpvd9zj4d2zvm2xdx70ncr7l")))) (build-system perl-build-system) (arguments '(#:phases From e96a56f62d7aff015b5def145dc2417f9163a8d4 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Mon, 14 Oct 2019 17:06:05 +0200 Subject: [PATCH 0005/1112] gnu: r-fields: Update to 9.9. * gnu/packages/cran.scm (r-fields): Update to 9.9. --- gnu/packages/cran.scm | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 8754f83f72c..a24187cc07a 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -10885,14 +10885,13 @@ Differences with other sparse matrix packages are: (define-public r-fields (package (name "r-fields") - (version "9.8-6") + (version "9.9") (source (origin (method url-fetch) (uri (cran-uri "fields" version)) (sha256 - (base32 - "07x95vk1idjfzi5ikn0ijal754mssdmgr1p4nswmx9w3i5ndcqaz")))) + (base32 "1qbqdqq76xgnlbc9z643zn4s8k493h1jmav2f465hfvp63306br6")))) (build-system r-build-system) (propagated-inputs `(("r-maps" ,r-maps) From 41cc799357beaf87384d18abf2c764aaca725e87 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Mon, 14 Oct 2019 17:06:47 +0200 Subject: [PATCH 0006/1112] gnu: r-fields: Use HTTPS home-page. * gnu/packages/cran.scm (r-fields)[home-page]: Use HTTPS. --- gnu/packages/cran.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index a24187cc07a..101e446bcda 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -10898,7 +10898,7 @@ Differences with other sparse matrix packages are: ("r-spam" ,r-spam))) (native-inputs `(("gfortran" ,gfortran))) - (home-page "http://www.image.ucar.edu/fields") + (home-page "https://www.image.ucar.edu/fields") (synopsis "Tools for spatial data") (description "This is a package for curve, surface and function fitting with an From 8c26b18453a6b64fd9f15cf0a700ade3ca4cf72d Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Mon, 14 Oct 2019 17:14:03 +0200 Subject: [PATCH 0007/1112] gnu: sudo: Update to 1.8.28 [fixes CVE-2019-14287]. * gnu/packages/admin.scm (sudo): Update to 1.8.28. --- gnu/packages/admin.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index 3dc5f35af0b..35dae2d0564 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -1128,7 +1128,7 @@ system administrator.") (define-public sudo (package (name "sudo") - (version "1.8.27") + (version "1.8.28") (source (origin (method url-fetch) (uri @@ -1138,7 +1138,7 @@ system administrator.") version ".tar.gz"))) (sha256 (base32 - "1h1f7v9pv0rzp14cxzv8kaa8mdd717fbqv83l7c5dvvi8jwnisvv")) + "188k3w67aflbmi4b5z23pxrvzfcfndi22b84w86gzjh8b9sglaci")) (modules '((guix build utils))) (snippet '(begin From 534610d820a52dcf76b34515c86d704ded590805 Mon Sep 17 00:00:00 2001 From: Stephen Webber Date: Sun, 13 Oct 2019 10:38:52 -0500 Subject: [PATCH 0008/1112] gnu: Add emacs-dimmer. * gnu/packages/emacs-xyz.scm (emacs-dimmer): New variable. --- gnu/packages/emacs-xyz.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index bbafd548b14..fce49cc40f8 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -54,6 +54,7 @@ ;;; Copyright © 2019 Amin Bandali ;;; Copyright © 2019 Jelle Licht ;;; Copyright © 2019 Björn Höfling +;;; Copyright © 2019 Stephen Webber ;;; ;;; This file is part of GNU Guix. ;;; @@ -19161,3 +19162,26 @@ Emacs that integrate with major modes like Org-mode.") "Elixir-Mode Provides font-locking, indentation and navigation support for the Elixir programming language.") (license license:gpl3+))) + +(define-public emacs-dimmer + (package + (name "emacs-dimmer") + (version "0.3.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/gonewest818/dimmer.el.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1jv9rrv15nb5hpwcaqlpjj932gyisrkwbv11czkg3v0bn7qn6yif")))) + (build-system emacs-build-system) + (home-page "https://github.com/gonewest818/dimmer.el") + (synopsis "Visually highlights the selected buffer in Emacs") + (description "Dimmer provides a minor mode that indicates which buffer is +currently active by dimming the faces in the other buffers. It does this +nondestructively, and computes the dimmed faces dynamically such that your +overall color scheme is shown in a muted form without requiring you to define +what is a \"dim\" version of every face.") + (license license:gpl3+))) From 6078c0043dc5a2e17c199a7a3d03d4cdb4b766ee Mon Sep 17 00:00:00 2001 From: Pierre Neidhardt Date: Mon, 14 Oct 2019 09:48:48 +0200 Subject: [PATCH 0009/1112] gnu: emacs-sly-asdf: Update to 20191013. * gnu/packages/emacs-xyz.scm (emacs-sly-asdf): Update to 20191013. --- gnu/packages/emacs-xyz.scm | 17 ++++------------- 1 file changed, 4 insertions(+), 13 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index fce49cc40f8..e97571bf9f4 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -7050,8 +7050,8 @@ sly-quickload command that prompts the user for a package to install. ") (license license:gpl3+)))) (define-public emacs-sly-asdf - (let ((commit "355739e42c91b9b2339f84453292b938b6d17b0d") - (revision "1")) + (let ((commit "4e323bc28da2f07fd799b6a31b94fd93848b5f3c") + (revision "2")) (package (name "emacs-sly-asdf") (version (git-version "0.1.0" revision commit)) @@ -7065,21 +7065,12 @@ sly-quickload command that prompts the user for a package to install. ") (file-name (git-file-name name version)) (sha256 (base32 - "1plkqh4dj35c3cf8ykan8fcvqmxcdqragh4j6xg0sls27mjjz1bq")))) + "16sc33jhc6ik4ilsyqc3cjpi6v0wdmwjlwrzjwd6yym11bscsmad")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-sly" ,emacs-sly))) (arguments - `(#:include (cons* "\\.lisp$" "\\.asd$" %default-include) - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'fix-autoload - ;; TODO: Reported upstream: https://github.com/mmgeorge/sly-asdf/pull/11 - (lambda _ - (substitute* "sly-asdf.el" - (("\\(add-to-list 'sly-contribs 'sly-asdf 'append\\)") - "(with-eval-after-load 'sly - (add-to-list 'sly-contribs 'sly-asdf 'append))"))))))) + '(#:include (cons* "\\.lisp$" "\\.asd$" %default-include))) (synopsis "ASDF contrib for SLY") (description "@command{sly-asdf} is an external contrib for SLY that provides From b0cf64c0bc493164515b5a09724c2dd3d3abf511 Mon Sep 17 00:00:00 2001 From: Pierre Neidhardt Date: Mon, 14 Oct 2019 10:02:11 +0200 Subject: [PATCH 0010/1112] gnu: Add emacs-sly-named-readtables. * gnu/packages/emacs-xyz.scm (emacs-sly-named-readtables): New variable. --- gnu/packages/emacs-xyz.scm | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index e97571bf9f4..ed3d2d43e8a 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -7077,6 +7077,35 @@ sly-quickload command that prompts the user for a package to install. ") additional support for working with ASDF projects.") (license license:gpl3+)))) +(define-public emacs-sly-named-readtables + (let ((commit "a5a42674ccffa97ccd5e4e9742beaf3ea719931f") + (revision "1")) + (package + (name "emacs-sly-named-readtables") + (version (git-version "0.1" revision commit)) + (home-page "https://github.com/joaotavora/sly-named-readtables") + (source + (origin + (method git-fetch) + (uri (git-reference + (url home-page) + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "16asd119rzqrlclps2q6yrkis8jy5an5xgzzqvb7jdyq39zxg54q")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-sly" ,emacs-sly))) + (arguments + '(#:include (cons* "\\.lisp$" "\\.asd$" %default-include))) + (synopsis "Named-readtables support for SLY") + (description + "@command{sly-named-readtables} is an external contrib for SLY that +enables different readtables to be active in different parts of the same +file.") + (license license:gpl3+)))) + (define-public emacs-lua-mode (let ((commit "95c64bb5634035630e8c59d10d4a1d1003265743") (revision "2")) From de36efc2e0e35e1b6906469d0bab7210c0118c8e Mon Sep 17 00:00:00 2001 From: Pierre Neidhardt Date: Mon, 14 Oct 2019 10:02:17 +0200 Subject: [PATCH 0011/1112] gnu: Add emacs-sly-macrostep. * gnu/packages/emacs-xyz.scm (emacs-sly-macrostep): New variable. --- gnu/packages/emacs-xyz.scm | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index ed3d2d43e8a..8db581d8aff 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -7106,6 +7106,39 @@ enables different readtables to be active in different parts of the same file.") (license license:gpl3+)))) +(define-public emacs-sly-macrostep + (let ((commit "be2d24545092d164be1a91031d8881afd29c9ec0") + (revision "1")) + (package + (name "emacs-sly-macrostep") + (version (git-version "0.1" revision commit)) + (home-page "https://github.com/joaotavora/sly-macrostep") + (source + (origin + (method git-fetch) + (uri (git-reference + (url home-page) + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0v8m3zkccpqd2l8m9340y672l2mm3mrry8422nva5kfvpcwdayqb")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-sly" ,emacs-sly) + ("emacs-macrostep" ,emacs-macrostep))) + (arguments + '(#:include (cons* "\\.lisp$" "\\.asd$" %default-include) + #:phases + ;; The package provides autoloads. + (modify-phases %standard-phases + (delete 'make-autoloads)))) + (synopsis "Expand Common Lisp macros inside source files with SLY") + (description + "@command{sly-macrostep} is a SLY contrib for expanding CL macros right +inside the source file.") + (license license:gpl3+)))) + (define-public emacs-lua-mode (let ((commit "95c64bb5634035630e8c59d10d4a1d1003265743") (revision "2")) From 14db074e288a67017828415fcd553e96ba6cf00d Mon Sep 17 00:00:00 2001 From: Pierre Neidhardt Date: Mon, 14 Oct 2019 17:58:07 +0200 Subject: [PATCH 0012/1112] gnu: Add emacs-sly-package-inferred. * gnu/packages/emacs-xyz.scm (emacs-sly-package-inferred): New variable. --- gnu/packages/emacs-xyz.scm | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 8db581d8aff..c9fbb2929e3 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -7139,6 +7139,39 @@ file.") inside the source file.") (license license:gpl3+)))) +(define-public emacs-sly-package-inferred + (let ((commit "800e71e2be631422277e2ec77e6d6f6ea20e95ef") + (revision "1")) + (package + (name "emacs-sly-package-inferred") + (version (git-version "0.1" revision commit)) + (home-page "https://github.com/40ants/sly-package-inferred") + (source + (origin + (method git-fetch) + (uri (git-reference + (url home-page) + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1216idyp034nkqddhw4p53jkhhdxa6xnjjmsvijpf4rxqnfqvapg")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-sly" ,emacs-sly))) + (arguments + '(#:include (cons* "\\.lisp$" "\\.asd$" %default-include) + #:phases + ;; The package provides autoloads. + (modify-phases %standard-phases + (delete 'make-autoloads)))) + (synopsis "Improved package inferred systems support for SLY") + (description + "@command{sly-package-inferred} is an external contrib for SLY that +replaces its completion with a function which is better suited for systems +using package inferred style.") + (license license:gpl3+)))) + (define-public emacs-lua-mode (let ((commit "95c64bb5634035630e8c59d10d4a1d1003265743") (revision "2")) From 40be965e28062ab37ab7c7ed6647600fa8671ed0 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 14 Oct 2019 17:58:20 +0200 Subject: [PATCH 0013/1112] gnu: Add r-phastcons100way-ucsc-hg19. * gnu/packages/bioconductor.scm (r-phastcons100way-ucsc-hg19): New variable. --- gnu/packages/bioconductor.scm | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/gnu/packages/bioconductor.scm b/gnu/packages/bioconductor.scm index 7b0405427c3..bb28493935f 100644 --- a/gnu/packages/bioconductor.scm +++ b/gnu/packages/bioconductor.scm @@ -832,6 +832,36 @@ Disease Ontology.") using data from public repositories.") (license license:artistic2.0))) +(define-public r-phastcons100way-ucsc-hg19 + (package + (name "r-phastcons100way-ucsc-hg19") + (version "3.7.2") + (source + (origin + (method url-fetch) + (uri (bioconductor-uri "phastCons100way.UCSC.hg19" + version 'annotation)) + (sha256 + (base32 + "1jmc4k4zgkx5vr2plnidnd9bidlwlb0kr7mjg60cqjw7dq7jl1fa")))) + (properties + `((upstream-name . "phastCons100way.UCSC.hg19"))) + (build-system r-build-system) + (propagated-inputs + `(("r-bsgenome" ,r-bsgenome) + ("r-genomeinfodb" ,r-genomeinfodb) + ("r-genomicranges" ,r-genomicranges) + ("r-genomicscores" ,r-genomicscores) + ("r-iranges" ,r-iranges) + ("r-s4vectors" ,r-s4vectors))) + (home-page "https://bioconductor.org/packages/phastCons100way.UCSC.hg19") + (synopsis "UCSC phastCons conservation scores for hg19") + (description + "This package provides UCSC phastCons conservation scores for the human +genome (hg19) calculated from multiple alignments with other 99 vertebrate +species.") + (license license:artistic2.0))) + ;;; Experiment data From b06cdce923d6b8b40c1238cb1a2b9db277d3394e Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 14 Oct 2019 18:22:46 +0200 Subject: [PATCH 0014/1112] gnu: Add r-velocyto. * gnu/packages/bioinformatics.scm (r-velocyto): New variable. --- gnu/packages/bioinformatics.scm | 44 +++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index a573ef682f2..12c30236cbf 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -15260,3 +15260,47 @@ and/or unmapped/clipped reads to a separate FASTQ file. When marking duplicates, samblaster will require approximately 20MB of memory per 1M read pairs.") (license license:expat))) + +(define-public r-velocyto + (let ((commit "d7790346cb99f49ab9c2b23ba70dcf9d2c9fc350") + (revision "1")) + (package + (name "r-velocyto") + (version (git-version "0.6" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/velocyto-team/velocyto.R.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "16wqf70j7rd7pay2q513iyz12i8n9vrpg1bisah4lddbcpx5dz1n")))) + (build-system r-build-system) + (inputs + `(("boost" ,boost))) + (propagated-inputs + `(("r-hdf5r" ,r-hdf5r) + ("r-mass" ,r-mass) + ("r-mgcv" ,r-mgcv) + ("r-pcamethods" ,r-pcamethods) + ("r-rcpp" ,r-rcpp) + ("r-rcpparmadillo" ,r-rcpparmadillo) + ;; Suggested packages + ("r-rtsne" ,r-rtsne) + ("r-cluster" ,r-cluster) + ("r-abind" ,r-abind) + ("r-h5" ,r-h5) + ("r-biocgenerics" ,r-biocgenerics) + ("r-genomicalignments" ,r-genomicalignments) + ("r-rsamtools" ,r-rsamtools) + ("r-edger" ,r-edger) + ("r-igraph" ,r-igraph))) + (home-page "http://velocyto.org") + (synopsis "RNA velocity estimation in R") + (description + "This package provides basic routines for estimation of gene-specific +transcriptional derivatives and visualization of the resulting velocity +patterns.") + (license license:gpl3)))) From 5dbc79eb60f4d72953e11f3a7558ef3037b8bdb6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maurice=20Br=C3=A9mond?= Date: Mon, 14 Oct 2019 16:45:53 +0200 Subject: [PATCH 0015/1112] gnu: mumps: Update to 5.2.1. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/maths.scm (mumps): Update to 5.2.1. Co-authored-by: Ludovic Courtès --- gnu/packages/maths.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 6f75fba8795..ee633e32f8c 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -2171,7 +2171,7 @@ bindings to almost all functions of SLEPc.") (define-public mumps (package (name "mumps") - (version "5.1.2") + (version "5.2.1") (source (origin (method url-fetch) @@ -2179,7 +2179,7 @@ bindings to almost all functions of SLEPc.") version ".tar.gz")) (sha256 (base32 - "1s9asin08zqzmh08257sdghhivvy9vjif7c53fhaxaax2kd5qd7b")) + "0jklh54x4y3ik1zkw6db7766kakjm5910diyaghfxxf8vwsgr26r")) (patches (search-patches "mumps-build-parallelism.patch")))) (build-system gnu-build-system) (inputs From 06e1239502e7cc91f62161f8bab35bbe0119f2e5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maurice=20Br=C3=A9mond?= Date: Mon, 14 Oct 2019 17:44:54 +0200 Subject: [PATCH 0016/1112] gnu: mumps: Build and install shared libraries. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/patches/mumps-shared-libseq.patch, gnu/packages/patches/mumps-shared-mumps.patch, gnu/packages/patches/mumps-shared-pord.patch: New files. * gnu/local.mk (dist_patch_DATA): Add them. * gnu/packages/maths.scm (mumps)[source](patches): Add them. [arguments]: In 'configure' phase, adjust "Makefile.inc" for shared library support. In 'install' phase, install libmpiseq.so when it exists. Co-authored-by: Ludovic Courtès --- gnu/local.mk | 3 + gnu/packages/maths.scm | 23 ++++-- .../patches/mumps-shared-libseq.patch | 42 ++++++++++ gnu/packages/patches/mumps-shared-mumps.patch | 63 +++++++++++++++ gnu/packages/patches/mumps-shared-pord.patch | 77 +++++++++++++++++++ 5 files changed, 200 insertions(+), 8 deletions(-) create mode 100644 gnu/packages/patches/mumps-shared-libseq.patch create mode 100644 gnu/packages/patches/mumps-shared-mumps.patch create mode 100644 gnu/packages/patches/mumps-shared-pord.patch diff --git a/gnu/local.mk b/gnu/local.mk index 3caaec40464..6ec1bbf2e41 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1132,6 +1132,9 @@ dist_patch_DATA = \ %D%/packages/patches/mtools-mformat-uninitialized.patch \ %D%/packages/patches/mumble-1.2.19-abs.patch \ %D%/packages/patches/mumps-build-parallelism.patch \ + %D%/packages/patches/mumps-shared-libseq.patch \ + %D%/packages/patches/mumps-shared-mumps.patch \ + %D%/packages/patches/mumps-shared-pord.patch \ %D%/packages/patches/mupen64plus-ui-console-notice.patch \ %D%/packages/patches/mupen64plus-video-z64-glew-correct-path.patch \ %D%/packages/patches/mutt-store-references.patch \ diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index ee633e32f8c..06b34e2b895 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -2180,7 +2180,10 @@ bindings to almost all functions of SLEPc.") (sha256 (base32 "0jklh54x4y3ik1zkw6db7766kakjm5910diyaghfxxf8vwsgr26r")) - (patches (search-patches "mumps-build-parallelism.patch")))) + (patches (search-patches "mumps-build-parallelism.patch" + "mumps-shared-libseq.patch" + "mumps-shared-mumps.patch" + "mumps-shared-pord.patch")))) (build-system gnu-build-system) (inputs `(("fortran" ,gfortran) @@ -2210,15 +2213,17 @@ CC = gcc FC = gfortran FL = gfortran INCSEQ = -I$(topdir)/libseq -LIBSEQ = -L$(topdir)/libseq -lmpiseq +LIBSEQ = $(topdir)/libseq/libmpiseq.a LIBSEQNEEDED = libseqneeded~; CC = mpicc FC = mpifort FL = mpifort~] AR = ar vr # rules require trailing space, ugh... RANLIB = ranlib -LIBBLAS = -L~a -lopenblas~@[ -SCALAP = -L~a -lscalapack~] +BLASDIR = ~a +LIBBLAS = -Wl,-rpath=$(BLASDIR) -Wl,-rpath='$$ORIGIN' -L$(BLASDIR) -lopenblas~@[ +SCALAPDIR = ~a +SCALAP = -Wl,-rpath=$(SCALAPDIR) -Wl,-rpath='$$ORIGIN' -L$(SCALAPDIR) -lscalapack~] LIBOTHERS = -pthread CDEFS = -DAdd_ PIC = -fPIC @@ -2229,18 +2234,18 @@ INCS = $(INCSEQ) LIBS = $(SCALAP) $(LIBSEQ) LPORDDIR = $(topdir)/PORD/lib IPORD = -I$(topdir)/PORD/include -LPORD = -L$(LPORDDIR) -lpord +LPORD = $(LPORDDIR)/libpord.a ORDERINGSF = -Dpord~@[ METISDIR = ~a IMETIS = -I$(METISDIR)/include -LMETIS = -L$(METISDIR)/lib -lmetis +LMETIS = -Wl,-rpath $(METISDIR)/lib -L$(METISDIR)/lib -lmetis ORDERINGSF += -Dmetis~]~@[~:{ SCOTCHDIR = ~a ISCOTCH = -I$(SCOTCHDIR)/include -LSCOTCH = -L$(SCOTCHDIR)/lib ~a-lesmumps -lscotch -lscotcherr +LSCOTCH = -Wl,-rpath $(SCOTCHDIR)/lib -L$(SCOTCHDIR)/lib ~a-lesmumps -lscotch -lscotcherr ORDERINGSF += ~a~}~] ORDERINGSC = $(ORDERINGSF) -LORDERINGS = $(LPORD) $(LMETIS) $(LSCOTCH) +LORDERINGS = $(LPORD) $(LMETIS) $(LSCOTCH) $(LIBSEQ) IORDERINGSF = $(ISCOTCH) IORDERINGSC = $(IPORD) $(IMETIS) $(ISCOTCH)" (assoc-ref inputs "mpi") @@ -2294,6 +2299,8 @@ IORDERINGSC = $(IPORD) $(IMETIS) $(ISCOTCH)" (copy-recursively "include" (string-append out "/include")) (when (file-exists? "libseq/libmpiseq.a") (install-file "libseq/libmpiseq.a" libdir)) + (when (file-exists? "libseq/libmpiseq.so") + (install-file "libseq/libmpiseq.so" libdir)) #t)))))) (home-page "http://mumps.enseeiht.fr") (synopsis "Multifrontal sparse direct solver") diff --git a/gnu/packages/patches/mumps-shared-libseq.patch b/gnu/packages/patches/mumps-shared-libseq.patch new file mode 100644 index 00000000000..feafcf123b1 --- /dev/null +++ b/gnu/packages/patches/mumps-shared-libseq.patch @@ -0,0 +1,42 @@ +Create a shared version of the sequential library, MUST BE LAST IN SERIES + +Index: mumps/libseq/Makefile +=================================================================== +--- mumps.orig/libseq/Makefile ++++ mumps/libseq/Makefile +@@ -8,15 +8,17 @@ all: libmpiseq + + include ../Makefile.inc + +-libmpiseq: libmpiseq$(PLAT)$(LIBEXT) ++libmpiseq: libmpiseq$(PLAT).a libmpiseq$(PLAT).so + +-libmpiseq$(PLAT)$(LIBEXT): mpi.o mpic.o elapse.o +- $(AR)$@ mpi.o mpic.o elapse.o ++libmpiseq$(PLAT).a: mpi.o mpic.o elapse.o ++ $(AR) $@ mpi.o mpic.o elapse.o + $(RANLIB) $@ ++libmpiseq$(PLAT).so: mpi.o mpic.o elapse.o ++ $(FC) -shared $^ -Wl,-soname,libmpiseq$(PLAT)-5.1.2.so -o libmpiseq$(PLAT)-5.1.2.so -Wl,-z,defs + .f.o: +- $(FC) $(OPTF) -c $*.f $(OUTF)$*.o ++ $(FC) $(OPTF) -fPIC -c $*.f $(OUTF)$*.o + .c.o: +- $(CC) $(OPTC) $(CDEFS) -I. -c $*.c $(OUTC)$*.o ++ $(CC) $(OPTC) $(CDEFS) -I. -fPIC -c $*.c $(OUTC)$*.o + + clean: +- $(RM) *.o *$(LIBEXT) ++ $(RM) *.o *.a *.so +Index: mumps/Makefile +=================================================================== +--- mumps.orig/Makefile ++++ mumps/Makefile +@@ -60,6 +60,7 @@ requiredobj: Makefile.inc $(LIBSEQNEEDED + + libseqneeded: + (cd libseq; $(MAKE)) ++ cp libseq/lib* $(libdir) + + # Build the libpord.a library and copy it into $(topdir)/lib + $(libdir)/libpord$(PLAT).a: diff --git a/gnu/packages/patches/mumps-shared-mumps.patch b/gnu/packages/patches/mumps-shared-mumps.patch new file mode 100644 index 00000000000..9e2491f3003 --- /dev/null +++ b/gnu/packages/patches/mumps-shared-mumps.patch @@ -0,0 +1,63 @@ +Create a shared version of the MUMPS library. + +Index: mumps/src/Makefile +=================================================================== +--- mumps.orig/src/Makefile ++++ mumps/src/Makefile +@@ -23,8 +23,10 @@ z: + + include $(topdir)/Makefile.inc + +-mumps_lib: $(libdir)/libmumps_common$(PLAT)$(LIBEXT) \ +- $(libdir)/lib$(ARITH)mumps$(PLAT)$(LIBEXT) ++mumps_lib: $(libdir)/libmumps_common$(PLAT).a \ ++ $(libdir)/libmumps_common$(PLAT).so \ ++ $(libdir)/lib$(ARITH)mumps$(PLAT).a \ ++ $(libdir)/lib$(ARITH)mumps$(PLAT).so + + OBJS_COMMON_MOD = \ + lr_common.o \ +@@ -167,14 +169,22 @@ OBJS_OTHER = \ + $(ARITH)tools.o\ + $(ARITH)type3_root.o + +-$(libdir)/libmumps_common$(PLAT)$(LIBEXT): $(OBJS_COMMON_MOD) $(OBJS_COMMON_OTHER) +- $(AR)$@ $? ++$(libdir)/libmumps_common$(PLAT).a: $(OBJS_COMMON_MOD) $(OBJS_COMMON_OTHER) ++ $(AR) $@ $? + $(RANLIB) $@ + +-$(libdir)/lib$(ARITH)mumps$(PLAT)$(LIBEXT): $(OBJS_MOD) $(OBJS_OTHER) +- $(AR)$@ $? ++$(libdir)/libmumps_common$(PLAT).so: $(OBJS_COMMON_MOD) $(OBJS_COMMON_OTHER) ++ $(FC) -shared $^ -Wl,-soname,libmumps_common$(PLAT)-5.1.2.so -L$(libdir) $(LORDERINGS) -lpthread $(MPIFLIB) $(MPICLIB) $(LEXTRAS) -o $(libdir)/libmumps_common$(PLAT)-5.1.2.so -Wl,-z,defs ++ ln -s libmumps_common$(PLAT)-5.1.2.so $@ ++ ++$(libdir)/lib$(ARITH)mumps$(PLAT).a: $(OBJS_MOD) $(OBJS_OTHER) ++ $(AR) $@ $? + $(RANLIB) $@ + ++$(libdir)/lib$(ARITH)mumps$(PLAT).so: $(OBJS_MOD) $(OBJS_OTHER) ++ $(FC) -shared $^ -Wl,-soname,lib$(ARITH)mumps$(PLAT)-5.1.2.so -L$(libdir) -lmumps_common$(PLAT) $(LORDERINGS) $(MPIFLIB) $(LEXTRAS) $(LIBBLAS) $(SCALAP) $(LAPACK) -o $(libdir)/lib$(ARITH)mumps$(PLAT)-5.1.2.so -Wl,-z,defs ++ ln -s lib$(ARITH)mumps$(PLAT)-5.1.2.so $@ ++ + # Dependencies between modules: + $(ARITH)mumps_load.o: $(ARITH)mumps_comm_buffer.o \ + $(ARITH)mumps_struc_def.o \ +@@ -290,13 +300,13 @@ $(OBJS_OTHER):$(OBJS_COMMON_MOD) $(OBJS_ + + .SUFFIXES: .c .F .o + .F.o: +- $(FC) $(OPTF) $(INCS) $(IORDERINGSF) $(ORDERINGSF) -I. -I../include -c $*.F $(OUTF)$*.o ++ $(FC) $(OPTF) $(INCS) $(IORDERINGSF) $(ORDERINGSF) -I. -I../include -fPIC -c $*.F $(OUTF)$*.o + .c.o: +- $(CC) $(OPTC) $(INCS) -I../include $(CDEFS) $(IORDERINGSC) $(ORDERINGSC) -c $*.c $(OUTC)$*.o ++ $(CC) $(OPTC) $(INCS) -I../include $(CDEFS) $(IORDERINGSC) $(ORDERINGSC) -fPIC -c $*.c $(OUTC)$*.o + + $(ARITH)mumps_c.o: mumps_c.c + $(CC) $(OPTC) $(INCS) $(CDEFS) -DMUMPS_ARITH=MUMPS_ARITH_$(ARITH) \ +- $(IORDERINGSC) $(ORDERINGSC) -I../include -c mumps_c.c $(OUTC)$@ ++ $(IORDERINGSC) $(ORDERINGSC) -I../include -fPIC -c mumps_c.c $(OUTC)$@ + + + clean: diff --git a/gnu/packages/patches/mumps-shared-pord.patch b/gnu/packages/patches/mumps-shared-pord.patch new file mode 100644 index 00000000000..48062d4f891 --- /dev/null +++ b/gnu/packages/patches/mumps-shared-pord.patch @@ -0,0 +1,77 @@ +Create static and shared versions of the PORD library. + +Index: mumps/PORD/lib/Makefile +=================================================================== +--- mumps.orig/PORD/lib/Makefile ++++ mumps/PORD/lib/Makefile +@@ -9,7 +9,7 @@ + + INCLUDES = -I../include + +-COPTIONS = $(INCLUDES) $(CFLAGS) $(OPTFLAGS) ++COPTIONS = $(INCLUDES) $(CFLAGS) $(OPTFLAGS) -fPIC + + OBJS = graph.o gbipart.o gbisect.o ddcreate.o ddbisect.o nestdiss.o \ + multisector.o gelim.o bucket.o tree.o \ +@@ -24,12 +24,16 @@ OBJS = graph.o gbipart.o gbisect.o ddcre + .c.o: + $(CC) $(COPTIONS) -c $*.c $(OUTC)$*.o + +-libpord$(LIBEXT):$(OBJS) +- $(AR)$@ $(OBJS) ++libpord$(PLAT).a:$(OBJS) ++ $(AR) $@ $(OBJS) + $(RANLIB) $@ + ++libpord$(PLAT).so: $(OBJS) ++ $(CC) -shared $(OBJS) -Wl,-soname,libpord$(PLAT)-5.1.2.so -o libpord$(PLAT)-5.1.2.so -Wl,-z,defs ++ ln -s libpord$(PLAT)-5.1.2.so $@ ++ + clean: + rm -f *.o + + realclean: +- rm -f *.o libpord.a ++ rm -f *.o libpord*.a *.so +Index: mumps/Makefile +=================================================================== +--- mumps.orig/Makefile ++++ mumps/Makefile +@@ -54,7 +54,7 @@ dexamples: d + multi_example: s d c z + (cd examples ; $(MAKE) multi) + +-requiredobj: Makefile.inc $(LIBSEQNEEDED) $(libdir)/libpord$(PLAT)$(LIBEXT) ++requiredobj: Makefile.inc $(LIBSEQNEEDED) $(libdir)/libpord$(PLAT).a $(libdir)/libpord$(PLAT).so + + # dummy MPI library (sequential version) + +@@ -62,19 +62,25 @@ libseqneeded: + (cd libseq; $(MAKE)) + + # Build the libpord.a library and copy it into $(topdir)/lib +-$(libdir)/libpord$(PLAT)$(LIBEXT): ++$(libdir)/libpord$(PLAT).a: + if [ "$(LPORDDIR)" != "" ] ; then \ + cd $(LPORDDIR); \ + $(MAKE) CC="$(CC)" CFLAGS="$(OPTC)" AR="$(AR)" RANLIB="$(RANLIB)" OUTC="$(OUTC)" LIBEXT=$(LIBEXT); \ + fi; + if [ "$(LPORDDIR)" != "" ] ; then \ +- cp $(LPORDDIR)/libpord$(LIBEXT) $@; \ ++ cp $(LPORDDIR)/libpord$(PLAT).a $@; \ + fi; + ++$(libdir)/libpord$(PLAT).so: ++ if [ "$(LPORDDIR)" != "" ] ; then \ ++ cd $(LPORDDIR); make CC="$(CC)" CFLAGS="$(OPTC)" AR="$(AR)" ARFUNCT= RANLIB="$(RANLIB)" libpord$(PLAT).so; fi; ++ if [ "$(LPORDDIR)" != "" ] ; then \ ++ cp -a $(LPORDDIR)/libpord*.so lib/; fi; ++ + clean: + (cd src; $(MAKE) clean) + (cd examples; $(MAKE) clean) +- (cd $(libdir); $(RM) *$(PLAT)$(LIBEXT)) ++ (cd $(libdir); $(RM) *$(PLAT).a *$(PLAT).so) + (cd libseq; $(MAKE) clean) + if [ "$(LPORDDIR)" != "" ] ; then \ + cd $(LPORDDIR); $(MAKE) realclean; \ From a00a946ac5b0a3dd0681f5ba009b42f0f1804e39 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 14 Oct 2019 18:04:42 +0200 Subject: [PATCH 0017/1112] gnu: gfortran: Add version 9.x. * gnu/packages/gcc.scm (gfortran-9): New variable. --- gnu/packages/gcc.scm | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm index 2bcf05e41bf..bda6a2b48ac 100644 --- a/gnu/packages/gcc.scm +++ b/gnu/packages/gcc.scm @@ -672,6 +672,10 @@ as the 'native-search-paths' field." (custom-gcc gcc-8 "gfortran" '("fortran") %generic-search-paths)) +(define-public gfortran-9 + (custom-gcc gcc-9 "gfortran" '("fortran") + %generic-search-paths)) + (define-public gfortran ;; Note: Update this when GCC changes! We cannot use ;; (custom-gcc gcc "fortran" …) because that would lead to a package object From 7a6bbe9b68988111362f66f71324bcdcb14b0a51 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 14 Oct 2019 18:24:35 +0200 Subject: [PATCH 0018/1112] gnu: gspell: Update to 1.8.2. * gnu/packages/gnome.scm (gspell): Update to 1.8.2. --- gnu/packages/gnome.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 94458c3cd71..cd167cf3954 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -7679,7 +7679,7 @@ that support the Assistive Technology Service Provider Interface (AT-SPI).") (define-public gspell (package (name "gspell") - (version "1.8.1") + (version "1.8.2") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -7687,7 +7687,7 @@ that support the Assistive Technology Service Provider Interface (AT-SPI).") name "-" version ".tar.xz")) (sha256 (base32 - "1rdv873ixhwr15jwgc2z6k6y0hj353fqnwsy7zkh0c30qwiiv6l1")) + "1miybm1z5cl91i25l7mfqlxhv7j8yy8rcgi0s1bgbb2vm71rb4dv")) (patches (search-patches "gspell-dash-test.patch")))) (build-system glib-or-gtk-build-system) (arguments From 29ea9e14ee1d90bd7aefbcbbf89ba9d4bb46b65d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 14 Oct 2019 18:25:13 +0200 Subject: [PATCH 0019/1112] gnu: gtkmm: Update to 3.24.1. * gnu/packages/gtk.scm (gtkmm): Update to 3.24.1. --- gnu/packages/gtk.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index 34f9ca3844d..8f991a347bb 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -1093,7 +1093,7 @@ toolkit.") (define-public gtkmm (package (name "gtkmm") - (version "3.24.0") + (version "3.24.1") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -1101,7 +1101,7 @@ toolkit.") name "-" version ".tar.xz")) (sha256 (base32 - "0hxaq4x9jqj8vvnv3sb6nwapz83v8lclbm887qqci0g50llcjpyg")))) + "1zfj89spr8ianib5y10wcw63ybdmyjy58a15vqs0m8jq4knl5znx")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config) ("glib" ,glib "bin") ;for 'glib-compile-resources' From 303469d69e289c592cf564c6a3a69e5fa0ce7f56 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 13 Oct 2019 16:54:22 +0300 Subject: [PATCH 0020/1112] gnu: Add enlightenment-wayland. * gnu/packages/enlightenment.scm (enlightenment-wayland): New variable. --- gnu/packages/enlightenment.scm | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/gnu/packages/enlightenment.scm b/gnu/packages/enlightenment.scm index 1da6d2aea27..857a8ddd1ba 100644 --- a/gnu/packages/enlightenment.scm +++ b/gnu/packages/enlightenment.scm @@ -25,6 +25,7 @@ #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) #:use-module (guix download) + #:use-module (guix utils) #:use-module (guix build-system gnu) #:use-module (guix build-system meson) #:use-module (guix build-system python) @@ -362,6 +363,19 @@ unload unused functionality, with support for touchscreen and suitable for embedded systems.") (license license:bsd-2))) +(define-public enlightenment-wayland + (package + (inherit enlightenment) + (name "enlightenment-wayland") + (arguments + (substitute-keyword-arguments (package-arguments enlightenment) + ((#:configure-flags flags) + `(cons* "-Dwl=true" ,flags)))) + (inputs + `(("wayland-protocols" ,wayland-protocols) + ("xorg-server-xwayland" ,xorg-server-xwayland) + ,@(package-inputs enlightenment))))) + (define-public python-efl (package (name "python-efl") From 8e45ec509e9d6c583cd7fcaf66e269d483685be1 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Mon, 14 Oct 2019 18:06:28 +0200 Subject: [PATCH 0021/1112] gnu: sqitch: Remove perl-file-homedir input. * gnu/packages/databases.scm (perl-file-homedir)[inputs]: Remove perl-file-homedir. --- gnu/packages/databases.scm | 1 - 1 file changed, 1 deletion(-) diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index 8da96ff51c8..11568b509c4 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -1208,7 +1208,6 @@ for example from a shell script.") ("perl-dbi" ,perl-dbi) ("perl-devel-stacktrace" ,perl-devel-stacktrace) ("perl-encode-locale" ,perl-encode-locale) - ("perl-file-homedir" ,perl-file-homedir) ("perl-hash-merge" ,perl-hash-merge) ("perl-ipc-run3" ,perl-ipc-run3) ("perl-ipc-system-simple" ,perl-ipc-system-simple) From 4df49d196875a4523a7b72e1660237a47996a2aa Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Mon, 14 Oct 2019 18:10:52 +0200 Subject: [PATCH 0022/1112] gnu: python-glob2: Update to 0.7. * gnu/packages/python-xyz.scm (python-glob2): Update to 0.7. --- gnu/packages/python-xyz.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 8137d665fd6..7f8a2474399 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -15065,16 +15065,16 @@ manager compatible with @code{asyncio}.") (define-public python-glob2 (package (name "python-glob2") - (version "0.6") + (version "0.7") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/miracle2k/python-glob2.git") - (commit version))) + (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1lm1xz3k3l0k1c5bcp9hlzmi3gp5j8dl1k3xhpiq5mnm0xq6n163")))) + (base32 "160nh2ay9lw2hi0rixpzb2k87r6ql56k0j2cm87lqz8xc8zbw919")))) (build-system python-build-system) (home-page "https://github.com/miracle2k/python-glob2/") (synopsis "Extended Version of the python buildin glob module") From 53a3ebed68b6a9b8a1ebe8612ecb94f7715ef82b Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Mon, 14 Oct 2019 19:21:47 +0200 Subject: [PATCH 0023/1112] gnu: python-colorspacious: Update to 1.1.2. * gnu/packages/python-xyz.scm (python-colorspacious): Update to 1.1.2. --- gnu/packages/python-xyz.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 7f8a2474399..3252517be07 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -3892,7 +3892,7 @@ To address this and enable easy cycling over arbitrary @code{kwargs}, the (define-public python-colorspacious (package (name "python-colorspacious") - (version "1.1.0") + (version "1.1.2") (source (origin (method git-fetch) @@ -3901,7 +3901,7 @@ To address this and enable easy cycling over arbitrary @code{kwargs}, the (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0g0lxqiscy5g5rq9421vv7abg0c90jzy0zmas2z3hya6k2dr5aid")))) + (base32 "0x7nkphr6g5ql5fvgss8l56rgiyjgh6fm8zzs73i94ci9wzlm63w")))) (build-system python-build-system) (propagated-inputs `(("python-numpy" ,python-numpy))) From ef68b35da9ebcc913fae18fd62c8a1f817e19c55 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Mon, 14 Oct 2019 19:32:46 +0200 Subject: [PATCH 0024/1112] gnu: python-py3status: Update to 3.21. * gnu/packages/python-xyz.scm (python-py3status): Update to 3.21. --- gnu/packages/python-xyz.scm | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 3252517be07..d555512ed7b 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -9962,14 +9962,13 @@ to occurrences in strings and comments.") (define-public python-py3status (package (name "python-py3status") - (version "3.16") + (version "3.21") (source (origin (method url-fetch) (uri (pypi-uri "py3status" version)) (sha256 - (base32 - "1xrfph277bgjln3jbpzpgkhxad04fjvj7s3xfil42q1sxi4s3q3g")))) + (base32 "16z8zq83hxy48g6hh4xczbdz50qvxv9k1aahr4fqq7jis60cc262")))) (build-system python-build-system) (inputs `(("file" ,file))) From c7c23eb622f63037f020cde39cfb25f1d5cc29fc Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Mon, 14 Oct 2019 19:38:32 +0200 Subject: [PATCH 0025/1112] gnu: ddcutil: Update to 0.9.7. * gnu/packages/hardware.scm (ddcutil): Update to 0.9.7. --- gnu/packages/hardware.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/hardware.scm b/gnu/packages/hardware.scm index a735ecb011d..eb7471b6817 100644 --- a/gnu/packages/hardware.scm +++ b/gnu/packages/hardware.scm @@ -38,14 +38,14 @@ (define-public ddcutil (package (name "ddcutil") - (version "0.9.5") + (version "0.9.7") (source (origin (method url-fetch) (uri (string-append "https://www.ddcutil.com/tarballs/" "ddcutil-" version ".tar.gz")) (sha256 - (base32 "18brwj54dkjylvpx7c6ksf7fzhdjffi60avyg7qbs8vw9awnsxqz")))) + (base32 "0lqc3fn5h7acfmbmyi8hpv2p6b4csfbx3lkhzy073s9x2zblrq3g")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) From dc505e3eb88faf3c952aa1de4a12a42111c3742c Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Mon, 14 Oct 2019 20:43:49 +0300 Subject: [PATCH 0026/1112] gnu: vim-fugitive: Update to 3.1. * gnu/packages/vim.scm (vim-fugitive): Update to 3.1. --- gnu/packages/vim.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/vim.scm b/gnu/packages/vim.scm index b1f47bd0105..9515b1765bf 100644 --- a/gnu/packages/vim.scm +++ b/gnu/packages/vim.scm @@ -483,7 +483,7 @@ trouble using them, because you do not have to remember each snippet name.") (define-public vim-fugitive (package (name "vim-fugitive") - (version "3.0") + (version "3.1") (source (origin (method git-fetch) @@ -493,7 +493,7 @@ trouble using them, because you do not have to remember each snippet name.") (file-name (git-file-name name version)) (sha256 (base32 - "0ghh8a9xysc3njqql1khhl2dkhymz93snpwqp2apm7pka6l893bc")))) + "0d9jhmidmy5c60iy9x47gqr675n5wp9wrzln83r8ima1fz7vvbgs")))) (build-system gnu-build-system) (arguments '(#:tests? #f From 19e42618376e92cb9745197642ff5cb4afa39945 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 14 Oct 2019 22:37:54 +0200 Subject: [PATCH 0027/1112] gnu: Add methyldackel. * gnu/packages/bioinformatics.scm (methyldackel): New variable. --- gnu/packages/bioinformatics.scm | 44 +++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 12c30236cbf..5f57a59b06b 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -15304,3 +15304,47 @@ pairs.") transcriptional derivatives and visualization of the resulting velocity patterns.") (license license:gpl3)))) + +(define-public methyldackel + (package + (name "methyldackel") + (version "0.4.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/dpryan79/MethylDackel.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "10gh8k0ca92kywnrw5pkacq3g6r8s976s12k8jhp8g3g49q9a97g")))) + (build-system gnu-build-system) + (arguments + `(#:test-target "test" + #:make-flags + (list "CC=gcc" + (string-append "prefix=" + (assoc-ref %outputs "out") "/bin/")) + #:phases + (modify-phases %standard-phases + (replace 'configure + (lambda* (#:key outputs #:allow-other-keys) + (substitute* "Makefile" + (("install MethylDackel \\$\\(prefix\\)" match) + (string-append "install -d $(prefix); " match))) + #t))))) + (inputs + `(("htslib" ,htslib) + ("zlib" ,zlib))) + ;; Needed for tests + (native-inputs + `(("python" ,python-wrapper))) + (home-page "https://github.com/dpryan79/MethylDackel") + (synopsis "Universal methylation extractor for BS-seq experiments") + (description + "MethylDackel will process a coordinate-sorted and indexed BAM or CRAM +file containing some form of BS-seq alignments and extract per-base +methylation metrics from them. MethylDackel requires an indexed fasta file +containing the reference genome as well.") + ;; See https://github.com/dpryan79/MethylDackel/issues/85 + (license license:expat))) From 36f6ed2c64f74193b45e343630d64b083b98b936 Mon Sep 17 00:00:00 2001 From: Brian Leung Date: Mon, 14 Oct 2019 13:54:53 -0700 Subject: [PATCH 0028/1112] gnu: Add emacs-fringe-helper. * gnu/packages/emacs-xyz.scm (emacs-fringe-helper): New variable. --- gnu/packages/emacs-xyz.scm | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index c9fbb2929e3..b6c7f523a84 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -2340,6 +2340,34 @@ Stack Overflow, Super User, and other StackExchange sites.") files and directories.") (license license:gpl3+))) +(define-public emacs-fringe-helper + (let ((commit "ef4a9c023bae18ec1ddd7265f1f2d6d2e775efdd") + (revision "1")) + (package + (name "emacs-fringe-helper") + (version (git-version "1.0.1" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/nschum/fringe-helper.el.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0ra9rc53l1gvkqank8apasl3r7wz2yfjrcvmfk3wpxhh24ppxv9d")))) + (build-system emacs-build-system) + (arguments + `(#:tests? #t + #:test-command '("emacs" "--batch" + "-l" "tests.el" + "-f" "ert-run-tests-batch-and-exit"))) + (home-page "https://github.com/nschum/fringe-helper.el") + (synopsis "Helper functions for fringe bitmaps") + (description + "This package allows fringe bitmaps to be defined with a visual string +representation.") + (license license:gpl2+)))) + (define-public emacs-git-gutter (package (name "emacs-git-gutter") From 2322c9458cafa9519ca044f78720607de9838e88 Mon Sep 17 00:00:00 2001 From: Brian Leung Date: Mon, 14 Oct 2019 13:55:09 -0700 Subject: [PATCH 0029/1112] gnu: Add emacs-git-gutter-fringe. * gnu/packages/emacs-xyz.scm (emacs-git-gutter-fringe): New variable. --- gnu/packages/emacs-xyz.scm | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index b6c7f523a84..09ade9e493e 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -2394,6 +2394,32 @@ Git, Mercurial, Subversion and Bazaar are supported, and many parts of the display and behaviour is easily customisable.") (license license:gpl3+))) +(define-public emacs-git-gutter-fringe + (let ((commit "16226caab44174301f1659f7bf8cc67a76153445") + (revision "1")) + (package + (name "emacs-git-gutter-fringe") + (version (git-version "0.23" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/syohex/git-gutter-fringe.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1y77gjl0yznamdj0f55d418zb75k22izisjg7ikvrfsl2yfqf3pm")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-git-gutter" ,emacs-git-gutter) + ("emacs-fringe-helper" ,emacs-fringe-helper))) + (home-page "https://github.com/syohex/git-gutter-fringe") + (synopsis "See and manage hunks of text in a version control system") + (description + "This package extends @code{git-gutter} to use the fringe area of a +window.") + (license license:gpl3+)))) + (define-public emacs-git-timemachine (package (name "emacs-git-timemachine") From 100f3ccb736cdc77728af1f739ea82cc9da4b30c Mon Sep 17 00:00:00 2001 From: Brian Leung Date: Mon, 14 Oct 2019 13:55:21 -0700 Subject: [PATCH 0030/1112] gnu: Add emacs-apheleia. * gnu/packages/emacs-xyz.scm (emacs-apheleia): New variable. --- gnu/packages/emacs-xyz.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 09ade9e493e..9a801886991 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -2420,6 +2420,28 @@ display and behaviour is easily customisable.") window.") (license license:gpl3+)))) +(define-public emacs-apheleia + (package + (name "emacs-apheleia") + (version "1.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/raxod502/apheleia.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "04pls7zahy4jfkikv6fvd9vfpm4glhyanmmkx79hgi9pwdv966rf")))) + (build-system emacs-build-system) + (home-page "https://github.com/raxod502/apheleia") + (synopsis "Reformat buffer stably") + (description + "This package allows for a buffer to be reformatted without moving point, +so that running a formatting tool like @code{Prettier} or @code{Black} upon +saving won't move point back to the beginning of the buffer.") + (license license:gpl3+))) + (define-public emacs-git-timemachine (package (name "emacs-git-timemachine") From 914379a503e6e3124af7d80ce960641bf4862758 Mon Sep 17 00:00:00 2001 From: Brian Leung Date: Mon, 14 Oct 2019 14:07:48 -0700 Subject: [PATCH 0031/1112] gnu: Add emacs-git-link. * gnu/packages/emacs-xyz.scm (emacs-git-link): New variable. --- gnu/packages/emacs-xyz.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 9a801886991..2a0c4832ed1 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -2420,6 +2420,31 @@ display and behaviour is easily customisable.") window.") (license license:gpl3+)))) +(define-public emacs-git-link + (package + (name "emacs-git-link") + (version "0.7.5") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/sshaw/git-link.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "04xa6lp8wkjb6zs096bf4sz124grcjj15xv1h009bmn2j95rggj6")))) + (build-system emacs-build-system) + (arguments + `(#:tests? #t + #:test-command '("make" "test"))) + (home-page "https://github.com/sshaw/git-link") + (synopsis "Create links for files and commits in GitHub/GitLab/etc. repos") + (description + "@code{git-link} returns the URL for the current buffer's file location +at the current line number or active region. @code{git-link-commit} returns +the URL for a commit. URLs are added to the kill ring.") + (license license:gpl3+))) + (define-public emacs-apheleia (package (name "emacs-apheleia") From 88da011592a679776088b64b8d11575563c3f867 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 14 Oct 2019 23:41:24 +0200 Subject: [PATCH 0032/1112] packages: 'fold-available-packages' uses 'supported-package?'. Fixes . Reported by Marius Bakke . This is a followup to d2d63e20d5b981009b61bf416b4d7b516e8f1f34. * gnu/packages.scm (fold-available-packages): Use 'supported-package?' instead of (member ... (package-supported-systems ...)) to match what 'generate-package-cache' does. --- gnu/packages.scm | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/gnu/packages.scm b/gnu/packages.scm index 6633631c1f4..959777ff8ff 100644 --- a/gnu/packages.scm +++ b/gnu/packages.scm @@ -228,9 +228,7 @@ package module." #:outputs (package-outputs package) #:location (package-location package) #:supported? - (->bool - (member (%current-system) - (package-supported-systems package))) + (->bool (supported-package? package)) #:deprecated? (->bool (package-superseded package)))) From ed3e7b7213ae7432ae49516ebb567b46c347fb48 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Mon, 14 Oct 2019 20:33:19 -0500 Subject: [PATCH 0033/1112] gnu: pioneer: Update to 20190203. * gnu/packages/games.scm (pioneer): Update to 20190203. [build-system]: Switch from gnu- to cmake-build-system. [native-inputs]: Remove autoconf and automake. [inputs]: Add glew. [arguments]: Adjust configure-flags for cmake. Remove phase modification. --- gnu/packages/games.scm | 26 +++++++++----------------- 1 file changed, 9 insertions(+), 17 deletions(-) diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 2ed505bbc4c..a5b8ee9dd41 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2013 John Darrington ;;; Copyright © 2013 Nikita Karetnikov ;;; Copyright © 2014, 2016 David Thompson -;;; Copyright © 2014, 2015, 2016, 2017, 2018 Eric Bavier +;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019 Eric Bavier ;;; Copyright © 2014 Cyrill Schenkel ;;; Copyright © 2014 Sylvain Beucler ;;; Copyright © 2014, 2015, 2018, 2019 Ludovic Courtès @@ -5514,7 +5514,7 @@ elements to achieve a simple goal in the most complex way possible.") (define-public pioneer (package (name "pioneer") - (version "20180203") + (version "20190203") (source (origin (method git-fetch) (uri (git-reference @@ -5523,16 +5523,15 @@ elements to achieve a simple goal in the most complex way possible.") (file-name (git-file-name name version)) (sha256 (base32 - "0hp2mf36kj2v93hka8m8lxw2qhmnjc62wjlpw7c7ix0r8xa01i6h")))) - (build-system gnu-build-system) + "1g34wvgyvz793dhm1k64kl82ib0cavkbg0f2p3fp05b457ycljff")))) + (build-system cmake-build-system) (native-inputs - `(("autoconf" ,autoconf) - ("automake" ,automake) - ("pkg-config" ,pkg-config))) + `(("pkg-config" ,pkg-config))) (inputs `(("assimp" ,assimp) ("curl" ,curl) ("freetype" ,freetype) + ("glew" ,glew) ("glu" ,glu) ("libpng" ,libpng) ("libsigc++" ,libsigc++) @@ -5542,16 +5541,9 @@ elements to achieve a simple goal in the most complex way possible.") ("sdl" ,(sdl-union (list sdl2 sdl2-image))))) (arguments `(#:tests? #f ;tests are broken - #:configure-flags (list "--with-external-liblua" - (string-append "PIONEER_DATA_DIR=" - %output "/share/games/pioneer")) - #:phases (modify-phases %standard-phases - (add-before 'bootstrap 'fix-lua-check - (lambda _ - (substitute* "configure.ac" - (("lua5.2") - (string-append "lua-" ,(version-major+minor - (package-version lua-5.2)))))))))) + #:configure-flags (list "-DUSE_SYSTEM_LIBLUA:BOOL=YES" + (string-append "-DPIONEER_DATA_DIR=" + %output "/share/games/pioneer")))) (home-page "http://pioneerspacesim.net") (synopsis "Game of lonely space adventure") (description From 19181820bc83b957224e63e540811ae165a2551d Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Mon, 14 Oct 2019 23:15:49 +0200 Subject: [PATCH 0034/1112] gnu: python-crate: Update to 0.23.2. * gnu/packages/databases.scm (python-crate): Update to 0.23.2. --- gnu/packages/databases.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index 11568b509c4..690f5a38ad9 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -3085,13 +3085,13 @@ NumPy, and other traditional Python scientific computing packages.") (define-public python-crate (package (name "python-crate") - (version "0.23.0") + (version "0.23.2") (source (origin (method url-fetch) (uri (pypi-uri "crate" version)) (sha256 (base32 - "0s3s7yg4m2zflg9q96aibwb5hizsn10ql63fsj6h5z624qkavnlp")))) + "0ngmlvi320c5gsxab0s7qgq0ck4jdlcwvb6lbjhnfprafdp56vvx")))) (build-system python-build-system) (propagated-inputs `(("python-urllib3" ,python-urllib3))) From 373403bb6a4db46ed42f486a52caa0c89133cc9a Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Mon, 14 Oct 2019 23:16:42 +0200 Subject: [PATCH 0035/1112] gnu: python-django-override-storage: Update to 0.1.6. * gnu/packages/django.scm (python-django-override-storage): Update to 0.1.6. --- gnu/packages/django.scm | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/gnu/packages/django.scm b/gnu/packages/django.scm index 8e434479210..a8e0277e952 100644 --- a/gnu/packages/django.scm +++ b/gnu/packages/django.scm @@ -1008,14 +1008,13 @@ forms using your favorite CSS framework, without writing template code.") (define-public python-django-override-storage (package (name "python-django-override-storage") - (version "0.1.4") + (version "0.1.6") (source (origin (method url-fetch) (uri (pypi-uri "django-override-storage" version)) (sha256 - (base32 - "0sqz1mh0yn8b1bzz2gr2azfiynljigm5gkzavp5n17zd3j2jg57x")))) + (base32 "022arq94lxnlyykn8wvfnkykhi2dldnsn93pa2i41na551i0wpiv")))) (build-system python-build-system) (propagated-inputs `(("python-django" ,python-django))) From cbb488d6f6a593cbe8db3f1608383dc2d40cd017 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Mon, 14 Oct 2019 23:19:01 +0200 Subject: [PATCH 0036/1112] gnu: python-git-review: Update to 1.28.0. * gnu/packages/openstack.scm (python-git-review): Update to 1.28.0. --- gnu/packages/openstack.scm | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/gnu/packages/openstack.scm b/gnu/packages/openstack.scm index 289b845ebc0..c976d8aafb8 100644 --- a/gnu/packages/openstack.scm +++ b/gnu/packages/openstack.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2015 Cyril Roelandt ;;; Copyright © 2015, 2016 Efraim Flashner ;;; Copyright © 2016, 2017, 2019 Clément Lassieur -;;; Copyright © 2018 Tobias Geerinckx-Rice +;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice ;;; Copyright © 2018 Marius Bakke ;;; ;;; This file is part of GNU Guix. @@ -853,17 +853,16 @@ permanence.") (define-public python-git-review (package (name "python-git-review") - (version "1.27.0") + (version "1.28.0") (source (origin (method url-fetch) (uri (pypi-uri "git-review" version)) (sha256 - (base32 - "0xkllc8ql401sfqbjqf7i451mkgwgv0j4gysxdlyzqb27kfsyc3s")))) + (base32 "0nn17mfqvsa3ryjz53qjslmf60clc0vx2115kkj66h28p6vsnflf")))) (build-system python-build-system) (arguments - '(#:tests? #f ; tests require a running Gerrit server + '(#:tests? #f ; tests require a running Gerrit server #:phases (modify-phases %standard-phases (add-after 'install 'wrap-program From 34ac6089e161adf4f316e25cfdab3651f0c1d55e Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Mon, 14 Oct 2019 23:45:28 +0200 Subject: [PATCH 0037/1112] gnu: r-pkgbuild: Update to 1.0.6. * gnu/packages/cran.scm (r-pkgbuild): Update to 1.0.6. --- gnu/packages/cran.scm | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 101e446bcda..466e415aa81 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -1531,14 +1531,13 @@ processes. Most of its code is based on the @code{psutil} Python package.") (define-public r-pkgbuild (package (name "r-pkgbuild") - (version "1.0.5") + (version "1.0.6") (source (origin (method url-fetch) (uri (cran-uri "pkgbuild" version)) (sha256 - (base32 - "0y4i85axwajrk67h3w6fiqfm6wxmhn3dr240w5l2nvqg3ahpxc8q")))) + (base32 "0xnlz6ivhkbmncg9hfw5p69lm4rjy3wn5lyxmygxyf4rrfnnqwxx")))) (build-system r-build-system) (propagated-inputs `(("r-callr" ,r-callr) From 3d9a6b0512ec10956c31769c5b70aa611d2910ae Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Mon, 14 Oct 2019 23:45:37 +0200 Subject: [PATCH 0038/1112] gnu: r-cmprsk: Update to 2.2-9. * gnu/packages/cran.scm (r-cmprsk): Update to 2.2-9. --- gnu/packages/cran.scm | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 466e415aa81..3c97b083aec 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -11126,14 +11126,13 @@ But it can also be used to do data analysis for small scale data sets.") (define-public r-cmprsk (package (name "r-cmprsk") - (version "2.2-8") + (version "2.2-9") (source (origin (method url-fetch) (uri (cran-uri "cmprsk" version)) (sha256 - (base32 - "1nacbzx950ygaqgnj0949skhwpzar5i3xlscd44jsimk2gsppx6z")))) + (base32 "0xhgfg5b4i9skkaxp7gzkafgg5bqs5q1rp4hpw2jjmykg2nifn99")))) (build-system r-build-system) (propagated-inputs `(("r-survival" ,r-survival))) From 4f581bd068f2e0b3e1abaae351e9d039cb3b5793 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Mon, 14 Oct 2019 23:49:05 +0200 Subject: [PATCH 0039/1112] gnu: zenity: Update to 3.32.0. * gnu/packages/gnome.scm (zenity): Update to 3.32.0. --- gnu/packages/gnome.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index cd167cf3954..52b7782b328 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -4995,7 +4995,7 @@ powerful general purpose text editor.") (define-public zenity (package (name "zenity") - (version "3.30.0") + (version "3.32.0") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -5003,7 +5003,7 @@ powerful general purpose text editor.") name "-" version ".tar.xz")) (sha256 (base32 - "1wipnp46pd238z9ck5rsckbaw7yla6c936fswq5w94k4c6bgcplr")))) + "15fdh8xfdhnwcynyh4byx3mrjxbyprqnwxzi7qn3g5wwaqryg1p7")))) (build-system gnu-build-system) (native-inputs `(("gettext" ,gettext-minimal) From 5958df042cf13881947eca74e94cd894d21463ef Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Mon, 14 Oct 2019 23:49:14 +0200 Subject: [PATCH 0040/1112] gnu: zenity: Don't use NAME in source URI. * gnu/packages/gnome.scm (zenity)[source]: Hard-code NAME. --- gnu/packages/gnome.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 52b7782b328..a442d574429 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -4998,9 +4998,9 @@ powerful general purpose text editor.") (version "3.32.0") (source (origin (method url-fetch) - (uri (string-append "mirror://gnome/sources/" name "/" + (uri (string-append "mirror://gnome/sources/zenity/" (version-major+minor version) "/" - name "-" version ".tar.xz")) + "zenity-" version ".tar.xz")) (sha256 (base32 "15fdh8xfdhnwcynyh4byx3mrjxbyprqnwxzi7qn3g5wwaqryg1p7")))) From f920a64a74e5f11469a90b9f7ecf8ecbbf844059 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Tue, 15 Oct 2019 02:12:32 +0200 Subject: [PATCH 0041/1112] gnu: quaternion: Wrap with extra inputs. * gnu/packages/messaging.scm (quaternion)[inputs]: Add qtquickcontrols2. [arguments]: Use WRAP-QT-PROGRAM. --- gnu/packages/messaging.scm | 22 ++++++++++------------ 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm index c69f76893a6..03cd529d8a0 100644 --- a/gnu/packages/messaging.scm +++ b/gnu/packages/messaging.scm @@ -1779,25 +1779,23 @@ QMatrixClient project.") ("qtdeclarative" ,qtdeclarative) ("qtmultimedia" ,qtmultimedia) ("qtquickcontrols" ,qtquickcontrols) + ("qtquickcontrols2" ,qtquickcontrols2) ("qtsvg" ,qtsvg) ("qttools" ,qttools))) (arguments `(#:tests? #f ; no tests + #:modules ((guix build cmake-build-system) + (guix build qt-utils) + (guix build utils)) + #:imported-modules (,@%cmake-build-system-modules + (guix build qt-utils)) #:phases (modify-phases %standard-phases (add-after 'install 'wrap-program - (lambda* (#:key inputs outputs #:allow-other-keys) - (wrap-program (string-append (assoc-ref outputs "out") - "/bin/quaternion") - `("QT_PLUGIN_PATH" ":" prefix - (,(string-append (assoc-ref inputs "qtsvg") - "/lib/qt5/plugins"))) - `("QML2_IMPORT_PATH" ":" prefix - ,(map (lambda (label) - (string-append (assoc-ref inputs label) - "/lib/qt5/qml")) - '("qtdeclarative" "qtquickcontrols")))) - #t))))) + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (wrap-qt-program out "quaternion") + #t)))))) (home-page "https://matrix.org/docs/projects/client/quaternion.html") (synopsis "Graphical client for the Matrix instant messaging protocol") (description "Quaternion is a Qt5 desktop client for the Matrix instant From faa78e8850d7b025a13bd48e4ac0caefc77ba9cd Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Mon, 14 Oct 2019 23:59:12 +0200 Subject: [PATCH 0042/1112] gnu: xfsprogs: Update to 5.2.1. * gnu/packages/linux.scm (xfsprogs): Update to 5.2.1. --- gnu/packages/linux.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 6cfe47f90c1..ddbdd24fe4a 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -5854,7 +5854,7 @@ IP addresses and routes, and configure IPsec.") (define-public xfsprogs (package (name "xfsprogs") - (version "4.20.0") + (version "5.2.1") (source (origin (method url-fetch) (uri (string-append @@ -5862,7 +5862,7 @@ IP addresses and routes, and configure IPsec.") "xfsprogs-" version ".tar.gz")) (sha256 (base32 - "0ss0r6jlxxinf9fhpc0fgf7b89n9mzirpa85xxjmi1ix9l6cls6x")))) + "0q5xd4gb9g83h82mg68cx616ifzl8qkzzlgg5xna698117ph3wky")))) (build-system gnu-build-system) (arguments `(#:tests? #f ;kernel/user integration tests are in package "xfstests" From c78778e779127f4ec2d49d6ad1ed8cb0f9e8b96e Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Tue, 15 Oct 2019 00:45:40 +0200 Subject: [PATCH 0043/1112] gnu: xfsprogs: Install Python script to :python output. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/linux.scm (xfsprogs)[outputs]: Add ‘python’. [arguments]: Move ‘xfs_scrub_all’ to :python. [inputs]: Add python-wrapper to make it actually run. --- gnu/packages/linux.scm | 25 ++++++++++++++++++++----- 1 file changed, 20 insertions(+), 5 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index ddbdd24fe4a..989d55f8aab 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -5864,15 +5864,30 @@ IP addresses and routes, and configure IPsec.") (base32 "0q5xd4gb9g83h82mg68cx616ifzl8qkzzlgg5xna698117ph3wky")))) (build-system gnu-build-system) + (outputs (list "out" "python")) (arguments - `(#:tests? #f ;kernel/user integration tests are in package "xfstests" - #:phases (modify-phases %standard-phases - (add-after 'install 'install-headers - (lambda _ - (invoke "make" "install-dev")))))) + `(#:tests? #f ; kernel/user integration tests are in package "xfstests" + #:phases + (modify-phases %standard-phases + (add-after 'install 'separate-python-output + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out")) + (python (assoc-ref outputs "python"))) + (for-each + (lambda (script) + (mkdir-p (string-append python (dirname script))) + (rename-file (string-append out script) + (string-append python script))) + (list "/sbin/xfs_scrub_all")) + #t))) + (add-after 'install 'install-headers + (lambda _ + (invoke "make" "install-dev")))))) (native-inputs `(("gettext" ,gettext-minimal) ("util-linux" ,util-linux))) + (inputs + `(("python" ,python-wrapper))) (home-page "https://xfs.wiki.kernel.org/") (synopsis "XFS file system tools") (description "This package provides commands to create and check XFS From a7ba534ca638b00495b11ba5c8f681331c77bb14 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Mon, 14 Oct 2019 23:12:48 -0500 Subject: [PATCH 0044/1112] gnu: clamav: Update to 0.102.0. * gnu/packages/antivirus.scm (clamav): Update to 0.102.0. --- gnu/packages/antivirus.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/antivirus.scm b/gnu/packages/antivirus.scm index 5127ba17413..a723e8bebea 100644 --- a/gnu/packages/antivirus.scm +++ b/gnu/packages/antivirus.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2016, 2017, 2018 Eric Bavier +;;; Copyright © 2016, 2017, 2018, 2019 Eric Bavier ;;; Copyright © 2018 Christopher Baines ;;; Copyright © 2019 Tobias Geerinckx-Rice ;;; @@ -44,14 +44,14 @@ (define-public clamav (package (name "clamav") - (version "0.101.2") + (version "0.102.0") (source (origin (method url-fetch) (uri (string-append "https://www.clamav.net/downloads/production/" "clamav-" version ".tar.gz")) (sha256 (base32 - "0d3n4y8i5q594h4cjglmvpk4jd73r9ajpp1bvq5lr9zpdzgyn4ha")) + "1qdyj4r39266bmbsd2nwyspm20k9wh3c30awrg8c54y78s61izj8")) (modules '((guix build utils))) (snippet '(begin From 2254373ebd7617bafb15bb1a93a3ed1db431a439 Mon Sep 17 00:00:00 2001 From: Brian Leung Date: Mon, 14 Oct 2019 16:53:41 -0700 Subject: [PATCH 0045/1112] gnu: emacs-markdown-preview: Fix synopsis. * gnu/packages/emacs-xyz.scm (emacs-markdown-preview): Fix synopsis. --- gnu/packages/emacs-xyz.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 2a0c4832ed1..b068ae1ca1c 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -18052,7 +18052,7 @@ url-encoded parameters, as well as web sockets.") ("emacs-web-server" ,emacs-web-server))) (arguments '(#:include '("\\.el$" "\\.html$"))) (home-page "https://github.com/ancane/markdown-preview-mode") - (synopsis "Live web development in Emacs") + (synopsis "Preview Markdown files") (description "This package provides a minor mode for preview of Markdown files, and sends rendered Markdown to a web browser.") (license license:gpl3+))) From 1695b6ca68fc68ea353e8537c2cab367186b9bad Mon Sep 17 00:00:00 2001 From: Brian Leung Date: Mon, 14 Oct 2019 16:56:22 -0700 Subject: [PATCH 0046/1112] gnu: emacs-ghub: Update to 3.2.0-2.e19cd86. * gnu/packages/emacs-xyz.scm (emacs-ghub): Update to 3.2.0-2.e19cd86. [propagated-inputs]: Add emacs-let-alist. --- gnu/packages/emacs-xyz.scm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index b068ae1ca1c..86ecd574e65 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -566,8 +566,8 @@ deliver data to mobile and web apps.") (define-public emacs-ghub ;; We need a newer commit to avoid problems in emacs-forge. - (let ((commit "cf0b13aeba4df3798e49c205cac2d8fefd53a137") - (revision "1")) + (let ((commit "e19cd86ca4768a6d89285123933baa3f1460d696") + (revision "2")) (package (name "emacs-ghub") (version (git-version "3.2.0" revision commit)) @@ -579,7 +579,7 @@ deliver data to mobile and web apps.") (file-name (git-file-name name version)) (sha256 (base32 - "0fzayvcysk80vv4q332axcjf80x6gsnpcbl0svmpb017ii6wxhid")))) + "1d6f8sxlsl0fpkzwbpnaw77d1a5pkg63zfvf6a2fxir357lbdizx")))) (build-system emacs-build-system) (arguments `(#:phases @@ -591,6 +591,7 @@ deliver data to mobile and web apps.") `(("texinfo" ,texinfo))) (propagated-inputs `(("dash" ,emacs-dash) + ("emacs-let-alist" ,emacs-let-alist) ("treepy" ,emacs-treepy))) (home-page "https://github.com/magit/ghub") (synopsis "Emacs client libraries for the APIs of various Git forges") From ddf6e9bdb14f709df8ec72317217d9128764a8e5 Mon Sep 17 00:00:00 2001 From: Brian Leung Date: Mon, 14 Oct 2019 18:50:50 -0700 Subject: [PATCH 0047/1112] gnu: emacs-prescient: Update to 3.3-1.9505658. * gnu/packages/emacs-xyz.scm (emacs-prescient): Update to 3.3-1.9505658. --- gnu/packages/emacs-xyz.scm | 46 +++++++++++++++++++++----------------- 1 file changed, 25 insertions(+), 21 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 86ecd574e65..3d8aafd3e6d 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -4938,29 +4938,33 @@ them easier to distinguish from other, less important buffers.") (license license:expat))) (define-public emacs-prescient - (package - (name "emacs-prescient") - (version "3.3") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/raxod502/prescient.el/") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "1wqk1g8fjpcbpiz32k7arnisncd4n9zs84dn3qn9y8ggjzldqy91")))) - (build-system emacs-build-system) - (propagated-inputs - `(("emacs-company" ,emacs-company) - ("emacs-ivy" ,emacs-ivy))) - (home-page "https://github.com/raxod502/prescient.el/") - (synopsis "Library that sorts and filters lists of candidates") - (description - "This package provides a library for sorting and filtering, as well as + ;; XXX: emacs-ivy introduced a commit that disables sorting for counsel-M-x + ;; by default, so we use a non-release version ahead by one commit + (let ((commit "95056580ed743da92b05aaf86f943ee05600c28d") + (revision "1")) + (package + (name "emacs-prescient") + (version (git-version "3.3" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/raxod502/prescient.el/") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "06qxs8p66jr4gg9m1gd27v5may32f3n28la56cv4f4prinqyyfj7")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-company" ,emacs-company) + ("emacs-ivy" ,emacs-ivy))) + (home-page "https://github.com/raxod502/prescient.el/") + (synopsis "Library that sorts and filters lists of candidates") + (description + "This package provides a library for sorting and filtering, as well as extensions for @code{ivy-mode} and @code{company-mode} that make use of the library.") - (license license:gpl3+))) + (license license:gpl3+)))) (define-public emacs-smartparens (package From dbaa829ec680a2c19c8860a5e3f30c428f99f531 Mon Sep 17 00:00:00 2001 From: Brian Leung Date: Mon, 14 Oct 2019 21:40:16 -0700 Subject: [PATCH 0048/1112] gnu: emacs-magit: Add patch for compatibility with emacs-forge. * gnu/local.mk (emacs-magit-format-author-margin.patch): Add patch. * gnu/packages/emacs-xyz.scm: Add. * gnu/packages/patches/emacs-magit-log-format-author-margin.patch: Add. --- gnu/local.mk | 1 + gnu/packages/emacs-xyz.scm | 5 ++ ...emacs-magit-log-format-author-margin.patch | 72 +++++++++++++++++++ 3 files changed, 78 insertions(+) create mode 100644 gnu/packages/patches/emacs-magit-log-format-author-margin.patch diff --git a/gnu/local.mk b/gnu/local.mk index 6ec1bbf2e41..ba8cc1ee1fb 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -794,6 +794,7 @@ dist_patch_DATA = \ %D%/packages/patches/emacs-fix-scheme-indent-function.patch \ %D%/packages/patches/emacs-json-reformat-fix-tests.patch \ %D%/packages/patches/emacs-highlight-stages-add-gexp.patch \ + %D%/packages/patches/emacs-magit-log-format-author-margin.patch \ %D%/packages/patches/emacs-scheme-complete-scheme-r5rs-info.patch \ %D%/packages/patches/emacs-source-date-epoch.patch \ %D%/packages/patches/emacs-undohist-ignored.patch \ diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 3d8aafd3e6d..ddaaa017278 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -281,6 +281,11 @@ on stdout instead of using a socket as the Emacsclient does.") (sha256 (base32 "16qx0404l05q1m6w7y5j8ck1z5nfmpinm00w0p2yh1hn5zzwy6dd")) + ;; FIXME: emacs-forge uses a function defined in this patch, + ;; which is newer than the current commit. + (patches + (search-patches + "emacs-magit-log-format-author-margin.patch")) (modules '((guix build utils))) (snippet '(begin diff --git a/gnu/packages/patches/emacs-magit-log-format-author-margin.patch b/gnu/packages/patches/emacs-magit-log-format-author-margin.patch new file mode 100644 index 00000000000..fc52157a322 --- /dev/null +++ b/gnu/packages/patches/emacs-magit-log-format-author-margin.patch @@ -0,0 +1,72 @@ +From 94914ca4690c0cff12d600a0c8ba6bfb3fb38dc5 Mon Sep 17 00:00:00 2001 +From: Jonas Bernoulli +Date: Tue, 25 Jun 2019 21:44:32 +0200 +Subject: [PATCH] magit-log-format-author-margin: New function + +Split it from `magit-log-format-margin'. +--- + lisp/magit-log.el | 48 +++++++++++++++++++++++++---------------------- + 1 file changed, 26 insertions(+), 22 deletions(-) + +diff --git a/lisp/magit-log.el b/lisp/magit-log.el +index c8e6ef63..c0a79b19 100644 +--- a/lisp/magit-log.el ++++ b/lisp/magit-log.el +@@ -1374,28 +1374,32 @@ The shortstat style is experimental and rather slow." + (when-let ((option (magit-margin-option))) + (if magit-log-margin-show-shortstat + (magit-log-format-shortstat-margin rev) +- (pcase-let ((`(,_ ,style ,width ,details ,details-width) +- (or magit-buffer-margin +- (symbol-value option)))) +- (magit-make-margin-overlay +- (concat (and details +- (concat (propertize (truncate-string-to-width +- (or author "") +- details-width +- nil ?\s (make-string 1 magit-ellipsis)) +- 'face 'magit-log-author) +- " ")) +- (propertize +- (if (stringp style) +- (format-time-string +- style +- (seconds-to-time (string-to-number date))) +- (pcase-let* ((abbr (eq style 'age-abbreviated)) +- (`(,cnt ,unit) (magit--age date abbr))) +- (format (format (if abbr "%%2i%%-%ic" "%%2i %%-%is") +- (- width (if details (1+ details-width) 0))) +- cnt unit))) +- 'face 'magit-log-date))))))) ++ (magit-log-format-author-margin author date)))) ++ ++(defun magit-log-format-author-margin (author date &optional previous-line) ++ (pcase-let ((`(,_ ,style ,width ,details ,details-width) ++ (or magit-buffer-margin ++ (symbol-value option)))) ++ (magit-make-margin-overlay ++ (concat (and details ++ (concat (propertize (truncate-string-to-width ++ (or author "") ++ details-width ++ nil ?\s (make-string 1 magit-ellipsis)) ++ 'face 'magit-log-author) ++ " ")) ++ (propertize ++ (if (stringp style) ++ (format-time-string ++ style ++ (seconds-to-time (string-to-number date))) ++ (pcase-let* ((abbr (eq style 'age-abbreviated)) ++ (`(,cnt ,unit) (magit--age date abbr))) ++ (format (format (if abbr "%%2i%%-%ic" "%%2i %%-%is") ++ (- width (if details (1+ details-width) 0))) ++ cnt unit))) ++ 'face 'magit-log-date)) ++ previous-line))) + + (defun magit-log-format-shortstat-margin (rev) + (magit-make-margin-overlay +-- +2.23.0 + From 062158cd7e89ccd40381ca96ce016c841507cedb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 15 Oct 2019 07:28:36 +0200 Subject: [PATCH 0049/1112] gnu: guix: Update to 88da011. * gnu/packages/package-management.scm (guix): Update to 88da011. --- gnu/packages/package-management.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm index 3b7d4b18dd7..cd1548b42d4 100644 --- a/gnu/packages/package-management.scm +++ b/gnu/packages/package-management.scm @@ -110,8 +110,8 @@ ;; Note: the 'update-guix-package.scm' script expects this definition to ;; start precisely like this. (let ((version "1.0.1") - (commit "fc1fe722a05318ac05a71a0b127f231631e2843f") - (revision 7)) + (commit "88da011592a679776088b64b8d11575563c3f867") + (revision 8)) (package (name "guix") @@ -127,7 +127,7 @@ (commit commit))) (sha256 (base32 - "0yx19hxvmkr6ar65ym87xd83n6hz02mr7ibwis7i8wah85ypfq26")) + "1dg71acxgn2kj6kqr1hpp4v5vg7f9vl7v4d8w8ykxv84brpw4sc8")) (file-name (string-append "guix-" version "-checkout")))) (build-system gnu-build-system) (arguments From e464ac667297d2acf57e52438a39cadc87b95da2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 15 Oct 2019 10:21:41 +0200 Subject: [PATCH 0050/1112] tests: Skip container test when lacking kernel support. This is a followup to 96b35998e610c7fc37bf87bf9e07e63d3bebd0a3. * tests/containers.scm ("eval/container, non-empty load path"): Add missing 'skip-if-unsupported' call. --- tests/containers.scm | 1 + 1 file changed, 1 insertion(+) diff --git a/tests/containers.scm b/tests/containers.scm index 01fbcbb45ad..7b63e5c108e 100644 --- a/tests/containers.scm +++ b/tests/containers.scm @@ -269,6 +269,7 @@ (lset= string=? (cons* "." ".." (map basename reqs)) (pk (call-with-input-file result read)))))))))) +(skip-if-unsupported) (test-assert "eval/container, non-empty load path" (call-with-temporary-directory (lambda (directory) From 00d732195812234f578a9513b32010fbe6469cd1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 15 Oct 2019 12:24:09 +0200 Subject: [PATCH 0051/1112] offload: Set a longer SSH session timeout. Fixes . * guix/scripts/offload.scm (open-ssh-session): Add 'max-silent-time' parameter. Add call to 'session-set!' before returning SESSION. (transfer-and-offload): Pass MAX-SILENT-TIME to 'open-ssh-session'. (%short-timeout): New variable. (choose-build-machine): Pass %SHORT-TIMEOUT to 'open-ssh-session'. (check-machine-availability): Likewise. (check-machine-status): Likewise. --- guix/scripts/offload.scm | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/guix/scripts/offload.scm b/guix/scripts/offload.scm index bb307cefd14..1384f6b41d5 100644 --- a/guix/scripts/offload.scm +++ b/guix/scripts/offload.scm @@ -174,7 +174,7 @@ can interpret meaningfully." private key from '~a': ~a") file str)))))))) -(define (open-ssh-session machine) +(define* (open-ssh-session machine #:optional (max-silent-time -1)) "Open an SSH session for MACHINE and return it. Throw an error on failure." (let ((private (private-key-from-file* (build-machine-private-key machine))) (public (public-key-from-file @@ -183,7 +183,7 @@ private key from '~a': ~a") (session (make-session #:user (build-machine-user machine) #:host (build-machine-name machine) #:port (build-machine-port machine) - #:timeout 10 ;seconds + #:timeout 10 ;initial timeout (seconds) ;; #:log-verbosity 'protocol #:identity (build-machine-private-key machine) @@ -225,6 +225,10 @@ instead of '~a' of type '~a'~%") (leave (G_ "SSH public key authentication failed for '~a': ~a~%") (build-machine-name machine) (get-error session)))) + ;; From then on use MAX-SILENT-TIME as the absolute timeout when + ;; reading from or write to a channel for this session. + (session-set! session 'timeout max-silent-time) + session) (x ;; Connection failed or timeout expired. @@ -313,7 +317,7 @@ hook." INPUTS to MACHINE; if building DRV succeeds, retrieve all of OUTPUTS from MACHINE." (define session - (open-ssh-session machine)) + (open-ssh-session machine max-silent-time)) (define store (connect-to-remote-daemon session @@ -472,7 +476,8 @@ slot (which must later be released with 'release-build-slot'), or #f and #f." ;; Return the best machine unless it's already overloaded. ;; Note: We call 'node-load' only as a last resort because it is ;; too costly to call it once for every machine. - (let* ((session (false-if-exception (open-ssh-session best))) + (let* ((session (false-if-exception (open-ssh-session best + %short-timeout))) (node (and session (remote-inferior session))) (load (and node (normalized-load best (node-load node)))) (space (and node (node-free-disk-space node)))) @@ -573,6 +578,11 @@ If TIMEOUT is #f, simply evaluate EXP..." ;;; Installation tests. ;;; +(define %short-timeout + ;; Timeout in seconds used on SSH connections where reads and writes + ;; shouldn't take long. + 15) + (define (assert-node-repl node name) "Bail out if NODE is not running Guile." (match (node-guile-version node) @@ -658,7 +668,7 @@ machine." (length machines) machine-file) (let* ((names (map build-machine-name machines)) (sockets (map build-machine-daemon-socket machines)) - (sessions (map open-ssh-session machines)) + (sessions (map (cut open-ssh-session <> %short-timeout) machines)) (nodes (map remote-inferior sessions))) (for-each assert-node-has-guix nodes names) (for-each assert-node-repl nodes names) @@ -682,7 +692,7 @@ machine." (length machines) machine-file) (for-each (lambda (machine) (define session - (open-ssh-session machine)) + (open-ssh-session machine %short-timeout)) (match (remote-inferior session) (#f From 81c5873ab7405de8d6c2f6024f05a5afe43fe005 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 15 Oct 2019 12:33:46 +0200 Subject: [PATCH 0052/1112] ssh: Add a longer SSH timeout by default. * guix/ssh.scm (open-ssh-session): Add #:timeout parameter, and add call to 'session-set!' to honor it. --- guix/ssh.scm | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/guix/ssh.scm b/guix/ssh.scm index b6b55bdfcb9..5fd3c280e82 100644 --- a/guix/ssh.scm +++ b/guix/ssh.scm @@ -61,11 +61,16 @@ "zlib@openssh.com,zlib") (define* (open-ssh-session host #:key user port identity - (compression %compression)) + (compression %compression) + (timeout 3600)) "Open an SSH session for HOST and return it. IDENTITY specifies the file name of a private key to use for authenticating with the host. When USER, PORT, or IDENTITY are #f, use default values or whatever '~/.ssh/config' -specifies; otherwise use them. Throw an error on failure." +specifies; otherwise use them. Install TIMEOUT as the maximum time in seconds +after which a read or write operation on a channel of the returned session is +considered as failing. + +Throw an error on failure." (let ((session (make-session #:user user #:identity identity #:host host @@ -86,6 +91,7 @@ specifies; otherwise use them. Throw an error on failure." ;; Use public key authentication, via the SSH agent if it's available. (match (userauth-public-key/auto! session) ('success + (session-set! session 'timeout timeout) session) (x (disconnect! session) From da414ec6873b0b912002babe4385fbae51676b43 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 15 Oct 2019 11:18:49 +0200 Subject: [PATCH 0053/1112] gnu: Add ucx. * gnu/packages/fabric-management.scm (ucx): New variable. --- gnu/packages/fabric-management.scm | 50 ++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) diff --git a/gnu/packages/fabric-management.scm b/gnu/packages/fabric-management.scm index 83520f1a740..9b30b09df59 100644 --- a/gnu/packages/fabric-management.scm +++ b/gnu/packages/fabric-management.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2017 Dave Love ;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice ;;; Copyright © 2019 Ricardo Wurmus +;;; Copyright © 2019 Ludovic Courtès ;;; ;;; This file is part of GNU Guix. ;;; @@ -22,6 +23,7 @@ #:use-module (guix packages) #:use-module (guix licenses) #:use-module (guix download) + #:use-module (guix git-download) #:use-module (guix utils) #:use-module (guix build-system gnu) #:use-module (gnu packages) @@ -175,3 +177,51 @@ interface to this library is not guaranteed to be stable.") testing InfiniBand networks.") (home-page "https://www.openfabrics.org/downloads/ibutils/") (license bsd-2))) + +(define-public ucx + (package + (name "ucx") + (version "1.6.1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/openucx/ucx.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0x3clvy716i7va4m4adgx6ihjsfnzrkdizhxz5v52944dkglpc8n")))) + (build-system gnu-build-system) + (arguments + '( ;; These are the flags found in 'contrib/configure-release'. + #:configure-flags (list "--enable-optimizations" + "--disable-logging" + "--disable-debug" + "--disable-assertions" + "--disable-params-check" + + (string-append "--with-rdmacm=" + (assoc-ref %build-inputs + "rdma-core"))))) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("libtool" ,libtool) + ("pkg-config" ,pkg-config))) + (inputs + `(("numactl" ,numactl) + ("rdma-core" ,rdma-core))) + (synopsis "Optimized communication layer for message passing in HPC") + (description + "Unified Communication X (UCX) provides an optimized communication layer +for message passing (MPI), portable global address space (PGAS) languages and +run-time support libraries, as well as RPC and data-centric applications. + +UCX utilizes high-speed networks for inter-node communication, and shared +memory mechanisms for efficient intra-node communication.") + (home-page "https://www.openucx.org/") + (license bsd-3) + + ;; lists only PowerPC64, AArch64, and x86_64 as + ;; supported. + (supported-systems '("x86_64-linux" "aarch64-linux")))) From 8ba94edd8f411d68338d6d063dc09cda6858b748 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 15 Oct 2019 13:56:06 +0200 Subject: [PATCH 0054/1112] gnu: openmpi: Add dependency on UCX when supported. * gnu/packages/mpi.scm (openmpi)[inputs]: Add UCX conditionally. --- gnu/packages/mpi.scm | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/gnu/packages/mpi.scm b/gnu/packages/mpi.scm index 079ac34dbfc..914f8e975e1 100644 --- a/gnu/packages/mpi.scm +++ b/gnu/packages/mpi.scm @@ -185,6 +185,10 @@ bind processes, and much more.") (member (%current-system) (package-supported-systems psm2))) `(("psm2" ,psm2)) '()) + ,@(if (and (not (%current-target-system)) + (member (%current-system) (package-supported-systems psm2))) + `(("ucx" ,ucx)) + '()) ("rdma-core" ,rdma-core) ("valgrind" ,valgrind) ("slurm" ,slurm))) ;for PMI support (launching via "srun") From 16e2e4f27b4d6c3d58b9ba029c923994cdf9c140 Mon Sep 17 00:00:00 2001 From: zimoun Date: Tue, 8 Oct 2019 19:35:16 +0200 Subject: [PATCH 0055/1112] gnu: Add r-htqpcr. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/bioconductor.scm (r-htqpcr): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/bioconductor.scm | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/gnu/packages/bioconductor.scm b/gnu/packages/bioconductor.scm index bb28493935f..dc06bcb52d6 100644 --- a/gnu/packages/bioconductor.scm +++ b/gnu/packages/bioconductor.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2016, 2017, 2018, 2019 Ricardo Wurmus ;;; Copyright © 2016, 2017, 2018 Roel Janssen ;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice +;;; Copyright © 2019 Simon Tournier ;;; ;;; This file is part of GNU Guix. ;;; @@ -6078,3 +6079,36 @@ attributable to individual, tissue, time point, or technical variables. The package includes dream differential expression analysis for repeated measures.") (license license:gpl2+))) + +(define-public r-htqpcr + (package + (name "r-htqpcr") + (version "1.38.0") + (source + (origin + (method url-fetch) + (uri (bioconductor-uri "HTqPCR" version)) + (sha256 + (base32 + "09xgj797f0qsbm4jswxw7ijjwa4jxg06bfkq66xfhbvascyyrhg7")))) + (properties `((upstream-name . "HTqPCR"))) + (build-system r-build-system) + (propagated-inputs + `(("r-affy" ,r-affy) + ("r-biobase" ,r-biobase) + ("r-gplots" ,r-gplots) + ("r-limma" ,r-limma) + ("r-rcolorbrewer" ,r-rcolorbrewer))) + (home-page "http://www.ebi.ac.uk/bertone/software") + (synopsis "Automated analysis of high-throughput qPCR data") + (description + "Analysis of Ct values from high throughput quantitative real-time +PCR (qPCR) assays across multiple conditions or replicates. The input data +can be from spatially-defined formats such ABI TaqMan Low Density Arrays or +OpenArray; LightCycler from Roche Applied Science; the CFX plates from Bio-Rad +Laboratories; conventional 96- or 384-well plates; or microfluidic devices +such as the Dynamic Arrays from Fluidigm Corporation. HTqPCR handles data +loading, quality assessment, normalization, visualization and parametric or +non-parametric testing for statistical significance in Ct values between +features (e.g. genes, microRNAs).") + (license license:artistic2.0))) From 86fb2c63bede56b164cf187ce36700fc8f48d41b Mon Sep 17 00:00:00 2001 From: zimoun Date: Tue, 8 Oct 2019 19:35:18 +0200 Subject: [PATCH 0056/1112] gnu: Add r-unifiedwmwqpcr. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/bioconductor.scm (r-unifiedwmwqpcr): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/bioconductor.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/gnu/packages/bioconductor.scm b/gnu/packages/bioconductor.scm index dc06bcb52d6..21875721172 100644 --- a/gnu/packages/bioconductor.scm +++ b/gnu/packages/bioconductor.scm @@ -6112,3 +6112,28 @@ loading, quality assessment, normalization, visualization and parametric or non-parametric testing for statistical significance in Ct values between features (e.g. genes, microRNAs).") (license license:artistic2.0))) + +(define-public r-unifiedwmwqpcr + (package + (name "r-unifiedwmwqpcr") + (version "1.20.0") + (source + (origin + (method url-fetch) + (uri (bioconductor-uri "unifiedWMWqPCR" version)) + (sha256 + (base32 + "10j70bp5y1x2prz2iagqmwf04y79yqinq08wz4ilh8wggb9f7l8a")))) + (properties + `((upstream-name . "unifiedWMWqPCR"))) + (build-system r-build-system) + (propagated-inputs + `(("r-biocgenerics" ,r-biocgenerics) + ("r-htqpcr" ,r-htqpcr))) + (home-page "https://bioconductor.org/packages/unifiedWMWqPCR") + (synopsis "Unified Wilcoxon-Mann Whitney Test for differential expression in qPCR data") + (description + "This packages implements the unified Wilcoxon-Mann-Whitney Test for qPCR +data. This modified test allows for testing differential expression in qPCR +data.") + (license license:gpl2+))) From 93beace0e096ba28989a7ed18ffa731e560a9c77 Mon Sep 17 00:00:00 2001 From: David Wilson Date: Sat, 12 Oct 2019 09:07:11 -0700 Subject: [PATCH 0057/1112] gnu: Add gnome-mahjongg. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/gnome.scm (gnome-mahjongg) New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/gnome.scm | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index a442d574429..81cb2fb37f5 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -41,6 +41,7 @@ ;;; Copyright © 2019 Jonathan Frederickson ;;; Copyright © 2019 Maxim Cournoyer ;;; Copyright © 2019 Martin Becze +;;; Copyright © 2019 David Wilson ;;; ;;; This file is part of GNU Guix. ;;; @@ -8395,3 +8396,40 @@ access library. It only implements the core plumbing functions, not really the higher level porcelain stuff.") (home-page "https://wiki.gnome.org/Projects/Libgit2-glib") (license license:gpl2+))) + +(define-public gnome-mahjongg + (package + (name "gnome-mahjongg") + (version "3.35.1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://gitlab.gnome.org/GNOME/gnome-mahjongg.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "019a66a4m5w4kkb0sm6gxj0wi54n06zdxdlmyqw7h8kbakjizv7l")))) + (build-system meson-build-system) + (arguments + `(#:glib-or-gtk? #t)) + (native-inputs + `(("appstream-glib" ,appstream-glib) + ("gettext" ,gettext-minimal) + ("glib:bin" ,glib "bin") ;; For glib-compile-resources + ("gtk+" ,gtk+ "bin") ;; For gtk-update-icon-cache + ("itstool" ,itstool) + ("pkg-config" ,pkg-config) + ("vala" ,vala))) + (propagated-inputs + `(("dconf" ,dconf))) + (inputs + `(("glib" ,glib) + ("gtk+" ,gtk+) + ("librsvg" ,librsvg))) + (synopsis "Mahjongg tile-matching game") + (description "GNOME Mahjongg is a game based on the classic Chinese +tile-matching game Mahjong. It features multiple board layouts, tile themes, +and a high score table.") + (home-page "https://wiki.gnome.org/Apps/Mahjongg") + (license license:gpl2+))) From ba42a6bfc413f0398a3f33a5580059896debd69f Mon Sep 17 00:00:00 2001 From: Tanguy Le Carrour Date: Tue, 15 Oct 2019 09:37:59 +0200 Subject: [PATCH 0058/1112] gnu: Add python-jinja2-time. * gnu/packages/python-xyz.scm (python-jinja2-time): New public variable. Signed-off-by: Mathieu Othacehe --- gnu/packages/python-xyz.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index d555512ed7b..f924aafc920 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -66,6 +66,7 @@ ;;; Copyright © 2019 Jacob MacDonald ;;; Copyright © 2019 Giacomo Leidi ;;; Copyright © 2019 Wiktor Żelazny +;;; Copyright © 2019 Tanguy Le Carrour ;;; ;;; This file is part of GNU Guix. ;;; @@ -2495,6 +2496,30 @@ written in pure Python.") (define-public python2-jinja2 (package-with-python2 python-jinja2)) +(define-public python-jinja2-time + (package + (name "python-jinja2-time") + (version "0.2.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "jinja2-time" version)) + (sha256 + (base32 + "0h0dr7cfpjnjj8bgl2vk9063a53649pn37wnlkd8hxjy656slkni")))) + (build-system python-build-system) + (propagated-inputs + `(("python-arrow" ,python-arrow) + ("python-jinja2" ,python-jinja2))) + (home-page + "https://github.com/hackebrot/jinja2-time") + (synopsis "Jinja2 Extension for Dates and Times") + (description + "This package provides an extension for the template engine Jinja2. It +adds a 'now' tag providing a convenient access to the arrow.now() API from +templates. A format string can be provided to control the output.") + (license license:expat))) + (define-public python-pystache (package (name "python-pystache") From 6830120e5822a4f3bb6927613dd624ef3d565980 Mon Sep 17 00:00:00 2001 From: Tanguy Le Carrour Date: Tue, 15 Oct 2019 09:38:24 +0200 Subject: [PATCH 0059/1112] gnu: Add python-poyo. * gnu/packages/python-xyz.scm (python-poyo): New public variable. Signed-off-by: Mathieu Othacehe --- gnu/packages/python-xyz.scm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index f924aafc920..145de90d8e8 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -1572,6 +1572,27 @@ existing ones.") ;; Tests don't work with python2. #:tests? #f))))) +(define-public python-poyo + (package + (name "python-poyo") + (version "0.5.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "poyo" version)) + (sha256 + (base32 + "1pflivs6j22frz0v3dqxnvc8yb8fb52g11lqr88z0i8cg2m5csg2")))) + (build-system python-build-system) + (home-page "https://github.com/hackebrot/poyo") + (synopsis "Lightweight YAML Parser for Python") + (description + "This package provides a lightweight YAML Parser for Python. It supports +only a chosen subset of the YAML format that is required to parse cookiecutter +user configuration files. It does not have support for serializing into YAML +and is not compatible with JSON.") + (license license:expat))) + (define-public scons (package (name "scons") From b2b23d124271c4578bfab15ebf967c46b4c6b3dd Mon Sep 17 00:00:00 2001 From: Tanguy Le Carrour Date: Tue, 15 Oct 2019 09:40:59 +0200 Subject: [PATCH 0060/1112] gnu: Add python-whichcraft. * gnu/packages/python-xyz.scm (python-whichcraft): New public variable. Signed-off-by: Mathieu Othacehe --- gnu/packages/python-xyz.scm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 145de90d8e8..3699a4ced53 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -9127,6 +9127,27 @@ server with very acceptable performance.") (define-public python2-waitress (package-with-python2 python-waitress)) +(define-public python-whichcraft + (package + (name "python-whichcraft") + (version "0.6.1") + (source + (origin + (method url-fetch) + (uri (pypi-uri "whichcraft" version)) + (sha256 + (base32 + "11yfkzyplizdgndy34vyd5qlmr1n5mxis3a3svxmx8fnccdvknxc")))) + (build-system python-build-system) + (native-inputs + `(("python-pytest" ,python-pytest))) + (home-page "https://github.com/pydanny/whichcraft") + (synopsis "Cross-platform cross-python shutil.which functionality") + (description + "This package provides a shim of the shutil.which function that's +designed to work across multiple versions of Python.") + (license license:bsd-3))) + (define-public python-pyquery (package (name "python-pyquery") From 1133ca44608c0df15e1a9888ad026e13a6eca6f7 Mon Sep 17 00:00:00 2001 From: Tanguy Le Carrour Date: Tue, 15 Oct 2019 09:41:28 +0200 Subject: [PATCH 0061/1112] gnu: Add python-cookiecutter. * gnu/packages/python-xyz.scm (python-cookiecutter): New public variable. Signed-off-by: Mathieu Othacehe --- gnu/packages/python-xyz.scm | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 3699a4ced53..4ea426d0d7b 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -9148,6 +9148,42 @@ server with very acceptable performance.") designed to work across multiple versions of Python.") (license license:bsd-3))) +(define-public python-cookiecutter + (package + (name "python-cookiecutter") + (version "1.6.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "cookiecutter" version)) + (sha256 + (base32 + "0glsvaz8igi2wy1hsnhm9fkn6560vdvdixzvkq6dn20z3hpaa5hk")))) + (build-system python-build-system) + (native-inputs + `(("python-freezegun" ,python-freezegun) + ("python-pytest" ,python-pytest) + ("python-pytest-catchlog" ,python-pytest-catchlog) + ("python-pytest-cov" ,python-pytest-cov) + ("python-pytest-mock" ,python-pytest-mock))) + (propagated-inputs + `(("python-binaryornot" ,python-binaryornot) + ("python-click" ,python-click) + ("python-future" ,python-future) + ("python-jinja2" ,python-jinja2) + ("python-jinja2-time" ,python-jinja2-time) + ("python-poyo" ,python-poyo) + ("python-requests" ,python-requests) + ("python-whichcraft" ,python-whichcraft))) + (home-page "https://github.com/audreyr/cookiecutter") + (synopsis + "Command-line utility that creates projects from project templates") + (description + "This package provides a command-line utility that creates projects from +project templates, e.g. creating a Python package project from a Python package +project template.") + (license license:bsd-3))) + (define-public python-pyquery (package (name "python-pyquery") From 559e06b61c66af8cfee8fdf9bc356466ad55486e Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 15 Oct 2019 16:04:48 +0200 Subject: [PATCH 0062/1112] gnu: patchmatrix: Update to 0.16.0. * gnu/packages/music.scm (patchmatrix): Update to 0.16.0. [arguments]: Remove custom phase make-gzip-archive-writable. --- gnu/packages/music.scm | 59 +++++++++++++++++------------------------- 1 file changed, 24 insertions(+), 35 deletions(-) diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index 250f3136bb1..22db0cf6042 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -4053,43 +4053,32 @@ notation and includes basic support for digital audio.") (license license:gpl2))) (define-public patchmatrix - ;; There have been no releases for more than a year. - (let ((commit "a0b0b1e791f4574d5abd059cfe1819c71e8b18d5") - (revision "1")) - (package - (name "patchmatrix") - (version (git-version "0.12.0" revision commit)) - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/OpenMusicKontrollers/patchmatrix.git") - (commit commit))) - (file-name (string-append "patchmatrix-" version "-checkout")) - (sha256 - (base32 - "0pph4ra7aci3rbpqvvr564pi16vxrk448bmvp8985cd9lbjlrp3m")))) - (build-system meson-build-system) - (arguments - '(#:tests? #f ; no test target - #:phases - (modify-phases %standard-phases - (add-before 'reset-gzip-timestamps 'make-gzip-archive-writable - (lambda* (#:key outputs #:allow-other-keys) - (map make-file-writable - (find-files (assoc-ref outputs "out") ".*\\.gz$")) - #t))))) - (inputs - `(("jack" ,jack-1) - ("lv2" ,lv2) - ("mesa" ,mesa))) - (native-inputs - `(("pkg-config" ,pkg-config))) - (home-page "https://github.com/OpenMusicKontrollers/patchmatrix") - (synopsis "Simple JACK patch bay") - (description "PatchMatrix is a patch bay for the JACK audio connection + (package + (name "patchmatrix") + (version "0.16.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/OpenMusicKontrollers/patchmatrix.git") + (commit version))) + (file-name (git-file-name "patchmatrix" version)) + (sha256 + (base32 + "020vp7zzxxzzjfic57vkpg68dm8hi98ilr1bj88xjsv6i47xmjbn")))) + (build-system meson-build-system) + (arguments '(#:tests? #f)) ; no test target + (inputs + `(("jack" ,jack-1) + ("lv2" ,lv2) + ("mesa" ,mesa))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (home-page "https://github.com/OpenMusicKontrollers/patchmatrix") + (synopsis "Simple JACK patch bay") + (description "PatchMatrix is a patch bay for the JACK audio connection kit. It provides a patch bay in flow matrix style for audio, MIDI, CV, and OSC connections.") - (license license:artistic2.0)))) + (license license:artistic2.0))) (define-public sorcer (package From be1c4b079e15a69193e0c2b4a6dd93d01934b8c6 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Tue, 15 Oct 2019 15:51:50 +0200 Subject: [PATCH 0063/1112] gnu: network-manager-applet: Build libnm-gtk. Fixes network-manager-openvpn . * gnu/packages/gnome.scm (network-manager-applet)[arguments]: Set libnm_gtk=true in #:configure-flags. --- gnu/packages/gnome.scm | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 81cb2fb37f5..20c050f984c 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -5487,6 +5487,7 @@ services.") (define-public network-manager-openvpn (package (name "network-manager-openvpn") + ;; Updating? Check whether network-manager-applet still needs libnm_gtk. (version "1.8.4") (source (origin (method url-fetch) @@ -5671,7 +5672,10 @@ Cisco's AnyConnect SSL VPN.") "1gzvz4wfqfsfclqg56y954al8x6fmz71cnxlx1i4nqr7a25bp2qi")))) (build-system meson-build-system) (arguments - '(#:glib-or-gtk? #t)) + '(#:configure-flags + ;; ‘Nobody should be using this’ but network-manager-openvpn 1.8.10 does. + (list "-Dlibnm_gtk=true") + #:glib-or-gtk? #t)) (native-inputs `(("intltool" ,intltool) ("glib:bin" ,glib "bin") ; for glib-compile-resources, etc. From 3df63444f3542d32265990e6c91950bb0625ffec Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Tue, 15 Oct 2019 15:52:30 +0200 Subject: [PATCH 0064/1112] gnu: network-manager-applet: Don't use NAME in source URI. * gnu/packages/gnome.scm (network-manager-applet)[source]: Hard-code NAME. --- gnu/packages/gnome.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 20c050f984c..71a8be8a4ea 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -5664,9 +5664,9 @@ Cisco's AnyConnect SSL VPN.") (version "1.8.24") (source (origin (method url-fetch) - (uri (string-append "mirror://gnome/sources/" name "/" + (uri (string-append "mirror://gnome/sources/network-manager-applet/" (version-major+minor version) "/" - name "-" version ".tar.xz")) + "network-manager-applet-" version ".tar.xz")) (sha256 (base32 "1gzvz4wfqfsfclqg56y954al8x6fmz71cnxlx1i4nqr7a25bp2qi")))) From 7d87eede5d7b309d27556fc1614ceba98be2f577 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Tue, 15 Oct 2019 15:52:39 +0200 Subject: [PATCH 0065/1112] gnu: network-manager-openvpn: Update to 1.8.10. * gnu/packages/gnome.scm (network-manager-openvpn): Update to 1.8.10. --- gnu/packages/gnome.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 71a8be8a4ea..f17bd941cd8 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -5488,7 +5488,7 @@ services.") (package (name "network-manager-openvpn") ;; Updating? Check whether network-manager-applet still needs libnm_gtk. - (version "1.8.4") + (version "1.8.10") (source (origin (method url-fetch) (uri (string-append @@ -5497,7 +5497,7 @@ services.") "/NetworkManager-openvpn-" version ".tar.xz")) (sha256 (base32 - "0gyrv46h9k17qym48qacq4zpxbap6hi17shn921824zm98m2bdvr")))) + "1vri49yff4lj13dnzkpq9nx3a4z1bmbrv807r151plj8m1mwhg5g")))) (build-system gnu-build-system) (arguments `(#:configure-flags '("--enable-absolute-paths" "--localstatedir=/var") From 8fcba3be282b4df60eec99338e5afee061d87242 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Mon, 14 Oct 2019 20:50:47 +0200 Subject: [PATCH 0066/1112] gnu: ruby-concurrent: Do not use unstable source tarball. * gnu/packages/ruby.scm (ruby-concurrent)[source]: Switch to GIT-FETCH. --- gnu/packages/ruby.scm | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 7d736c7c279..bb8a9d535b8 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -7173,17 +7173,16 @@ call.") (version "1.0.5") (source (origin - (method url-fetch) + (method git-fetch) ;; Download from GitHub because the rubygems version does not contain ;; Rakefile. - (uri (string-append - "https://github.com/ruby-concurrency/concurrent-ruby/archive/v" - version - ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (uri (git-reference + (url "https://github.com/ruby-concurrency/concurrent-ruby") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 (base32 - "0qhv0qzsby4iijgwa4s9r88zj8123pmyz1dwaqzdk57xgqll9pny")) + "1618ald6mhz86hapgw9hs3cvb518k48fk6fxficdrdg3zcx8n302")) ;; Exclude failing test reported at ;; https://github.com/ruby-concurrency/concurrent-ruby/issues/534 (patches (search-patches "ruby-concurrent-ignore-broken-test.patch" From 1007640a63de6749a93e94a2751f66af56b01d07 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Mon, 14 Oct 2019 20:52:28 +0200 Subject: [PATCH 0067/1112] gnu: ruby-concurrent: Update to 1.1.5. * gnu/packages/patches/ruby-concurrent-ignore-broken-test.patch, gnu/packages/patches/ruby-concurrent-test-arm.patch: Delete files. * gnu/local.mk (dist_patch_DATA): Adjust accordingly. * gnu/packages/ruby.scm (ruby-concurrent): Update to 1.1.5. [source](patches): Remove. [arguments]: Set #:test-target to "ci". Remove obsolete phases. Remove dependencies on 'rake_compiler_dock' and concurrent_ruby.jar. --- gnu/local.mk | 2 - .../ruby-concurrent-ignore-broken-test.patch | 16 ------- .../patches/ruby-concurrent-test-arm.patch | 36 ---------------- gnu/packages/ruby.scm | 42 ++++++++++++------- 4 files changed, 27 insertions(+), 69 deletions(-) delete mode 100644 gnu/packages/patches/ruby-concurrent-ignore-broken-test.patch delete mode 100644 gnu/packages/patches/ruby-concurrent-test-arm.patch diff --git a/gnu/local.mk b/gnu/local.mk index ba8cc1ee1fb..3fbfe0f2bb3 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1302,8 +1302,6 @@ dist_patch_DATA = \ %D%/packages/patches/rtags-separate-rct.patch \ %D%/packages/patches/racket-store-checksum-override.patch \ %D%/packages/patches/ruby-rubygems-276-for-ruby24.patch \ - %D%/packages/patches/ruby-concurrent-ignore-broken-test.patch \ - %D%/packages/patches/ruby-concurrent-test-arm.patch \ %D%/packages/patches/ruby-rack-ignore-failing-test.patch \ %D%/packages/patches/ruby-safe-yaml-add-require-time.patch \ %D%/packages/patches/ruby-tzinfo-data-ignore-broken-test.patch\ diff --git a/gnu/packages/patches/ruby-concurrent-ignore-broken-test.patch b/gnu/packages/patches/ruby-concurrent-ignore-broken-test.patch deleted file mode 100644 index 4e801c32254..00000000000 --- a/gnu/packages/patches/ruby-concurrent-ignore-broken-test.patch +++ /dev/null @@ -1,16 +0,0 @@ -This test appears to fail in GNU Guix and elsewhere. It has been reported -upstream at https://github.com/puma/puma/issues/995 - -diff --git a/spec/concurrent/channel_spec.rb b/spec/concurrent/channel_spec.rb -index d70fba8..4f29a8b 100644 ---- a/spec/concurrent/channel_spec.rb -+++ b/spec/concurrent/channel_spec.rb -@@ -598,7 +598,7 @@ module Concurrent - }.to raise_error(ArgumentError) - end - -- it 'loops until the block returns false' do -+ xit 'loops until the block returns false' do - actual = 0 - expected = 3 - latch = Concurrent::CountDownLatch.new(expected) diff --git a/gnu/packages/patches/ruby-concurrent-test-arm.patch b/gnu/packages/patches/ruby-concurrent-test-arm.patch deleted file mode 100644 index 06d56578147..00000000000 --- a/gnu/packages/patches/ruby-concurrent-test-arm.patch +++ /dev/null @@ -1,36 +0,0 @@ -Work around two test suite failures on ARM: - - https://github.com/ruby-concurrency/concurrent-ruby/issues/547 - -The regexps here assume addresses like "0x1234" but on ARM (32-bit) -we get something like "0x-7db1e810" (notice the dash). - -diff --git a/spec/concurrent/edge/promises_spec.rb b/spec/concurrent/edge/promises_spec.rb -index 727210f..149f7cd 100644 ---- a/spec/concurrent/edge/promises_spec.rb -+++ b/spec/concurrent/edge/promises_spec.rb -@@ -371,9 +371,9 @@ describe 'Concurrent::Promises' do - four = three.delay.then(&:succ) - - # meaningful to_s and inspect defined for Future and Promise -- expect(head.to_s).to match /<#Concurrent::Promises::Future:0x[\da-f]+ pending>/ -+ expect(head.to_s).to match /<#Concurrent::Promises::Future:0x-?[\da-f]+ pending>/ - expect(head.inspect).to( -- match(/<#Concurrent::Promises::Future:0x[\da-f]+ pending>/)) -+ match(/<#Concurrent::Promises::Future:0x-?[\da-f]+ pending>/)) - - # evaluates only up to three, four is left unevaluated - expect(three.value!).to eq 3 -diff --git a/spec/concurrent/map_spec.rb b/spec/concurrent/map_spec.rb -index c4050be..0a9095d 100644 ---- a/spec/concurrent/map_spec.rb -+++ b/spec/concurrent/map_spec.rb -@@ -794,7 +794,7 @@ module Concurrent - end - - it '#inspect' do -- regexp = /\A#\Z/i -+ regexp = /\A#\Z/i - expect(Concurrent::Map.new.inspect).to match(regexp) - expect((Concurrent::Map.new {}).inspect).to match(regexp) - map = Concurrent::Map.new diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index bb8a9d535b8..d5f7fa59c68 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -6,7 +6,7 @@ ;;; Copyright © 2015, 2019 Ricardo Wurmus ;;; Copyright © 2015, 2016, 2017 Ben Woodcroft ;;; Copyright © 2017 ng0 -;;; Copyright © 2017 Marius Bakke +;;; Copyright © 2017, 2019 Marius Bakke ;;; Copyright © 2017, 2018 Efraim Flashner ;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice ;;; Copyright © 2017 Clément Lassieur @@ -7170,7 +7170,7 @@ call.") (define-public ruby-concurrent (package (name "ruby-concurrent") - (version "1.0.5") + (version "1.1.5") (source (origin (method git-fetch) @@ -7182,14 +7182,10 @@ call.") (file-name (git-file-name name version)) (sha256 (base32 - "1618ald6mhz86hapgw9hs3cvb518k48fk6fxficdrdg3zcx8n302")) - ;; Exclude failing test reported at - ;; https://github.com/ruby-concurrency/concurrent-ruby/issues/534 - (patches (search-patches "ruby-concurrent-ignore-broken-test.patch" - "ruby-concurrent-test-arm.patch")))) + "193q2k47vk7qdvv9hlhmmdxgy91xl4imapyk1ijdg9vgf46knyzj")))) (build-system ruby-build-system) (arguments - `(#:test-target "spec" + `(#:test-target "ci" #:phases (modify-phases %standard-phases (add-before 'replace-git-ls-files 'remove-extra-gemspecs @@ -7199,15 +7195,31 @@ call.") (delete-file "concurrent-ruby-edge.gemspec") (delete-file "concurrent-ruby-ext.gemspec") #t)) - (add-before 'build 'replace-git-ls-files2 + (replace 'replace-git-ls-files (lambda _ - (substitute* "support/file_map.rb" - (("git ls-files") "find * |sort")) + ;; XXX: The default substitution made by this phase is not fully + ;; compatible with "git ls-files". The latter produces file names + ;; such as "lib/foo", whereas ruby-build-system uses "find . [...]" + ;; which gives "./lib/foo". That difference in turn breaks the + ;; comparison against a glob pattern in this script. + (substitute* "concurrent-ruby.gemspec" + (("git ls-files") "find * -type f | sort")) + #t)) + (add-before 'build 'remove-jar-from-gemspec + (lambda _ + ;; The gemspec wants to include a JAR file that we do not build + ;; nor need. + (substitute* "concurrent-ruby.gemspec" + (("'lib/concurrent/concurrent_ruby.jar'") + "")) + #t)) + (add-before 'build 'remove-rake_compiler_dock-dependency + (lambda _ + ;; This library is only used when building for non-MRI targets. + (substitute* "Rakefile" + (("require 'rake_compiler_dock'") + "")) #t)) - (add-before 'check 'rake-compile - ;; Fix the test error described at - ;; https://github.com/ruby-concurrency/concurrent-ruby/pull/408 - (lambda _ (invoke "rake" "compile"))) (add-before 'check 'remove-timecop-dependency ;; Remove timecop-dependent tests as having timecop as a depedency ;; causes circular depedencies. From f0428c18f85692f11ddd28fc12e949c420e971c9 Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Wed, 2 Oct 2019 19:12:38 +0100 Subject: [PATCH 0068/1112] inferior: Allow controlling the inferior error port. Previously, stderr for the inferior process would always be sent to /dev/null because the current-output-port when the process is launched is a void port. This change means that it's possible to pass in a different port to use. * guix/inferior.scm (inferior-pipe): Take the error-port as an argument. (open-inferior): Add new error-port keyword argument, with a default of (%make-void-port "w"). --- guix/inferior.scm | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/guix/inferior.scm b/guix/inferior.scm index d6d2053ab8c..eecdbdd5cae 100644 --- a/guix/inferior.scm +++ b/guix/inferior.scm @@ -110,11 +110,11 @@ (packages inferior-package-promise) ;promise of inferior packages (table inferior-package-table)) ;promise of vhash -(define (inferior-pipe directory command) +(define* (inferior-pipe directory command error-port) "Return an input/output pipe on the Guix instance in DIRECTORY. This runs 'DIRECTORY/COMMAND repl' if it exists, or falls back to some other method if it's an old Guix." - (let ((pipe (with-error-to-port (%make-void-port "w") + (let ((pipe (with-error-to-port error-port (lambda () (open-pipe* OPEN_BOTH (string-append directory "/" command) @@ -161,11 +161,13 @@ inferior." (_ #f))) -(define* (open-inferior directory #:key (command "bin/guix")) +(define* (open-inferior directory + #:key (command "bin/guix") + (error-port (%make-void-port "w"))) "Open the inferior Guix in DIRECTORY, running 'DIRECTORY/COMMAND repl' or equivalent. Return #f if the inferior could not be launched." (define pipe - (inferior-pipe directory command)) + (inferior-pipe directory command error-port)) (port->inferior pipe close-pipe)) From ef0c265438149691d980ce17f0c5aaea5e8f6b77 Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Wed, 2 Oct 2019 19:14:05 +0100 Subject: [PATCH 0069/1112] inferior: Set the error port when using older Guix versions. This makes the behaviour more consistent. * guix/inferior.scm (inferior-pipe): Wrap the second open-pipe* call with with-error-to-port, to match the first call to open-pipe*. --- guix/inferior.scm | 28 +++++++++++++++------------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/guix/inferior.scm b/guix/inferior.scm index eecdbdd5cae..b8e2f21f42d 100644 --- a/guix/inferior.scm +++ b/guix/inferior.scm @@ -125,19 +125,21 @@ it's an old Guix." ;; Older versions of Guix didn't have a 'guix repl' command, so ;; emulate it. - (open-pipe* OPEN_BOTH "guile" - "-L" (string-append directory "/share/guile/site/" - (effective-version)) - "-C" (string-append directory "/share/guile/site/" - (effective-version)) - "-C" (string-append directory "/lib/guile/" - (effective-version) "/site-ccache") - "-c" - (object->string - `(begin - (primitive-load ,(search-path %load-path - "guix/repl.scm")) - ((@ (guix repl) machine-repl)))))) + (with-error-to-port error-port + (lambda () + (open-pipe* OPEN_BOTH "guile" + "-L" (string-append directory "/share/guile/site/" + (effective-version)) + "-C" (string-append directory "/share/guile/site/" + (effective-version)) + "-C" (string-append directory "/lib/guile/" + (effective-version) "/site-ccache") + "-c" + (object->string + `(begin + (primitive-load ,(search-path %load-path + "guix/repl.scm")) + ((@ (guix repl) machine-repl)))))))) pipe))) (define* (port->inferior pipe #:optional (close close-port)) From d5329de9ac776087153025b0f407d406a86970b3 Mon Sep 17 00:00:00 2001 From: "tanguy@bioneland.org" Date: Mon, 14 Oct 2019 10:10:27 +0200 Subject: [PATCH 0070/1112] gnu: polybar: Update to 3.4.0. * gnu/packages/wm.scm (polybar): Update to 3.4.0. Signed-off-by: Efraim Flashner --- gnu/packages/wm.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm index 6cecc061301..7a68c5c3351 100644 --- a/gnu/packages/wm.scm +++ b/gnu/packages/wm.scm @@ -23,6 +23,7 @@ ;;; Copyright © 2019 Gábor Boskovits ;;; Copyright © 2019 Kyle Andrews ;;; Copyright © 2019 Ingo Ruhnke +;;; Copyright © 2019 Tanguy Le Carrour ;;; ;;; This file is part of GNU Guix. ;;; @@ -1194,14 +1195,14 @@ its size (define-public polybar (package (name "polybar") - (version "3.3.1") + (version "3.4.0") (source (origin (method url-fetch) (uri (string-append "https://github.com/jaagr/polybar/releases/" "download/" version "/polybar-" version ".tar")) (sha256 - (base32 "0758na059vpgnsrcdrxmh9wsahs80wnmizb9g7bmixlrkxr2m65h")) + (base32 "06yd9ffak53qbhpw35xh422v2lhjh23zdbrh81cynwks5pr9i839")) (file-name (string-append name "-" version ".tar")))) (build-system cmake-build-system) (arguments From 44b7352073eb6304179e0aa106f381dc8702c9e0 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Tue, 15 Oct 2019 21:34:27 +0300 Subject: [PATCH 0071/1112] gnu: polybar: Update source uri. * gnu/packages/wm.scm (polybar)[source]: Update source uri. Remove file-name. --- gnu/packages/wm.scm | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm index 7a68c5c3351..cd5655f1d1a 100644 --- a/gnu/packages/wm.scm +++ b/gnu/packages/wm.scm @@ -1199,11 +1199,10 @@ its size (source (origin (method url-fetch) - (uri (string-append "https://github.com/jaagr/polybar/releases/" + (uri (string-append "https://github.com/polybar/polybar/releases/" "download/" version "/polybar-" version ".tar")) (sha256 - (base32 "06yd9ffak53qbhpw35xh422v2lhjh23zdbrh81cynwks5pr9i839")) - (file-name (string-append name "-" version ".tar")))) + (base32 "06yd9ffak53qbhpw35xh422v2lhjh23zdbrh81cynwks5pr9i839")))) (build-system cmake-build-system) (arguments ;; Test is disabled because it requires downloading googletest from the From 005c2ccf2bbd165fb12bbb285ce2849dc05ca926 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Tue, 15 Oct 2019 21:51:07 +0300 Subject: [PATCH 0072/1112] gnu: polybar: Add jsoncpp. * gnu/packages/wm.scm (polybar)[inputs]: Add jsoncpp. --- gnu/packages/wm.scm | 1 + 1 file changed, 1 insertion(+) diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm index cd5655f1d1a..05642cf4500 100644 --- a/gnu/packages/wm.scm +++ b/gnu/packages/wm.scm @@ -1212,6 +1212,7 @@ its size `(("alsa-lib" ,alsa-lib) ("cairo" ,cairo) ("i3-wm" ,i3-wm) + ("jsoncpp" ,jsoncpp) ("libmpdclient" ,libmpdclient) ("libnl" ,libnl) ("libxcb" ,libxcb) From 40cad6b956ad250eaa1b3bd259d048e152ce2674 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Tue, 15 Oct 2019 21:55:09 +0300 Subject: [PATCH 0073/1112] gnu: wm.scm: Sort module imports. * gnu/packages/wm.scm: Sort module imports. --- gnu/packages/wm.scm | 73 ++++++++++++++++++++++----------------------- 1 file changed, 36 insertions(+), 37 deletions(-) diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm index 05642cf4500..7c573337d4d 100644 --- a/gnu/packages/wm.scm +++ b/gnu/packages/wm.scm @@ -43,57 +43,56 @@ (define-module (gnu packages wm) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) - #:use-module (gnu packages) - #:use-module (gnu packages linux) + #:use-module (guix download) + #:use-module (guix git-download) #:use-module (guix build-system cmake) #:use-module (guix build-system gnu) #:use-module (guix build-system haskell) #:use-module (guix build-system meson) #:use-module (guix build-system perl) #:use-module (guix build-system python) + #:use-module (gnu packages) + #:use-module (gnu packages autotools) + #:use-module (gnu packages base) + #:use-module (gnu packages bison) + #:use-module (gnu packages docbook) + #:use-module (gnu packages documentation) + #:use-module (gnu packages fontutils) + #:use-module (gnu packages freedesktop) + #:use-module (gnu packages fribidi) + #:use-module (gnu packages gawk) + #:use-module (gnu packages gl) + #:use-module (gnu packages glib) + #:use-module (gnu packages gperf) + #:use-module (gnu packages gtk) #:use-module (gnu packages haskell-check) #:use-module (gnu packages haskell-web) #:use-module (gnu packages haskell-xyz) - #:use-module (gnu packages autotools) - #:use-module (gnu packages bison) - #:use-module (gnu packages gawk) - #:use-module (gnu packages base) - #:use-module (gnu packages pkg-config) - #:use-module (gnu packages perl) - #:use-module (gnu packages pulseaudio) - #:use-module (gnu packages xorg) - #:use-module (gnu packages xdisorg) - #:use-module (gnu packages documentation) - #:use-module (gnu packages xml) - #:use-module (gnu packages m4) - #:use-module (gnu packages docbook) #:use-module (gnu packages image) - #:use-module (gnu packages pcre) - #:use-module (gnu packages python) - #:use-module (gnu packages gtk) - #:use-module (gnu packages libevent) - #:use-module (gnu packages fribidi) - #:use-module (gnu packages maths) - #:use-module (gnu packages web) - #:use-module (gnu packages fontutils) - #:use-module (gnu packages freedesktop) - #:use-module (gnu packages glib) - #:use-module (gnu packages gperf) #:use-module (gnu packages imagemagick) - #:use-module (gnu packages lua) + #:use-module (gnu packages libevent) #:use-module (gnu packages linux) - #:use-module (gnu packages suckless) - #:use-module (gnu packages mpd) - #:use-module (gnu packages gl) - #:use-module (gnu packages video) - #:use-module (gnu packages version-control) - #:use-module (gnu packages man) - #:use-module (gnu packages textutils) - #:use-module (gnu packages pretty-print) #:use-module (gnu packages logging) + #:use-module (gnu packages lua) + #:use-module (gnu packages m4) + #:use-module (gnu packages man) + #:use-module (gnu packages maths) + #:use-module (gnu packages mpd) + #:use-module (gnu packages pcre) + #:use-module (gnu packages perl) + #:use-module (gnu packages pkg-config) + #:use-module (gnu packages pretty-print) + #:use-module (gnu packages pulseaudio) + #:use-module (gnu packages python) #:use-module (gnu packages serialization) - #:use-module (guix download) - #:use-module (guix git-download)) + #:use-module (gnu packages suckless) + #:use-module (gnu packages textutils) + #:use-module (gnu packages version-control) + #:use-module (gnu packages video) + #:use-module (gnu packages web) + #:use-module (gnu packages xdisorg) + #:use-module (gnu packages xml) + #:use-module (gnu packages xorg)) (define-public bspwm (package From 747aa6c46baeb02bb75e5c199dd005eb9dd52785 Mon Sep 17 00:00:00 2001 From: Tim Gesthuizen Date: Tue, 15 Oct 2019 19:45:13 +0200 Subject: [PATCH 0074/1112] gnu: pwsafe: Update to 3.5.0 * gnu/packages/password-utils.scm (pwsafe): Update to 3.5.0. [source]: Use git-file-name. Signed-off-by: Efraim Flashner --- gnu/packages/password-utils.scm | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/gnu/packages/password-utils.scm b/gnu/packages/password-utils.scm index ff13be24db0..ba488dde278 100644 --- a/gnu/packages/password-utils.scm +++ b/gnu/packages/password-utils.scm @@ -21,7 +21,7 @@ ;;; Copyright © 2018 Arun Isaac ;;; Copyright © 2018 Pierre Neidhardt ;;; Copyright © 2018 Amirouche Boubekki -;;; Copyright © 2018 Tim Gesthuizen +;;; Copyright © 2018, 2019 Tim Gesthuizen ;;; Copyright © 2019 Jens Mølgaard ;;; ;;; This file is part of GNU Guix. @@ -183,16 +183,17 @@ algorithms AES or Twofish.") (define-public pwsafe (package (name "pwsafe") - (version "3.48.0") - (home-page "https://www.pwsafe.org/" ) + (version "3.50.0") + (home-page "https://www.pwsafe.org/") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/pwsafe/pwsafe.git") (commit version))) - (sha256 (base32 "0hxv23yh76liggxbjn4m132z15sklra8ms341xgzl4n5vjx30ihi")) - (file-name (string-append name "-" version "-checkout")))) + (sha256 + (base32 "01kfssd2vr64yh4dqhch58x36n3aj3hpj5n560f41rsxym69c6qs")) + (file-name (git-file-name name version)))) (build-system cmake-build-system) (native-inputs `(("gettext" ,gettext-minimal) ("perl" ,perl) From 50bfb70b73b5137fa156d25cc7b54f700cc91f08 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Tue, 15 Oct 2019 22:30:49 +0300 Subject: [PATCH 0075/1112] gnu: pwsafe: Move googletest to native-inputs. * gnu/packages/password-utils.scm (pwsafe)[inputs]: Move googletest ... [native-inputs]: ... to here. --- gnu/packages/password-utils.scm | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/gnu/packages/password-utils.scm b/gnu/packages/password-utils.scm index ba488dde278..efca02ff68f 100644 --- a/gnu/packages/password-utils.scm +++ b/gnu/packages/password-utils.scm @@ -195,12 +195,13 @@ algorithms AES or Twofish.") (base32 "01kfssd2vr64yh4dqhch58x36n3aj3hpj5n560f41rsxym69c6qs")) (file-name (git-file-name name version)))) (build-system cmake-build-system) - (native-inputs `(("gettext" ,gettext-minimal) - ("perl" ,perl) - ("zip" ,zip))) + (native-inputs + `(("gettext" ,gettext-minimal) + ("gtest" ,googletest) + ("perl" ,perl) + ("zip" ,zip))) (inputs `(("curl" ,curl) ("file" ,file) - ("gtest" ,googletest) ("libuuid" ,util-linux) ("libxt" ,libxt) ("libxtst" ,libxtst) From ba8551ec79471ac402e6211d16e617bcb13e8d97 Mon Sep 17 00:00:00 2001 From: Arun Isaac Date: Wed, 16 Oct 2019 01:29:10 +0530 Subject: [PATCH 0076/1112] gnu: ansible: Work around issues with Guix wrapper scripts. * gnu/packages/admin.scm (ansible)[arguments]: Remove fix-symlinks phase. Add replace-symlinks phase. --- gnu/packages/admin.scm | 19 +++++++------------ 1 file changed, 7 insertions(+), 12 deletions(-) diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index 35dae2d0564..0e4fb3947c8 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -19,7 +19,7 @@ ;;; Copyright © 2017 Ethan R. Jones ;;; Copyright © 2017 Christopher Allan Webber ;;; Copyright © 2017, 2018 Marius Bakke -;;; Copyright © 2018 Arun Isaac +;;; Copyright © 2018, 2019 Arun Isaac ;;; Copyright © 2018 Pierre-Antoine Rouby ;;; Copyright © 2018 Rutger Helling ;;; Copyright © 2018 Pierre Neidhardt @@ -1880,21 +1880,16 @@ import re sys.argv[0] = re.sub(r'\\.([^/]*)-real$', r'\\1', sys.argv[0]) "))) #t)) - (add-after 'wrap 'fix-symlinks + (add-after 'install 'replace-symlinks (lambda* (#:key outputs #:allow-other-keys) + ;; Replace symlinks with duplicate copies of the ansible + ;; executable. (let ((out (assoc-ref outputs "out"))) (for-each (lambda (subprogram) - ;; The symlinks point to the ansible wrapper script. Make - ;; them point to the real executable (.ansible-real). - (delete-file (string-append out "/bin/.ansible-" subprogram "-real")) - (symlink (string-append out "/bin/.ansible-real") - (string-append out "/bin/.ansible-" subprogram "-real")) - ;; The wrapper scripts of the symlinks invoke the ansible - ;; wrapper script. Fix them to invoke the correct executable. - (substitute* (string-append out "/bin/ansible-" subprogram) - (("/bin/ansible") - (string-append "/bin/.ansible-" subprogram "-real")))) + (delete-file (string-append out "/bin/ansible-" subprogram)) + (copy-file (string-append out "/bin/ansible") + (string-append out "/bin/ansible-" subprogram))) (list "config" "console" "doc" "galaxy" "inventory" "playbook" "pull" "vault"))) #t))))) From 131e967699245862f4b6c8df996cdba460823b06 Mon Sep 17 00:00:00 2001 From: Arun Isaac Date: Wed, 16 Oct 2019 01:30:18 +0530 Subject: [PATCH 0077/1112] gnu: ansible: Update to 2.8.5. * gnu/packages/admin.scm (ansible): Update to 2.8.5. --- gnu/packages/admin.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index 0e4fb3947c8..083257767a4 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -1839,13 +1839,13 @@ of supported upstream metrics systems simultaneously.") (define-public ansible (package (name "ansible") - (version "2.8.1") + (version "2.8.5") (source (origin (method url-fetch) (uri (pypi-uri "ansible" version)) (sha256 - (base32 "0ia4x17ywym3r1m96ar4h0wc2xlylhbjp6x4wzwkh4p2i0x1vmg1")))) + (base32 "11k94ifp42psivzx147xwbmq1ak7qnjdgkb6c1xz53nfapkh754f")))) (build-system python-build-system) (native-inputs `(("python-bcrypt" ,python-bcrypt) From 0309e004e9dee5329e339bf7c53efdbce5f7ae73 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Tue, 15 Oct 2019 23:29:54 +0300 Subject: [PATCH 0078/1112] gnu: xl2tpd: Fix install directory. * gnu/packages/vpn.scm (xl2tpd)[arguments]: Unset DESTDIR, set PREFIX. --- gnu/packages/vpn.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/vpn.scm b/gnu/packages/vpn.scm index bc875b1c99d..1694486908f 100644 --- a/gnu/packages/vpn.scm +++ b/gnu/packages/vpn.scm @@ -530,7 +530,7 @@ WireGuard support.") "1c2ahxz2zmmxwmk951d2qhijgz67zhwa1hn0r59fgz0y14w22myi")))) (build-system gnu-build-system) (arguments - `(#:make-flags (list (string-append "DESTDIR=" %output) + `(#:make-flags (list (string-append "PREFIX=" %output) "CC=gcc") #:phases (modify-phases %standard-phases (delete 'configure)) ; no configure script From 1f3700a43cab137ca3c90a60183ad377e2fad888 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Tue, 15 Oct 2019 23:30:28 +0300 Subject: [PATCH 0079/1112] gnu: xl2tpd: Update to 1.3.15. * gnu/packages/vpn.scm (xl2tpd): Update to 1.3.15. --- gnu/packages/vpn.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/vpn.scm b/gnu/packages/vpn.scm index 1694486908f..67980f76c38 100644 --- a/gnu/packages/vpn.scm +++ b/gnu/packages/vpn.scm @@ -518,7 +518,7 @@ WireGuard support.") (define-public xl2tpd (package (name "xl2tpd") - (version "1.3.14") + (version "1.3.15") (source (origin (method git-fetch) (uri (git-reference @@ -527,7 +527,7 @@ WireGuard support.") (file-name (git-file-name name version)) (sha256 (base32 - "1c2ahxz2zmmxwmk951d2qhijgz67zhwa1hn0r59fgz0y14w22myi")))) + "0ppwza8nwm1av1vldw40gin9wrjrs4l9si50jad414js3k8ycaag")))) (build-system gnu-build-system) (arguments `(#:make-flags (list (string-append "PREFIX=" %output) From 4eb639ccf991858926c778769bff9f3b75c7a547 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Tue, 15 Oct 2019 23:45:45 +0300 Subject: [PATCH 0080/1112] gnu: connman: Update build inputs. * gnu/packages/connman.scm (connman)[arguments]: Don't enable pptp, it isn't available. [native-inputs]: Remove python-2, add python-wrapper. [inputs]: Remove polkit, add xl2tpd. --- gnu/packages/connman.scm | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/gnu/packages/connman.scm b/gnu/packages/connman.scm index df5aa7bb6d9..013be97bbe7 100644 --- a/gnu/packages/connman.scm +++ b/gnu/packages/connman.scm @@ -56,11 +56,10 @@ (arguments `(#:configure-flags (list "--enable-nmcompat" - "--enable-polkit" + "--enable-polkit" ; Polkit doesn't need to be present at build time. "--enable-openconnect" "--enable-openvpn" "--enable-vpnc" - "--enable-pptp" "--enable-l2tp" "--localstatedir=/var" (string-append @@ -69,13 +68,12 @@ "--with-dbusdatadir=" (assoc-ref %outputs "out") "/share")))) (native-inputs `(("pkg-config" ,pkg-config) - ("python" ,python-2))) + ("python" ,python-wrapper))) (inputs `(("dbus" ,dbus) ("glib" ,glib) ("gnutls" ,gnutls) ("iptables" ,iptables) - ("polkit" ,polkit) ;so connman can be used by unprivileged users ("readline" ,readline) ;; These inputs are needed for connman to include the interface to ;; these technologies so IF they are installed they can be used. @@ -84,7 +82,8 @@ ("openvpn" ,openvpn) ("ppp" ,ppp) ("vpnc" ,vpnc) - ("wpa-supplicant" ,wpa-supplicant))) + ("wpa-supplicant" ,wpa-supplicant) + ("xl2tpd" ,xl2tpd))) (home-page "https://01.org/connman") (synopsis "Connection management daemon") (description "Connman provides a daemon for managing Internet connections. From 11af54466c2b001cf3aeb729197e1c3ebefab363 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Tue, 15 Oct 2019 23:47:33 +0300 Subject: [PATCH 0081/1112] gnu: econnman: Build with python. * gnu/packages/connman.scm (econnman)[inputs]: Remove python-2, python2-dbus, python2-efl. Add python-wrapper, python-dbus, python-efl. --- gnu/packages/connman.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/connman.scm b/gnu/packages/connman.scm index 013be97bbe7..1185561bc40 100644 --- a/gnu/packages/connman.scm +++ b/gnu/packages/connman.scm @@ -125,9 +125,9 @@ sharing) to clients via USB, ethernet, WiFi, cellular and Bluetooth.") (native-inputs `(("pkg-config" ,pkg-config))) (inputs `(("efl" ,efl) - ("python-2" ,python-2) - ("python2-dbus" ,python2-dbus) - ("python2-efl" ,python2-efl))) + ("python" ,python-wrapper) + ("python-dbus" ,python-dbus) + ("python-efl" ,python-efl))) (home-page "https://www.enlightenment.org") (synopsis "Connman User Interface written using the EFL") (description From 808dd2d0abb89f953c41b28a7ab209ff0b7984d3 Mon Sep 17 00:00:00 2001 From: Brian Leung Date: Tue, 15 Oct 2019 15:06:58 -0700 Subject: [PATCH 0082/1112] gnu: python-language-server: Update to 0.29.1. * gnu/packages/python-xyz.scm (python-language-server): Update to 0.29.1. [inputs]: Add python-flake8 --- gnu/packages/python-xyz.scm | 63 +++++++++++++++++-------------------- 1 file changed, 29 insertions(+), 34 deletions(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 4ea426d0d7b..57d581990a3 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -3121,44 +3121,39 @@ Language (TOML) configuration files.") Server (PLS).") (license license:expat))) -;; XXX: We must use a non-release version since the latest release version -;; requires python-jedi version < 0.15. (define-public python-language-server - (let ((commit "c3cab77a85b1de4af1aec1bafea6a7320d6baec5") - (revision "1")) - (package - (name "python-language-server") - (version (git-version "0.28.3" revision commit)) - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/palantir/python-language-server.git") - (commit commit))) - (sha256 - (base32 - "1q0xdwgln09sh58j0ryygj92hfgdhwcs57zjvqihya23jr5v0bz4")))) - (build-system python-build-system) - (propagated-inputs - `(("python-pluggy" ,python-pluggy) - ("python-jsonrpc-server" ,python-jsonrpc-server) - ("python-jedi" ,python-jedi) - ("python-yapf" ,python-yapf) - ("python-pyflakes" ,python-pyflakes) - ("python-pydocstyle" ,python-pydocstyle) - ("python-pycodestyle" ,python-pycodestyle) - ("python-mccabe" ,python-mccabe) - ("python-rope" ,python-rope) - ("python-autopep8" ,python-autopep8) - ("python-pylint" ,python-pylint))) - (home-page "https://github.com/palantir/python-language-server") - (synopsis "Python implementation of the Language Server Protocol") - (description - "The Python Language Server (pyls) is an implementation of the Python 3 + (package + (name "python-language-server") + (version "0.29.1") + (source + (origin + (method url-fetch) + (uri (pypi-uri "python-language-server" version)) + (sha256 + (base32 + "1f8qlflh6j3s7qfmzhirpl8fgidl6f0qbakdmiml96wdxzvka0s3")))) + (build-system python-build-system) + (propagated-inputs + `(("python-pluggy" ,python-pluggy) + ("python-jsonrpc-server" ,python-jsonrpc-server) + ("python-jedi" ,python-jedi) + ("python-yapf" ,python-yapf) + ("python-pyflakes" ,python-pyflakes) + ("python-pydocstyle" ,python-pydocstyle) + ("python-pycodestyle" ,python-pycodestyle) + ("python-mccabe" ,python-mccabe) + ("python-rope" ,python-rope) + ("python-autopep8" ,python-autopep8) + ("python-flake8" ,python-flake8) + ("python-pylint" ,python-pylint))) + (home-page "https://github.com/palantir/python-language-server") + (synopsis "Python implementation of the Language Server Protocol") + (description + "The Python Language Server (pyls) is an implementation of the Python 3 language specification for the Language Server Protocol (LSP). This tool is used in text editing environments to provide a complete and integrated feature-set for programming Python effectively.") - (license license:expat)))) + (license license:expat))) (define-public python-black (package From 3268fba3d2a13971e1c3d6306985a4fe8c425351 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Tue, 15 Oct 2019 22:31:11 -0500 Subject: [PATCH 0083/1112] gnu: onionshare: Update to 2.2. * gnu/packages/tor.scm (onionshare): Update to 2.2. [inputs]: Add python-flask-httpauth. [arguments]: Adjust 'fix-install-path' to new file name. [description]: Improve wording and clarity. [license]: Add expat license for bundled jquery. --- gnu/packages/tor.scm | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/gnu/packages/tor.scm b/gnu/packages/tor.scm index 27090c14cf7..a82654be0a4 100644 --- a/gnu/packages/tor.scm +++ b/gnu/packages/tor.scm @@ -158,7 +158,7 @@ networks.") (define-public onionshare (package (name "onionshare") - (version "2.1") + (version "2.2") (source (origin (method git-fetch) @@ -167,7 +167,7 @@ networks.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1lx21p12888qnbhsyin4lrnn4xizb39ldk77r71y53hn8mfxi54z")))) + (base32 "0m8ygxcyp3nfzzhxs2dfnpqwh1vx0aws44lszpnnczz4fks3a5j4")))) (build-system python-build-system) (arguments `(#:phases @@ -181,7 +181,7 @@ networks.") (substitute* "setup.py" ;; For the nautilus plugin. (("/usr/share/nautilus") "share/nautilus")) - (substitute* "install/onionshare.desktop" + (substitute* "install/org.onionshare.OnionShare.desktop" (("/usr") out)) #t))) (delete 'check) @@ -196,6 +196,7 @@ networks.") (inputs `(("python-pycrypto" ,python-pycrypto) ("python-flask" ,python-flask) + ("python-flask-httpauth" ,python-flask-httpauth) ("python-nautilus" ,python-nautilus) ("python-sip" ,python-sip) ("python-stem" ,python-stem) @@ -203,15 +204,15 @@ networks.") ("python-pyqt" ,python-pyqt))) (home-page "https://onionshare.org/") (synopsis "Securely and anonymously share files") - (description "OnionShare lets you securely and anonymously share files of -any size. It works by starting a web server, making it accessible as a Tor -hidden service, and generating an unguessable URL to access and download the -files. It doesn't require setting up a server on the internet somewhere or -using a third party filesharing service. You host the file on your own computer -and use a Tor hidden service to make it temporarily accessible over the -internet. The other user just needs to use Tor Browser to download the file -from you.") - (license license:gpl3+))) + (description "OnionShare is a tool for securely and anonymously sending +and receiving files using Tor onion services. It works by starting a web +server directly on your computer and making it accessible as an unguessable +Tor web address that others can load in a Tor-enabled web browser to download +files from you, or upload files to you. It doesn't require setting up a +separate server, using a third party file-sharing service, or even logging +into an account.") + ;; Bundled, minified jquery is expat licensed. + (license (list license:gpl3+ license:expat)))) (define-public nyx (package From 5051ef95b82a33bee8d71f742edc9b28c56793ef Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Wed, 16 Oct 2019 03:27:17 +0200 Subject: [PATCH 0084/1112] gnu: python-tornado-http-auth: Update to 1.1.1. * gnu/packages/python-web.scm (python-tornado-http-auth): Update to 1.1.1. --- gnu/packages/python-web.scm | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm index ffef3319f7c..6e924dd7e46 100644 --- a/gnu/packages/python-web.scm +++ b/gnu/packages/python-web.scm @@ -817,21 +817,18 @@ connection to each user.") (define-public python-tornado-http-auth (package (name "python-tornado-http-auth") - (version "1.1.0") + (version "1.1.1") (source (origin (method url-fetch) (uri (pypi-uri "tornado-http-auth" version)) (sha256 - (base32 - "0znrgqd7k2s4ia474xizi6h3061zj4sn5n6cq76bkwl3wwshifn5")))) + (base32 "0hyc5f0a09i5yb99pk4bxpg6w9ichbrb5cv7hc9hff7rxd8w0v0x")))) (build-system python-build-system) (propagated-inputs `(("python-tornado" ,python-tornado))) - (home-page - "https://github.com/gvalkov/tornado-http-auth") - (synopsis - "Digest and basic authentication module for Tornado") + (home-page "https://github.com/gvalkov/tornado-http-auth") + (synopsis "Digest and basic authentication module for Tornado") (description "Provides support for adding authentication to services using the Tornado web framework, either via the basic or digest authentication schemes.") From 79bc917685eefa3c34dc50479b2ab55860af7543 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Wed, 16 Oct 2019 02:24:07 +0200 Subject: [PATCH 0085/1112] gnu: python-pylibmc: Update to 1.6.1. * gnu/packages/databases.scm (python-pylibmc): Update to 1.6.1. --- gnu/packages/databases.scm | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index 690f5a38ad9..f8e72565a05 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -377,14 +377,13 @@ the API, and provides features such as: (define-public python-pylibmc (package (name "python-pylibmc") - (version "1.6.0") + (version "1.6.1") (source (origin (method url-fetch) (uri (pypi-uri "pylibmc" version)) (sha256 - (base32 - "1n6nvvhl0g52gpzzwdj1my6049xljkfwyxxygnwda9smrbj7pyay")))) + (base32 "1sg7d9j0v6g3xg3finf4l1hb72c13vcyyi6rqrc9shbx903d93ca")))) (build-system python-build-system) (arguments '(#:phases @@ -400,10 +399,8 @@ the API, and provides features such as: `(("libmemcached" ,libmemcached) ("zlib" ,zlib) ("cyrus-sasl" ,cyrus-sasl))) - (home-page - "http://sendapatch.se/projects/pylibmc/") - (synopsis - "Python client for memcached") + (home-page "http://sendapatch.se/projects/pylibmc/") + (synopsis "Python client for memcached") (description "@code{pylibmc} is a client in Python for memcached. It is a wrapper around TangentOrg’s libmemcached library, and can be used as a drop-in From ee70f49b77011a89a64a4b4e380f90fb67b0002b Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Tue, 15 Oct 2019 18:47:37 +0200 Subject: [PATCH 0086/1112] gnu: kakoune: Update to 2019.07.01. * gnu/packages/text-editors.scm (kakoune): Update to 2019.07.01. --- gnu/packages/text-editors.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/text-editors.scm b/gnu/packages/text-editors.scm index e5dee2f4e56..e83bcad5094 100644 --- a/gnu/packages/text-editors.scm +++ b/gnu/packages/text-editors.scm @@ -114,7 +114,7 @@ based command language.") (define-public kakoune (package (name "kakoune") - (version "2019.01.20") + (version "2019.07.01") (source (origin (method url-fetch) @@ -122,7 +122,7 @@ based command language.") "releases/download/v" version "/" "kakoune-" version ".tar.bz2")) (sha256 - (base32 "15drk7i17qdiqxqkjxhrxfclryj9qzb5ymxd20dwl05y4yi064cr")))) + (base32 "1lvgxnih4xfrkcmcc476qi9nz6dxcdbfxsinhykp3g80j14piycc")))) (build-system gnu-build-system) (arguments `(#:make-flags From 8524b1b8b4ba973864b67354d5d81ad1a691e764 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Wed, 16 Oct 2019 03:06:10 +0200 Subject: [PATCH 0087/1112] gnu: perl-gtk2: Update to 1.24993. * gnu/packages/gtk.scm (perl-gtk2): Update to 1.24993. --- gnu/packages/gtk.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index 8f991a347bb..74f61967f64 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -1319,14 +1319,14 @@ produces identical output on all those targets.") (define-public perl-gtk2 (package (name "perl-gtk2") - (version "1.24992") + (version "1.24993") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/X/XA/XAOC/Gtk2-" version ".tar.gz")) (sha256 (base32 - "1044rj3wbfmgaif2jb0k28m2aczli6ai2n5yvn6pr7zjyw16kvd2")))) + "0ry9jfvfgdwzalxcvwsgr7plhk3agx7p40l0fqdf3vrf7ds47i29")))) (build-system perl-build-system) (native-inputs `(("perl-extutils-depends" ,perl-extutils-depends) From dedb10b24b5bfe656932213b7555481544e71730 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Wed, 16 Oct 2019 03:08:19 +0200 Subject: [PATCH 0088/1112] gnu: perl-test-runvalgrind: Update to 0.2.1. * gnu/packages/perl-check.scm (perl-test-runvalgrind): Update to 0.2.1. --- gnu/packages/perl-check.scm | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/gnu/packages/perl-check.scm b/gnu/packages/perl-check.scm index 5eac9844232..2d2a24b6b0e 100644 --- a/gnu/packages/perl-check.scm +++ b/gnu/packages/perl-check.scm @@ -1170,7 +1170,7 @@ reported, and the tests skipped.") (define-public perl-test-runvalgrind (package (name "perl-test-runvalgrind") - (version "0.2.0") + (version "0.2.1") (source (origin (method url-fetch) @@ -1179,8 +1179,7 @@ reported, and the tests skipped.") version ".tar.gz")) (sha256 - (base32 - "0cfndkn2k9pcx290wcblwmrwh1ybs0grxjlsrp8fbqqbmmjpb53h")))) + (base32 "175hlycrhgwrp7j4rwx5bk4fd6775242wjdqv107rvgsrszsi915")))) (build-system perl-build-system) (native-inputs `(("perl-module-build" ,perl-module-build))) From 0910bf508fbc2037c37b45270b5ee622255b4eb3 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Wed, 16 Oct 2019 04:22:40 +0200 Subject: [PATCH 0089/1112] gnu: perl-yaml-libyaml: Update to 0.80. * gnu/packages/perl.scm (perl-yaml-libyaml): Update to 0.80. --- gnu/packages/perl.scm | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 5290e22d9bc..006a23b2af1 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -9416,21 +9416,18 @@ on the YAML 1.0 specification.") (define-public perl-yaml-libyaml (package (name "perl-yaml-libyaml") - (version "0.78") + (version "0.80") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/T/TI/TINITA/YAML-LibYAML-" - version - ".tar.gz")) + version ".tar.gz")) (sha256 - (base32 "03plv3wfqqqf7g8mxr8f6wlki2af8w3rg9xcfii1z5l1f1iarxx1")))) + (base32 "1nhn4w52kpq757rxl052f61h36rdzsy416k740m3fy5ih7axhq4x")))) (build-system perl-build-system) - (home-page - "https://metacpan.org/release/YAML-LibYAML") - (synopsis - "Perl YAML Serialization using XS and libyaml") + (home-page "https://metacpan.org/release/YAML-LibYAML") + (synopsis "Perl YAML Serialization using XS and libyaml") (description "@code{YAML::XS} is a Perl XS binding to libyaml which offers Perl the best YAML support to date.") From c1abd9d7e78aa10264c9dd643106bb7511dac9aa Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Wed, 16 Oct 2019 04:47:19 +0200 Subject: [PATCH 0090/1112] gnu: perl-yaml: Update to 1.29. * gnu/packages/perl.scm (perl-yaml): Update to 1.29. --- gnu/packages/perl.scm | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 006a23b2af1..3f20c8d0587 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -9395,15 +9395,14 @@ neither visible nor modifiable from Perl space).") (define-public perl-yaml (package (name "perl-yaml") - (version "1.27") + (version "1.29") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/T/TI/TINITA/" "YAML-" version ".tar.gz")) (sha256 - (base32 - "1yc2yqjyrcdlhp209f3a63f9xx6v5klisli25fv221yy43la34n9")))) + (base32 "0gl5ssvrdajlbc85cy6z873n9cwlssk5q8z97a31vyiikhw5fp4w")))) (build-system perl-build-system) (native-inputs `(("perl-test-yaml" ,perl-test-yaml))) From 803b9736689e2e3a772848f8a41c24488fb692b4 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Tue, 15 Oct 2019 18:46:30 +0200 Subject: [PATCH 0091/1112] gnu: perl-net-dns: Update to 1.21. * gnu/packages/networking.scm (perl-net-dns): Update to 1.21. --- gnu/packages/networking.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm index c0597c7e45f..17c7c65a258 100644 --- a/gnu/packages/networking.scm +++ b/gnu/packages/networking.scm @@ -1077,7 +1077,7 @@ private (reserved).") (define-public perl-net-dns (package (name "perl-net-dns") - (version "1.20") + (version "1.21") (source (origin (method url-fetch) @@ -1088,7 +1088,7 @@ private (reserved).") (string-append "mirror://cpan/authors/id/N/NL/NLNETLABS/Net-DNS-" version ".tar.gz"))) (sha256 - (base32 "06z09igd42s0kg2ps5k7vpypg77zswfryqzbyalbllvjd0mnknbz")))) + (base32 "0yknrsh0wqr9s43c0wf3dyzrsi2r7k0v75hay74gqkq850xy3vyx")))) (build-system perl-build-system) (inputs `(("perl-digest-hmac" ,perl-digest-hmac))) From ae3f3090333bb42c967055a909f107d102920eb3 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Wed, 16 Oct 2019 05:12:51 +0200 Subject: [PATCH 0092/1112] gnu: perl-datetime-format-flexible: Update to 0.32. * gnu/packages/perl.scm (perl-datetime-format-flexible): Update to 0.32. [native-inputs]: Add perl-test-exception and perl-test-nowarnings. --- gnu/packages/perl.scm | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 3f20c8d0587..83b89608456 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -2390,16 +2390,18 @@ to do this without writing reams of structural code.") (define-public perl-datetime-format-flexible (package (name "perl-datetime-format-flexible") - (version "0.28") + (version "0.32") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/T/TH/THINC/" "DateTime-Format-Flexible-" version ".tar.gz")) (sha256 - (base32 - "1g63zs0q2x40h29r7in50c55g6kxiw3m2faw2p6c4rg74sj2k2b5")))) + (base32 "1vnq3a8bwhidcv3z9cvcmfiq2qa84hikr993ffr19fw7nbzbk9sh")))) (build-system perl-build-system) + (native-inputs + `(("perl-test-exception" ,perl-test-exception) + ("perl-test-nowarnings" ,perl-test-nowarnings))) (propagated-inputs `(("perl-datetime" ,perl-datetime) ("perl-datetime-format-builder" ,perl-datetime-format-builder) From f2eacb3b33cceec99e8216a6061a5134668cc26c Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Wed, 16 Oct 2019 05:21:27 +0200 Subject: [PATCH 0093/1112] gnu: perl-datetime-format-flexible: Fix typo in synopsis. * gnu/packages/perl.scm (perl-datetime-format-flexible)[synopsis]: Fix typo. --- gnu/packages/perl.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 83b89608456..08a25fc503f 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -2410,7 +2410,7 @@ to do this without writing reams of structural code.") ("perl-module-pluggable" ,perl-module-pluggable) ("perl-test-mocktime" ,perl-test-mocktime))) (home-page "https://metacpan.org/release/DateTime-Format-Flexible") - (synopsis "Parse data/time strings") + (synopsis "Parse date and time strings") (description "DateTime::Format::Flexible attempts to take any string you give it and parse it into a DateTime object.") (license (package-license perl)))) From 6f2697f748a83146d0611ed315cdbb364c3935a9 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Wed, 16 Oct 2019 05:20:29 +0200 Subject: [PATCH 0094/1112] gnu: perl-datetime-format-flexible: Make test input native. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/perl.scm (perl-datetime-format-flexible) [native-inputs]: Move perl-test-mocktime here… [propagated-inputs]: …from here. --- gnu/packages/perl.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 08a25fc503f..f172617a137 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -2401,14 +2401,14 @@ to do this without writing reams of structural code.") (build-system perl-build-system) (native-inputs `(("perl-test-exception" ,perl-test-exception) - ("perl-test-nowarnings" ,perl-test-nowarnings))) + ("perl-test-nowarnings" ,perl-test-nowarnings) + ("perl-test-mocktime" ,perl-test-mocktime))) (propagated-inputs `(("perl-datetime" ,perl-datetime) ("perl-datetime-format-builder" ,perl-datetime-format-builder) ("perl-datetime-timezone" ,perl-datetime-timezone) ("perl-list-moreutils" ,perl-list-moreutils) - ("perl-module-pluggable" ,perl-module-pluggable) - ("perl-test-mocktime" ,perl-test-mocktime))) + ("perl-module-pluggable" ,perl-module-pluggable))) (home-page "https://metacpan.org/release/DateTime-Format-Flexible") (synopsis "Parse date and time strings") (description "DateTime::Format::Flexible attempts to take any string you From 9ffbc2456babcc8e61e5291bef1f04037145bd95 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Wed, 16 Oct 2019 04:49:30 +0200 Subject: [PATCH 0095/1112] gnu: perl-file-find-object-rule: Update to 0.0311. * gnu/packages/perl.scm (perl-file-find-object-rule): Update to 0.0311. --- gnu/packages/perl.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index f172617a137..ead68d18d71 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -9705,7 +9705,7 @@ File::Find replacement in Perl.") (define-public perl-file-find-object-rule (package (name "perl-file-find-object-rule") - (version "0.0309") + (version "0.0311") (source (origin (method url-fetch) @@ -9714,7 +9714,7 @@ File::Find replacement in Perl.") version ".tar.gz")) (sha256 - (base32 "1qr1rrp9gn0bpsixsrkan710sxc7bnhirh0anjsw2ihn4wdy3151")))) + (base32 "0gjzfd5fz7mhr5abafxr7qic7nwhk7y9iv17as6l880973j952h3")))) (build-system perl-build-system) (native-inputs `(("perl-module-build" ,perl-module-build))) From 655ffa6ab33604e4c3faf101884ee206f7225436 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Wed, 16 Oct 2019 05:05:16 +0200 Subject: [PATCH 0096/1112] gnu: perl-class-c3-adopt-next: Update to 0.14. * gnu/packages/perl.scm (perl-class-c3-adopt-next): Update to 0.14. [native-inputs]: Add perl-module-build and perl-module-build-tiny. --- gnu/packages/perl.scm | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index ead68d18d71..d03e67037b9 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -935,18 +935,19 @@ sophisticated C3 method resolution order.") (define-public perl-class-c3-adopt-next (package (name "perl-class-c3-adopt-next") - (version "0.13") + (version "0.14") (source (origin (method url-fetch) - (uri (string-append "mirror://cpan/authors/id/F/FL/FLORA/" + (uri (string-append "mirror://cpan/authors/id/E/ET/ETHER/" "Class-C3-Adopt-NEXT-" version ".tar.gz")) (sha256 - (base32 - "1rwgbx6dsy4rpas94p8wakzj7hrla1p15jnbm24kwhsv79gp91ld")))) + (base32 "1xsbydmiskpa1qbmnf6n39cb83nlb432xgkad9kfhxnvm8jn4rw5")))) (build-system perl-build-system) (native-inputs - `(("perl-test-exception" ,perl-test-exception))) + `(("perl-module-build" ,perl-module-build) + ("perl-module-build-tiny" ,perl-module-build-tiny) + ("perl-test-exception" ,perl-test-exception))) (propagated-inputs `(("perl-list-moreutils" ,perl-list-moreutils) ("perl-mro-compat" ,perl-mro-compat))) From 1ee0ac3f0dc6d904eba842bad94410b2181626f8 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Wed, 16 Oct 2019 04:00:57 +0200 Subject: [PATCH 0097/1112] gnu: man-pages: Update to 5.03. * gnu/packages/man.scm (man-pages): Update to 5.03. --- gnu/packages/man.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/man.scm b/gnu/packages/man.scm index 42e1918597a..de2377a14e4 100644 --- a/gnu/packages/man.scm +++ b/gnu/packages/man.scm @@ -162,7 +162,7 @@ the traditional flat-text whatis databases.") (define-public man-pages (package (name "man-pages") - (version "5.02") + (version "5.03") (source (origin (method url-fetch) @@ -172,7 +172,7 @@ the traditional flat-text whatis databases.") (string-append "mirror://kernel.org/linux/docs/man-pages/Archive/" "man-pages-" version ".tar.xz"))) (sha256 - (base32 "1s4pdz2pwf0kvhdwx2s6lqn3xxzi38yz5jfyq5ymdmswc9gaiyn2")))) + (base32 "082i9258rl9xxjgpxpz3v8jcwk96dsk704ki9h9lq7q8z7m3mqbz")))) (build-system gnu-build-system) (arguments '(#:phases (modify-phases %standard-phases (delete 'configure)) From 4fcb6a3558b4212462c7c2afd2f5a834342f41be Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Wed, 16 Oct 2019 09:19:50 +0300 Subject: [PATCH 0098/1112] gnu: aspell: Update to 0.60.8. * gnu/packages/aspell.scm (aspell): Update to 0.60.8. [source]: Remove patch. * gnu/packages/patches/aspell-gcc-compat.patch: Remove file. * gnu/local.mk (dist_patch_DATA): Remove it. --- gnu/local.mk | 1 - gnu/packages/aspell.scm | 9 +++--- gnu/packages/patches/aspell-gcc-compat.patch | 31 -------------------- 3 files changed, 4 insertions(+), 37 deletions(-) delete mode 100644 gnu/packages/patches/aspell-gcc-compat.patch diff --git a/gnu/local.mk b/gnu/local.mk index 3fbfe0f2bb3..559655abc5e 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -695,7 +695,6 @@ dist_patch_DATA = \ %D%/packages/patches/antlr3-3_3-fix-java8-compilation.patch \ %D%/packages/patches/apr-skip-getservbyname-test.patch \ %D%/packages/patches/aspell-default-dict-dir.patch \ - %D%/packages/patches/aspell-gcc-compat.patch \ %D%/packages/patches/ath9k-htc-firmware-binutils.patch \ %D%/packages/patches/ath9k-htc-firmware-gcc.patch \ %D%/packages/patches/ath9k-htc-firmware-objcopy.patch \ diff --git a/gnu/packages/aspell.scm b/gnu/packages/aspell.scm index 4f6f1a1cca5..8e0edf27744 100644 --- a/gnu/packages/aspell.scm +++ b/gnu/packages/aspell.scm @@ -38,7 +38,7 @@ (define-public aspell (package (name "aspell") - (version "0.60.6.1") + (version "0.60.8") (source (origin (method url-fetch) @@ -46,9 +46,8 @@ version ".tar.gz")) (sha256 (base32 - "1qgn5psfyhbrnap275xjfrzppf5a83fb67gpql0kfqv37al869gm")) - (patches (search-patches "aspell-default-dict-dir.patch" - "aspell-gcc-compat.patch")))) + "1wi60ankalmh8ds7nplz434jd7j94gdvbahdwsr539rlad8pxdzr")) + (patches (search-patches "aspell-default-dict-dir.patch")))) (build-system gnu-build-system) (arguments `(#:phases @@ -144,7 +143,7 @@ dictionaries, including personal ones.") (define-public aspell-dict-ar (aspell-dictionary "ar" "Arabic" #:version "1.2-0" - #:prefix "aspell6-" + #:prefix "aspell6-" #:sha256 (base32 "1avw40bp8yi5bnkq64ihm2rldgw34lk89yz281q9bmndh95a47h4"))) diff --git a/gnu/packages/patches/aspell-gcc-compat.patch b/gnu/packages/patches/aspell-gcc-compat.patch deleted file mode 100644 index 94c44f8fb61..00000000000 --- a/gnu/packages/patches/aspell-gcc-compat.patch +++ /dev/null @@ -1,31 +0,0 @@ -Fix GCC7 warnings. - -Taken from upstream: -https://git.savannah.gnu.org/cgit/aspell.git/commit/?id=8089fa02122fed0a6394eba14bbedcb1d18e2384 - -diff --git a/modules/filter/tex.cpp b/modules/filter/tex.cpp -index a979539..19ab63c 100644 ---- a/modules/filter/tex.cpp -+++ b/modules/filter/tex.cpp -@@ -174,7 +174,7 @@ namespace { - - if (c == '{') { - -- if (top.in_what == Parm || top.in_what == Opt || top.do_check == '\0') -+ if (top.in_what == Parm || top.in_what == Opt || *top.do_check == '\0') - push_command(Parm); - - top.in_what = Parm; -diff --git a/prog/check_funs.cpp b/prog/check_funs.cpp -index db54f3d..89ee09d 100644 ---- a/prog/check_funs.cpp -+++ b/prog/check_funs.cpp -@@ -647,7 +647,7 @@ static void print_truncate(FILE * out, const char * word, int width) { - } - } - if (i == width-1) { -- if (word == '\0') -+ if (*word == '\0') - put(out,' '); - else if (word[len] == '\0') - put(out, word, len); From 4dfc73692bf94d58c962ff0971e8e83e99da2b62 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Wed, 16 Oct 2019 09:22:23 +0300 Subject: [PATCH 0099/1112] gnu: aspell-dict-de: Update to 20161207-7-0. * gnu/packages/aspell.scm (aspell-dict-de): Update to 20161207-7-0. --- gnu/packages/aspell.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/aspell.scm b/gnu/packages/aspell.scm index 8e0edf27744..5119a5a2cd7 100644 --- a/gnu/packages/aspell.scm +++ b/gnu/packages/aspell.scm @@ -165,10 +165,10 @@ dictionaries, including personal ones.") (define-public aspell-dict-de (aspell-dictionary "de" "German" - #:version "20030222-1" + #:version "20161207-7-0" #:sha256 (base32 - "01p92qj66cqb346gk7hjfynaap5sbcn85xz07kjfdq623ghr8v5s"))) + "0wamclvp66xfmv5wff96v6gdlnfv4y8lx3f8wvxyzm5imwgms4n2"))) (define-public aspell-dict-da (aspell-dictionary "da" "Danish" From 9d0abf0f2ee39dfa03f16a117476c67f48a7eebc Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Wed, 16 Oct 2019 09:23:37 +0300 Subject: [PATCH 0100/1112] gnu: aspell-dict-en: Upgrade to 2019.10.06-0. * gnu/packages/aspell.scm (aspell-dict-en): Upgrade to 2019.10.06-0. --- gnu/packages/aspell.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/aspell.scm b/gnu/packages/aspell.scm index 5119a5a2cd7..9ce2187fb5e 100644 --- a/gnu/packages/aspell.scm +++ b/gnu/packages/aspell.scm @@ -188,10 +188,10 @@ dictionaries, including personal ones.") (define-public aspell-dict-en (aspell-dictionary "en" "English" - #:version "2018.04.16-0" + #:version "2019.10.06-0" #:sha256 (base32 - "0bxxdzkk9g27plg22y9qzsx9cfjw3aa29w5bmzs561qc9gkp247i"))) + "1zai9wrqwgb9z9vfgb22qhrvxvg73jg0ix44j1khm2f6m96lncr4"))) (define-public aspell-dict-eo (aspell-dictionary "eo" "Esperanto" From 947141fdefeda9cbddf826633a521d0f2b9039a2 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Wed, 16 Oct 2019 09:25:58 +0300 Subject: [PATCH 0101/1112] gnu: aspell-dict-pt-br: Upgrade to 20131030-12-0. * gnu/packages/aspell.scm (aspell-dict-pt-br): Upgrade to 20131030-12-0. --- gnu/packages/aspell.scm | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/gnu/packages/aspell.scm b/gnu/packages/aspell.scm index 9ce2187fb5e..9181bae9f8c 100644 --- a/gnu/packages/aspell.scm +++ b/gnu/packages/aspell.scm @@ -290,11 +290,10 @@ dictionaries, including personal ones.") (define-public aspell-dict-pt-br (aspell-dictionary "pt_BR" "Brazilian Portuguese" - #:version "20090702-0" - #:prefix "aspell6-" + #:version "20131030-12-0" #:sha256 (base32 - "1y09lx9zf2rnp55r16b2vgj953l3538z1vaqgflg9mdvm555bz3p"))) + "1xqlpk21s93c6blkdnpk7l62q9fxjvzdv2x86chl8p2x1gdrj3gb"))) (define-public aspell-dict-pt-pt (aspell-dictionary "pt_PT" "Portuguese" From 9eb6d7125bc122aed1faff21ac7aa4a04e55ff74 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Wed, 16 Oct 2019 09:26:59 +0300 Subject: [PATCH 0102/1112] gnu: aspell-dict-pt-pt: Upgrade to 20190329-1-0. * gnu/packages/aspell.scm (aspell-dict-pt-pt): Upgrade to 20190329-1-0. --- gnu/packages/aspell.scm | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/gnu/packages/aspell.scm b/gnu/packages/aspell.scm index 9181bae9f8c..d3015617ecb 100644 --- a/gnu/packages/aspell.scm +++ b/gnu/packages/aspell.scm @@ -297,11 +297,10 @@ dictionaries, including personal ones.") (define-public aspell-dict-pt-pt (aspell-dictionary "pt_PT" "Portuguese" - #:version "20070510-0" - #:prefix "aspell6-" + #:version "20190329-1-0" #:sha256 (base32 - "1mnr994cwlag6shy8865ky99lymysiln07mbldcncahg90dagdxq"))) + "0ld0d0ily4jqifjfsxfv4shbicz6ymm2gk56fq9gbzra1j4qnw75"))) (define-public aspell-dict-ru (aspell-dictionary "ru" "Russian" From 4a822462ef66c4c61d2f3351cc2d91dd76e1a701 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Wed, 16 Oct 2019 09:31:54 +0300 Subject: [PATCH 0103/1112] Revert "gnu: aspell: Update to 0.60.8." This reverts commit 4fcb6a3558b4212462c7c2afd2f5a834342f41be. aspell causes about 1400 packages to be rebuilt. --- gnu/local.mk | 1 + gnu/packages/aspell.scm | 9 +++--- gnu/packages/patches/aspell-gcc-compat.patch | 31 ++++++++++++++++++++ 3 files changed, 37 insertions(+), 4 deletions(-) create mode 100644 gnu/packages/patches/aspell-gcc-compat.patch diff --git a/gnu/local.mk b/gnu/local.mk index 559655abc5e..3fbfe0f2bb3 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -695,6 +695,7 @@ dist_patch_DATA = \ %D%/packages/patches/antlr3-3_3-fix-java8-compilation.patch \ %D%/packages/patches/apr-skip-getservbyname-test.patch \ %D%/packages/patches/aspell-default-dict-dir.patch \ + %D%/packages/patches/aspell-gcc-compat.patch \ %D%/packages/patches/ath9k-htc-firmware-binutils.patch \ %D%/packages/patches/ath9k-htc-firmware-gcc.patch \ %D%/packages/patches/ath9k-htc-firmware-objcopy.patch \ diff --git a/gnu/packages/aspell.scm b/gnu/packages/aspell.scm index d3015617ecb..9482e641cfa 100644 --- a/gnu/packages/aspell.scm +++ b/gnu/packages/aspell.scm @@ -38,7 +38,7 @@ (define-public aspell (package (name "aspell") - (version "0.60.8") + (version "0.60.6.1") (source (origin (method url-fetch) @@ -46,8 +46,9 @@ version ".tar.gz")) (sha256 (base32 - "1wi60ankalmh8ds7nplz434jd7j94gdvbahdwsr539rlad8pxdzr")) - (patches (search-patches "aspell-default-dict-dir.patch")))) + "1qgn5psfyhbrnap275xjfrzppf5a83fb67gpql0kfqv37al869gm")) + (patches (search-patches "aspell-default-dict-dir.patch" + "aspell-gcc-compat.patch")))) (build-system gnu-build-system) (arguments `(#:phases @@ -143,7 +144,7 @@ dictionaries, including personal ones.") (define-public aspell-dict-ar (aspell-dictionary "ar" "Arabic" #:version "1.2-0" - #:prefix "aspell6-" + #:prefix "aspell6-" #:sha256 (base32 "1avw40bp8yi5bnkq64ihm2rldgw34lk89yz281q9bmndh95a47h4"))) diff --git a/gnu/packages/patches/aspell-gcc-compat.patch b/gnu/packages/patches/aspell-gcc-compat.patch new file mode 100644 index 00000000000..94c44f8fb61 --- /dev/null +++ b/gnu/packages/patches/aspell-gcc-compat.patch @@ -0,0 +1,31 @@ +Fix GCC7 warnings. + +Taken from upstream: +https://git.savannah.gnu.org/cgit/aspell.git/commit/?id=8089fa02122fed0a6394eba14bbedcb1d18e2384 + +diff --git a/modules/filter/tex.cpp b/modules/filter/tex.cpp +index a979539..19ab63c 100644 +--- a/modules/filter/tex.cpp ++++ b/modules/filter/tex.cpp +@@ -174,7 +174,7 @@ namespace { + + if (c == '{') { + +- if (top.in_what == Parm || top.in_what == Opt || top.do_check == '\0') ++ if (top.in_what == Parm || top.in_what == Opt || *top.do_check == '\0') + push_command(Parm); + + top.in_what = Parm; +diff --git a/prog/check_funs.cpp b/prog/check_funs.cpp +index db54f3d..89ee09d 100644 +--- a/prog/check_funs.cpp ++++ b/prog/check_funs.cpp +@@ -647,7 +647,7 @@ static void print_truncate(FILE * out, const char * word, int width) { + } + } + if (i == width-1) { +- if (word == '\0') ++ if (*word == '\0') + put(out,' '); + else if (word[len] == '\0') + put(out, word, len); From b2dcfaf2d194ead8d39afc20834a3ff2d9b4e541 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 16 Oct 2019 13:34:50 +0200 Subject: [PATCH 0104/1112] gnu: rkrlv2: Update to 0-2.7edcb4e. * gnu/packages/music.scm (rkrlv2): Update to 0-2.7edcb4e. --- gnu/packages/music.scm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index 22db0cf6042..040dfad506e 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -3403,8 +3403,9 @@ slow gear audio effect to produce volume swells.")))) a simulation of an analog Wah pedal with switchless activation.")))) (define-public rkrlv2 - (let ((commit "d8c17d3c976107e5c012970276d7cf0aa059f15b") - (revision "1")) + ;; This commit corresponds to the beta_3 tag + (let ((commit "7edcb4e29a358623bfd57fa2c27e5da60adfcec3") + (revision "2")) (package (name "rkrlv2") (version (git-version "0" revision commit)) @@ -3415,7 +3416,7 @@ a simulation of an analog Wah pedal with switchless activation.")))) (commit commit))) (sha256 (base32 - "035z068rlafb7ibgqf34ck2lm4fab8yzlx41qh061x2xi4hxkvp0")) + "16i4ajrib7kb0abdcn4901g8a4lkwkp2fyqyms38dhqq84slyfjs")) (file-name (git-file-name name version)))) (build-system cmake-build-system) (arguments '(#:tests? #f)) ; there are no tests From 11a9b945ccae3a14e1f54805da91e55489efc005 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Wed, 16 Oct 2019 17:24:30 +0200 Subject: [PATCH 0105/1112] gnu: sudo: Update to 1.8.28p1. * gnu/packages/admin.scm (sudo): Update to 1.8.28p1. --- gnu/packages/admin.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index 083257767a4..21d105bfe5f 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -1128,7 +1128,7 @@ system administrator.") (define-public sudo (package (name "sudo") - (version "1.8.28") + (version "1.8.28p1") (source (origin (method url-fetch) (uri @@ -1138,7 +1138,7 @@ system administrator.") version ".tar.gz"))) (sha256 (base32 - "188k3w67aflbmi4b5z23pxrvzfcfndi22b84w86gzjh8b9sglaci")) + "09xhx2k7j6wlqs9bl7snamd4k6lkyv9ycjwdspgbbqrimy25mfi3")) (modules '((guix build utils))) (snippet '(begin From 8361b9011ae7bf85da72189fcbf6dcef73d5dd1b Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Wed, 16 Oct 2019 05:42:29 +0200 Subject: [PATCH 0106/1112] gnu: perl-class-method-modifiers: Update to 2.13. * gnu/packages/perl.scm (perl-class-method-modifiers): Update to 2.13. [native-inputs]: Replace perl-test-requires with perl-test-needs. --- gnu/packages/perl.scm | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index d03e67037b9..baa29af22e3 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -1158,19 +1158,18 @@ write accessor methods for your objects that perform standard tasks.") (define-public perl-class-method-modifiers (package (name "perl-class-method-modifiers") - (version "2.12") + (version "2.13") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/E/ET/ETHER/" "Class-Method-Modifiers-" version ".tar.gz")) (sha256 - (base32 - "1j3swa212wh14dq5r6zjarm2lzpx6mrdfplpjy65px8b09ri0k74")))) + (base32 "0qzx83mgd71hlc2m1kpw15dqsjzjq7b2cj3sdgg45a0q23vhfn5b")))) (build-system perl-build-system) (native-inputs `(("perl-test-fatal" ,perl-test-fatal) - ("perl-test-requires" ,perl-test-requires))) + ("perl-test-needs" ,perl-test-needs))) (home-page "https://metacpan.org/release/Class-Method-Modifiers") (synopsis "Moose-like method modifiers") (description "Class::Method::Modifiers provides three modifiers: From 8fc3116eebdcaff6723ef8cee76f8fcff729bff8 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Wed, 16 Oct 2019 20:14:48 +0200 Subject: [PATCH 0107/1112] gnu: bind: Update to 9.14.7 [fixes CVE-2019-6475 & CVE-2019-6476]. * gnu/packages/dns.scm (isc-bind): Update to 9.14.7. --- gnu/packages/dns.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/dns.scm b/gnu/packages/dns.scm index 5167cf83796..b072a43e11f 100644 --- a/gnu/packages/dns.scm +++ b/gnu/packages/dns.scm @@ -109,7 +109,7 @@ and BOOTP/TFTP for network booting of diskless machines.") (define-public isc-bind (package (name "bind") - (version "9.14.6") + (version "9.14.7") (source (origin (method url-fetch) (uri (string-append @@ -117,7 +117,7 @@ and BOOTP/TFTP for network booting of diskless machines.") "/bind-" version ".tar.gz")) (sha256 (base32 - "1zpd47ckn5lf4qbscfkj7krngwn2gwsp961v5401h3lhxm0a0rw9")))) + "07998nx0yv3xy8c62b1ira9qygsgvpljwcgb47ypzxq8b57gb86f")))) (build-system gnu-build-system) (outputs `("out" "utils")) (inputs From abca6cf85a7b43897fa8705ccf93794c40404f87 Mon Sep 17 00:00:00 2001 From: Brian Leung Date: Wed, 16 Oct 2019 21:26:53 +0200 Subject: [PATCH 0108/1112] gnu: emacs-lpy: Update to 0.1.0-3.43b401f. * gnu/packages/emacs-xyz.scm (emacs-lpy): Update to 0.1.0-3.43b401f. --- gnu/packages/emacs-xyz.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index ddaaa017278..7287a4d8f92 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -5669,8 +5669,8 @@ state and will work even without lispy being enabled.") (license license:gpl3+)))) (define-public emacs-lpy - (let ((commit "dfd9a0fc8f84674fc669eab2942cfa038d7dc590") - (revision "2")) + (let ((commit "43b401fe15f0f0d01edb189378b9498121e9f766") + (revision "3")) (package (name "emacs-lpy") (version (git-version "0.1.0" revision commit)) @@ -5682,7 +5682,7 @@ state and will work even without lispy being enabled.") (commit commit))) (sha256 (base32 - "15y1fvn1sjngpiqlq090hxqhmxp32f88rspfapwcisxa3hcg5r5a")) + "0xj1r7cn1rivaxhvawvmgx9fg3xilpfw4lkf2x2aqplr4s85ijas")) (file-name (git-file-name name version)))) (propagated-inputs `(("emacs-zoutline" ,emacs-zoutline) From 65ecf3a7afcfcb96ec90dc0cabb6b2d1a1d54398 Mon Sep 17 00:00:00 2001 From: Brian Leung Date: Wed, 16 Oct 2019 22:23:50 +0200 Subject: [PATCH 0109/1112] gnu: emacs-yasnippet: Don't use unstable tarball. * gnu/packages/emacs-xyz.scm (emacs-yasnippet)[source]: Use GIT-FETCH and GIT-FILE-NAME. [source]: Enable tests. --- gnu/packages/emacs-xyz.scm | 31 +++++++++++++++++++++++++++---- 1 file changed, 27 insertions(+), 4 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 7287a4d8f92..d9bceac4971 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -8325,13 +8325,14 @@ been adapted to work with mu4e.") (name "emacs-yasnippet") (version "0.13.0") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/joaotavora/yasnippet/" - "archive/" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/joaotavora/yasnippet.git") + (commit version))) (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "12ls2x17agzbrj1xynjbmfa11igqxia4hj4fv6fpr66yci2r1plc")) + "0fkkplycrw8f8r30hjjxl1wm7p2irq2ipzzc1g7cc52abaal796p")) (modules '((guix build utils))) (snippet '(begin @@ -8345,6 +8346,28 @@ been adapted to work with mu4e.") "))\n")) #t)))) (build-system emacs-build-system) + (arguments + `(#:tests? #t + #:test-command '("emacs" "--batch" + "-l" "yasnippet-tests.el" + "-f" "ert-run-tests-batch-and-exit") + ;; FIXME: one failing test + #:phases + (modify-phases %standard-phases + (add-before 'check 'make-tests-writable + (lambda _ + (make-file-writable "yasnippet-tests.el") + #t)) + (add-before 'check 'delete-rebinding-test + (lambda _ + (emacs-batch-edit-file "yasnippet-tests.el" + `(progn (progn (goto-char (point-min)) + (re-search-forward + "ert-deftest test-rebindings") + (beginning-of-line) + (kill-sexp)) + (basic-save-buffer))) + #t))))) (home-page "https://github.com/joaotavora/yasnippet") (synopsis "Yet another snippet extension for Emacs") (description From 47e99e626b46b2fc433506a822d251de68ad6241 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 16 Oct 2019 19:09:46 +0200 Subject: [PATCH 0110/1112] daemon: Remove traces of 'NIX_ROOT_FINDER'. This is a followup to 2e3e5d21988fc2cafb2a9eaf4b00976ea425629d. * build-aux/test-env.in: Remove mentions of 'NIX_ROOT_FINDER'. * nix/libstore/gc.cc (LocalStore::collectGarbage): Adjust comment accordingly. --- build-aux/test-env.in | 3 +-- nix/libstore/gc.cc | 7 +++---- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/build-aux/test-env.in b/build-aux/test-env.in index b1470bb9535..6b0f8daa876 100644 --- a/build-aux/test-env.in +++ b/build-aux/test-env.in @@ -53,7 +53,6 @@ then NIX_LOCALSTATE_DIR="@GUIX_TEST_ROOT@/var" GUIX_LOG_DIRECTORY="@GUIX_TEST_ROOT@/var/log/guix" GUIX_DATABASE_DIRECTORY="@GUIX_TEST_ROOT@/db" - NIX_ROOT_FINDER="@abs_top_builddir@/nix/scripts/list-runtime-roots" # Choose a PID-dependent name to allow for parallel builds. Note # that the directory name must be chosen so that the socket's file @@ -98,7 +97,7 @@ then export NIX_IGNORE_SYMLINK_STORE NIX_STORE_DIR \ NIX_LOCALSTATE_DIR GUIX_LOG_DIRECTORY GUIX_STATE_DIRECTORY GUIX_DATABASE_DIRECTORY \ - NIX_ROOT_FINDER GUIX_BINARY_SUBSTITUTE_URL \ + GUIX_BINARY_SUBSTITUTE_URL \ GUIX_ALLOW_UNAUTHENTICATED_SUBSTITUTES \ GUIX_CONFIGURATION_DIRECTORY XDG_CACHE_HOME NIXPKGS diff --git a/nix/libstore/gc.cc b/nix/libstore/gc.cc index c4669966686..fe152da015e 100644 --- a/nix/libstore/gc.cc +++ b/nix/libstore/gc.cc @@ -620,10 +620,9 @@ void LocalStore::collectGarbage(const GCOptions & options, GCResults & results) foreach (Roots::iterator, i, rootMap) state.roots.insert(i->second); - /* Add additional roots returned by the program specified by the - NIX_ROOT_FINDER environment variable. This is typically used - to add running programs to the set of roots (to prevent them - from being garbage collected). */ + /* Add additional roots returned by 'guix gc --list-busy'. This is + typically used to add running programs to the set of roots (to prevent + them from being garbage collected). */ if (!options.ignoreLiveness) addAdditionalRoots(*this, state.roots); From a1aaca314ca94700ebe3449d6bd73522f2d243bc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 16 Oct 2019 19:11:41 +0200 Subject: [PATCH 0111/1112] build: Remove references to 'NIX_LOCALSTATE_DIR'. * build-aux/test-env.in: Remove references to 'NIX_LOCALSTATE_DIR'. --- build-aux/test-env.in | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/build-aux/test-env.in b/build-aux/test-env.in index 6b0f8daa876..59ab58cc941 100644 --- a/build-aux/test-env.in +++ b/build-aux/test-env.in @@ -50,7 +50,6 @@ then # it or its parent directories. See . NIX_STORE_DIR="`cd "@GUIX_TEST_ROOT@/store"; pwd -P`" - NIX_LOCALSTATE_DIR="@GUIX_TEST_ROOT@/var" GUIX_LOG_DIRECTORY="@GUIX_TEST_ROOT@/var/log/guix" GUIX_DATABASE_DIRECTORY="@GUIX_TEST_ROOT@/db" @@ -96,7 +95,7 @@ then NIXPKGS="@NIXPKGS@" export NIX_IGNORE_SYMLINK_STORE NIX_STORE_DIR \ - NIX_LOCALSTATE_DIR GUIX_LOG_DIRECTORY GUIX_STATE_DIRECTORY GUIX_DATABASE_DIRECTORY \ + GUIX_LOG_DIRECTORY GUIX_STATE_DIRECTORY GUIX_DATABASE_DIRECTORY \ GUIX_BINARY_SUBSTITUTE_URL \ GUIX_ALLOW_UNAUTHENTICATED_SUBSTITUTES \ GUIX_CONFIGURATION_DIRECTORY XDG_CACHE_HOME NIXPKGS From 81c580c8664bfeeb767e2c47ea343004e88223c7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 16 Oct 2019 11:51:42 +0200 Subject: [PATCH 0112/1112] daemon: Make 'profiles/per-user' non-world-writable. Fixes . Reported at . Based on Nix commit 5a303093dcae1e5ce9212616ef18f2ca51020b0d by Eelco Dolstra . * nix/libstore/local-store.cc (LocalStore::LocalStore): Set 'perUserDir' to #o755 instead of #o1777. (LocalStore::createUser): New function. * nix/libstore/local-store.hh (LocalStore): Add it. * nix/libstore/store-api.hh (StoreAPI): Add it. * nix/nix-daemon/nix-daemon.cc (performOp): In 'wopSetOptions', add condition to handle "user-name" property and honor it. (processConnection): Add 'userId' parameter. Call 'store->createUser' when userId is not -1. * guix/profiles.scm (ensure-profile-directory): Note that this is now handled by the daemon. * guix/store.scm (current-user-name): New procedure. (set-build-options): Add #:user-name parameter and pass it to the daemon. * tests/guix-daemon.sh: Test the creation of 'profiles/per-user' when listening on a TCP socket. * tests/store.scm ("profiles/per-user exists and is not writable") ("profiles/per-user/$USER exists"): New tests. --- guix/profiles.scm | 3 ++- guix/store.scm | 12 ++++++++++++ nix/libstore/local-store.cc | 17 +++++++++++++++-- nix/libstore/local-store.hh | 2 ++ nix/libstore/store-api.hh | 4 ++++ nix/nix-daemon/nix-daemon.cc | 24 ++++++++++++++++++++++-- tests/guix-daemon.sh | 21 +++++++++++++++++++++ tests/store.scm | 13 ++++++++++++- 8 files changed, 90 insertions(+), 6 deletions(-) diff --git a/guix/profiles.scm b/guix/profiles.scm index f5c863945c2..cd3b21e3905 100644 --- a/guix/profiles.scm +++ b/guix/profiles.scm @@ -1732,7 +1732,8 @@ because the NUMBER is zero.)" (string-append %profile-directory "/guix-profile")) (define (ensure-profile-directory) - "Attempt to create /…/profiles/per-user/$USER if needed." + "Attempt to create /…/profiles/per-user/$USER if needed. Nowadays this is +taken care of by the daemon." (let ((s (stat %profile-directory #f))) (unless (and s (eq? 'directory (stat:type s))) (catch 'system-error diff --git a/guix/store.scm b/guix/store.scm index d7c603898ca..382aad29d9a 100644 --- a/guix/store.scm +++ b/guix/store.scm @@ -748,6 +748,14 @@ encoding conversion errors." (cut string-append "http://" <>)) '("ci.guix.gnu.org"))) +(define (current-user-name) + "Return the name of the calling user." + (catch #t + (lambda () + (passwd:name (getpwuid (getuid)))) + (lambda _ + (getenv "USER")))) + (define* (set-build-options server #:key keep-failed? keep-going? fallback? (verbosity 0) @@ -759,6 +767,7 @@ encoding conversion errors." (build-verbosity 0) (log-type 0) (print-build-trace #t) + (user-name (current-user-name)) ;; When true, provide machine-readable "build ;; traces" for use by (guix status). Old clients @@ -849,6 +858,9 @@ encoding conversion errors." `(("build-repeat" . ,(number->string (max 0 (1- rounds))))) '()) + ,@(if user-name + `(("user-name" . ,user-name)) + '()) ,@(if terminal-columns `(("terminal-columns" . ,(number->string terminal-columns))) diff --git a/nix/libstore/local-store.cc b/nix/libstore/local-store.cc index 3b08492c643..37933823612 100644 --- a/nix/libstore/local-store.cc +++ b/nix/libstore/local-store.cc @@ -88,8 +88,9 @@ LocalStore::LocalStore(bool reserveSpace) Path perUserDir = profilesDir + "/per-user"; createDirs(perUserDir); - if (chmod(perUserDir.c_str(), 01777) == -1) - throw SysError(format("could not set permissions on '%1%' to 1777") % perUserDir); + if (chmod(perUserDir.c_str(), 0755) == -1) + throw SysError(format("could not set permissions on '%1%' to 755") + % perUserDir); mode_t perm = 01775; @@ -1642,4 +1643,16 @@ void LocalStore::vacuumDB() } +void LocalStore::createUser(const std::string & userName, uid_t userId) +{ + auto dir = settings.nixStateDir + "/profiles/per-user/" + userName; + + createDirs(dir); + if (chmod(dir.c_str(), 0755) == -1) + throw SysError(format("changing permissions of directory '%s'") % dir); + if (chown(dir.c_str(), userId, -1) == -1) + throw SysError(format("changing owner of directory '%s'") % dir); +} + + } diff --git a/nix/libstore/local-store.hh b/nix/libstore/local-store.hh index 4113fafcb5d..2e48cf03e6d 100644 --- a/nix/libstore/local-store.hh +++ b/nix/libstore/local-store.hh @@ -180,6 +180,8 @@ public: void setSubstituterEnv(); + void createUser(const std::string & userName, uid_t userId); + private: Path schemaPath; diff --git a/nix/libstore/store-api.hh b/nix/libstore/store-api.hh index 2d9dcbd5739..7d2ad2270db 100644 --- a/nix/libstore/store-api.hh +++ b/nix/libstore/store-api.hh @@ -289,6 +289,10 @@ public: /* Check the integrity of the Nix store. Returns true if errors remain. */ virtual bool verifyStore(bool checkContents, bool repair) = 0; + + /* Create a profile for the given user. This is done by the daemon + because the 'profiles/per-user' directory is not writable by users. */ + virtual void createUser(const std::string & userName, uid_t userId) = 0; }; diff --git a/nix/nix-daemon/nix-daemon.cc b/nix/nix-daemon/nix-daemon.cc index 1163a249d18..3dd156ba77d 100644 --- a/nix/nix-daemon/nix-daemon.cc +++ b/nix/nix-daemon/nix-daemon.cc @@ -613,6 +613,17 @@ static void performOp(bool trusted, unsigned int clientVersion, || name == "build-repeat" || name == "multiplexed-build-output") settings.set(name, value); + else if (name == "user-name" + && settings.clientUid == (uid_t) -1) { + /* Create the user profile. This is necessary if + clientUid = -1, for instance because the client + connected over TCP. */ + struct passwd *pw = getpwnam(value.c_str()); + if (pw != NULL) + store->createUser(value, pw->pw_uid); + else + printMsg(lvlInfo, format("user name %1% not found") % value); + } else settings.set(trusted ? name : "untrusted-" + name, value); } @@ -731,7 +742,7 @@ static void performOp(bool trusted, unsigned int clientVersion, } -static void processConnection(bool trusted) +static void processConnection(bool trusted, uid_t userId) { canSendStderr = false; _writeToStderr = tunnelStderr; @@ -778,6 +789,15 @@ static void processConnection(bool trusted) /* Open the store. */ store = std::shared_ptr(new LocalStore(reserveSpace)); + if (userId != (uid_t) -1) { + /* Create the user profile. */ + struct passwd *pw = getpwuid(userId); + if (pw != NULL && pw->pw_name != NULL) + store->createUser(pw->pw_name, userId); + else + printMsg(lvlInfo, format("user with UID %1% not found") % userId); + } + stopWork(); to.flush(); @@ -963,7 +983,7 @@ static void acceptConnection(int fdSocket) /* Handle the connection. */ from.fd = remote; to.fd = remote; - processConnection(trusted); + processConnection(trusted, clientUid); exit(0); }, false, "unexpected build daemon error: ", true); diff --git a/tests/guix-daemon.sh b/tests/guix-daemon.sh index 758f18cc368..b58500966b3 100644 --- a/tests/guix-daemon.sh +++ b/tests/guix-daemon.sh @@ -94,6 +94,27 @@ done kill "$daemon_pid" +# Make sure 'profiles/per-user' is created when connecting over TCP. + +orig_GUIX_STATE_DIRECTORY="$GUIX_STATE_DIRECTORY" +GUIX_STATE_DIRECTORY="$GUIX_STATE_DIRECTORY-2" + +guix-daemon --disable-chroot --listen="localhost:9877" & +daemon_pid=$! + +GUIX_DAEMON_SOCKET="guix://localhost:9877" +export GUIX_DAEMON_SOCKET + +test ! -d "$GUIX_STATE_DIRECTORY/profiles/per-user" + +guix build guile-bootstrap -d + +test -d "$GUIX_STATE_DIRECTORY/profiles/per-user/$USER" + +kill "$daemon_pid" +unset GUIX_DAEMON_SOCKET +GUIX_STATE_DIRECTORY="$orig_GUIX_STATE_DIRECTORY" + # Check the failed build cache. guix-daemon --no-substitutes --listen="$socket" --disable-chroot \ diff --git a/tests/store.scm b/tests/store.scm index 518750d26a1..2b14a4af0a9 100644 --- a/tests/store.scm +++ b/tests/store.scm @@ -18,6 +18,7 @@ (define-module (test-store) #:use-module (guix tests) + #:use-module (guix config) #:use-module (guix store) #:use-module (guix utils) #:use-module (guix monads) @@ -102,7 +103,17 @@ "/283gqy39v3g9dxjy26rynl0zls82fmcg-guile-2.0.7/bin/guile"))) (not (direct-store-path? (%store-prefix))))) -(test-skip (if %store 0 13)) +(test-skip (if %store 0 15)) + +(test-equal "profiles/per-user exists and is not writable" + #o755 + (stat:perms (stat (string-append %state-directory "/profiles/per-user")))) + +(test-equal "profiles/per-user/$USER exists" + (list (getuid) #o755) + (let ((s (stat (string-append %state-directory "/profiles/per-user/" + (passwd:name (getpwuid (getuid))))))) + (list (stat:uid s) (stat:perms s)))) (test-equal "add-data-to-store" #vu8(1 2 3 4 5) From 5d800cb9310fa2ab7464a7ace5906570429713ea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 16 Oct 2019 12:16:20 +0200 Subject: [PATCH 0113/1112] news: Add entry for security issue with /var/guix/profiles/per-user. * etc/news.scm: Add entry for security issue in multi-user setups. --- etc/news.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/etc/news.scm b/etc/news.scm index e19dec38ddd..f165759aef5 100644 --- a/etc/news.scm +++ b/etc/news.scm @@ -9,6 +9,28 @@ (channel-news (version 0) + (entry (commit "81c580c8664bfeeb767e2c47ea343004e88223c7") + (title (en "Insecure @file{/var/guix/profiles/per-user} permissions")) + (body + (en "The default user profile, @file{~/.guix-profile}, points to +@file{/var/guix/profiles/per-user/$USER}. Until now, +@file{/var/guix/profiles/per-user} was world-writable, allowing the +@command{guix} command to create the @code{$USER} sub-directory. + +On a multi-user system, this allowed a malicious user to create and populate +that @code{$USER} sub-directory for another user that had not yet logged in. +Since @code{/var/@dots{}/$USER} is in @code{$PATH}, the target user could end +up running attacker-provided code. See +@uref{https://issues.guix.gnu.org/issue/37744} for more information. + +This is now fixed by letting @command{guix-daemon} create these directories on +behalf of users and removing the world-writable permissions on +@code{per-user}. On multi-user systems, we recommend updating the daemon now. +To do that, run @code{sudo guix pull} if you're on a foreign distro, or run +@code{guix pull && sudo guix system reconfigure @dots{}} on Guix System. In +both cases, make sure to restart the service afterwards, with @code{herd} or +@code{systemctl}."))) + (entry (commit "5f3f70391809f8791c55c05bd1646bc58508fa2c") (title (en "GNU C Library upgraded") (de "GNU-C-Bibliothek aktualisiert") From f0df84607b9140ef4efecf4a1b60050aff523bb6 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Wed, 16 Oct 2019 22:08:09 +0200 Subject: [PATCH 0114/1112] news: Add 'nl' translation. * etc/news.scm: Add 'nl' translation. --- etc/news.scm | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/etc/news.scm b/etc/news.scm index f165759aef5..3686b46b0a1 100644 --- a/etc/news.scm +++ b/etc/news.scm @@ -10,7 +10,8 @@ (version 0) (entry (commit "81c580c8664bfeeb767e2c47ea343004e88223c7") - (title (en "Insecure @file{/var/guix/profiles/per-user} permissions")) + (title (en "Insecure @file{/var/guix/profiles/per-user} permissions") + (nl "Onveilige @file{/var/guix/profiles/per-user}-rechten")) (body (en "The default user profile, @file{~/.guix-profile}, points to @file{/var/guix/profiles/per-user/$USER}. Until now, @@ -29,7 +30,25 @@ behalf of users and removing the world-writable permissions on To do that, run @code{sudo guix pull} if you're on a foreign distro, or run @code{guix pull && sudo guix system reconfigure @dots{}} on Guix System. In both cases, make sure to restart the service afterwards, with @code{herd} or -@code{systemctl}."))) +@code{systemctl}.") + (nl "Het standaard gebruikersprofiel, @file{~/.guix-profile}, verwijst +naar @file{/var/guix/profiles/per-user/$USER}. Tot op heden kon om het even wie +in @file{/var/guix/profiles/per-user} schrijven, wat het @command{guix}-commando +toestond de @code{$USER} submap aan te maken. + +Op systemen met meerdere gebuikers kon hierdoor een kwaadaardige gebruiker een +@code{$USER} submap met inhoud aanmaken voor een andere gebruiker die nog niet +was ingelogd. Omdat @code{/var/@dots{}/$USER} zich in @code{$PATH} bevindt, +kon het doelwit zo code uitvoeren die door de aanvaller zelf werd aangeleverd. +Zie @uref{https://issues.guix.gnu.org/issue/37744} voor meer informatie. + +Dit probleem is nu verholpen: schrijven door iedereen in @code{per-user} is niet +meer toegestaan en @command{guix-daemon} maakt zelf submappen aan namens de +gebruiker. Op systemen met meerdere gebruikers raden we aan om +@code{guix-daemon} nu bij te werken. Op Guix System kan dit met +@code{guix pull && sudo guix system reconfigure @dots{}}, op andere distributies +met @code{sudo guix pull}. Herstart vervolgens in beide gevallen +@code{guix-daemon} met @code{herd} of @code{systemctl}."))) (entry (commit "5f3f70391809f8791c55c05bd1646bc58508fa2c") (title (en "GNU C Library upgraded") From 64b151bee3910dc6173d00005bc4716b8ba47985 Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Wed, 16 Oct 2019 22:09:01 +0200 Subject: [PATCH 0115/1112] news: Add 'fr' translation. * etc/news.scm: Add 'fr' translation. --- etc/news.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/etc/news.scm b/etc/news.scm index 3686b46b0a1..69a126d4b4a 100644 --- a/etc/news.scm +++ b/etc/news.scm @@ -11,6 +11,7 @@ (entry (commit "81c580c8664bfeeb767e2c47ea343004e88223c7") (title (en "Insecure @file{/var/guix/profiles/per-user} permissions") + (fr "Permissions laxistes pour @file{/var/guix/profiles/per-user}") (nl "Onveilige @file{/var/guix/profiles/per-user}-rechten")) (body (en "The default user profile, @file{~/.guix-profile}, points to @@ -31,6 +32,27 @@ To do that, run @code{sudo guix pull} if you're on a foreign distro, or run @code{guix pull && sudo guix system reconfigure @dots{}} on Guix System. In both cases, make sure to restart the service afterwards, with @code{herd} or @code{systemctl}.") + (fr "Le profil utilisateur par défaut, @file{~/.guix-profile}, +pointe vers @file{/var/guix/profiles/per-user/$USER}. Jusqu'à +maintenant, @file{/var/guix/profiles/per-user} était disponible en +écriture pour tout le monde, ce qui permettait à la commande +@command{guix} de créér le sous-répertoire @code{$USER}. + +Sur un système multi-utilisateur, cela permet à un utilisateur +malveillant de créer et de remplir le sous-répertoire @code{USER} pour +n'importe quel utilisateur qui ne s'est jamais connecté. Comme +@code{/var/@dots{}/$USER} fait partie de @code{$PATH}, l'utilisateur +ciblé pouvait exécuter des programmes fournis par l'attaquant. Voir +@uref{https://issues.guix.gnu.org/issue/37744} pour plus de détails. + +Cela est maintenant corrigé en laissant à @command{guix-daemon} le soin +de créer ces répertoire pour le compte des utilisateurs et en +supprimant les permissions en écriture pour tout le monde sur +@code{per-user}. Nous te recommandons de mettre à jour le démon +immédiatement. Pour cela, lance @code{sudo guix pull} si tu es sur +une distro externe ou @code{guix pull && sudo guix system reconfigure +@dots{}} sur le système Guix. Dans tous les cas, assure-toi ensuite de +redémarrer le service avec @code{herd} ou @code{systemctl}.") (nl "Het standaard gebruikersprofiel, @file{~/.guix-profile}, verwijst naar @file{/var/guix/profiles/per-user/$USER}. Tot op heden kon om het even wie in @file{/var/guix/profiles/per-user} schrijven, wat het @command{guix}-commando From f63e49342bb8536d24b35ed57a2be978556f149e Mon Sep 17 00:00:00 2001 From: Florian Pelz Date: Wed, 16 Oct 2019 16:37:27 +0200 Subject: [PATCH 0116/1112] news: Add 'de' translation. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * etc/news.scm: Add new 'de' translation. Signed-off-by: Ludovic Courtès --- etc/news.scm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/etc/news.scm b/etc/news.scm index 69a126d4b4a..32b631608f4 100644 --- a/etc/news.scm +++ b/etc/news.scm @@ -11,6 +11,7 @@ (entry (commit "81c580c8664bfeeb767e2c47ea343004e88223c7") (title (en "Insecure @file{/var/guix/profiles/per-user} permissions") + (de "Sicherheitslücke bei Profilen in Mehrbenutzersystemen") (fr "Permissions laxistes pour @file{/var/guix/profiles/per-user}") (nl "Onveilige @file{/var/guix/profiles/per-user}-rechten")) (body @@ -32,6 +33,26 @@ To do that, run @code{sudo guix pull} if you're on a foreign distro, or run @code{guix pull && sudo guix system reconfigure @dots{}} on Guix System. In both cases, make sure to restart the service afterwards, with @code{herd} or @code{systemctl}.") + (de "Das voreingestellte Benutzerprofil, @file{~/.guix-profile}, +verweist auf @file{/var/guix/profiles/per-user/$USER}. Bisher hatte jeder +Benutzer Schreibzugriff auf @file{/var/guix/profiles/per-user}, wodurch der +@command{guix}-Befehl berechtigt war, das Unterverzeichnis @code{$USER} +anzulegen. + +Wenn mehrere Benutzer dasselbe System benutzen, kann ein böswilliger Benutzer +so das Unterverzeichnis @code{/var/@dots{}/$USER} und Dateien darin für einen anderen +Benutzer anlegen, wenn sich dieser noch nie angemeldet hat. Weil @code{$USER} +auch in @code{$PATH} aufgeführt ist, kann der betroffene Nutzer dazu gebracht +werden, vom Angreifer vorgegebenen Code auszuführen. Siehe +@uref{https://issues.guix.gnu.org/issue/37744} für weitere Informationen. + +Der Fehler wurde nun behoben, indem @command{guix-daemon} diese Verzeichnisse +jetzt selbst anlegt statt das dem jeweiligen Benutzerkonto zu überlassen. Der +Schreibzugriff auf @code{per-user} wird den Benutzern entzogen. Auf einem +System mit mehreren Benutzern empfehlen wir, den Daemon jetzt zu +aktualisieren. Auf einer Fremddistribution führen Sie dazu @code{sudo guix +pull} aus; auf einem Guix-System führen Sie @code{guix pull && sudo guix +system reconfigure …} aus.") (fr "Le profil utilisateur par défaut, @file{~/.guix-profile}, pointe vers @file{/var/guix/profiles/per-user/$USER}. Jusqu'à maintenant, @file{/var/guix/profiles/per-user} était disponible en From e63b31443b29b7793e73ab04798220edc6e564fc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 16 Oct 2019 23:37:00 +0200 Subject: [PATCH 0117/1112] gnu: guix: Update to f63e493. * gnu/packages/package-management.scm (guix): Update to f63e493. --- gnu/packages/package-management.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm index cd1548b42d4..202fb361744 100644 --- a/gnu/packages/package-management.scm +++ b/gnu/packages/package-management.scm @@ -110,8 +110,8 @@ ;; Note: the 'update-guix-package.scm' script expects this definition to ;; start precisely like this. (let ((version "1.0.1") - (commit "88da011592a679776088b64b8d11575563c3f867") - (revision 8)) + (commit "f63e49342bb8536d24b35ed57a2be978556f149e") + (revision 9)) (package (name "guix") @@ -127,7 +127,7 @@ (commit commit))) (sha256 (base32 - "1dg71acxgn2kj6kqr1hpp4v5vg7f9vl7v4d8w8ykxv84brpw4sc8")) + "18bxcbxcwxlgfgdapjyxg0d98c9g00ivjhhb2xyg42dbmbkh6nqy")) (file-name (string-append "guix-" version "-checkout")))) (build-system gnu-build-system) (arguments From 749e38d762364eeb121a74f5abf4893d0bcb670e Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Wed, 16 Oct 2019 21:14:31 +0200 Subject: [PATCH 0118/1112] gnu: python-pygithub: Update to 1.43.8. * gnu/packages/python-xyz.scm (python-pygithub): Update to 1.43.8. --- gnu/packages/python-xyz.scm | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 57d581990a3..6a78b9d8c92 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -2760,7 +2760,7 @@ to deprecate classes, functions or methods.") (define-public python-pygithub (package (name "python-pygithub") - (version "1.43.7") + (version "1.43.8") (source ;; We fetch from the Git repo because there are no tests in the PyPI ;; archive. @@ -2771,8 +2771,7 @@ to deprecate classes, functions or methods.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 - "0ww92zz0ja9w6rw83vphmn8rwmcn6abg16j4q7zxjc0rrg2cfj9i")))) + (base32 "1625v558xga5mwhl9jqmibywy5qafmg1vqrirqz6zfq1la1d22mw")))) (build-system python-build-system) (arguments `(#:phases (modify-phases %standard-phases From eb80a3008f19cfb1e1292f2484cd67afd6aa81bf Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Wed, 16 Oct 2019 21:41:31 +0200 Subject: [PATCH 0119/1112] gnu: python-unidecode: Update to 1.1.1. * gnu/packages/python-xyz.scm (python-unidecode): Update to 1.1.1. --- gnu/packages/python-xyz.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 6a78b9d8c92..f27fa4f871d 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -2195,13 +2195,13 @@ cutting and pasting that code over and over.") (define-public python-unidecode (package (name "python-unidecode") - (version "1.1.0") + (version "1.1.1") (source (origin (method url-fetch) (uri (pypi-uri "Unidecode" version)) (sha256 (base32 - "00pi0czzwvbf7djhkkjyvimj60wqdx0llbddzfnax650g9b8yscc")))) + "1s6cp2lv4m0f00hjckjz8p6m7d3n3v16jvg353llf5ia1iqsnsib")))) (build-system python-build-system) (home-page "https://pypi.python.org/pypi/Unidecode") (synopsis "ASCII transliterations of Unicode text") From 7ecdcf516e609275b453557b00b61fdf93b933de Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Wed, 16 Oct 2019 23:42:25 +0200 Subject: [PATCH 0120/1112] =?UTF-8?q?news:=20Fix=20=E2=80=98nl=E2=80=99=20?= =?UTF-8?q?translation=20typo.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * etc/news.scm: Fix typo. --- etc/news.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/etc/news.scm b/etc/news.scm index 32b631608f4..b57510c1b37 100644 --- a/etc/news.scm +++ b/etc/news.scm @@ -79,7 +79,7 @@ naar @file{/var/guix/profiles/per-user/$USER}. Tot op heden kon om het even wie in @file{/var/guix/profiles/per-user} schrijven, wat het @command{guix}-commando toestond de @code{$USER} submap aan te maken. -Op systemen met meerdere gebuikers kon hierdoor een kwaadaardige gebruiker een +Op systemen met meerdere gebruikers kon hierdoor een kwaadaardige gebruiker een @code{$USER} submap met inhoud aanmaken voor een andere gebruiker die nog niet was ingelogd. Omdat @code{/var/@dots{}/$USER} zich in @code{$PATH} bevindt, kon het doelwit zo code uitvoeren die door de aanvaller zelf werd aangeleverd. From 321ef7c5b302b67468e16cecc83bf7f336159aa8 Mon Sep 17 00:00:00 2001 From: Brian Leung Date: Thu, 17 Oct 2019 01:27:38 +0200 Subject: [PATCH 0121/1112] gnu: emacs-ivy: Update to 0.13.0. * gnu/packages/emacs-xyz.scm (emacs-ivy): Update to 0.13.0. --- gnu/packages/emacs-xyz.scm | 91 ++++++++++++++++++-------------------- 1 file changed, 43 insertions(+), 48 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index d9bceac4971..e2f2f3cf1f6 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -5311,59 +5311,54 @@ automatically.") (license license:gpl3+))) (define-public emacs-ivy - ;; The latest release version introduced a new feature, swiper-isearch, that - ;; generally works well but had some noticeable bugs; this later commit - ;; includes fixes for several of them. - (let ((commit "79333e9edfee38ec3b367c33711a68bdf7783259") - (revision "2")) - (package - (name "emacs-ivy") - (version (git-version "0.12.0" revision commit)) - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/abo-abo/swiper.git") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "0dyclc51sprhmr5fi4lylhwsrn8v1jgyblwk9ly60jj84lj6278z")))) - (build-system emacs-build-system) - (arguments - `(#:phases - (modify-phases %standard-phases - (add-after 'install 'install-doc - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (info (string-append out "/share/info"))) - (with-directory-excursion "doc" - (invoke "makeinfo" "ivy.texi") - (install-file "ivy.info" info) - #t)))) - (add-before 'check 'make-dummy-git-directory - (lambda _ - (mkdir-p ".git"))) - (add-after 'check 'delete-dummy-git-directory - (lambda _ - (delete-file-recursively ".git")))) - #:tests? #t - #:test-command '("make" "test"))) - (propagated-inputs - `(("emacs-hydra" ,emacs-hydra))) - (native-inputs - `(("texinfo" ,texinfo) - ("emacs-wgrep" ,emacs-wgrep))) - (home-page "http://oremacs.com/swiper/") - (synopsis "Incremental vertical completion for Emacs") - (description - "This package provides @code{ivy-read} as an alternative to + (package + (name "emacs-ivy") + (version "0.13.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/abo-abo/swiper.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0ghcwrg8a6r5q6fw2x8s08cwlmnz2d8qjhisnjwbnc2l4cgqpd9p")))) + (build-system emacs-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'install 'install-doc + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (info (string-append out "/share/info"))) + (with-directory-excursion "doc" + (invoke "makeinfo" "ivy.texi") + (install-file "ivy.info" info) + #t)))) + (add-before 'check 'make-dummy-git-directory + (lambda _ + (mkdir-p ".git"))) + (add-after 'check 'delete-dummy-git-directory + (lambda _ + (delete-file-recursively ".git")))) + #:tests? #t + #:test-command '("make" "test"))) + (propagated-inputs + `(("emacs-hydra" ,emacs-hydra))) + (native-inputs + `(("texinfo" ,texinfo) + ("emacs-wgrep" ,emacs-wgrep))) + (home-page "http://oremacs.com/swiper/") + (synopsis "Incremental vertical completion for Emacs") + (description + "This package provides @code{ivy-read} as an alternative to @code{completing-read} and similar functions. No attempt is made to determine the best candidate. Instead, the user can navigate candidates with @code{ivy-next-line} and @code{ivy-previous-line}. The matching is done by splitting the input text by spaces and re-building it into a regular expression.") - (license license:gpl3+)))) + (license license:gpl3+))) (define-public emacs-ivy-pass (let ((commit "5b523de1151f2109fdd6a8114d0af12eef83d3c5") From ce756b97ecc9298624c51adbaa8c86a9f6768663 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 17 Oct 2019 00:34:40 +0200 Subject: [PATCH 0122/1112] gnu: r-bayesm: Update to 3.1-4. * gnu/packages/cran.scm (r-bayesm): Update to 3.1-4. --- gnu/packages/cran.scm | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 3c97b083aec..e1a1394f52c 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -11629,14 +11629,13 @@ identifying outliers.") (define-public r-bayesm (package (name "r-bayesm") - (version "3.1-3") + (version "3.1-4") (source (origin (method url-fetch) (uri (cran-uri "bayesm" version)) (sha256 - (base32 - "041ach2f2vrqzd5kz17v7wmkjz6z8cjjihpk4qvczm4cr9z85r2i")))) + (base32 "154glks7rsjkza0sfi1kj7wj727py9sl1ba6sswflwmwc9n226q6")))) (build-system r-build-system) (propagated-inputs `(("r-rcpp" ,r-rcpp) From b66f2211b9356933332ac4c27837eed46b35990e Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 17 Oct 2019 02:20:11 +0200 Subject: [PATCH 0123/1112] gnu: tiled: Update to 1.2.5. * gnu/packages/game-development.scm (tiled): Update to 1.2.5. --- gnu/packages/game-development.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm index 7fc0122faab..eb92443e0d8 100644 --- a/gnu/packages/game-development.scm +++ b/gnu/packages/game-development.scm @@ -445,7 +445,7 @@ support.") (define-public tiled (package (name "tiled") - (version "1.2.4") + (version "1.2.5") (source (origin (method git-fetch) (uri (git-reference @@ -454,7 +454,7 @@ support.") (file-name (git-file-name name version)) (sha256 (base32 - "04v738h298pvcwb70mwd1r2yj7578f6gkfzs0165j9fqy7avwm18")))) + "14v2zfka2y3h0r0biw1rl59585lji5074x958s4xnb352jm5h9b9")))) (build-system gnu-build-system) (inputs `(("qtbase" ,qtbase) From c0fb663e19c0201cee8d47b3b831880e8f9066f8 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 17 Oct 2019 02:25:33 +0200 Subject: [PATCH 0124/1112] gnu: telegram-purple: Update to 1.4.2. * gnu/packages/messaging.scm (telegram-purple): Update to 1.4.2. --- gnu/packages/messaging.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm index 03cd529d8a0..741b3285e2c 100644 --- a/gnu/packages/messaging.scm +++ b/gnu/packages/messaging.scm @@ -1853,7 +1853,7 @@ messaging that aren’t available to clients that connect over XMPP.") (define-public telegram-purple (package (name "telegram-purple") - (version "1.4.1") + (version "1.4.2") (home-page "https://github.com/majn/telegram-purple") (source (origin (method git-fetch) @@ -1863,7 +1863,7 @@ messaging that aren’t available to clients that connect over XMPP.") (recursive? #t))) (sha256 (base32 - "0xlmqnlp2dqkgsq052d6dwgvqbwch2w0dnwpjslk5na4ih3lfr7k")) + "0imbzhhq9qbj6gvkckrnjhls2vvmmy8db7l6gsd7lng2pbfcn522")) (modules '((guix build utils))) (snippet '(begin From a75c97ac08672edd6d9de43382b6b372125c4bea Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 17 Oct 2019 02:27:15 +0200 Subject: [PATCH 0125/1112] gnu: kitty: Update to 0.14.6. * gnu/packages/terminals.scm (kitty): Update to 0.14.6. --- gnu/packages/terminals.scm | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/gnu/packages/terminals.scm b/gnu/packages/terminals.scm index 98e964fa44d..cd40ce3744a 100644 --- a/gnu/packages/terminals.scm +++ b/gnu/packages/terminals.scm @@ -956,7 +956,7 @@ tmux.") (define-public kitty (package (name "kitty") - (version "0.14.5") + (version "0.14.6") (home-page "https://sw.kovidgoyal.net/kitty/") (source (origin @@ -966,8 +966,7 @@ tmux.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 - "0qx3wj4n3zgjcpd1vjjwdlz8d1vp8bkxihsg2khlla1izandgxxa")) + (base32 "1rb5ys9xsdhd2qa3kz5gqzz111c6b14za98va6hlglk69wqlmb51")) (modules '((guix build utils))) (snippet '(begin From 837b3c5d69456ddff4fda4b781a0c3924a462b5c Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 17 Oct 2019 03:03:36 +0200 Subject: [PATCH 0126/1112] gnu: python-genshi: Update to 0.7.2. * gnu/packages/python-web.scm (python-genshi): Update to 0.7.2. --- gnu/packages/python-web.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm index 6e924dd7e46..5c9da7c89da 100644 --- a/gnu/packages/python-web.scm +++ b/gnu/packages/python-web.scm @@ -2613,7 +2613,7 @@ for Flask programs that are using @code{python-alembic}.") (define-public python-genshi (package (name "python-genshi") - (version "0.7.1") + (version "0.7.2") (source (origin (method git-fetch) @@ -2622,7 +2622,7 @@ for Flask programs that are using @code{python-alembic}.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "01fx8fnpay5w048ppyjivg2dgfpp5rybn07y3pfsgj2knram3nhl")))) + (base32 "06rch30x10l105k5b6rahd839lkhmgrzn6691wbci0cb2fzps32w")))) (build-system python-build-system) (home-page "https://genshi.edgewall.org/") (synopsis "Toolkit for generation of output for the web") From c3704ecaa537f96dfca2f820c3af5357a6208ce6 Mon Sep 17 00:00:00 2001 From: Vagrant Cascadian Date: Wed, 16 Oct 2019 18:18:00 -0700 Subject: [PATCH 0127/1112] gnu: diffoscope: Update to 126. * gnu/packages/diffoscope (diffoscope): Update to 126. [arguments]: Remove add-known-tools phase, merged upstream. --- gnu/packages/diffoscope.scm | 16 ++-------------- 1 file changed, 2 insertions(+), 14 deletions(-) diff --git a/gnu/packages/diffoscope.scm b/gnu/packages/diffoscope.scm index 15d5a5787e3..23acf0aeb83 100644 --- a/gnu/packages/diffoscope.scm +++ b/gnu/packages/diffoscope.scm @@ -67,7 +67,7 @@ #:use-module (ice-9 match)) (define-public diffoscope - (let ((version "125")) + (let ((version "126")) (package (name "diffoscope") (version version) @@ -79,7 +79,7 @@ (file-name (git-file-name name version)) (sha256 (base32 - "02kwisp9j63w27hhcwpdhg66dgxzz61q4fcyfz8z4hwlz6r0gyqy")))) + "0lmn2116g5l05nns8qd2kwsnnd144zrqhs53fsr88inzf0mkqwhj")))) (build-system python-build-system) (arguments `(#:phases (modify-phases %standard-phases @@ -90,18 +90,6 @@ (lambda _ (substitute* "setup.py" (("'python-magic',") "")))) - ;; Patch in support for known tools - (add-after 'unpack 'add-known-tools - (lambda _ - (substitute* "diffoscope/external_tools.py" - (("'arch': 'enjarify'},") - "'arch': 'enjarify', 'guix': 'enjarify'},")) - (substitute* "diffoscope/external_tools.py" - (("'arch': 'python-jsbeautifier'},") - "'arch': 'python-jsbeautifier', 'guix': 'python-jsbeautifier'},")) - (substitute* "diffoscope/external_tools.py" - (("'arch': 'wabt'},") - "'arch': 'wabt', 'guix': 'wabt'},")))) ;; This test is broken because our `file` package has a ;; bug in berkeley-db file type detection. (add-after 'unpack 'remove-berkeley-test From d0d900090fd742b469c4c757ba2e2b105f9638d2 Mon Sep 17 00:00:00 2001 From: Florian Pelz Date: Thu, 17 Oct 2019 03:21:28 +0000 Subject: [PATCH 0128/1112] news: Fix 'de' translation. * etc/news.scm: Add new 'de' translation. --- etc/news.scm | 28 +++++++++++++++------------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/etc/news.scm b/etc/news.scm index b57510c1b37..34916dc05b0 100644 --- a/etc/news.scm +++ b/etc/news.scm @@ -11,7 +11,7 @@ (entry (commit "81c580c8664bfeeb767e2c47ea343004e88223c7") (title (en "Insecure @file{/var/guix/profiles/per-user} permissions") - (de "Sicherheitslücke bei Profilen in Mehrbenutzersystemen") + (de "Sicherheitslücke in @file{/var/guix/profiles/per-user}-Berechtigungen") (fr "Permissions laxistes pour @file{/var/guix/profiles/per-user}") (nl "Onveilige @file{/var/guix/profiles/per-user}-rechten")) (body @@ -34,25 +34,27 @@ To do that, run @code{sudo guix pull} if you're on a foreign distro, or run both cases, make sure to restart the service afterwards, with @code{herd} or @code{systemctl}.") (de "Das voreingestellte Benutzerprofil, @file{~/.guix-profile}, -verweist auf @file{/var/guix/profiles/per-user/$USER}. Bisher hatte jeder +verweist auf @file{/var/guix/profiles/per-user/$USER}. Bisher hatte jeder Benutzer Schreibzugriff auf @file{/var/guix/profiles/per-user}, wodurch der @command{guix}-Befehl berechtigt war, das Unterverzeichnis @code{$USER} anzulegen. Wenn mehrere Benutzer dasselbe System benutzen, kann ein böswilliger Benutzer -so das Unterverzeichnis @code{/var/@dots{}/$USER} und Dateien darin für einen anderen -Benutzer anlegen, wenn sich dieser noch nie angemeldet hat. Weil @code{$USER} -auch in @code{$PATH} aufgeführt ist, kann der betroffene Nutzer dazu gebracht -werden, vom Angreifer vorgegebenen Code auszuführen. Siehe -@uref{https://issues.guix.gnu.org/issue/37744} für weitere Informationen. +so das Unterverzeichnis @code{$USER} und Dateien darin für einen anderen +Benutzer anlegen, wenn sich dieser noch nie angemeldet hat. Weil +@code{/var/…/$USER} auch in @code{$PATH} aufgeführt ist, kann der betroffene +Nutzer dazu gebracht werden, vom Angreifer vorgegebenen Code auszuführen. +Siehe @uref{https://issues.guix.gnu.org/issue/37744} für weitere +Informationen. Der Fehler wurde nun behoben, indem @command{guix-daemon} diese Verzeichnisse -jetzt selbst anlegt statt das dem jeweiligen Benutzerkonto zu überlassen. Der -Schreibzugriff auf @code{per-user} wird den Benutzern entzogen. Auf einem -System mit mehreren Benutzern empfehlen wir, den Daemon jetzt zu -aktualisieren. Auf einer Fremddistribution führen Sie dazu @code{sudo guix -pull} aus; auf einem Guix-System führen Sie @code{guix pull && sudo guix -system reconfigure …} aus.") +jetzt selbst anlegt statt das dem jeweiligen Benutzerkonto zu überlassen. Der +Schreibzugriff auf @code{per-user} wird den Benutzern entzogen. Für Systeme +mit mehreren Benutzern empfehlen wir, den Daemon jetzt zu aktualisieren. Auf +einer Fremddistribution führen Sie dazu @code{sudo guix pull} aus; auf einem +Guix-System führen Sie @code{guix pull && sudo guix system reconfigure …} +aus. Achten Sie in beiden Fällen darauf, den Dienst mit @code{herd} oder +@code{systemctl} neuzustarten.") (fr "Le profil utilisateur par défaut, @file{~/.guix-profile}, pointe vers @file{/var/guix/profiles/per-user/$USER}. Jusqu'à maintenant, @file{/var/guix/profiles/per-user} était disponible en From 19f219fef1b6389757e112ba7a618de262972530 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 17 Oct 2019 05:43:06 +0200 Subject: [PATCH 0129/1112] gnu: linux-libre@4.4: Update to 4.4.196. * gnu/packages/linux.scm (deblob-scripts-4.4) (linux-libre-4.4-version, linux-libre-4.4-pristine-sources): Update to 4.4.196. --- gnu/packages/linux.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 989d55f8aab..bb5caa62beb 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -213,7 +213,7 @@ defconfig. Return the appropriate make target if applicable, otherwise return (define deblob-scripts-4.4 (linux-libre-deblob-scripts - "4.4.194" + "4.4.196" (base32 "0x2j1i88am54ih2mk7gyl79g25l9zz4r08xhl482l3fvjj2irwbw") (base32 "12ac4g3ky8yma8sylmxvvysqvd4hnaqjiwmxrxb6wlxggfd7zkbx"))) @@ -397,10 +397,10 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (%upstream-linux-source version hash) deblob-scripts-4.9))) -(define-public linux-libre-4.4-version "4.4.194") +(define-public linux-libre-4.4-version "4.4.196") (define-public linux-libre-4.4-pristine-source (let ((version linux-libre-4.4-version) - (hash (base32 "0kvlp2v4nvkilaanhpgwf8dkyfj24msaw0m38rbc4y51y69yhqvz"))) + (hash (base32 "0vd7fra22ky4sqp6vamracp5xd4900md5vdx0n4i6dhkf03kz7hn"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-4.4))) From c21d5141c28f4ea8a7179445da2eddfccae0c432 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 17 Oct 2019 06:02:22 +0200 Subject: [PATCH 0130/1112] gnu: linux-libre@4.9: Update to 4.9.196. * gnu/packages/linux.scm (deblob-scripts-4.9) (linux-libre-4.9-version, linux-libre-4.9-pristine-sources): Update to 4.9.196. --- gnu/packages/linux.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index bb5caa62beb..1346bd3cb97 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -207,7 +207,7 @@ defconfig. Return the appropriate make target if applicable, otherwise return (define deblob-scripts-4.9 (linux-libre-deblob-scripts - "4.9.195" + "4.9.196" (base32 "1wvldzlv7q2xdbadas87dh593nxr4a8p5n0f8zpm72lja6w18hmg") (base32 "0is8gn4qdd7h5l6lacvhqdch26lmrbgxfm8ab7fx8n85ha7y358w"))) @@ -389,10 +389,10 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (%upstream-linux-source version hash) deblob-scripts-4.14))) -(define-public linux-libre-4.9-version "4.9.195") +(define-public linux-libre-4.9-version "4.9.196") (define-public linux-libre-4.9-pristine-source (let ((version linux-libre-4.9-version) - (hash (base32 "0s4xj8f1dpnz3fbrqmgwq02smhcrq1ni8hgn2bbfqvm15lm5dgjl"))) + (hash (base32 "1vy6j9ycl5aw0dmj4n9kih5i8igybk0ilahlwbn30mlp9aq15az0"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-4.9))) From 4f7dd07e5816bca47b54eeda82bafe499311b552 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 17 Oct 2019 06:02:51 +0200 Subject: [PATCH 0131/1112] gnu: linux-libre@4.14: Update to 4.14.149. * gnu/packages/linux.scm (deblob-scripts-4.14) (linux-libre-4.14-version, linux-libre-4.14-pristine-sources): Update to 4.14.149. --- gnu/packages/linux.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 1346bd3cb97..3d0c79132d7 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -201,7 +201,7 @@ defconfig. Return the appropriate make target if applicable, otherwise return (define deblob-scripts-4.14 (linux-libre-deblob-scripts - "4.14.147" + "4.14.149" (base32 "091jk9jkn9jf39bxpc7395bhcb7p96nkg3a8047380ki06lnfxh6") (base32 "0x9nd3hnyrm753cbgdqmy92mbnyw86w64g4hvyibnkpq5n7s3z9n"))) @@ -381,10 +381,10 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (%upstream-linux-source version hash) deblob-scripts-4.19))) -(define-public linux-libre-4.14-version "4.14.147") +(define-public linux-libre-4.14-version "4.14.149") (define-public linux-libre-4.14-pristine-source (let ((version linux-libre-4.14-version) - (hash (base32 "04jvp05spszcxmkdsl21dylbcf76ns9bwxf1zlk4x7cxiil97mwg"))) + (hash (base32 "15pjngy3j5vnisv462ll7wsg78qv7q2cz86da0bcwh446v9ap7g6"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-4.14))) From e4d8d19470c231a0d070a4561786ce7d93e3178e Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 17 Oct 2019 06:03:09 +0200 Subject: [PATCH 0132/1112] gnu: linux-libre@4.19: Update to 4.19.79. * gnu/packages/linux.scm (deblob-scripts-4.19) (linux-libre-4.19-version, linux-libre-4.19-pristine-sources): Update to 4.19.79. --- gnu/packages/linux.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 3d0c79132d7..8a03da9ba85 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -195,7 +195,7 @@ defconfig. Return the appropriate make target if applicable, otherwise return (define deblob-scripts-4.19 (linux-libre-deblob-scripts - "4.19.77" + "4.19.79" (base32 "02zs405awaxydbapka4nz8h6lmnc0dahgczqsrs5s2bmzjyyqkcy") (base32 "1fyacg28aym6virxyn7wk99qil2fjbks3iwm7p3hxy51pccn34za"))) @@ -373,10 +373,10 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (%upstream-linux-source version hash) deblob-scripts-5.2))) -(define-public linux-libre-4.19-version "4.19.77") +(define-public linux-libre-4.19-version "4.19.79") (define-public linux-libre-4.19-pristine-source (let ((version linux-libre-4.19-version) - (hash (base32 "1agksl35amjzc6g6d9zjwz6p5qir2cligb5c1d9s2bag9766jav1"))) + (hash (base32 "0d2bcg0krahia2ylgqaxdppyr9idq2pi6y1si6h8n9sg6rj3a57i"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-4.19))) From c478870b7f097f2dc750aeb0ea62e0e6e9a03cf1 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 17 Oct 2019 06:12:26 +0200 Subject: [PATCH 0133/1112] gnu: linux-libre@5.2: Update to 5.2.21. * gnu/packages/linux.scm (deblob-scripts-5.2) (linux-libre-5.2-version, linux-libre-5.2-pristine-sources): Update to 5.2.21. --- gnu/packages/linux.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 8a03da9ba85..ac9df8e9388 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -189,7 +189,7 @@ defconfig. Return the appropriate make target if applicable, otherwise return (define deblob-scripts-5.2 (linux-libre-deblob-scripts - "5.2.19" + "5.2.21" (base32 "076fwxlm6jq6z4vg1xq3kr474zz7qk71r90sf9dnfia3rw2pb4fa") (base32 "1vghzpvlsvz5q8baxjza8jdryjmcx61g2pmnm6dd1k7glr6jy1a9"))) @@ -365,10 +365,10 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (%upstream-linux-source version hash) deblob-scripts-5.3))) -(define-public linux-libre-5.2-version "5.2.19") +(define-public linux-libre-5.2-version "5.2.21") (define-public linux-libre-5.2-pristine-source (let ((version linux-libre-5.2-version) - (hash (base32 "12mi857lyd5vj8qhj2f505hqnwzsnd829hxd78n9kk88iv1f966y"))) + (hash (base32 "0f1mick15d0m7yhhhdwai03wmczvkm9cg38w2ivgmgysfpzy73ls"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-5.2))) From 2c19c5d86e7728f6e8b6e52c4116b73ad6ab171b Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 17 Oct 2019 06:12:37 +0200 Subject: [PATCH 0134/1112] gnu: linux-libre@5.3: Update to 5.3.6. * gnu/packages/linux.scm (deblob-scripts-5.3) (linux-libre-5.3-version, linux-libre-5.3-pristine-sources): Update to 5.3.6. --- gnu/packages/linux.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index ac9df8e9388..ad3c5972a80 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -183,7 +183,7 @@ defconfig. Return the appropriate make target if applicable, otherwise return (define deblob-scripts-5.3 (linux-libre-deblob-scripts - "5.3.4" + "5.3.6" (base32 "15n09zq38d69y1wl28s3nasf3377qp2yil5b887zpqrm00dif7i4") (base32 "0nrimraf46nf6y1hwkg29fyl0a83wnj0mwq54ggxvffn9gk5h9pa"))) @@ -357,10 +357,10 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." "linux-" version ".tar.xz")) (sha256 hash))) -(define-public linux-libre-5.3-version "5.3.4") +(define-public linux-libre-5.3-version "5.3.6") (define-public linux-libre-5.3-pristine-source (let ((version linux-libre-5.3-version) - (hash (base32 "0vi4bgcr921z5l6fbcrcgmhaji5gl2avpmp7njna6v0f7sxism0r"))) + (hash (base32 "07zcfpj6ras7mmazny5xjwf8v6l5hwdgnla21sqpppl48ylj2h78"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-5.3))) From 99791c53cb41661a366ded3355261b6196bbb28a Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 17 Oct 2019 06:22:36 +0200 Subject: [PATCH 0135/1112] gnu: r-covr: Update to 3.3.2. * gnu/packages/cran.scm (r-covr): Update to 3.3.2. --- gnu/packages/cran.scm | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index e1a1394f52c..77dd93aba9a 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -15297,14 +15297,13 @@ function and interfaces to external frameworks.") (define-public r-covr (package (name "r-covr") - (version "3.3.1") + (version "3.3.2") (source (origin (method url-fetch) (uri (cran-uri "covr" version)) (sha256 - (base32 - "0fvd7v53w11x6kaw61hbml8n1j2ck9l2fv2wvqdsg689xic9rqcs")))) + (base32 "160w0m2d06kdd8dar57lpph39rxx55xwncbpl3b21l7j9drh1s5f")))) (properties `((upstream-name . "covr"))) (build-system r-build-system) (propagated-inputs From 0230b92fde80b2288028582434034ad0827a61b1 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 17 Oct 2019 06:35:15 +0200 Subject: [PATCH 0136/1112] gnu: emacs-nhexl-mode: Update to 1.4. * gnu/packages/emacs-xyz.scm (emacs-nhexl-mode): Update to 1.4. --- gnu/packages/emacs-xyz.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index e2f2f3cf1f6..82787bcb0ff 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -18542,7 +18542,7 @@ as: (define-public emacs-nhexl-mode (package (name "emacs-nhexl-mode") - (version "1.3") + (version "1.4") (source (origin (method url-fetch) @@ -18550,7 +18550,7 @@ as: "https://elpa.gnu.org/packages/nhexl-mode-" version ".el")) (sha256 - (base32 "1fcy4ybr12dvswmzaqkv4798snb1x1y7ldxwrsgjv5sx7bb5j60z")))) + (base32 "1c2q4w6hkvc7z4026hiqdcsm2scd6q35x7b0dk80h8qicsbi14c8")))) (build-system emacs-build-system) (home-page "https://elpa.gnu.org/packages/nhexl-mode.html") (synopsis "Minor mode to edit files via hex-dump format") From 1635670c501f52263fd6e1d537ed18fa61085177 Mon Sep 17 00:00:00 2001 From: Pierre Neidhardt Date: Thu, 17 Oct 2019 11:52:04 +0200 Subject: [PATCH 0137/1112] gnu: emacs-sly: Update to 20191016. * gnu/packages/emacs-xyz.scm (emacs-sly): Update to 20191016. --- gnu/packages/emacs-xyz.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 82787bcb0ff..be3c55689b3 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -7048,8 +7048,8 @@ CIDER).") ;; There hasn't been a tag or release since 2016, so we take the latest ;; commit. (define-public emacs-sly - (let ((commit "29dccc0735283897a6dbd97e0b6828a45c2985e2") - (revision "2")) + (let ((commit "0a3b81770e46b93b9ffd8b9ac5254e0b88d1b13d") + (revision "3")) (package (name "emacs-sly") (version (git-version "1.0.0" revision commit)) @@ -7062,7 +7062,7 @@ CIDER).") (file-name (git-file-name name version)) (sha256 (base32 - "0d0skgyqn422130xn8lrdp04m5cjk3sl18w6lf2wrmrndc1crqxk")))) + "1q5ga4mxa0ffa4zb2y0zfwmgzjggx4fn1y4bl2x7ac6ynvb32zkj")))) (build-system emacs-build-system) (native-inputs `(("texinfo" ,texinfo))) From 7d66e87a5d297f24ebb3883a4f5bbea46fdfcdac Mon Sep 17 00:00:00 2001 From: Pierre Neidhardt Date: Thu, 17 Oct 2019 11:53:43 +0200 Subject: [PATCH 0138/1112] gnu: emacs-evil-collection: Update to 20191017. * gnu/packages/emacs-xyz.scm (emacs-evil-collection): Update to 20191017. --- gnu/packages/emacs-xyz.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index be3c55689b3..97fd4f91f91 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -7349,8 +7349,8 @@ extensions.") (license license:gpl3+))) (define-public emacs-evil-collection - (let ((commit "bf4200a57c81c2302a3bf5b2058d74c6f90a3e6c") - (revision "11")) + (let ((commit "38e916d5d56b391f1ad4c72ad3909491e86cda3c") + (revision "12")) (package (name "emacs-evil-collection") (version (git-version "0.0.3" revision commit)) @@ -7362,7 +7362,7 @@ extensions.") (file-name (git-file-name name version)) (sha256 (base32 - "01xw0m5gj14ly42y8ikvldpab5my28sylf6l9gvwd5cf909bd445")))) + "00a1ya3c92ymhfj4ai1ygljnxa147d4cgi6jmvccngicphn99782")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-evil" ,emacs-evil) From 0cfdc7506be2d879d2b76050a4f4188422682831 Mon Sep 17 00:00:00 2001 From: Pierre Neidhardt Date: Thu, 17 Oct 2019 12:02:44 +0200 Subject: [PATCH 0139/1112] gnu: Add emacs-helm-sly. * gnu/packages/emacs-xyz.scm (emacs-helm-sly): New variable. --- gnu/packages/emacs-xyz.scm | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 97fd4f91f91..4ced731edff 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -16346,6 +16346,36 @@ correctly.") @end itemize\n") (license license:gpl3+))) +(define-public emacs-helm-sly + (package + (name "emacs-helm-sly") + (version "0.4.1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/emacs-helm/helm-sly") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0agsigwnxm1czi7pzcfbjaks8kg63xskqqavvfqjwzj9xakh5id2")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-helm" ,emacs-helm) + ("emacs-sly" ,emacs-sly))) + (home-page "https://github.com/emacs-helm/helm-sly") + (synopsis "Helm for SLY, a Common Lisp interaction mode for Emacs") + (description "Helm-SLY defines a few new commands: + +@itemize +@item helm-sly-list-connections: Yet another Lisp connection list with Helm. +@item: helm-sly-apropos: Yet another @command{apropos} with Helm. +@item helm-sly-mini: Like @command{helm-sly-list-connections}, but include an +extra source of Lisp-related buffers, like the events buffer or the scratch +buffer. +@end itemize\n") + (license license:gpl3+))) + (define-public emacs-gtk-look (package (name "emacs-gtk-look") From ba95233f84189ec0a51cde6aedd704a8f058d3e2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Thu, 17 Oct 2019 11:28:13 +0200 Subject: [PATCH 0140/1112] gnu: ucx: Disable optimizations specific to the build machine. * gnu/packages/fabric-management.scm (ucx)[arguments]: Replace "--enable-optimizations" with "--disable-optimizations". --- gnu/packages/fabric-management.scm | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/gnu/packages/fabric-management.scm b/gnu/packages/fabric-management.scm index 9b30b09df59..e822a3fb20a 100644 --- a/gnu/packages/fabric-management.scm +++ b/gnu/packages/fabric-management.scm @@ -193,16 +193,21 @@ testing InfiniBand networks.") "0x3clvy716i7va4m4adgx6ihjsfnzrkdizhxz5v52944dkglpc8n")))) (build-system gnu-build-system) (arguments - '( ;; These are the flags found in 'contrib/configure-release'. - #:configure-flags (list "--enable-optimizations" - "--disable-logging" - "--disable-debug" - "--disable-assertions" - "--disable-params-check" + '( ;; These are some of the flags found in 'contrib/configure-release'. + #:configure-flags (list + ;; XXX: Disable optimizations specific to the build + ;; machine (AVX, etc.) There's apparently no way to + ;; have them picked up at load time. + "--disable-optimizations" - (string-append "--with-rdmacm=" - (assoc-ref %build-inputs - "rdma-core"))))) + "--disable-logging" + "--disable-debug" + "--disable-assertions" + "--disable-params-check" + + (string-append "--with-rdmacm=" + (assoc-ref %build-inputs + "rdma-core"))))) (native-inputs `(("autoconf" ,autoconf) ("automake" ,automake) From 5fdf3737019bd07a1f12b4c4c524d410425e5b0c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Thu, 17 Oct 2019 11:31:38 +0200 Subject: [PATCH 0141/1112] gnu: ucx: Build verbosely. * gnu/packages/fabric-management.scm (ucx)[arguments]: Add #:make-flags. --- gnu/packages/fabric-management.scm | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/gnu/packages/fabric-management.scm b/gnu/packages/fabric-management.scm index e822a3fb20a..56ff18f4c58 100644 --- a/gnu/packages/fabric-management.scm +++ b/gnu/packages/fabric-management.scm @@ -207,7 +207,10 @@ testing InfiniBand networks.") (string-append "--with-rdmacm=" (assoc-ref %build-inputs - "rdma-core"))))) + "rdma-core"))) + + ;; Be verbose so that compiler flags are displayed. + #:make-flags '("V=1"))) (native-inputs `(("autoconf" ,autoconf) ("automake" ,automake) From bfaa06171842225c8bf4c839e35ac36a0b2c2d59 Mon Sep 17 00:00:00 2001 From: Tanguy Le Carrour Date: Thu, 17 Oct 2019 10:09:54 +0200 Subject: [PATCH 0142/1112] gnu: Add minisign. * gnu/packages/crypto.scm (minisign): New public variable. Signed-off-by: Mathieu Othacehe --- gnu/packages/crypto.scm | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/gnu/packages/crypto.scm b/gnu/packages/crypto.scm index 9592d180112..e8cf8157d51 100644 --- a/gnu/packages/crypto.scm +++ b/gnu/packages/crypto.scm @@ -13,6 +13,7 @@ ;;; Copyright © 2018 Nicolò Balzarotti ;;; Copyright © 2018 Tim Gesthuizen ;;; Copyright © 2019 Pierre Neidhardt +;;; Copyright © 2019 Tanguy Le Carrour ;;; ;;; This file is part of GNU Guix. ;;; @@ -974,3 +975,36 @@ pre-shared keys out of band. It is designed to handle large amounts of data quickly by using all your CPU cores and hardware acceleration.") (home-page "https://github.com/vstakhov/hpenc") (license license:bsd-3))) + +(define-public minisign + (package + (name "minisign") + (version "0.8") + (source + (origin + (method url-fetch) + (uri + (string-append "https://github.com/jedisct1/minisign/releases/download/" + version "/minisign-" version ".tar.gz")) + (sha256 + (base32 + "10hhgwxf9rcdlr00shrkcyxndrc22dh5lj8k5z27xg3nc0jba3hk")))) + (build-system cmake-build-system) + (arguments + ; No test suite + `(#:tests? #f)) + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs + `(("libsodium" ,libsodium))) + (home-page "https://jedisct1.github.io/minisign") + (synopsis "Tool to sign files and verify signatures") + (description + "Minisign is a dead simple tool to sign files and verify signatures. It is +portable, lightweight, and uses the highly secure Ed25519 public-key signature +system. Signature written by minisign can be verified using OpenBSD's +signify tool: public key files and signature files are compatible. However, +minisign uses a slightly different format to store secret keys. Minisign +signatures include trusted comments in addition to untrusted comments. +Trusted comments are signed, thus verified, before being displayed.") + (license license:isc))) From 92807b6f57256ac47abd78cd08eabe224ffe144a Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Thu, 17 Oct 2019 19:14:03 +0100 Subject: [PATCH 0143/1112] doc: Remove 'maintainers' field from package documentation. The field itself was removed in 154f1f0937754fafac0c6288dd458b66b332e6bb. * doc/guix.texi (package Reference): Remove 'maintainers' field. --- doc/guix.texi | 3 --- 1 file changed, 3 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index 6703c2756c1..e99ca3f563a 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -5662,9 +5662,6 @@ The URL to the home-page of the package, as a string. The list of systems supported by the package, as strings of the form @code{architecture-kernel}, for example @code{"x86_64-linux"}. -@item @code{maintainers} (default: @code{'()}) -The list of maintainers of the package, as @code{maintainer} objects. - @item @code{location} (default: source location of the @code{package} form) The source location of the package. It is useful to override this when inheriting from another package, in which case this field is not From bf67988070f61b048cad15f6eb53791e048a1372 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Thu, 17 Oct 2019 15:02:52 -0400 Subject: [PATCH 0144/1112] gnu: Exim: Update to 4.92.3 [fixes CVE-2019-16928]. * gnu/packages/mail.scm (exim): Update to 4.92.3. --- gnu/packages/mail.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index a994e4d344f..64e8b771fcb 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -1197,7 +1197,7 @@ delivery.") (define-public exim (package (name "exim") - (version "4.92.2") + (version "4.92.3") (source (origin (method url-fetch) @@ -1206,7 +1206,8 @@ delivery.") (string-append "https://ftp.exim.org/pub/exim/exim4/old/exim-" version ".tar.bz2"))) (sha256 - (base32 "1xnc5rdcg5mcrvjqp506a9frmcr89jwsh4c5vbks46awyz1rfzsm")))) + (base32 + "0d0h0j9pl3yf089sc59ia60m3dqnkb3qh1qaz6vxfg2ja2mnm5i9")))) (build-system gnu-build-system) (inputs `(("bdb" ,bdb-5.3) ; ‘#error Version 6 and later BDB API is not supported’ From 9fbd0b17691dbe5f9ef76c5def4c1588bccd4a53 Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Thu, 17 Oct 2019 20:17:12 +0200 Subject: [PATCH 0145/1112] gnu: neovim: Remove unneeded reference. gnu/packages/vim.scm (neovim)[arguments]: Add a phase to remove a reference to the compiler. --- gnu/packages/vim.scm | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/gnu/packages/vim.scm b/gnu/packages/vim.scm index 9515b1765bf..63bd50390c9 100644 --- a/gnu/packages/vim.scm +++ b/gnu/packages/vim.scm @@ -775,7 +775,15 @@ are detected, the user is notified."))) (string-join (map lua-path-spec lua-inputs) ";")) (setenv "LUA_CPATH" (string-join (map lua-cpath-spec lua-inputs) ";")) - #t)))))) + #t))) + (add-after 'unpack 'prevent-embedding-gcc-store-path + (lambda _ + ;; nvim remembers its build options, including the compiler with + ;; its complete path. This adds gcc to the closure of nvim, which + ;; doubles its size. We remove the refirence here. + (substitute* "cmake/GetCompileFlags.cmake" + (("\\$\\{CMAKE_C_COMPILER\\}") "/gnu/store/.../bin/gcc")) + #t))))) (inputs `(("libuv" ,libuv) ("msgpack" ,msgpack) From 919c5e1b43ca440fa0128f21f7d75780b6c238a4 Mon Sep 17 00:00:00 2001 From: Danny Milosavljevic Date: Fri, 18 Oct 2019 01:49:58 +0200 Subject: [PATCH 0146/1112] gnu: sunxi-tools: Adapt to cross-compiler toolchain changes. * gnu/packages/admin.scm (sunxi-tools)[arguments]<#:phases>[set-environment-up]: Adapt to cross-compiler toolchain changes. --- gnu/packages/admin.scm | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index 21d105bfe5f..82f1bb4eb82 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -2606,22 +2606,24 @@ Kerberos and Heimdal and FAST is supported with recent MIT Kerberos.") environment-variable-names) (for-each (lambda (env-name) - (let* ((env-value (getenv env-name)) - (search-path (search-path-as-string->list env-value)) - (new-search-path (filter filter-predicate - search-path)) - (new-env-value (list->search-path-as-string - new-search-path ":"))) - (setenv env-name new-env-value))) + (when (getenv env-name) + (let* ((env-value (getenv env-name)) + (search-path (search-path-as-string->list env-value)) + (new-search-path (filter filter-predicate + search-path)) + (new-env-value (list->search-path-as-string + new-search-path ":"))) + (setenv env-name new-env-value)))) environment-variable-names)) + (setenv "CROSS_CPATH" (getenv "CPATH")) (setenv "CROSS_C_INCLUDE_PATH" (getenv "C_INCLUDE_PATH")) (setenv "CROSS_CPLUS_INCLUDE_PATH" (getenv "CPLUS_INCLUDE_PATH")) (setenv "CROSS_LIBRARY_PATH" (getenv "LIBRARY_PATH")) (filter-environment! cross? - '("CROSS_C_INCLUDE_PATH" "CROSS_CPLUS_INCLUDE_PATH" + '("CROSS_CPATH" "CROSS_C_INCLUDE_PATH" "CROSS_CPLUS_INCLUDE_PATH" "CROSS_LIBRARY_PATH")) (filter-environment! (lambda (e) (not (cross? e))) - '("C_INCLUDE_PATH" "CPLUS_INCLUDE_PATH" + '("CPATH" "C_INCLUDE_PATH" "CPLUS_INCLUDE_PATH" "LIBRARY_PATH")) #t)) (replace 'build From fec41bceb8d98f74baa2392d45bb46102bad5ddf Mon Sep 17 00:00:00 2001 From: Joseph LaFreniere Date: Tue, 15 Oct 2019 22:12:32 -0500 Subject: [PATCH 0147/1112] gnu: Add emacs-minibuffer-line. * gnu/packages/emacs-xyz.scm (emacs-minibuffer-line): New variable. --- gnu/packages/emacs-xyz.scm | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 4ced731edff..31899c1f868 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -19430,3 +19430,29 @@ nondestructively, and computes the dimmed faces dynamically such that your overall color scheme is shown in a muted form without requiring you to define what is a \"dim\" version of every face.") (license license:gpl3+))) + +(define-public emacs-minibuffer-line + (package + (name "emacs-minibuffer-line") + (version "0.1") + (source + (origin + (method url-fetch) + (uri (string-append + "https://elpa.gnu.org/packages/minibuffer-line-" + version + ".el")) + (sha256 + (base32 "1ny4iirp26na5118wfgxlv6fxlrdclzdbd9m0lkrv51w0qw7spil")))) + (build-system emacs-build-system) + (home-page "https://elpa.gnu.org/packages/minibuffer-line.html") + (synopsis "Display status info in the minibuffer window") + (description + "This package lets you display various status information in the +minibuffer window instead of the mode-line. Of course, this is only displayed +when the minibuffer window is not already used for other things (e.g. a +minibuffer or an each area message). + +The contents and aspect is controlled by the @code{minibuffer-line-format} +variable and the @code{minibuffer-line} face.") + (license license:gpl3+))) From d133bdbcaf6f40423a60ef475265b3accf7516f6 Mon Sep 17 00:00:00 2001 From: Brian Leung Date: Fri, 18 Oct 2019 00:26:21 -0700 Subject: [PATCH 0148/1112] gnu: emacs-helm-sly: Fix hash. * gnu/packages/emacs-xyz.scm (emacs-helm-sly): Fix hash. --- gnu/packages/emacs-xyz.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 31899c1f868..729e2c7a331 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -16358,7 +16358,7 @@ correctly.") (file-name (git-file-name name version)) (sha256 (base32 - "0agsigwnxm1czi7pzcfbjaks8kg63xskqqavvfqjwzj9xakh5id2")))) + "0b2dx9nzh5233lkix3lz81c9cv626lk2hjpcjiikwvyp6y0q92ys")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-helm" ,emacs-helm) From 99190575a0a37115a11e561ae8a9bbdb5398dfd8 Mon Sep 17 00:00:00 2001 From: Florian Pelz Date: Fri, 18 Oct 2019 08:52:12 +0200 Subject: [PATCH 0149/1112] Fix documentation of delete_after in the getmail service. * doc/guix.texi (Getmail service): Remove the word `not'. * gnu/services/getmail.scm (getmail-options-configuration): Ditto. --- doc/guix.texi | 2 +- gnu/services/getmail.scm | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index e99ca3f563a..6eccbb971ff 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -17414,7 +17414,7 @@ Defaults to @samp{#f}. @deftypevr {@code{getmail-options-configuration} parameter} non-negative-integer delete-after Getmail will delete messages this number of days after seeing them, if -they have not been delivered. This means messages will be left on the +they have been delivered. This means messages will be left on the server this number of days after delivering them. A value of @samp{0} disabled this feature. diff --git a/gnu/services/getmail.scm b/gnu/services/getmail.scm index b807bb3a5dc..b3d86cb65c3 100644 --- a/gnu/services/getmail.scm +++ b/gnu/services/getmail.scm @@ -176,8 +176,8 @@ server.") (delete-after (non-negative-integer 0) "Getmail will delete messages this number of days after seeing them, if -they have not been delivered. This means messages will be left on the server -this number of days after delivering them. A value of @samp{0} disabled this +they have been delivered. This means messages will be left on the server this +number of days after delivering them. A value of @samp{0} disabled this feature.") (delete-bigger-than (non-negative-integer 0) From 3de2031097a6804a0b899f34b49fb130e43dd337 Mon Sep 17 00:00:00 2001 From: Guillaume Le Vaillant Date: Tue, 15 Oct 2019 10:37:09 +0200 Subject: [PATCH 0150/1112] gnu: cl+ssl: Update to 0.0.0-1.141ae91. * gnu/packages/lisp.scm (sbcl-cl+ssl): Update to 0.0.0-1.141ae91. [inputs]: Add alexandria and trivial-features. --- gnu/packages/lisp.scm | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm index 2bdebed04ef..34e935bda56 100644 --- a/gnu/packages/lisp.scm +++ b/gnu/packages/lisp.scm @@ -3992,7 +3992,7 @@ RFC 1321 by R. Rivest, published April 1992.") (sbcl-package->cl-source-package sbcl-md5)) (define-public sbcl-cl+ssl - (let ((commit "b81c1135cf5700e870ce2573d5035d249e491788") + (let ((commit "141ae91416bc40f1618dc07e48429b84388aa599") (revision "1")) (package (name "sbcl-cl+ssl") @@ -4005,7 +4005,7 @@ RFC 1321 by R. Rivest, published April 1992.") (commit commit))) (file-name (git-file-name "cl+ssl" version)) (sha256 - (base32 "1845i1pafmqb6cdlr53yaqy67kjrhkvbx6c37ca15cw70vhdr3z9")))) + (base32 "1s0hg1h9sf8q89v0yrxmzg5f5sng29rgx3n21r9h9yql8351myan")))) (build-system asdf-build-system/sbcl) (arguments '(#:phases @@ -4022,7 +4022,9 @@ RFC 1321 by R. Rivest, published April 1992.") ("sbcl-trivial-gray-streams" ,sbcl-trivial-gray-streams) ("sbcl-flexi-streams" ,sbcl-flexi-streams) ("sbcl-bordeaux-threads" ,sbcl-bordeaux-threads) - ("sbcl-trivial-garbage" ,sbcl-trivial-garbage))) + ("sbcl-trivial-garbage" ,sbcl-trivial-garbage) + ("sbcl-alexandria" ,sbcl-alexandria) + ("sbcl-trivial-features" ,sbcl-trivial-features))) (home-page "http://common-lisp.net/project/cl-plus-ssl/") (synopsis "Common Lisp bindings to OpenSSL") (description From f733862cc9307b155f23c101b274891255236304 Mon Sep 17 00:00:00 2001 From: Guillaume Le Vaillant Date: Tue, 15 Oct 2019 13:54:15 +0200 Subject: [PATCH 0151/1112] gnu: Add arrows. * gnu/packages/lisp.scm (cl-arrows, sbcl-arrows, ecl-arrows): New variables. --- gnu/packages/lisp.scm | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm index 34e935bda56..77b36ef5bda 100644 --- a/gnu/packages/lisp.scm +++ b/gnu/packages/lisp.scm @@ -7720,3 +7720,35 @@ supplement, not a competitor, to Alexandria.") (define-public cl-serapeum (sbcl-package->cl-source-package sbcl-serapeum)) + +(define-public sbcl-arrows + (let ((commit "df7cf0067e0132d9697ac8b1a4f1b9c88d4f5382") + (revision "0")) + (package + (name "sbcl-arrows") + (version (git-version "0.2.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://gitlab.com/Harleqin/arrows.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "042k9vkssrqx9nhp14wdzm942zgdxvp35mba0p2syz98i75im2yy")))) + (build-system asdf-build-system/sbcl) + (native-inputs + `(("hu.dwim.stefil" ,sbcl-hu.dwim.stefil))) + (synopsis "Clojure-like arrow macros for Common Lisp") + (description + "This library implements the @code{->} and @code{->>} macros from +Clojure, as well as several expansions on the idea.") + (home-page "https://gitlab.com/Harleqin/arrows") + (license license:public-domain)))) + +(define-public cl-arrows + (sbcl-package->cl-source-package sbcl-arrows)) + +(define-public ecl-arrows + (sbcl-package->ecl-package sbcl-arrows)) From 5cace974a4c10b4748b526dba5d20e12afbd2835 Mon Sep 17 00:00:00 2001 From: Guillaume Le Vaillant Date: Thu, 17 Oct 2019 16:43:09 +0200 Subject: [PATCH 0152/1112] build-system/asdf: Fix package transform. * guix/build-system/asdf.scm (package-with-build-system): [find-input-package]: New function. [rewrite]: Use it. --- guix/build-system/asdf.scm | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/guix/build-system/asdf.scm b/guix/build-system/asdf.scm index af04084c86d..f794bf006bb 100644 --- a/guix/build-system/asdf.scm +++ b/guix/build-system/asdf.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2016, 2017 Andy Patterson +;;; Copyright © 2019 Guillaume Le Vaillant ;;; ;;; This file is part of GNU Guix. ;;; @@ -32,6 +33,7 @@ #:use-module (ice-9 regex) #:use-module (srfi srfi-1) #:use-module (srfi srfi-26) + #:use-module (gnu packages) #:export (%asdf-build-system-modules %asdf-build-modules asdf-build @@ -160,13 +162,22 @@ set up using CL source package conventions." (define (has-from-build-system? pkg) (eq? from-build-system (package-build-system pkg))) + (define (find-input-package pkg) + (let* ((name (package-name pkg)) + (new-name (transform-package-name name)) + (pkgs (find-packages-by-name new-name))) + (if (null? pkgs) #f (list-ref pkgs 0)))) + (define transform (mlambda (pkg) (define rewrite (match-lambda ((name content . rest) (let* ((is-package? (package? content)) - (new-content (if is-package? (transform content) content))) + (new-content (if is-package? + (or (find-input-package content) + (transform content)) + content))) `(,name ,new-content ,@rest))))) ;; Special considerations for source packages: CL inputs become From 55af9fe0f4cee368565ffdc5a07856ee8674a26f Mon Sep 17 00:00:00 2001 From: Guillaume Le Vaillant Date: Thu, 17 Oct 2019 16:43:10 +0200 Subject: [PATCH 0153/1112] gnu: sbcl-trivial-mimes: Fix 'fix-paths' phase. * gnu/packages/lisp.scm (sbcl-trivial-mimes)[arguments]: Use '(%lisp-type)' instead of hard coded 'sbcl' in 'fix-paths' phase. --- gnu/packages/lisp.scm | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm index 77b36ef5bda..6c4491a9856 100644 --- a/gnu/packages/lisp.scm +++ b/gnu/packages/lisp.scm @@ -5132,7 +5132,9 @@ performance and simplicity in mind.") ((anchor all) (string-append anchor "\n" - "(asdf:system-relative-pathname :trivial-mimes \"../../share/common-lisp/sbcl-source/trivial-mimes/mime.types\")"))))))))) + "(asdf:system-relative-pathname :trivial-mimes " + "\"../../share/common-lisp/" (%lisp-type) + "-source/trivial-mimes/mime.types\")"))))))))) (native-inputs `(("stefil" ,sbcl-hu.dwim.stefil))) (inputs From 85a898536c14c718c259e6c4ec07922eda3ab9cc Mon Sep 17 00:00:00 2001 From: Guillaume Le Vaillant Date: Thu, 17 Oct 2019 16:43:11 +0200 Subject: [PATCH 0154/1112] gnu: Add ecl-trivial-mimes. * gnu/packages/lisp.scm (ecl-trivial-mimes): New variable. --- gnu/packages/lisp.scm | 3 +++ 1 file changed, 3 insertions(+) diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm index 6c4491a9856..a868e0123bf 100644 --- a/gnu/packages/lisp.scm +++ b/gnu/packages/lisp.scm @@ -5149,6 +5149,9 @@ mime-type of a file.") (define-public cl-trivial-mimes (sbcl-package->cl-source-package sbcl-trivial-mimes)) +(define-public ecl-trivial-mimes + (sbcl-package->ecl-package sbcl-trivial-mimes)) + (define-public sbcl-lack-middleware-static (let ((commit "abff8efeb0c3a848e6bb0022f2b8b7fa3a1bc88b") (revision "1")) From 63729d92774a07c66c06010fee4a6e6a138b277a Mon Sep 17 00:00:00 2001 From: Guillaume Le Vaillant Date: Thu, 17 Oct 2019 16:43:12 +0200 Subject: [PATCH 0155/1112] gnu: Add ecl-dexador. * gnu/packages/lisp.scm (ecl-dexador): New variable. --- gnu/packages/lisp.scm | 3 +++ 1 file changed, 3 insertions(+) diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm index a868e0123bf..609c15f2144 100644 --- a/gnu/packages/lisp.scm +++ b/gnu/packages/lisp.scm @@ -6258,6 +6258,9 @@ cookie headers, cookie creation, cookie jar creation and more.") neat APIs and connection-pooling. It is meant to supersede Drakma.") (license license:expat)))) +(define-public ecl-dexador + (sbcl-package->ecl-package sbcl-dexador)) + (define-public sbcl-lisp-namespace (let ((commit "28107cafe34e4c1c67490fde60c7f92dc610b2e0") (revision "1")) From e6ea74d86c628c6b5365b69e23c3e5ef3e15c336 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Fri, 18 Oct 2019 11:07:21 +0200 Subject: [PATCH 0156/1112] pull: Call 'ensure-default-profile' after 'set-build-options'. This is a followup to 81c580c8664bfeeb767e2c47ea343004e88223c7. * guix/scripts/pull.scm (guix-pull): Move 'ensure-default-profile' call after 'set-build-options-from-command-line' call. This ensures that the 'profiles/per-user/$USER' directory is created before 'ensure-default-profile' is called when 'GUIX_DAEMON_SOCKET' points to a remote TCP daemon. --- guix/scripts/pull.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/guix/scripts/pull.scm b/guix/scripts/pull.scm index 04970cf503e..7876019eac3 100644 --- a/guix/scripts/pull.scm +++ b/guix/scripts/pull.scm @@ -772,11 +772,11 @@ Use '~/.config/guix/channels.scm' instead.")) (process-generation-change opts profile)) (else (with-store store - (ensure-default-profile) (with-status-verbosity (assoc-ref opts 'verbosity) (parameterize ((%current-system (assoc-ref opts 'system)) (%graft? (assoc-ref opts 'graft?))) (set-build-options-from-command-line store opts) + (ensure-default-profile) (honor-x509-certificates store) (let ((instances (latest-channel-instances store channels))) From ad8aaf47f50e3b0360b8c27557753333ae44ad5f Mon Sep 17 00:00:00 2001 From: "Boris A. Dekshteyn" Date: Fri, 16 Aug 2019 13:47:53 +1200 Subject: [PATCH 0157/1112] gnu: Add FontManager. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/fontutils.scm (fontmanager): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/fontutils.scm | 51 +++++++++++++++++++++++++++++++++++++- 1 file changed, 50 insertions(+), 1 deletion(-) diff --git a/gnu/packages/fontutils.scm b/gnu/packages/fontutils.scm index e355f7bb890..aba6f075377 100644 --- a/gnu/packages/fontutils.scm +++ b/gnu/packages/fontutils.scm @@ -46,6 +46,9 @@ #:use-module (gnu packages xorg) #:use-module (gnu packages gtk) #:use-module (gnu packages xml) + #:use-module (gnu packages sqlite) + #:use-module (gnu packages gnome) + #:use-module (gnu packages freedesktop) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) #:use-module (guix download) @@ -53,7 +56,8 @@ #:use-module (guix git-download) #:use-module (guix build-system cmake) #:use-module (guix build-system gnu) - #:use-module (guix build-system python)) + #:use-module (guix build-system python) + #:use-module (guix build-system meson)) (define-public freetype (package @@ -725,3 +729,48 @@ maintain the Noto Fonts project.") (license:non-copyleft "file://sample_texts/attributions.txt" "See sample_texts/attributions.txt in the distribution."))))) + +(define-public fontmanager + (package + (name "fontmanager") + (version "0.7.5") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/FontManager/font-manager") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "16hma8rrkam6ngn5vbdaryn31vdixvii6920g9z928gylz9xkd3g")))) + (build-system meson-build-system) + (arguments + `(#:glib-or-gtk? #t + #:build-type "release" + #:configure-flags + (list (string-append "-Dc_link_args=-Wl,-rpath=" + (assoc-ref %outputs "out") + "/lib/font-manager")))) + (native-inputs + `(("pkg-config" ,pkg-config) + ("vala" ,vala) + ("yelp-tools" ,yelp-tools) + ("gettext" ,gettext-minimal) + ("glib" ,glib "bin") + ("gobject-introspection" ,gobject-introspection) + ("desktop-file-utils" ,desktop-file-utils))) + (inputs + `(("json-glib" ,json-glib) + ("sqlite-with-column-metadata" ,sqlite-with-column-metadata) + ("fonconfig" ,fontconfig) + ("freetype" ,freetype) + ("gtk+" ,gtk+))) + (home-page "https://fontmanager.github.io/") + (synopsis "Simple font management for GTK+ desktop environments") + (description "Font Manager is intended to provide a way for users to +easily manage desktop fonts, without having to resort to command-line +tools or editing configuration files by hand. +While designed primarily with the GNOME Desktop Environment in mind, it should +work well with other GTK+ desktop environments.") + (license license:gpl3+))) From b080b6d9378a6b23edfc46dcd4a96eb796db2927 Mon Sep 17 00:00:00 2001 From: Tonton Date: Tue, 15 Oct 2019 19:14:16 +0200 Subject: [PATCH 0158/1112] gnu: Add batctl. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/networking.scm (batctl): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/networking.scm | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm index 17c7c65a258..d9134ff9107 100644 --- a/gnu/packages/networking.scm +++ b/gnu/packages/networking.scm @@ -31,6 +31,7 @@ ;;; Copyright © 2019 Julien Lepiller ;;; Copyright © 2019 Timotej Lazar ;;; Copyright © 2019 Brice Waegeneire +;;; Copyright © 2019 Tonton ;;; ;;; This file is part of GNU Guix. ;;; @@ -2641,3 +2642,37 @@ Supplicant. It optimizes resource utilization by not depending on any external libraries and instead utilizing features provided by the Linux kernel to the maximum extent possible.") (license license:lgpl2.1+))) + +(define-public batctl + (package + (name "batctl") + (version "2019.3") + (source + (origin + (method url-fetch) + (uri (string-append "https://downloads.open-mesh.org/batman/releases/batman-adv-" + version "/batctl-" version ".tar.gz")) + (sha256 + (base32 + "0307a01n72kg7vcm60mi8jna6bydiin2cr3ylrixra1596hkzn9b")))) + (inputs + `(("libnl" ,libnl))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f + ;; Batctl only has a makefile. Thus we disable tests and + ;; configuration, passing in a few make-flags. + #:phases (modify-phases %standard-phases (delete 'configure)) + #:make-flags + (list (string-append "PREFIX=" (assoc-ref %outputs "out")) + (string-append "PKG_CONFIG=" (assoc-ref %build-inputs "pkg-config") + "/bin/pkg-config") + "CC=gcc"))) + (home-page "https://www.open-mesh.org/projects/batman-adv/wiki/Wiki") + (synopsis "Management tool for the mesh networking BATMAN protocol") + (description "This package provides a control tool for the +B.A.T.M.A.N. mesh networking routing protocol provided by the Linux kernel +module @code{batman-adv}, for Layer 2.") + (license license:gpl2+))) From d7fcd9c565812919109ae88049f5d8bf4c56f9bd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Fri, 18 Oct 2019 11:55:24 +0200 Subject: [PATCH 0159/1112] lint: Comment out 'cve' checker. * guix/lint.scm (%network-dependent-checkers): Comment out 'cve' checker. --- guix/lint.scm | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/guix/lint.scm b/guix/lint.scm index 03a8e882259..6336cf4e3bf 100644 --- a/guix/lint.scm +++ b/guix/lint.scm @@ -1319,11 +1319,17 @@ or a list thereof") (name 'github-url) (description "Suggest GitHub URLs") (check check-github-url)) - (lint-checker - (name 'cve) - (description "Check the Common Vulnerabilities and Exposures\ - (CVE) database") - (check check-vulnerabilities)) + + ;; FIXME: Commented out as a consequence of the XML CVE feed retirement: + ;; . + ;; Reinstate it once the JSON feed is supported. + + ;; (lint-checker + ;; (name 'cve) + ;; (description "Check the Common Vulnerabilities and Exposures\ + ;; (CVE) database") + ;; (check check-vulnerabilities)) + (lint-checker (name 'refresh) (description "Check the package for new upstream releases") From a870f20fd8c9e5a1bc17a9b8e34b7641729026b5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Fri, 18 Oct 2019 12:00:56 +0200 Subject: [PATCH 0160/1112] news: Add CVE ID. * etc/news.scm: Add CVE ID for insecure permissions entry. --- etc/news.scm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/etc/news.scm b/etc/news.scm index 34916dc05b0..80f7ba522c6 100644 --- a/etc/news.scm +++ b/etc/news.scm @@ -10,10 +10,10 @@ (version 0) (entry (commit "81c580c8664bfeeb767e2c47ea343004e88223c7") - (title (en "Insecure @file{/var/guix/profiles/per-user} permissions") - (de "Sicherheitslücke in @file{/var/guix/profiles/per-user}-Berechtigungen") - (fr "Permissions laxistes pour @file{/var/guix/profiles/per-user}") - (nl "Onveilige @file{/var/guix/profiles/per-user}-rechten")) + (title (en "Insecure @file{/var/guix/profiles/per-user} permissions (CVE-2019-18192)") + (de "Sicherheitslücke in @file{/var/guix/profiles/per-user}-Berechtigungen (CVE-2019-18192)") + (fr "Permissions laxistes pour @file{/var/guix/profiles/per-user} (CVE-2019-18192)") + (nl "Onveilige @file{/var/guix/profiles/per-user}-rechten (CVE-2019-18192)")) (body (en "The default user profile, @file{~/.guix-profile}, points to @file{/var/guix/profiles/per-user/$USER}. Until now, From 6c16f1a5b34368d0d800e93c95d1787c113ee68f Mon Sep 17 00:00:00 2001 From: Pierre Neidhardt Date: Fri, 18 Oct 2019 11:46:34 +0200 Subject: [PATCH 0161/1112] gnu: lisp: Add most missing source package for Common Lisp libraries. * gnu/packages/lisp.scm (cl-parse-js, cl-parse-number, cl-iterate, cl-uglify, cl-cffi, cl-sqlite, cl-cffi-gtk, cl-webkit, cl-iolib, cl-ieee-floats, cl-xml, cl-reexport, cl-dexador, cl-cookie, cl-lisp-namespace, cl-trivial-cltl2, cl-introspect-environment, cl-type-i, cl-optima, cl-fare-quasiquote, cl-trivia, cl-mk-string-metrics, cl-str, cl-xmlspam): New variables. --- gnu/packages/lisp.scm | 75 ++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 74 insertions(+), 1 deletion(-) diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm index 609c15f2144..bb2a589578d 100644 --- a/gnu/packages/lisp.scm +++ b/gnu/packages/lisp.scm @@ -1463,6 +1463,9 @@ multiple inspectors with independent history.") JavaScript (ECMAScript 3). It has basic support for ECMAScript 5.") (license license:zlib)))) +(define-public cl-parse-js + (sbcl-package->cl-source-package sbcl-parse-js)) + (define-public sbcl-parse-number (package (name "sbcl-parse-number") @@ -1486,6 +1489,9 @@ the string into one of the standard Common Lisp number types, if possible, or else @code{parse-number} signals an error of type @code{invalid-number}.") (license license:bsd-3))) +(define-public cl-parse-number + (sbcl-package->cl-source-package sbcl-parse-number)) + (define-public sbcl-iterate (package (name "sbcl-iterate") @@ -1515,6 +1521,9 @@ It is similar to the @code{CL:LOOP} macro, with these distinguishing marks: @end itemize\n") (license license:expat))) +(define-public cl-iterate + (sbcl-package->cl-source-package sbcl-iterate)) + (define-public sbcl-cl-uglify-js ;; There have been many bug fixes since the 2010 release. (let ((commit "429c5e1d844e2f96b44db8fccc92d6e8e28afdd5") @@ -1556,6 +1565,9 @@ compressor. It works on data produced by @code{parse-js} to generate a @end itemize\n") (license license:zlib)))) +(define-public cl-uglify-js + (sbcl-package->cl-source-package sbcl-cl-uglify-js)) + (define-public uglify-js (package (inherit sbcl-cl-uglify-js) @@ -3128,6 +3140,9 @@ package.") ("bordeaux-threads" ,sbcl-bordeaux-threads) ,@(package-native-inputs sbcl-cffi-bootstrap))))) +(define-public cl-cffi + (sbcl-package->cl-source-package sbcl-cffi)) + (define-public sbcl-cl-sqlite (let ((commit "c738e66d4266ef63a1debc4ef4a1b871a068c112")) (package @@ -3169,6 +3184,9 @@ package.") relational database engine.") (license license:public-domain)))) +(define-public cl-sqlite + (sbcl-package->cl-source-package sbcl-cl-sqlite)) + (define-public sbcl-parenscript (let ((commit "061d8e286c81c3f45c84fb2b11ee7d83f590a8f8")) (package @@ -3543,6 +3561,9 @@ is a library for creating graphical user interfaces.") ;; See https://github.com/Ferada/cl-cffi-gtk/issues/24. #:tests? #f)))) +(define-public cl-cffi-gtk + (sbcl-package->cl-source-package sbcl-cl-cffi-gtk)) + (define-public sbcl-cl-webkit (let ((commit "cd2a9008e0c152e54755e8a7f07b050fe36bab31")) (package @@ -3583,6 +3604,9 @@ browsing capabilities to an application, leveraging the full power of the WebKit browsing engine.") (license license:expat)))) +(define-public cl-webkit + (sbcl-package->cl-source-package sbcl-cl-webkit)) + (define-public sbcl-lparallel (package (name "sbcl-lparallel") @@ -5949,6 +5973,9 @@ and @code{kqueue(2)}), a pathname library and file-system utilities.") ""))))))) (synopsis "Common Lisp I/O library"))) +(define-public cl-iolib + (sbcl-package->cl-source-package sbcl-iolib)) + (define sbcl-iolib+multiplex (package (inherit sbcl-iolib) @@ -6006,6 +6033,9 @@ and @code{kqueue(2)}), a pathname library and file-system utilities.") floating point values to IEEE 754 binary representation.") (license license:bsd-3)))) +(define-public cl-ieee-floats + (sbcl-package->cl-source-package sbcl-ieee-floats)) + (define sbcl-closure-common (let ((commit "e3c5f5f454b72b01b89115e581c3c52a7e201e5c") (revision "1")) @@ -6138,6 +6168,9 @@ offered, one SAX-like, the other similar to StAX.") ((" *\\(\\(:compiled-file \"cxml--system\"\\)\\)") "")))))))))) +(define-public cl-cxml + (sbcl-package->cl-source-package sbcl-cxml)) + (define-public sbcl-cl-reexport (let ((commit "312f3661bbe187b5f28536cd7ec2956e91366c3b") (revision "1")) @@ -6166,6 +6199,9 @@ offered, one SAX-like, the other similar to StAX.") cookie headers, cookie creation, cookie jar creation and more.") (license license:llgpl)))) +(define-public cl-reexport + (sbcl-package->cl-source-package sbcl-cl-reexport)) + (define-public sbcl-cl-cookie (let ((commit "cea55aed8b9ad25fafd13defbcb9fe8f41b29546") (revision "1")) @@ -6201,6 +6237,9 @@ cookie headers, cookie creation, cookie jar creation and more.") cookie headers, cookie creation, cookie jar creation and more.") (license license:bsd-2)))) +(define-public cl-cookie + (sbcl-package->cl-source-package sbcl-cl-cookie)) + (define-public sbcl-dexador (let ((commit "a2714d126cc94bc7a9a6e1e3c08de455b3a66378") (revision "1")) @@ -6243,7 +6282,6 @@ cookie headers, cookie creation, cookie jar creation and more.") ("clack" ,sbcl-clack) ("babel" ,sbcl-babel) ("alexandria" ,sbcl-alexandria) - ("quri" ,sbcl-quri) ("cl-ppcre" ,sbcl-cl-ppcre) ("local-time" ,sbcl-local-time))) (arguments @@ -6258,6 +6296,17 @@ cookie headers, cookie creation, cookie jar creation and more.") neat APIs and connection-pooling. It is meant to supersede Drakma.") (license license:expat)))) +(define-public cl-dexador + (package + (inherit (sbcl-package->cl-source-package sbcl-dexador)) + (arguments + `(#:phases + ;; asdf-build-system/source has its own phases and does not inherit + ;; from asdf-build-system/sbcl phases. + (modify-phases %standard-phases/source + (add-after 'unpack 'fix-permissions + (lambda _ (make-file-writable "t/data/test.gz") #t))))))) + (define-public ecl-dexador (sbcl-package->ecl-package sbcl-dexador)) @@ -6294,6 +6343,9 @@ more — e.g., class namespace. This library offers macros to deal with symbols from any namespace.") (license license:llgpl)))) +(define-public cl-lisp-namespace + (sbcl-package->cl-source-package sbcl-lisp-namespace)) + (define-public sbcl-trivial-cltl2 (let ((commit "8eec8407df833e8f27df8a388bc10913f16d9e83") (revision "1")) @@ -6319,6 +6371,9 @@ Edition\" (@url{https://www.cs.cmu.edu/Groups/AI/html/cltl/clm/node102.html}) and it exports symbols from implementation-specific packages.") (license license:llgpl)))) +(define-public cl-trivial-cltl2 + (sbcl-package->cl-source-package sbcl-trivial-cltl2)) + (define-public sbcl-introspect-environment (let ((commit "fff42f8f8fd0d99db5ad6c5812e53de7d660020b") (revision "1")) @@ -6360,6 +6415,9 @@ implementations have implementations of the functions that do as much as they can and/or provide reasonable defaults.") (license license:wtfpl2)))) +(define-public cl-introspect-environment + (sbcl-package->cl-source-package sbcl-introspect-environment)) + (define-public sbcl-type-i (let ((commit "dea233f45f94064105ec09f0767de338f67dcbe2") (revision "1")) @@ -6392,6 +6450,9 @@ type the given predicate is trying to check. This is different from inferring the return type of a function.") (license license:llgpl)))) +(define-public cl-type-i + (sbcl-package->cl-source-package sbcl-type-i)) + (define-public sbcl-optima (let ((commit "373b245b928c1a5cce91a6cb5bfe5dd77eb36195") (revision "1")) @@ -6424,6 +6485,9 @@ the return type of a function.") optimizing techniques widely used in the functional programming world.") (license license:expat)))) +(define-public cl-optima + (sbcl-package->cl-source-package sbcl-optima)) + (define-public sbcl-fare-quasiquote (package (name "sbcl-fare-quasiquote") @@ -6698,6 +6762,9 @@ This system contains the CFFI foreign slot access extension."))) with Optima, another pattern matching library for Common Lisp. It is meant to be faster and more extensible than Optima."))) +(define-public cl-trivia + (sbcl-package->cl-source-package sbcl-trivia)) + (define-public sbcl-mk-string-metrics (package (name "sbcl-mk-string-metrics") @@ -6729,6 +6796,9 @@ various string metrics in Common Lisp: @end itemize\n") (license license:x11))) +(define-public cl-mk-string-metrics + (sbcl-package->cl-source-package sbcl-mk-string-metrics)) + (define-public sbcl-cl-str (let ((commit "3d5ec86e3a0199e5973aacde951086dfd754b5e5")) (package @@ -6764,6 +6834,9 @@ discoverable library instead of many; consistency and composability, where arrows.") (license license:expat)))) +(define-public cl-str + (sbcl-package->cl-source-package sbcl-cl-str)) + (define-public sbcl-cl-xmlspam (let ((commit "ea06abcca2a73a9779bcfb09081e56665f94e22a")) (package From 6f11d1b54e97dc142d08ed10c2aa4cace8840af6 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Fri, 18 Oct 2019 07:46:55 -0400 Subject: [PATCH 0162/1112] gnu: linux-libre@4.4: Update to 4.4.197. * gnu/packages/linux.scm (linux-libre-4.4-version): Update to 4.4.197. (linux-libre-4.4-pristine-source): Update hash. --- gnu/packages/linux.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index ad3c5972a80..9c2c33a6346 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -397,10 +397,10 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (%upstream-linux-source version hash) deblob-scripts-4.9))) -(define-public linux-libre-4.4-version "4.4.196") +(define-public linux-libre-4.4-version "4.4.197") (define-public linux-libre-4.4-pristine-source (let ((version linux-libre-4.4-version) - (hash (base32 "0vd7fra22ky4sqp6vamracp5xd4900md5vdx0n4i6dhkf03kz7hn"))) + (hash (base32 "0ypfl1q1bdbk81hk0bm8a0grqzz4z5rp7z7asa3191ji3r8q9x4w"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-4.4))) From b84d7ac06e5a7ee50103decb295c64eec97c2c1f Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Fri, 18 Oct 2019 07:48:03 -0400 Subject: [PATCH 0163/1112] gnu: linux-libre@4.9: Update to 4.9.197. * gnu/packages/linux.scm (linux-libre-4.9-version): Update to 4.9.197. (linux-libre-4.9-pristine-source): Update hash. --- gnu/packages/linux.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 9c2c33a6346..49ac7b53167 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -389,10 +389,10 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (%upstream-linux-source version hash) deblob-scripts-4.14))) -(define-public linux-libre-4.9-version "4.9.196") +(define-public linux-libre-4.9-version "4.9.197") (define-public linux-libre-4.9-pristine-source (let ((version linux-libre-4.9-version) - (hash (base32 "1vy6j9ycl5aw0dmj4n9kih5i8igybk0ilahlwbn30mlp9aq15az0"))) + (hash (base32 "032as6g4xvqjarqhvx7mr14yhn6idak4g0ps1skmsl4dfav6hdam"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-4.9))) From e5df2dfce1347349f41554342c65da96e2d2889d Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Fri, 18 Oct 2019 07:48:38 -0400 Subject: [PATCH 0164/1112] gnu: linux-libre@4.14: Update to 4.14.150. * gnu/packages/linux.scm (linux-libre-4.14-version): Update to 4.14.150. (linux-libre-4.14-pristine-source): Update hash. --- gnu/packages/linux.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 49ac7b53167..6a6c8c0a89e 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -381,10 +381,10 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (%upstream-linux-source version hash) deblob-scripts-4.19))) -(define-public linux-libre-4.14-version "4.14.149") +(define-public linux-libre-4.14-version "4.14.150") (define-public linux-libre-4.14-pristine-source (let ((version linux-libre-4.14-version) - (hash (base32 "15pjngy3j5vnisv462ll7wsg78qv7q2cz86da0bcwh446v9ap7g6"))) + (hash (base32 "1c2pxfvv31af0mzcqnbfjk8pc0wrhg4yhspl8a3ab2w5dfwa9ib5"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-4.14))) From b1b721186affb71e81a6e648bb8de9b64cd61221 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Fri, 18 Oct 2019 07:49:26 -0400 Subject: [PATCH 0165/1112] gnu: linux-libre@4.19: Update to 4.19.80. * gnu/packages/linux.scm (linux-libre-4.19-version): Update to 4.19.80. (linux-libre-4.19-pristine-source): Update hash. --- gnu/packages/linux.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 6a6c8c0a89e..615ab142fac 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -373,10 +373,10 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (%upstream-linux-source version hash) deblob-scripts-5.2))) -(define-public linux-libre-4.19-version "4.19.79") +(define-public linux-libre-4.19-version "4.19.80") (define-public linux-libre-4.19-pristine-source (let ((version linux-libre-4.19-version) - (hash (base32 "0d2bcg0krahia2ylgqaxdppyr9idq2pi6y1si6h8n9sg6rj3a57i"))) + (hash (base32 "1v776s6q5wxn8ci86dwa8s8y41b94g09fnpgvzysg2h89rvbmac0"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-4.19))) From e02c2f85b36ce1c733bd908a210ce1182bdd2560 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Fri, 18 Oct 2019 07:50:14 -0400 Subject: [PATCH 0166/1112] gnu: linux-libre: Update to 5.3.7. * gnu/packages/linux.scm (linux-libre-5.3-version): Update to 5.3.7. (linux-libre-5.3-pristine-source): Update hash. --- gnu/packages/linux.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 615ab142fac..e6e79604108 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -357,10 +357,10 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." "linux-" version ".tar.xz")) (sha256 hash))) -(define-public linux-libre-5.3-version "5.3.6") +(define-public linux-libre-5.3-version "5.3.7") (define-public linux-libre-5.3-pristine-source (let ((version linux-libre-5.3-version) - (hash (base32 "07zcfpj6ras7mmazny5xjwf8v6l5hwdgnla21sqpppl48ylj2h78"))) + (hash (base32 "00j8sdrmmppqf38vl50a4zas5gy7yv37n43b61f8472k45773jf6"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-5.3))) From 4845dee706a1aee89917e5c7f25d3bce64f7e11c Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Fri, 18 Oct 2019 08:16:58 -0400 Subject: [PATCH 0167/1112] gnu: linux-libre@5.2: Remove. The 5.2 release series has reached end-of-life, and is no longer supported upstream. * gnu/packages/linux.scm (deblob-scripts-5.2, linux-libre-5.2-version) (linux-libre-5.2-pristine-source, linux-libre-5.2-source) (linux-libre-headers-5.2, linux-libre-5.2): Remove variables. --- gnu/packages/linux.scm | 30 ------------------------------ 1 file changed, 30 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index e6e79604108..0070deeaa65 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -187,12 +187,6 @@ defconfig. Return the appropriate make target if applicable, otherwise return (base32 "15n09zq38d69y1wl28s3nasf3377qp2yil5b887zpqrm00dif7i4") (base32 "0nrimraf46nf6y1hwkg29fyl0a83wnj0mwq54ggxvffn9gk5h9pa"))) -(define deblob-scripts-5.2 - (linux-libre-deblob-scripts - "5.2.21" - (base32 "076fwxlm6jq6z4vg1xq3kr474zz7qk71r90sf9dnfia3rw2pb4fa") - (base32 "1vghzpvlsvz5q8baxjza8jdryjmcx61g2pmnm6dd1k7glr6jy1a9"))) - (define deblob-scripts-4.19 (linux-libre-deblob-scripts "4.19.79" @@ -365,14 +359,6 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (%upstream-linux-source version hash) deblob-scripts-5.3))) -(define-public linux-libre-5.2-version "5.2.21") -(define-public linux-libre-5.2-pristine-source - (let ((version linux-libre-5.2-version) - (hash (base32 "0f1mick15d0m7yhhhdwai03wmczvkm9cg38w2ivgmgysfpzy73ls"))) - (make-linux-libre-source version - (%upstream-linux-source version hash) - deblob-scripts-5.2))) - (define-public linux-libre-4.19-version "4.19.80") (define-public linux-libre-4.19-pristine-source (let ((version linux-libre-4.19-version) @@ -439,12 +425,6 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." %boot-logo-patch %linux-libre-arm-export-__sync_icache_dcache-patch))) -(define-public linux-libre-5.2-source - (source-with-patches linux-libre-5.2-pristine-source - (list (search-patch "linux-libre-active-entropy.patch") - %boot-logo-patch - %linux-libre-arm-export-__sync_icache_dcache-patch))) - (define-public linux-libre-4.19-source (source-with-patches linux-libre-4.19-pristine-source (list %boot-logo-patch @@ -539,10 +519,6 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (make-linux-libre-headers* linux-libre-5.3-version linux-libre-5.3-source)) -(define-public linux-libre-headers-5.2 - (make-linux-libre-headers* linux-libre-5.2-version - linux-libre-5.2-source)) - (define-public linux-libre-headers-4.19 (make-linux-libre-headers* linux-libre-4.19-version linux-libre-4.19-source)) @@ -804,12 +780,6 @@ It has been modified to remove all non-free binary blobs.") (define-public linux-libre-source linux-libre-5.3-source) (define-public linux-libre linux-libre-5.3) -(define-public linux-libre-5.2 - (make-linux-libre* linux-libre-5.2-version - linux-libre-5.2-source - '("x86_64-linux" "i686-linux" "armhf-linux" "aarch64-linux") - #:configuration-file kernel-config)) - (define-public linux-libre-4.19 (make-linux-libre* linux-libre-4.19-version linux-libre-4.19-source From a31b745756669631285da474e838081965c7b892 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 17 Oct 2019 15:23:39 +0200 Subject: [PATCH 0168/1112] gnu: opensubdiv: Use a regular versioning pattern. * gnu/packages/graphics.scm (opensubdiv)[version]: Use dots instead of underscores between numbers. [source](uri): Adjust accordingly. --- gnu/packages/graphics.scm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm index c57d90f5ac1..e453d9fa5bd 100644 --- a/gnu/packages/graphics.scm +++ b/gnu/packages/graphics.scm @@ -1026,12 +1026,13 @@ requirements.") (define-public opensubdiv (package (name "opensubdiv") - (version "3_4_0") + (version "3.4.0") (source (origin (method git-fetch) (uri (git-reference - (url "https://github.com/PixarAnimationStudios/OpenSubdiv") - (commit (string-append "v" version)))) + (url "https://github.com/PixarAnimationStudios/OpenSubdiv") + (commit (string-append "v" (string-join (string-split version #\.) + "_"))))) (file-name (git-file-name name version)) (sha256 (base32 From 43beec19f4f3e632a10c44127d0ff94b0a1c3214 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 18 Oct 2019 11:49:05 +0200 Subject: [PATCH 0169/1112] gnu: looking-glass-client: Disable CPU-specific optimizations. * gnu/packages/virtualization.scm (looking-glass-client)[source](modules, snippet): New fields. --- gnu/packages/virtualization.scm | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm index fd442bde4b5..a3504882a21 100644 --- a/gnu/packages/virtualization.scm +++ b/gnu/packages/virtualization.scm @@ -817,7 +817,17 @@ Machine Protocol.") (file-name (git-file-name name version)) (sha256 (base32 - "02bq46ndmzq9cihazzn7xq1x7q5nzm7iw4l9lqzihxcxp9famkhw")))) + "02bq46ndmzq9cihazzn7xq1x7q5nzm7iw4l9lqzihxcxp9famkhw")) + (modules '((guix build utils))) + (snippet + '(begin + ;; Do not create binaries optimized for the CPU of the build machine, + ;; for reproducibility and compatibility. TODO: in the next version + ;; of looking glass, this is exposed as a CMake configure option. + (substitute* "client/CMakeLists.txt" + (("-march=native") + "")) + #t)))) (build-system cmake-build-system) (inputs `(("fontconfig" ,fontconfig) ("glu" ,glu) From e8d6e36107ddfe98862628204b108bb243073d44 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 18 Oct 2019 11:56:06 +0200 Subject: [PATCH 0170/1112] gnu: libwacom: Update to 1.1. * gnu/packages/xdisorg.scm (libwacom): Update to 1.1. --- gnu/packages/xdisorg.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm index 542cb3bb63e..f2ead20b2aa 100644 --- a/gnu/packages/xdisorg.scm +++ b/gnu/packages/xdisorg.scm @@ -962,7 +962,7 @@ Escape key when Left Control is pressed and released on its own.") (define-public libwacom (package (name "libwacom") - (version "0.33") + (version "1.1") (source (origin (method url-fetch) (uri (string-append @@ -970,7 +970,7 @@ Escape key when Left Control is pressed and released on its own.") "libwacom-" version "/libwacom-" version ".tar.bz2")) (sha256 (base32 - "1wnv34y7m9l6avlvwqvfrnksfnsz1lbgb412dn6s7x1h3wvs7y4l")))) + "00lyv419ijyng6ak5vpw0swnn4qg6lbfh7zysf92wcvn6rcq7d4c")))) (build-system glib-or-gtk-build-system) (native-inputs `(("pkg-config" ,pkg-config))) From 4ad2c9db7da7591da098954cc475818f7eb97c26 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 18 Oct 2019 11:56:25 +0200 Subject: [PATCH 0171/1112] gnu: libwacom: Do not build static libraries. * gnu/packages/xdisorg.scm (libwacom)[arguments]: New field. --- gnu/packages/xdisorg.scm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm index f2ead20b2aa..d4312f4635c 100644 --- a/gnu/packages/xdisorg.scm +++ b/gnu/packages/xdisorg.scm @@ -972,6 +972,8 @@ Escape key when Left Control is pressed and released on its own.") (base32 "00lyv419ijyng6ak5vpw0swnn4qg6lbfh7zysf92wcvn6rcq7d4c")))) (build-system glib-or-gtk-build-system) + (arguments + `(#:configure-flags '("--disable-static"))) (native-inputs `(("pkg-config" ,pkg-config))) (inputs From 1df9245586939e5a359f8c486662642d9d5998b5 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 18 Oct 2019 14:18:21 +0200 Subject: [PATCH 0172/1112] gnu: encfs: Fix build failure with GCC 7. Fixes . Reported by Pierre Neidhardt . * gnu/packages/crypto.scm (encfs)[arguments]: Add phase 'patch-CMakeLists.txt'. --- gnu/packages/crypto.scm | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/gnu/packages/crypto.scm b/gnu/packages/crypto.scm index e8cf8157d51..a8f60f1665d 100644 --- a/gnu/packages/crypto.scm +++ b/gnu/packages/crypto.scm @@ -211,6 +211,15 @@ OpenBSD tool of the same name.") (copy-recursively (assoc-ref inputs "googletest-source") "vendor/github.com/google/googletest") #t)) + (add-before 'configure 'patch-CMakeLists.txt + (lambda _ + ;; Prevent CMake from adding libc on the system include path. + ;; Otherwise it will interfere with the libc used by GCC and + ;; ultimately cause #include_next errors. + (substitute* "CMakeLists.txt" + (("include_directories \\(SYSTEM \\$\\{Intl_INCLUDE_DIRS\\}\\)") + "")) + #t)) (add-before 'check 'make-unittests (lambda _ (invoke "make" "unittests")))))) From 7349f926c70d92b4ade0da2201d0df797e73fe07 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 18 Oct 2019 14:28:11 +0200 Subject: [PATCH 0173/1112] gnu: ucl: Build with the C90 standard. Fixes . Reported by Pierre Neidhardt . * gnu/packages/compression.scm (ucl)[arguments]: New field. --- gnu/packages/compression.scm | 3 +++ 1 file changed, 3 insertions(+) diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm index c4298c1e951..b63ca4da320 100644 --- a/gnu/packages/compression.scm +++ b/gnu/packages/compression.scm @@ -1901,6 +1901,9 @@ The specification of the Brotli Compressed Data Format is defined in RFC 7932.") (base32 "0j036lkwsxvm15gr29n8wn07cqq79dswjs9k54939ms5zngjjrdq")))) (build-system gnu-build-system) + (arguments + `(;; UCL 1.03 fails to build with newer C standards. + #:configure-flags '("CFLAGS=-std=gnu90"))) (home-page "http://www.oberhumer.com/opensource/ucl/") (synopsis "Portable lossless data compression library") (description "UCL implements a number of compression algorithms that From 01c8b90b7b76ac183572dd7bac3c25fb53492954 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 18 Oct 2019 14:29:01 +0200 Subject: [PATCH 0174/1112] gnu: ucl: Update home page. * gnu/packages/compression.scm (ucl)[source, home-page]: Use HTTPS. --- gnu/packages/compression.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm index b63ca4da320..41301d667ce 100644 --- a/gnu/packages/compression.scm +++ b/gnu/packages/compression.scm @@ -1895,7 +1895,7 @@ The specification of the Brotli Compressed Data Format is defined in RFC 7932.") (version "1.03") (source (origin (method url-fetch) - (uri (string-append "http://www.oberhumer.com/opensource/" + (uri (string-append "https://www.oberhumer.com/opensource/" name "/download/" name "-" version ".tar.gz")) (sha256 (base32 @@ -1904,7 +1904,7 @@ The specification of the Brotli Compressed Data Format is defined in RFC 7932.") (arguments `(;; UCL 1.03 fails to build with newer C standards. #:configure-flags '("CFLAGS=-std=gnu90"))) - (home-page "http://www.oberhumer.com/opensource/ucl/") + (home-page "https://www.oberhumer.com/opensource/ucl/") (synopsis "Portable lossless data compression library") (description "UCL implements a number of compression algorithms that achieve an excellent compression ratio while allowing fast decompression. From 41c27444637e4bd8817a30e2b933e85abedadcc8 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 18 Oct 2019 14:34:05 +0200 Subject: [PATCH 0175/1112] gnu: ucl: Build shared library instead of static. * gnu/packages/compression.scm (ucl)[arguments]: Add "--enable-shared" and "--disable-static" in #:configure-flags. --- gnu/packages/compression.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm index 41301d667ce..ffe9279345d 100644 --- a/gnu/packages/compression.scm +++ b/gnu/packages/compression.scm @@ -1903,7 +1903,8 @@ The specification of the Brotli Compressed Data Format is defined in RFC 7932.") (build-system gnu-build-system) (arguments `(;; UCL 1.03 fails to build with newer C standards. - #:configure-flags '("CFLAGS=-std=gnu90"))) + #:configure-flags '("CFLAGS=-std=gnu90" + "--enable-shared" "--disable-static"))) (home-page "https://www.oberhumer.com/opensource/ucl/") (synopsis "Portable lossless data compression library") (description "UCL implements a number of compression algorithms that From d8963031afa3044fe5c52d04d174a209ca6bd618 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 18 Oct 2019 14:43:27 +0200 Subject: [PATCH 0176/1112] gnu: upx: Fix UCL input. UCL is a runtime dependency, and thus should not be a native input. * gnu/packages/compression.scm (upx)[native-inputs]: Move UCL from here ... [inputs]: ... to here. --- gnu/packages/compression.scm | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm index ffe9279345d..6279c929de6 100644 --- a/gnu/packages/compression.scm +++ b/gnu/packages/compression.scm @@ -1928,9 +1928,11 @@ decompression is a little bit slower.") "08anybdliqsbsl6x835iwzljahnm9i7v26icdjkcv33xmk6p5vw1")) (patches (search-patches "upx-fix-CVE-2017-15056.patch")))) (build-system gnu-build-system) - (native-inputs `(("perl" ,perl) - ("ucl" ,ucl))) - (inputs `(("zlib" ,zlib))) + (native-inputs + `(("perl" ,perl))) + (inputs + `(("ucl" ,ucl) + ("zlib" ,zlib))) (arguments `(#:make-flags (list "all" From dabcfc6de29032ea52d1cb54163a783f7e480167 Mon Sep 17 00:00:00 2001 From: Tanguy Le Carrour Date: Mon, 14 Oct 2019 13:43:20 +0200 Subject: [PATCH 0177/1112] gnu: Add httpie. * gnu/packages/python-web.scm (httpie): New variable. Signed-off-by: Oleg Pykhalov --- gnu/packages/python-web.scm | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm index 5c9da7c89da..752d1207828 100644 --- a/gnu/packages/python-web.scm +++ b/gnu/packages/python-web.scm @@ -30,6 +30,7 @@ ;;; Copyright © 2019 Vagrant Cascadian ;;; Copyright © 2019 Brendan Tildesley ;;; Copyright © 2019 Pierre Langlois +;;; Copyright © 2019 Tanguy Le Carrour ;;; ;;; This file is part of GNU Guix. ;;; @@ -303,6 +304,34 @@ other HTTP libraries.") (define-public python2-httplib2 (package-with-python2 python-httplib2)) +(define-public httpie + (package + (name "httpie") + (version "1.0.3") + (source + (origin + (method url-fetch) + (uri (pypi-uri "httpie" version)) + (sha256 + (base32 + "103fcigpxf4nqmrdqjnyz7d9n4n16906slwmmqqc0gkxv8hnw6vd")))) + (build-system python-build-system) + (arguments + ;; The tests attempt to access external web servers, so we cannot run them. + '(#:tests? #f)) + (propagated-inputs + `(("python-colorama" ,python-colorama) + ("python-pygments" ,python-pygments) + ("python-requests" ,python-requests))) + (home-page "https://httpie.org/") + (synopsis "cURL-like tool for humans") + (description + "A command line HTTP client with an intuitive UI, JSON support, +syntax highlighting, wget-like downloads, plugins, and more. It consists of +a single http command designed for painless debugging and interaction with +HTTP servers, RESTful APIs, and web services.") + (license license:bsd-3))) + (define-public python-html2text (package (name "python-html2text") From 664692c6fc240e8e65c5435f373a9b31087653f0 Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Fri, 18 Oct 2019 18:48:28 +0100 Subject: [PATCH 0178/1112] gnu: guix-data-service: Update to 0.0.1-4.5e2bc7c. * gnu/packages/web.scm (guix-data-service): Update to 0.0.1-4.5e2bc7c. --- gnu/packages/web.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index f84214b8be7..5487eb2e71e 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -4028,8 +4028,8 @@ CDF, Atom 0.3, and Atom 1.0 feeds.") (package-with-python2 python-feedparser)) (define-public guix-data-service - (let ((commit "8019d2e6878908f40cb6b047f60d2e4fd3c6712e") - (revision "3")) + (let ((commit "5e2bc7c6e920e1542ab8fde39dbddca443a7cbc8") + (revision "4")) (package (name "guix-data-service") (version (string-append "0.0.1-" revision "." (string-take commit 7))) @@ -4041,7 +4041,7 @@ CDF, Atom 0.3, and Atom 1.0 feeds.") (file-name (git-file-name name version)) (sha256 (base32 - "06xv43az1aklrdb5y0if17xdqc80qnfdlyjiww8zmv4m3qnvj607")))) + "0awfvps7k9bpg3gpgc93y401g7pjabx7mr9960vigad8vddhixqi")))) (build-system gnu-build-system) (arguments '(#:tests? #f ; TODO Tests require PostgreSQL From 195b18b58e86273675b7df5414abbf1a7ea0b6ef Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 18 Oct 2019 18:45:45 +0200 Subject: [PATCH 0179/1112] gnu: bowtie1: Update to 1.2.3. * gnu/packages/bioinformatics.scm (bowtie1): Update to 1.2.3. --- gnu/packages/bioinformatics.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 5f57a59b06b..4e6e34a900d 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -1556,14 +1556,14 @@ gapped, local, and paired-end alignment modes.") (define-public bowtie1 (package (name "bowtie1") - (version "1.2.2") + (version "1.2.3") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/bowtie-bio/bowtie/" - version "/bowtie-" version "-src.zip")) + version "/bowtie-src-x86_64.zip")) (sha256 (base32 - "1jl2cj9bz8lwz8dwnxbycn8yp8g4kky62fkcxifyf1ri0y6n2vc0")) + "0vmiqdhc9dzyfy9sh6vgi7k9xy2hiw8g87vbamnc6cgpm179zsa4")) (modules '((guix build utils))) (snippet '(substitute* "Makefile" From b62780d9f98ebb264edefad1a0c94601389898e6 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 18 Oct 2019 18:46:40 +0200 Subject: [PATCH 0180/1112] gnu: r-rsamtools: Update to 2.0.3. * gnu/packages/bioinformatics.scm (r-rsamtools): Update to 2.0.3. --- gnu/packages/bioinformatics.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 4e6e34a900d..a373cc20fa0 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -7731,13 +7731,13 @@ biological sequences or sets of sequences.") (define-public r-rsamtools (package (name "r-rsamtools") - (version "2.0.2") + (version "2.0.3") (source (origin (method url-fetch) (uri (bioconductor-uri "Rsamtools" version)) (sha256 (base32 - "188k5g40lbli7dxr96hldyvg9r9hmlbh2fp0qs5nnd12b8zbf338")))) + "03qfpaqbffirpnby88mv6h45njfapli28crdvg35h2zi2jkkmhvp")))) (properties `((upstream-name . "Rsamtools"))) (build-system r-build-system) From b9f39ac986a8e655b384efafaf14ccb5aa9bc45c Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 18 Oct 2019 19:23:44 +0200 Subject: [PATCH 0181/1112] gnu: r-mlinterfaces: Update to 1.64.1. * gnu/packages/bioconductor.scm (r-mlinterfaces): Update to 1.64.1. --- gnu/packages/bioconductor.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/bioconductor.scm b/gnu/packages/bioconductor.scm index 21875721172..cf5097a74e3 100644 --- a/gnu/packages/bioconductor.scm +++ b/gnu/packages/bioconductor.scm @@ -3484,14 +3484,14 @@ profiles (GO and KEGG) of gene and gene clusters.") (define-public r-mlinterfaces (package (name "r-mlinterfaces") - (version "1.64.0") + (version "1.64.1") (source (origin (method url-fetch) (uri (bioconductor-uri "MLInterfaces" version)) (sha256 (base32 - "0zqvxmvbkig3cc4r5k405s53d7y5ccvrf8kf5j6v8s1kkrklai4j")))) + "1c1hciwy37zpr5bzdjj2xxx2r4jdfmr5w0zmg010lm2985z41gqh")))) (properties `((upstream-name . "MLInterfaces"))) (build-system r-build-system) (propagated-inputs From be0af9cc8bc7d23013906fd769187d58d36c4db3 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 18 Oct 2019 19:23:54 +0200 Subject: [PATCH 0182/1112] gnu: r-rhtslib: Update to 1.16.3. * gnu/packages/bioinformatics.scm (r-rhtslib): Update to 1.16.3. --- gnu/packages/bioinformatics.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index a373cc20fa0..b23f87bca63 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -8283,14 +8283,14 @@ secondary structure and comparative analysis in R.") (define-public r-rhtslib (package (name "r-rhtslib") - (version "1.16.2") + (version "1.16.3") (source (origin (method url-fetch) (uri (bioconductor-uri "Rhtslib" version)) (sha256 (base32 - "07qaqj2hypmrg40m3pci082bzar6wi10dh77r4a8x74dfppcwdzf")))) + "1lmrfr32nrz36abn440kvzzck53y2320xjxqzs2jw7m2a9h3ryak")))) (properties `((upstream-name . "Rhtslib"))) (build-system r-build-system) ;; Without this a temporary directory ends up in the Rhtslib.so binary, From 8c65e219f7e28bbc4207a61ebd01a13f0bc12b1e Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 18 Oct 2019 19:24:01 +0200 Subject: [PATCH 0183/1112] gnu: r-rhdf5: Update to 2.28.1. * gnu/packages/bioinformatics.scm (r-rhdf5): Update to 2.28.1. --- gnu/packages/bioinformatics.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index b23f87bca63..dfa223611a7 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -8571,13 +8571,13 @@ of gene-level counts.") (define-public r-rhdf5 (package (name "r-rhdf5") - (version "2.28.0") + (version "2.28.1") (source (origin (method url-fetch) (uri (bioconductor-uri "rhdf5" version)) (sha256 (base32 - "0y1w3cs7wg2b3jlkd6wyyz6626xg011nrg36si8gg371iqck9a1i")))) + "027cv1kh3xl66lrrahv2jgfmvgcwfpcj9dpgdj5fd9ybf5nyjcwb")))) (build-system r-build-system) (propagated-inputs `(("r-rhdf5lib" ,r-rhdf5lib))) From f0f73313e3c33e97c3fc290650a587af10282ff7 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 18 Oct 2019 19:24:07 +0200 Subject: [PATCH 0184/1112] gnu: r-keggrest: Update to 1.24.1. * gnu/packages/bioinformatics.scm (r-keggrest): Update to 1.24.1. --- gnu/packages/bioinformatics.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index dfa223611a7..d60e704a7ef 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -9705,14 +9705,14 @@ microarrays or GRanges for sequencing data.") (define-public r-keggrest (package (name "r-keggrest") - (version "1.24.0") + (version "1.24.1") (source (origin (method url-fetch) (uri (bioconductor-uri "KEGGREST" version)) (sha256 (base32 - "1yjrpbm5zfg0h3nb5gg06q2f19ydbhjqwi0jb6q3p8dyrgww9mqp")))) + "0yxp3iajdy61q6mjgp1nxdgmf2yb58cvqmdgab7lqxr0ky1wkfkr")))) (properties `((upstream-name . "KEGGREST"))) (build-system r-build-system) (propagated-inputs From 86d5ab8bf48af8d38617892ec7de218300deb267 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 18 Oct 2019 19:24:14 +0200 Subject: [PATCH 0185/1112] gnu: r-ensembldb: Update to 2.8.1. * gnu/packages/bioinformatics.scm (r-ensembldb): Update to 2.8.1. --- gnu/packages/bioinformatics.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index d60e704a7ef..94e9c6b415a 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -9852,14 +9852,14 @@ originally made available by Holmes, Harris, and Quince, 2012, PLoS ONE 7(2): (define-public r-ensembldb (package (name "r-ensembldb") - (version "2.8.0") + (version "2.8.1") (source (origin (method url-fetch) (uri (bioconductor-uri "ensembldb" version)) (sha256 (base32 - "09s5g9xm9m8mqvzk6pkp9fyhx3zyb4p8yziz49mhfji5n35nydjr")))) + "103z902104ljdp6s9y2dmgrl5wkdz8vvlbbqgk8r4drkg7m3d4lj")))) (build-system r-build-system) (propagated-inputs `(("r-annotationdbi" ,r-annotationdbi) From 5d23d9b1c52cac0d4d9efcda00cc9d3db7147d46 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 18 Oct 2019 19:24:20 +0200 Subject: [PATCH 0186/1112] gnu: r-ldblock: Update to 1.14.3. * gnu/packages/bioinformatics.scm (r-ldblock): Update to 1.14.3. --- gnu/packages/bioinformatics.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 94e9c6b415a..05f7b23210a 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -10188,14 +10188,14 @@ by Ernst and Kellis.") (define-public r-ldblock (package (name "r-ldblock") - (version "1.14.2") + (version "1.14.3") (source (origin (method url-fetch) (uri (bioconductor-uri "ldblock" version)) (sha256 (base32 - "0xx04cghx6ads1ackwnw3z0gf72qv461nznzmcnkgmp7w5n9m2af")))) + "154yvrvs8ik7ifcny1681cmqra0i163j00k4vbvkvl701p5gsp5q")))) (build-system r-build-system) (propagated-inputs `(("r-biocgenerics" ,r-biocgenerics) From a15c68bfac5b81594b712a394f8a46df7c09d149 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 18 Oct 2019 19:24:26 +0200 Subject: [PATCH 0187/1112] gnu: r-gwascat: Update to 2.16.1. * gnu/packages/bioinformatics.scm (r-gwascat): Update to 2.16.1. --- gnu/packages/bioinformatics.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 05f7b23210a..999e02783fb 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -10322,14 +10322,14 @@ with your data.") (define-public r-gwascat (package (name "r-gwascat") - (version "2.16.0") + (version "2.16.1") (source (origin (method url-fetch) (uri (bioconductor-uri "gwascat" version)) (sha256 (base32 - "0akb36mrybmxbb1bc9kgxbnj3cdypfylj3yzrmhjwqxml03mg61i")))) + "0d4krqx8zjniwp6k2vzwqgfws39w03x51kqiwd5dks1fp05sw4xh")))) (build-system r-build-system) (propagated-inputs `(("r-annotationdbi" ,r-annotationdbi) From ddebbee6d7674a4c3e9d259175ac01f31d9249d0 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 18 Oct 2019 19:24:32 +0200 Subject: [PATCH 0188/1112] gnu: r-hdf5array: Update to 1.12.3. * gnu/packages/bioinformatics.scm (r-hdf5array): Update to 1.12.3. --- gnu/packages/bioinformatics.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 999e02783fb..616289d2031 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -10428,14 +10428,14 @@ provided.") (define-public r-hdf5array (package (name "r-hdf5array") - (version "1.12.2") + (version "1.12.3") (source (origin (method url-fetch) (uri (bioconductor-uri "HDF5Array" version)) (sha256 (base32 - "0afradisrr5gn0lf2kxjw55vdm3lm9mlgx53qlr9r40c1hrydpf5")))) + "1037j6f0yyw4cf6p051810qamxi1sji5w4d0fgq5lyzyl5d36fm6")))) (properties `((upstream-name . "HDF5Array"))) (build-system r-build-system) (inputs From b847b06dc3f045ceccf12967997155c459b21880 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 18 Oct 2019 19:24:38 +0200 Subject: [PATCH 0189/1112] gnu: r-rhdf5lib: Update to 1.6.3. * gnu/packages/bioinformatics.scm (r-rhdf5lib): Update to 1.6.3. --- gnu/packages/bioinformatics.scm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 616289d2031..610b35cc618 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -10457,14 +10457,14 @@ block processing.") (define-public r-rhdf5lib (package (name "r-rhdf5lib") - (version "1.6.1") + (version "1.6.3") (source (origin (method url-fetch) (uri (bioconductor-uri "Rhdf5lib" version)) (sha256 (base32 - "0niz9dh66fcwbvqpkpsdlz9d06kwi3kfh45dhk3qz9g9qqyiakr1")) + "0q68n5jm7w99paibj8vkxbdksbyrxilzwc9dkp3zf8zrdc5qfxzy")) (modules '((guix build utils))) (snippet '(begin @@ -10510,8 +10510,8 @@ block processing.") (("HDF5_CXX_INCLUDE=.*") "HDF5_CXX_INCLUDE=./hdf5/c++/src\n") (("HDF5_INCLUDE=.*") "HDF5_INCLUDE=./hdf5/src\n") ;; szip is non-free software - (("cp \\$\\{SZIP_LIB\\}.*") "") - (("\\$\\{USER_LIB_DIR\\}libsz.a") ""))) + (("cp \"\\$\\{SZIP_LIB\\}.*") "") + (("PKG_LIBS =.*") "PKG_LIBS = -lz -lhdf5\n"))) #t))))) (inputs `(("zlib" ,zlib))) From 07b69a0c8954026efaace64b0959b3cfb66ada4d Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 18 Oct 2019 19:24:44 +0200 Subject: [PATCH 0190/1112] gnu: r-htmlwidgets: Update to 1.5.1. * gnu/packages/cran.scm (r-htmlwidgets): Update to 1.5.1. --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 77dd93aba9a..cb15f39f715 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -546,13 +546,13 @@ directory.") (define-public r-htmlwidgets (package (name "r-htmlwidgets") - (version "1.5") + (version "1.5.1") (source (origin (method url-fetch) (uri (cran-uri "htmlwidgets" version)) (sha256 (base32 - "1h2sj5h9vcssb73nz63gmw5bajs73m9q807fsypvr621gb1s124i")))) + "10fp306l1nybkah6jrlrqwwdb6zvklbddp8i3w9v9naj8la5jbnl")))) (build-system r-build-system) (propagated-inputs `(("r-htmltools" ,r-htmltools) From 62a6283519fcf2178011b6e7b5dc70bb0bf423cc Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 18 Oct 2019 19:24:50 +0200 Subject: [PATCH 0191/1112] gnu: r-stringdist: Update to 0.9.5.3. * gnu/packages/cran.scm (r-stringdist): Update to 0.9.5.3. --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index cb15f39f715..aea0b42ca26 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -3088,14 +3088,14 @@ color labels, layout, etc.") (define-public r-stringdist (package (name "r-stringdist") - (version "0.9.5.2") + (version "0.9.5.3") (source (origin (method url-fetch) (uri (cran-uri "stringdist" version)) (sha256 (base32 - "0nw8c317qkfq63pr0prl0hx522ddfq4cbgixb5r4pq3fxk9z303l")))) + "1vbhn6qwj3bzplhq06bw1yqqq1qpf1zinnj27cr7pf1nqsbyx2nq")))) (build-system r-build-system) (home-page "https://github.com/markvanderloo/stringdist") (synopsis "Approximate string matching and string distance functions") From e183a632ab84be97f7265be9c68b885f6be1d15f Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 18 Oct 2019 19:24:57 +0200 Subject: [PATCH 0192/1112] gnu: r-insight: Update to 0.6.0. * gnu/packages/cran.scm (r-insight): Update to 0.6.0. --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index aea0b42ca26..6924a5bcf19 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -6176,14 +6176,14 @@ other add-on packages.") (define-public r-insight (package (name "r-insight") - (version "0.5.0") + (version "0.6.0") (source (origin (method url-fetch) (uri (cran-uri "insight" version)) (sha256 (base32 - "0lrh2l9n2zd9n3zzknsxz6nlasnrayx3bplxlz7m616g56gr5nfp")))) + "1izqh4j0gzyk25cga67gs0i6rl0j471h5y2c3y1maz79r32fs7fd")))) (build-system r-build-system) (home-page "https://easystats.github.io/insight/") (synopsis "Easy access to model information for various model objects") From e22653bf120f05238b3acec66cb498c39c53f746 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 18 Oct 2019 19:25:02 +0200 Subject: [PATCH 0193/1112] gnu: r-biocmanager: Update to 1.30.8. * gnu/packages/cran.scm (r-biocmanager): Update to 1.30.8. --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 6924a5bcf19..700bb7b5503 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -8996,14 +8996,14 @@ netCDF files.") (define-public r-biocmanager (package (name "r-biocmanager") - (version "1.30.4") + (version "1.30.8") (source (origin (method url-fetch) (uri (cran-uri "BiocManager" version)) (sha256 (base32 - "0kxs76pixk1d2lpvkyrq6nnvv1rqf55ph5f7igkadyyqirf3y2ah")))) + "0pqgb7j4aqpcp3bapl313rmyxxj3j96s9csip4f65444gjy5r2x2")))) (properties `((upstream-name . "BiocManager"))) (build-system r-build-system) (home-page "https://cran.r-project.org/web/packages/BiocManager/") From f6f76c932c4f22133c5602d25b5396e2840db3fd Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 18 Oct 2019 19:25:08 +0200 Subject: [PATCH 0194/1112] gnu: r-strucchange: Update to 1.5-2. * gnu/packages/cran.scm (r-strucchange): Update to 1.5-2. --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 700bb7b5503..de150caf5df 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -10215,14 +10215,14 @@ decomposition is shared between datasets.") (define-public r-strucchange (package (name "r-strucchange") - (version "1.5-1") + (version "1.5-2") (source (origin (method url-fetch) (uri (cran-uri "strucchange" version)) (sha256 (base32 - "0cdgvl6kphm2i59bmnppn1y3kv65ml111bk7yzpcx7vv8wh2w3kl")))) + "1y022363a4pp0mnji91sjh1qiyspkh09sybqwj03r9pmwrd7q93x")))) (build-system r-build-system) (propagated-inputs `(("r-sandwich" ,r-sandwich) From f9598c048585fd72513159f8e62507a8d07f5b53 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 18 Oct 2019 19:25:13 +0200 Subject: [PATCH 0195/1112] gnu: r-units: Update to 0.6-5. * gnu/packages/cran.scm (r-units): Update to 0.6-5. --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index de150caf5df..27d44d69183 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -12697,14 +12697,14 @@ utilities for sequence data management under the ACNUC system.") (define-public r-units (package (name "r-units") - (version "0.6-4") + (version "0.6-5") (source (origin (method url-fetch) (uri (cran-uri "units" version)) (sha256 (base32 - "1jz0mzd78sdfxkhqw041ji50hmhjk2ha55i31yjvz35nsw30lwi5")))) + "02nls8m0r1r7kljs4x35naz3szq62hyqyd5vracf1xwi1kz5kdsh")))) (build-system r-build-system) (inputs `(("udunits" ,udunits))) From 970eab391a594aa8f10d153026dad43a96e773c5 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 18 Oct 2019 19:25:20 +0200 Subject: [PATCH 0196/1112] gnu: r-classint: Update to 0.4-2. * gnu/packages/cran.scm (r-classint): Update to 0.4-2. --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 27d44d69183..822b403fc87 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -12723,14 +12723,14 @@ classes.") (define-public r-classint (package (name "r-classint") - (version "0.4-1") + (version "0.4-2") (source (origin (method url-fetch) (uri (cran-uri "classInt" version)) (sha256 (base32 - "00q1bpgblrldckn1rk166q1b0hgap2sjjyfmfcyh6ydk6y73ziir")))) + "0w980hrw8sgfdfyd5dsimalq7gwhvqm7507abk7k363pvgks23dv")))) (properties `((upstream-name . "classInt"))) (build-system r-build-system) (propagated-inputs From 67b7a379f0cde105bb7cbc4d6806ec52d0080e64 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 18 Oct 2019 19:25:26 +0200 Subject: [PATCH 0197/1112] gnu: r-styler: Update to 1.2.0. * gnu/packages/cran.scm (r-styler): Update to 1.2.0. --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 822b403fc87..b833894cad1 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -14542,14 +14542,14 @@ batch correction, and data correction.") (define-public r-styler (package (name "r-styler") - (version "1.1.1") + (version "1.2.0") (source (origin (method url-fetch) (uri (cran-uri "styler" version)) (sha256 (base32 - "1k660lpjvd64gnf6bndcb1cq3qxsvik928kcn6271zmkhja5rgyb")))) + "0rdbz60x8bymis6r6188ia1y0ip3nhf5y363i4cmakr618irjab9")))) (build-system r-build-system) (propagated-inputs `(("r-backports" ,r-backports) From 1f9fcd3eb4c2ddea47ad5f77f880be04a7c9abef Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 18 Oct 2019 19:25:33 +0200 Subject: [PATCH 0198/1112] gnu: r-kernsmooth: Update to 2.23-16. * gnu/packages/statistics.scm (r-kernsmooth): Update to 2.23-16. [inputs]: Move gfortran from here... [native-inputs]: ...to here. --- gnu/packages/statistics.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index 3c69901a0a1..b4281ea8ca3 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -523,17 +523,17 @@ for reading and writing some dBase files.") (define-public r-kernsmooth (package (name "r-kernsmooth") - (version "2.23-15") + (version "2.23-16") (source (origin (method url-fetch) (uri (cran-uri "KernSmooth" version)) (sha256 (base32 - "1xhha8kw10jv8pv8b61hb5in9qiw3r2a9kdji3qlm991s4zd4wlb")))) + "1acrkbdn3a74y4dndkcdl1njnpfqz7gk3bsz03g8lfj8l7z53hmq")))) (properties `((upstream-name . "KernSmooth"))) (build-system r-build-system) - (inputs + (native-inputs `(("gfortran" ,gfortran))) (home-page "https://cran.r-project.org/web/packages/KernSmooth") (synopsis "Functions for kernel smoothing") From 028f15f523b4f3431fcabf811dc7beadeb92ed2f Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 18 Oct 2019 19:25:51 +0200 Subject: [PATCH 0199/1112] gnu: r-gdtools: Update to 0.2.1. * gnu/packages/statistics.scm (r-gdtools): Update to 0.2.1. --- gnu/packages/statistics.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index b4281ea8ca3..b8d9da97e1e 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -1200,14 +1200,14 @@ agnes cluster diagrams.") (define-public r-gdtools (package (name "r-gdtools") - (version "0.2.0") + (version "0.2.1") (source (origin (method url-fetch) (uri (cran-uri "gdtools" version)) (sha256 (base32 - "1mvpkp8cj30fwd4bwlz96x3cff7yzfbfz7iswmf77zl0a6122inh")))) + "1aax50wyrs4336zpf247l8wmp4spab2n70msziy1ip4gbjn26wa1")))) (build-system r-build-system) (native-inputs `(("pkg-config" ,pkg-config))) From 258214567123fbd948116aada8bbd6f321239844 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 18 Oct 2019 19:26:00 +0200 Subject: [PATCH 0200/1112] gnu: r-rcpparmadillo: Update to 0.9.800.1.0. * gnu/packages/statistics.scm (r-rcpparmadillo): Update to 0.9.800.1.0. --- gnu/packages/statistics.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index b8d9da97e1e..9ba7f150bc7 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -2610,13 +2610,13 @@ well as additional utilities such as panel and axis annotation functions.") (define-public r-rcpparmadillo (package (name "r-rcpparmadillo") - (version "0.9.700.2.0") + (version "0.9.800.1.0") (source (origin (method url-fetch) (uri (cran-uri "RcppArmadillo" version)) (sha256 (base32 - "0g25w32dnqrvhnri8x4yxqawxd8qhn7w3m8d29nxxy0gybx3y8x9")))) + "1frg7y3fb571jf9dp1kkc75x0nxvw8j3qccsrm1brg5l1z2jmlaz")))) (properties `((upstream-name . "RcppArmadillo"))) (build-system r-build-system) ;; All needed for vignettes From 300837898fa6b1f77d19853e85c08c5cab501930 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 18 Oct 2019 19:26:08 +0200 Subject: [PATCH 0201/1112] gnu: r-r-rsp: Update to 0.43.2. * gnu/packages/statistics.scm (r-r-rsp): Update to 0.43.2. --- gnu/packages/statistics.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index 9ba7f150bc7..dff5f4f649b 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -3605,13 +3605,13 @@ persistent (on the file system).") (define-public r-r-rsp (package (name "r-r-rsp") - (version "0.43.1") + (version "0.43.2") (source (origin (method url-fetch) (uri (cran-uri "R.rsp" version)) (sha256 (base32 - "0i01p8jxc4j4zl2v2ykvvpfnm5hv650zj1wi1dh8hq0c98xi2yfr")))) + "128zqyvbq9hm9gy86jzhj609lkfw57vr24mdxgh46ncmx66ag4gj")))) (properties `((upstream-name . "R.rsp"))) (build-system r-build-system) (propagated-inputs From c37c8efb2b7a580847a9318bb9a66d83156fb0fc Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 18 Oct 2019 19:26:14 +0200 Subject: [PATCH 0202/1112] gnu: r-purrr: Update to 0.3.3. * gnu/packages/statistics.scm (r-purrr): Update to 0.3.3. --- gnu/packages/statistics.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index dff5f4f649b..4b1ba98e2f3 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -3818,14 +3818,14 @@ It uses and relies on grid graphics and formal (S4) classes and methods.") (define-public r-purrr (package (name "r-purrr") - (version "0.3.2") + (version "0.3.3") (source (origin (method url-fetch) (uri (cran-uri "purrr" version)) (sha256 (base32 - "0ccs78a2ylr60f3z0f7iywi8h1pwr8mz4ga78bs4pwgnwkclvir7")))) + "17lyys7dxjrwsfkq7a7hw65iy3qn3pp1sn70srdy64jf8adahc8g")))) (build-system r-build-system) (propagated-inputs `(("r-magrittr" ,r-magrittr) From 475dac08a0523e699ee1a69a31f0811ae35b0f81 Mon Sep 17 00:00:00 2001 From: Vagrant Cascadian Date: Wed, 16 Oct 2019 22:29:21 -0700 Subject: [PATCH 0203/1112] gnu: arm-trusted-firmware: Add backported patches to disable .bin generation for rockchip platforms. * gnu/packages/patches/arm-trusted-firmware-optional-bin-generation.patch: New patch. * gnu/packages/patches/arm-trusted-firmware-rockchip-disable-binary.patch: New patch. * gnu/packages/firmware (make-arm-trusted-firmware): Add patches. * gnu/local.mk (dist_patch_DATA): Add patches. Signed-off-by: Vagrant Cascadian --- gnu/local.mk | 2 + gnu/packages/firmware.scm | 3 + ...ted-firmware-optional-bin-generation.patch | 86 +++++++++++++++++++ ...ted-firmware-rockchip-disable-binary.patch | 73 ++++++++++++++++ 4 files changed, 164 insertions(+) create mode 100644 gnu/packages/patches/arm-trusted-firmware-optional-bin-generation.patch create mode 100644 gnu/packages/patches/arm-trusted-firmware-rockchip-disable-binary.patch diff --git a/gnu/local.mk b/gnu/local.mk index 3fbfe0f2bb3..83fb88c4386 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -694,6 +694,8 @@ dist_patch_DATA = \ %D%/packages/patches/antlr3-3_1-fix-java8-compilation.patch \ %D%/packages/patches/antlr3-3_3-fix-java8-compilation.patch \ %D%/packages/patches/apr-skip-getservbyname-test.patch \ + %D%/packages/patches/arm-trusted-firmware-optional-bin-generation.patch \ + %D%/packages/patches/arm-trusted-firmware-rockchip-disable-binary.patch \ %D%/packages/patches/aspell-default-dict-dir.patch \ %D%/packages/patches/aspell-gcc-compat.patch \ %D%/packages/patches/ath9k-htc-firmware-binutils.patch \ diff --git a/gnu/packages/firmware.scm b/gnu/packages/firmware.scm index c473ccd9207..3c2b3590e10 100644 --- a/gnu/packages/firmware.scm +++ b/gnu/packages/firmware.scm @@ -389,6 +389,9 @@ Virtual Machines. OVMF contains a sample UEFI firmware for QEMU and KVM.") (url "https://github.com/ARM-software/arm-trusted-firmware.git") (commit (string-append "v" version)))) (file-name (git-file-name "arm-trusted-firmware" version)) + (patches (search-patches + "arm-trusted-firmware-optional-bin-generation.patch" + "arm-trusted-firmware-rockchip-disable-binary.patch")) (sha256 (base32 "1gy5qskrjy8n3kxdcm1dx8b45l5b75n0pm8pq80wl6xic1ycy24r")))) diff --git a/gnu/packages/patches/arm-trusted-firmware-optional-bin-generation.patch b/gnu/packages/patches/arm-trusted-firmware-optional-bin-generation.patch new file mode 100644 index 00000000000..b2b8a12e1dd --- /dev/null +++ b/gnu/packages/patches/arm-trusted-firmware-optional-bin-generation.patch @@ -0,0 +1,86 @@ +From b02de4cb14ee9c2bfff53d36f0b7ec6a2065bc94 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Christoph=20M=C3=BCllner?= +Date: Wed, 24 Apr 2019 09:45:30 +0200 +Subject: [PATCH 1/2] build_macros: Add mechanism to prevent bin generation. +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +On certain platforms it does not make sense to generate +TF-A binary images. For example a platform could make use of serveral +memory areas, which are non-continuous and the resulting binary +therefore would suffer from the padding-bytes. +Typically these platforms use the ELF image. + +This patch introduces a variable DISABLE_BIN_GENERATION, which +can be set to '1' in the platform makefile to prevent the binary +generation. + +Signed-off-by: Christoph Müllner +Change-Id: I62948e88bab685bb055fe6167d9660d14e604462 +--- + docs/user-guide.rst | 4 ++++ + make_helpers/build_macros.mk | 9 +++++++++ + make_helpers/defaults.mk | 3 +++ + 3 files changed, 16 insertions(+) + +diff --git a/docs/user-guide.rst b/docs/user-guide.rst +index 0848769b3..19919f112 100644 +--- a/docs/user-guide.rst ++++ b/docs/user-guide.rst +@@ -369,6 +369,10 @@ Common build options + - ``DEBUG``: Chooses between a debug and release build. It can take either 0 + (release) or 1 (debug) as values. 0 is the default. + ++- ``DISABLE_BIN_GENERATION``: Boolean option to disable the generation ++ of the binary image. If set to 1, then only the ELF image is built. ++ 0 is the default. ++ + - ``DYN_DISABLE_AUTH``: Provides the capability to dynamically disable Trusted + Board Boot authentication at runtime. This option is meant to be enabled only + for development platforms. ``TRUSTED_BOARD_BOOT`` flag must be set if this +diff --git a/make_helpers/build_macros.mk b/make_helpers/build_macros.mk +index 5d33954ad..2d41b2db1 100644 +--- a/make_helpers/build_macros.mk ++++ b/make_helpers/build_macros.mk +@@ -438,6 +438,11 @@ else + --script $(LINKERFILE) $(BUILD_DIR)/build_message.o \ + $(OBJS) $(LDPATHS) $(LIBWRAPPER) $(LDLIBS) $(BL_LIBS) + endif ++ifeq ($(DISABLE_BIN_GENERATION),1) ++ @${ECHO_BLANK_LINE} ++ @echo "Built $$@ successfully" ++ @${ECHO_BLANK_LINE} ++endif + + $(DUMP): $(ELF) + $${ECHO} " OD $$@" +@@ -451,7 +456,11 @@ $(BIN): $(ELF) + @${ECHO_BLANK_LINE} + + .PHONY: bl$(1) ++ifeq ($(DISABLE_BIN_GENERATION),1) ++bl$(1): $(ELF) $(DUMP) ++else + bl$(1): $(BIN) $(DUMP) ++endif + + all: bl$(1) + +diff --git a/make_helpers/defaults.mk b/make_helpers/defaults.mk +index be84f7791..dc797ed1f 100644 +--- a/make_helpers/defaults.mk ++++ b/make_helpers/defaults.mk +@@ -62,6 +62,9 @@ DEBUG := 0 + # Build platform + DEFAULT_PLAT := fvp + ++# Disable the generation of the binary image (ELF only). ++DISABLE_BIN_GENERATION := 0 ++ + # Enable capability to disable authentication dynamically. Only meant for + # development platforms. + DYN_DISABLE_AUTH := 0 +-- +2.20.1 + diff --git a/gnu/packages/patches/arm-trusted-firmware-rockchip-disable-binary.patch b/gnu/packages/patches/arm-trusted-firmware-rockchip-disable-binary.patch new file mode 100644 index 00000000000..8819a7cfad1 --- /dev/null +++ b/gnu/packages/patches/arm-trusted-firmware-rockchip-disable-binary.patch @@ -0,0 +1,73 @@ +From 42383dcf7db5debb9e183c7c5631974a4c2f91ea Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Christoph=20M=C3=BCllner?= +Date: Wed, 24 Apr 2019 09:52:54 +0200 +Subject: [PATCH 2/2] rockchip: Disable binary generation for all SoCs. +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +All supported Rockchip SoCs (RK3288, RK3328, RK3368 and RK3399) +have non-continuous memory areas in the linker script with a huge +gap between them. This results in extremely padded binary images +with a size of about 4 GiB. + +E.g. on the RK3399 we have the following memory areas (and base addresses): +RAM (0x1000), SRAM (0xFF8C0000), and PMUSRAM (0xFF3B0000). + +Consumers of the TF-A project (e.g. coreboot or U-Boot) therefore +use the ELF image instead, which has a size of a few hundred kBs. + +In order to prevent the generation of a huge and useless file, +this patch disables the binary generation for all affected Rockchip +SoCs. + +Signed-off-by: Christoph Müllner +Change-Id: I4ac65bdf1e598c3e1a59507897d183aee9a36916 +--- + plat/rockchip/rk3328/platform.mk | 2 ++ + plat/rockchip/rk3368/platform.mk | 2 ++ + plat/rockchip/rk3399/platform.mk | 2 ++ + 3 files changed, 6 insertions(+) + +diff --git a/plat/rockchip/rk3328/platform.mk b/plat/rockchip/rk3328/platform.mk +index 18b1b9419..01c5af6a2 100644 +--- a/plat/rockchip/rk3328/platform.mk ++++ b/plat/rockchip/rk3328/platform.mk +@@ -8,6 +8,8 @@ RK_PLAT := plat/rockchip + RK_PLAT_SOC := ${RK_PLAT}/${PLAT} + RK_PLAT_COMMON := ${RK_PLAT}/common + ++DISABLE_BIN_GENERATION := 1 ++ + include lib/libfdt/libfdt.mk + + PLAT_INCLUDES := -Idrivers/arm/gic/common/ \ +diff --git a/plat/rockchip/rk3368/platform.mk b/plat/rockchip/rk3368/platform.mk +index d1315fc58..4ec36ce06 100644 +--- a/plat/rockchip/rk3368/platform.mk ++++ b/plat/rockchip/rk3368/platform.mk +@@ -8,6 +8,8 @@ RK_PLAT := plat/rockchip + RK_PLAT_SOC := ${RK_PLAT}/${PLAT} + RK_PLAT_COMMON := ${RK_PLAT}/common + ++DISABLE_BIN_GENERATION := 1 ++ + include lib/libfdt/libfdt.mk + + PLAT_INCLUDES := -I${RK_PLAT_COMMON}/ \ +diff --git a/plat/rockchip/rk3399/platform.mk b/plat/rockchip/rk3399/platform.mk +index 101359856..25c498da8 100644 +--- a/plat/rockchip/rk3399/platform.mk ++++ b/plat/rockchip/rk3399/platform.mk +@@ -8,6 +8,8 @@ RK_PLAT := plat/rockchip + RK_PLAT_SOC := ${RK_PLAT}/${PLAT} + RK_PLAT_COMMON := ${RK_PLAT}/common + ++DISABLE_BIN_GENERATION := 1 ++ + include lib/libfdt/libfdt.mk + + PLAT_INCLUDES := -I${RK_PLAT_COMMON}/ \ +-- +2.20.1 + From a90fd72bb03ae1644c19b5564e405abcc1086920 Mon Sep 17 00:00:00 2001 From: Vagrant Cascadian Date: Wed, 16 Oct 2019 23:58:51 -0700 Subject: [PATCH 0204/1112] gnu: arm-trusted-firmware: Disable HDCP support which depends on non-free binary blobs. * gnu/packages/firmware (make-arm-trusted-firmware)[source]: Add patch. [arguments] Add phase to remove binary blobs. * gnu/packages/patches/arm-trusted-firmware-disable-hdcp.patch: New patch. * gnu/local.mk (dist_patch_DATA): Add patch. Signed-off-by: Vagrant Cascadian --- gnu/local.mk | 1 + gnu/packages/firmware.scm | 9 +- .../arm-trusted-firmware-disable-hdcp.patch | 82 +++++++++++++++++++ 3 files changed, 91 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/arm-trusted-firmware-disable-hdcp.patch diff --git a/gnu/local.mk b/gnu/local.mk index 83fb88c4386..967d68c8271 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -694,6 +694,7 @@ dist_patch_DATA = \ %D%/packages/patches/antlr3-3_1-fix-java8-compilation.patch \ %D%/packages/patches/antlr3-3_3-fix-java8-compilation.patch \ %D%/packages/patches/apr-skip-getservbyname-test.patch \ + %D%/packages/patches/arm-trusted-firmware-disable-hdcp.patch \ %D%/packages/patches/arm-trusted-firmware-optional-bin-generation.patch \ %D%/packages/patches/arm-trusted-firmware-rockchip-disable-binary.patch \ %D%/packages/patches/aspell-default-dict-dir.patch \ diff --git a/gnu/packages/firmware.scm b/gnu/packages/firmware.scm index 3c2b3590e10..904ed8c5fa6 100644 --- a/gnu/packages/firmware.scm +++ b/gnu/packages/firmware.scm @@ -391,7 +391,8 @@ Virtual Machines. OVMF contains a sample UEFI firmware for QEMU and KVM.") (file-name (git-file-name "arm-trusted-firmware" version)) (patches (search-patches "arm-trusted-firmware-optional-bin-generation.patch" - "arm-trusted-firmware-rockchip-disable-binary.patch")) + "arm-trusted-firmware-rockchip-disable-binary.patch" + "arm-trusted-firmware-disable-hdcp.patch")) (sha256 (base32 "1gy5qskrjy8n3kxdcm1dx8b45l5b75n0pm8pq80wl6xic1ycy24r")))) @@ -400,6 +401,12 @@ Virtual Machines. OVMF contains a sample UEFI firmware for QEMU and KVM.") `(#:phases (modify-phases %standard-phases (delete 'configure) ; no configure script + ;; Remove binary blobs which do not contain source or proper license. + (add-after 'unpack 'remove-binary-blobs + (lambda _ + (for-each (lambda (file) + (delete-file file)) + (find-files "." ".*\\.bin$")))) (replace 'install (lambda* (#:key outputs #:allow-other-keys) (let ((out (assoc-ref outputs "out")) diff --git a/gnu/packages/patches/arm-trusted-firmware-disable-hdcp.patch b/gnu/packages/patches/arm-trusted-firmware-disable-hdcp.patch new file mode 100644 index 00000000000..edae2352d91 --- /dev/null +++ b/gnu/packages/patches/arm-trusted-firmware-disable-hdcp.patch @@ -0,0 +1,82 @@ +From c7f0cd054578152a250f784bf82c8ca53aa91a02 Mon Sep 17 00:00:00 2001 +From: Ziyuan Xu +Date: Tue, 8 Oct 2019 10:27:05 +0800 +Subject: [PATCH] plat/rockchip: cliam a macro to enable hdcp feature for DP + +HDCP is using a binary driver, add macro PLAT_RK_DP_HDCP to make it as +an option. + +Change-Id: I54ef1a3635a28e8ae56654bd1e91dfe011520a7f +Signed-off-by: Ziyuan Xu +Signed-off-by: Kever Yang +--- + plat/rockchip/rk3399/plat_sip_calls.c | 4 ++++ + plat/rockchip/rk3399/platform.mk | 11 +++++++---- + 2 files changed, 11 insertions(+), 4 deletions(-) + +diff --git a/plat/rockchip/rk3399/plat_sip_calls.c b/plat/rockchip/rk3399/plat_sip_calls.c +index c2cc5b11c..ce8476c9a 100644 +--- a/plat/rockchip/rk3399/plat_sip_calls.c ++++ b/plat/rockchip/rk3399/plat_sip_calls.c +@@ -56,17 +56,21 @@ uintptr_t rockchip_plat_sip_handler(uint32_t smc_fid, + void *handle, + u_register_t flags) + { ++#ifdef PLAT_RK_DP_HDCP + uint64_t x5, x6; ++#endif + + switch (smc_fid) { + case RK_SIP_DDR_CFG: + SMC_RET1(handle, ddr_smc_handler(x1, x2, x3, x4)); ++#ifdef PLAT_RK_DP_HDCP + case RK_SIP_HDCP_CONTROL: + SMC_RET1(handle, dp_hdcp_ctrl(x1)); + case RK_SIP_HDCP_KEY_DATA64: + x5 = read_ctx_reg(get_gpregs_ctx(handle), CTX_GPREG_X5); + x6 = read_ctx_reg(get_gpregs_ctx(handle), CTX_GPREG_X6); + SMC_RET1(handle, dp_hdcp_store_key(x1, x2, x3, x4, x5, x6)); ++#endif + default: + ERROR("%s: unhandled SMC (0x%x)\n", __func__, smc_fid); + SMC_RET1(handle, SMC_UNK); +diff --git a/plat/rockchip/rk3399/platform.mk b/plat/rockchip/rk3399/platform.mk +index 25c498da8..01577492d 100644 +--- a/plat/rockchip/rk3399/platform.mk ++++ b/plat/rockchip/rk3399/platform.mk +@@ -57,7 +57,6 @@ BL31_SOURCES += ${RK_GIC_SOURCES} \ + ${RK_PLAT_COMMON}/aarch64/platform_common.c \ + ${RK_PLAT_COMMON}/rockchip_sip_svc.c \ + ${RK_PLAT_SOC}/plat_sip_calls.c \ +- ${RK_PLAT_SOC}/drivers/dp/cdn_dp.c \ + ${RK_PLAT_SOC}/drivers/gpio/rk3399_gpio.c \ + ${RK_PLAT_SOC}/drivers/pmu/pmu.c \ + ${RK_PLAT_SOC}/drivers/pmu/pmu_fw.c \ +@@ -89,17 +88,21 @@ $(eval $(call add_define,RK3399M0FW)) + RK3399M0PMUFW=${BUILD_M0}/${PLAT_M0}pmu.bin + $(eval $(call add_define,RK3399M0PMUFW)) + ++ifdef PLAT_RK_DP_HDCP ++BL31_SOURCES += ${RK_PLAT_SOC}/drivers/dp/cdn_dp.c ++ + HDCPFW=${RK_PLAT_SOC}/drivers/dp/hdcp.bin + $(eval $(call add_define,HDCPFW)) + ++${BUILD_PLAT}/bl31/cdn_dp.o: CCACHE_EXTRAFILES=$(HDCPFW) ++${RK_PLAT_SOC}/drivers/dp/cdn_dp.c: $(HDCPFW) ++endif ++ + # CCACHE_EXTRAFILES is needed because ccache doesn't handle .incbin + export CCACHE_EXTRAFILES + ${BUILD_PLAT}/bl31/pmu_fw.o: CCACHE_EXTRAFILES=$(RK3399M0FW):$(RK3399M0PMUFW) + ${RK_PLAT_SOC}/drivers/pmu/pmu_fw.c: $(RK3399M0FW) + +-${BUILD_PLAT}/bl31/cdn_dp.o: CCACHE_EXTRAFILES=$(HDCPFW) +-${RK_PLAT_SOC}/drivers/dp/cdn_dp.c: $(HDCPFW) +- + $(eval $(call MAKE_PREREQ_DIR,${BUILD_M0},${BUILD_PLAT})) + .PHONY: $(RK3399M0FW) + $(RK3399M0FW): | ${BUILD_M0} +-- +2.20.1 + From 074554a2891830900e2ff9335799416723094fcb Mon Sep 17 00:00:00 2001 From: Caliph Nomble Date: Mon, 14 Oct 2019 02:01:36 -0400 Subject: [PATCH 0205/1112] gnu: Add arm-trusted-firmware-rk3399. * gnu/packages/bootloaders.scm (arm-trusted-firmware-rk3399): New exported variable. * gnu/packages/firmware (make-arm-trusted-firmware): Also install .elf files. Adjusted-by: Vagrant Cascadian Signed-off-by: Caliph Nomble Signed-off-by: Vagrant Cascadian --- gnu/packages/firmware.scm | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/gnu/packages/firmware.scm b/gnu/packages/firmware.scm index 904ed8c5fa6..bfa129aea50 100644 --- a/gnu/packages/firmware.scm +++ b/gnu/packages/firmware.scm @@ -410,7 +410,7 @@ Virtual Machines. OVMF contains a sample UEFI firmware for QEMU and KVM.") (replace 'install (lambda* (#:key outputs #:allow-other-keys) (let ((out (assoc-ref outputs "out")) - (bin (find-files "." ".*\\.bin$"))) + (bin (find-files "." ".*\\.(bin|elf)$"))) (for-each (lambda (file) (install-file file out)) @@ -486,6 +486,16 @@ such as: (base32 "0vqhwqqh8h9qlkpybg2v94911091c1418bc4pnzq5fd7zf0fjkf8"))))))) +(define-public arm-trusted-firmware-rk3399 + (let ((base (make-arm-trusted-firmware "rk3399"))) + (package + (inherit base) + (name "arm-trusted-firmware-rk3399") + (native-inputs + `(("cross32-gcc" ,(cross-gcc "arm-none-eabi")) + ("cross32-binutils", (cross-binutils "arm-none-eabi")) + ,@(package-native-inputs base)))))) + (define-public rk3399-cortex-m0 (package (name "rk3399-cortex-m0") From c07f3b184d6ed81a5f60850fe563092b07784e3b Mon Sep 17 00:00:00 2001 From: Vagrant Cascadian Date: Mon, 19 Aug 2019 21:29:18 +0000 Subject: [PATCH 0206/1112] gnu: Add arm-trusted-firmware-rk3328. * gnu/packages/firmware (arm-trusted-firmware-rk3328): New variable. Signed-off-by: Vagrant Cascadian --- gnu/packages/firmware.scm | 3 +++ 1 file changed, 3 insertions(+) diff --git a/gnu/packages/firmware.scm b/gnu/packages/firmware.scm index bfa129aea50..cc92c228ade 100644 --- a/gnu/packages/firmware.scm +++ b/gnu/packages/firmware.scm @@ -466,6 +466,9 @@ such as: (inherit base) (name "arm-trusted-firmware-sun50i-a64")))) +(define-public arm-trusted-firmware-rk3328 + (make-arm-trusted-firmware "rk3328")) + (define-public arm-trusted-firmware-puma-rk3399 (let ((base (make-arm-trusted-firmware "rk3399")) ;; Vendor's arm trusted firmware branch hasn't been upstreamed yet. From fa7470189eed39ae863f8f269fd3ef29bb084f16 Mon Sep 17 00:00:00 2001 From: Caliph Nomble Date: Mon, 14 Oct 2019 02:01:53 -0400 Subject: [PATCH 0207/1112] gnu: Add u-boot-rockpro64-rk3399 * gnu/packages/bootloaders.scm (u-boot-rockpro64-rk3399): New exported variable. (u-boot-2019.10): New variable. * gnu/bootloader/u-boot.scm (u-boot-rockpro64-rk3399-bootloader): New exported variable. (install-rockpro64-rk3399-u-boot): New variable. * gnu/system/install.scm (rockpro64-installation-os): New exported variable. Adjusted-by: Vagrant Cascadian Signed-off-by: Caliph Nomble Signed-off-by: Vagrant Cascadian --- gnu/bootloader/u-boot.scm | 17 +++++++++++++++++ gnu/packages/bootloaders.scm | 35 +++++++++++++++++++++++++++++++++++ gnu/system/install.scm | 6 ++++++ 3 files changed, 58 insertions(+) diff --git a/gnu/bootloader/u-boot.scm b/gnu/bootloader/u-boot.scm index 54abfe1c69d..4f98be2483a 100644 --- a/gnu/bootloader/u-boot.scm +++ b/gnu/bootloader/u-boot.scm @@ -34,6 +34,7 @@ u-boot-pine64-plus-bootloader u-boot-pinebook-bootloader u-boot-puma-rk3399-bootloader + u-boot-rockpro64-rk3399-bootloader u-boot-wandboard-bootloader)) (define install-u-boot @@ -90,6 +91,15 @@ (write-file-on-device u-boot (stat:size (stat u-boot)) device (* 512 512))))) +(define install-rockpro64-rk3399-u-boot + #~(lambda (bootloader device mount-point) + (let ((idb (string-append bootloader "/libexec/idbloader.img")) + (u-boot (string-append bootloader "/libexec/u-boot.itb"))) + (write-file-on-device idb (stat:size (stat idb)) + device (* 64 512)) + (write-file-on-device u-boot (stat:size (stat u-boot)) + device (* 16384 512))))) + ;;; @@ -179,3 +189,10 @@ (inherit u-boot-bootloader) (package u-boot-puma-rk3399) (installer install-puma-rk3399-u-boot))) + +(define u-boot-rockpro64-rk3399-bootloader + ;; SD and eMMC use the same format + (bootloader + (inherit u-boot-bootloader) + (package u-boot-rockpro64-rk3399) + (installer install-rockpro64-rk3399-u-boot))) diff --git a/gnu/packages/bootloaders.scm b/gnu/packages/bootloaders.scm index 520728b52c4..45e1b8fc1cb 100644 --- a/gnu/packages/bootloaders.scm +++ b/gnu/packages/bootloaders.scm @@ -430,6 +430,19 @@ tree binary files. These are board description files used by Linux and BSD.") also initializes the boards (RAM etc).") (license license:gpl2+))) +(define u-boot-2019.10 + (package + (inherit u-boot) + (version "2019.10") + (source (origin + (method url-fetch) + (uri (string-append + "ftp://ftp.denx.de/pub/u-boot/" + "u-boot-" version ".tar.bz2")) + (sha256 + (base32 + "053hcrwwlacqh2niisn0zas95zkbffw5aw5sdhixs8lmfdq60vcd")))))) + (define-public u-boot-tools (package (inherit u-boot) @@ -746,6 +759,28 @@ to Novena upstream, does not load u-boot.img from the first partition.") ("firmware-m0" ,rk3399-cortex-m0) ,@(package-native-inputs base)))))) +(define-public u-boot-rockpro64-rk3399 + (let ((base (make-u-boot-package "rockpro64-rk3399" "aarch64-linux-gnu"))) + (package + (inherit base) + (version (package-version u-boot-2019.10)) + (source (package-source u-boot-2019.10)) + (arguments + (substitute-keyword-arguments (package-arguments base) + ((#:phases phases) + `(modify-phases ,phases + (add-after 'unpack 'set-environment + (lambda* (#:key inputs #:allow-other-keys) + (setenv "BL31" (string-append (assoc-ref inputs "firmware") + "/bl31.elf")) + #t)) + ;; Phases do not succeed on the bl31 ELF. + (delete 'strip) + (delete 'validate-runpath))))) + (native-inputs + `(("firmware" ,arm-trusted-firmware-rk3399) + ,@(package-native-inputs base)))))) + (define-public vboot-utils (package (name "vboot-utils") diff --git a/gnu/system/install.scm b/gnu/system/install.scm index 912096027f5..eab36492695 100644 --- a/gnu/system/install.scm +++ b/gnu/system/install.scm @@ -62,6 +62,7 @@ novena-installation-os pine64-plus-installation-os pinebook-installation-os + rockpro64-installation-os rk3399-puma-installation-os wandboard-installation-os os-with-u-boot)) @@ -583,6 +584,11 @@ The bootloader BOOTLOADER is installed to BOOTLOADER-TARGET." "/dev/mmcblk0" ; SD card storage "ttyS0")) +(define rockpro64-installation-os + (embedded-installation-os u-boot-rockpro64-rk3399-bootloader + "/dev/mmcblk0" ; SD card/eMMC (SD priority) storage + "ttyS2")) ; UART2 connected on the Pi2 bus + (define rk3399-puma-installation-os (embedded-installation-os u-boot-puma-rk3399-bootloader "/dev/mmcblk0" ; SD card storage From 2fce14af242298a352ed244c192017c922244506 Mon Sep 17 00:00:00 2001 From: Vagrant Cascadian Date: Fri, 18 Oct 2019 13:14:08 -0700 Subject: [PATCH 0208/1112] gnu: Add u-boot-rock64-rk3328. * gnu/packages/bootloaders (u-boot-rock64-rk3328): New variable. * gnu/bootloader/u-boot (install-rock64-rk3328-u-boot): New variable. (u-boot-rock64-rk3328-bootloader): New variable. * gnu/system/install (define rock64-installation-os): New variable. --- gnu/bootloader/u-boot.scm | 17 +++++++++++++++++ gnu/packages/bootloaders.scm | 26 ++++++++++++++++++++++++++ gnu/system/install.scm | 6 ++++++ 3 files changed, 49 insertions(+) diff --git a/gnu/bootloader/u-boot.scm b/gnu/bootloader/u-boot.scm index 4f98be2483a..20eabc370c2 100644 --- a/gnu/bootloader/u-boot.scm +++ b/gnu/bootloader/u-boot.scm @@ -34,6 +34,7 @@ u-boot-pine64-plus-bootloader u-boot-pinebook-bootloader u-boot-puma-rk3399-bootloader + u-boot-rock64-rk3328-bootloader u-boot-rockpro64-rk3399-bootloader u-boot-wandboard-bootloader)) @@ -91,6 +92,15 @@ (write-file-on-device u-boot (stat:size (stat u-boot)) device (* 512 512))))) +(define install-rock64-rk3328-u-boot + #~(lambda (bootloader device mount-point) + (let ((idb (string-append bootloader "/libexec/idbloader.img")) + (u-boot (string-append bootloader "/libexec/u-boot.itb"))) + (write-file-on-device idb (stat:size (stat idb)) + device (* 64 512)) + (write-file-on-device u-boot (stat:size (stat u-boot)) + device (* 16384 512))))) + (define install-rockpro64-rk3399-u-boot #~(lambda (bootloader device mount-point) (let ((idb (string-append bootloader "/libexec/idbloader.img")) @@ -190,6 +200,13 @@ (package u-boot-puma-rk3399) (installer install-puma-rk3399-u-boot))) +(define u-boot-rock64-rk3328-bootloader + ;; SD and eMMC use the same format + (bootloader + (inherit u-boot-bootloader) + (package u-boot-rock64-rk3328) + (installer install-rock64-rk3328-u-boot))) + (define u-boot-rockpro64-rk3399-bootloader ;; SD and eMMC use the same format (bootloader diff --git a/gnu/packages/bootloaders.scm b/gnu/packages/bootloaders.scm index 45e1b8fc1cb..d2f4d511db8 100644 --- a/gnu/packages/bootloaders.scm +++ b/gnu/packages/bootloaders.scm @@ -759,6 +759,32 @@ to Novena upstream, does not load u-boot.img from the first partition.") ("firmware-m0" ,rk3399-cortex-m0) ,@(package-native-inputs base)))))) +(define-public u-boot-rock64-rk3328 + (let ((base (make-u-boot-package "rock64-rk3328" "aarch64-linux-gnu"))) + (package + (inherit base) + (version (package-version u-boot-2019.10)) + (source (package-source u-boot-2019.10)) + (arguments + (substitute-keyword-arguments (package-arguments base) + ((#:phases phases) + `(modify-phases ,phases + (add-after 'unpack 'set-environment + (lambda* (#:key inputs #:allow-other-keys) + (let ((bl31 (string-append (assoc-ref inputs "firmware") + "/bl31.elf"))) + (setenv "BL31" bl31)) + #t)) + (add-after 'unpack 'add-u-boot-itb + (lambda _ + (substitute* "Kconfig" + (("default .u-boot.itb. if SPL_LOAD_FIT && .ROCKCHIP_RK3399") + "default \"u-boot.itb\" if SPL_LOAD_FIT && (ARCH_ROCKCHIP")) + #t)))))) + (native-inputs + `(("firmware" ,arm-trusted-firmware-rk3328) + ,@(package-native-inputs base)))))) + (define-public u-boot-rockpro64-rk3399 (let ((base (make-u-boot-package "rockpro64-rk3399" "aarch64-linux-gnu"))) (package diff --git a/gnu/system/install.scm b/gnu/system/install.scm index eab36492695..a4502855976 100644 --- a/gnu/system/install.scm +++ b/gnu/system/install.scm @@ -62,6 +62,7 @@ novena-installation-os pine64-plus-installation-os pinebook-installation-os + rock64-installation-os rockpro64-installation-os rk3399-puma-installation-os wandboard-installation-os @@ -584,6 +585,11 @@ The bootloader BOOTLOADER is installed to BOOTLOADER-TARGET." "/dev/mmcblk0" ; SD card storage "ttyS0")) +(define rock64-installation-os + (embedded-installation-os u-boot-rock64-rk3328-bootloader + "/dev/mmcblk0" ; SD card/eMMC (SD priority) storage + "ttyS2")) ; UART2 connected on the Pi2 bus + (define rockpro64-installation-os (embedded-installation-os u-boot-rockpro64-rk3399-bootloader "/dev/mmcblk0" ; SD card/eMMC (SD priority) storage From 17a5cb45d444104e28cf7c42e15a5ed5e761a555 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Fri, 18 Oct 2019 17:42:20 +0200 Subject: [PATCH 0209/1112] gnu: psm2: Update to 11.2.86. * gnu/packages/linux.scm (psm2): Update to 11.2.86. --- gnu/packages/linux.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 0070deeaa65..a3b12dea328 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -5679,7 +5679,7 @@ privileges.") (define-public psm2 (package (name "psm2") - (version "10.3-46") + (version "11.2.86") (source (origin (method git-fetch) (uri (git-reference @@ -5688,7 +5688,7 @@ privileges.") (file-name (git-file-name name version)) (sha256 (base32 - "0wadphv4rl5p38x6a3dgpbijlzqdvcn02cfafnp72nh9faz0zvlx")))) + "1hiqzcmc97lzhaqjva82vf8irgg038cciypsv2brw90ak09n6vwf")))) (build-system gnu-build-system) (arguments '(#:make-flags From 6aeae5b90b9513d316141c0131fd43c76a200f63 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Fri, 18 Oct 2019 22:37:20 +0200 Subject: [PATCH 0210/1112] herd: Define 'shepherd-message-port'. * gnu/services/herd.scm (shepherd-message-port): New variable. (display-message): Use it instead of 'current-error-port'. --- gnu/services/herd.scm | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/gnu/services/herd.scm b/gnu/services/herd.scm index 2207b2d34b1..112a7dc1041 100644 --- a/gnu/services/herd.scm +++ b/gnu/services/herd.scm @@ -25,6 +25,7 @@ #:use-module (srfi srfi-35) #:use-module (ice-9 match) #:export (%shepherd-socket-file + shepherd-message-port shepherd-error? service-not-found-error? @@ -140,8 +141,12 @@ does not denote an error." (#f ;not an error #t))) +(define shepherd-message-port + ;; Port where messages coming from shepherd are printed. + (make-parameter (current-error-port))) + (define (display-message message) - (format (current-error-port) "shepherd: ~a~%" message)) + (format (shepherd-message-port) "shepherd: ~a~%" message)) (define* (invoke-action service action arguments cont) "Invoke ACTION on SERVICE with ARGUMENTS. On success, call CONT with the From f05f722657aebc282ba389ab4f4c07843241c4f0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Fri, 18 Oct 2019 22:39:03 +0200 Subject: [PATCH 0211/1112] reconfigure: Silence "shepherd: Evaluating ..." messages. * guix/scripts/system/reconfigure.scm (upgrade-services-program): Parameterize 'shepherd-message-port' to silent "Evaluating ..." messages. --- guix/scripts/system/reconfigure.scm | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/guix/scripts/system/reconfigure.scm b/guix/scripts/system/reconfigure.scm index 579b7fffbe8..2f9dbb25081 100644 --- a/guix/scripts/system/reconfigure.scm +++ b/guix/scripts/system/reconfigure.scm @@ -136,7 +136,10 @@ canonical names (symbols)." (srfi srfi-1)) ;; Load the service files for any new services. - (load-services/safe '#$service-files) + ;; Silence messages coming from shepherd such as "Evaluating + ;; expression ..." since they are unhelpful. + (parameterize ((shepherd-message-port (%make-void-port "w"))) + (load-services/safe '#$service-files)) ;; Unload obsolete services and start new services. (for-each unload-service '#$to-unload) From 4e37cf35c0dc2c5be192f9a9455bfe4f23599e57 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Fri, 18 Oct 2019 22:50:17 +0200 Subject: [PATCH 0212/1112] services: network-manager: Export 'network-manager-configuration-vpn-plugins'. * gnu/services/networking.scm (): Export 'network-manager-configuration-vpn-plugins'. --- gnu/services/networking.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gnu/services/networking.scm b/gnu/services/networking.scm index dd63009116c..f3925615bf1 100644 --- a/gnu/services/networking.scm +++ b/gnu/services/networking.scm @@ -110,6 +110,7 @@ network-manager-configuration network-manager-configuration? network-manager-configuration-dns + network-manager-configuration-vpn-plugins network-manager-service-type connman-configuration @@ -986,7 +987,7 @@ and @command{wicd-curses} user interfaces." (default network-manager)) (dns network-manager-configuration-dns (default "default")) - (vpn-plugins network-manager-vpn-plugins ;list of + (vpn-plugins network-manager-configuration-vpn-plugins ;list of (default '()))) (define network-manager-activation From e52b953434b255f53e61125c7fd3653adcebdab8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Fri, 18 Oct 2019 23:12:35 +0200 Subject: [PATCH 0213/1112] services: network-manager: Create account for 'network-manager-openconnect'. Previously, on startup, we'd see: dbus: Unknown username nm-openconnect in message bus configuration file This fixes it. * gnu/services/networking.scm (network-manager-accounts): New procedure. (network-manager-service-type): Extend 'account-service-type'. * gnu/packages/gnome.scm (network-manager-openconnect)[properties]: Add 'user-accounts'. --- gnu/packages/gnome.scm | 7 ++++++- gnu/services/networking.scm | 30 ++++++++++++++++++++++++++++++ 2 files changed, 36 insertions(+), 1 deletion(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index f17bd941cd8..fafb93be08a 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -5635,7 +5635,12 @@ Compatible with Cisco VPN concentrators configured to use IPsec.") to @acronym{VPNs, virtual private networks} via OpenConnect, an open client for Cisco's AnyConnect SSL VPN.") (license license:gpl2+) - (properties `((upstream-name . "NetworkManager-openconnect"))))) + (properties `((upstream-name . "NetworkManager-openconnect") + + ;; The 'etc/dbus-1/system.d/nm-openconnect-service.conf' + ;; file refers to account "nm-openconnect". Specify it here + ;; so that 'network-manager-service-type' creates it. + (user-accounts . ("nm-openconnect")))))) (define-public mobile-broadband-provider-info (package diff --git a/gnu/services/networking.scm b/gnu/services/networking.scm index f3925615bf1..93d9b6a15e4 100644 --- a/gnu/services/networking.scm +++ b/gnu/services/networking.scm @@ -51,6 +51,7 @@ #:use-module (guix gexp) #:use-module (guix records) #:use-module (guix modules) + #:use-module (guix packages) #:use-module (guix deprecation) #:use-module (rnrs enums) #:use-module (srfi srfi-1) @@ -1006,6 +1007,33 @@ and @command{wicd-curses} user interfaces." "Return a directory containing PLUGINS, the NM VPN plugins." (directory-union "network-manager-vpn-plugins" plugins)) +(define (network-manager-accounts config) + "Return the list of and for CONFIG." + (define nologin + (file-append shadow "/sbin/nologin")) + + (define accounts + (append-map (lambda (package) + (map (lambda (name) + (user-account (system? #t) + (name name) + (group "network-manager") + (comment "NetworkManager helper") + (home-directory "/var/empty") + (create-home-directory? #f) + (shell nologin))) + (or (assoc-ref (package-properties package) + 'user-accounts) + '()))) + (network-manager-configuration-vpn-plugins config))) + + (match accounts + (() + '()) + (_ + (cons (user-group (name "network-manager") (system? #t)) + accounts)))) + (define network-manager-environment (match-lambda (($ network-manager dns vpn-plugins) @@ -1055,6 +1083,8 @@ and @command{wicd-curses} user interfaces." (compose list network-manager-configuration-network-manager)) + (service-extension account-service-type + network-manager-accounts) (service-extension activation-service-type network-manager-activation) (service-extension session-environment-service-type From 545ff7b7841ddae9c73345ab5c6af42aadbda6e3 Mon Sep 17 00:00:00 2001 From: Vagrant Cascadian Date: Fri, 18 Oct 2019 15:43:09 -0700 Subject: [PATCH 0214/1112] gnu: Add u-boot-firefly-rk3399. * gnu/packages/bootloaders (u-boot-firefly-rk3399): New variable. * gnu/bootloader/u-boot (install-firefly-rk3399-u-boot): New variable. (u-boot-firefly-rk3399-bootloader): New variable. * gnu/system/install (define firefly-rk3399-installation-os): New variable. --- gnu/bootloader/u-boot.scm | 17 +++++++++++++++++ gnu/packages/bootloaders.scm | 22 ++++++++++++++++++++++ gnu/system/install.scm | 6 ++++++ 3 files changed, 45 insertions(+) diff --git a/gnu/bootloader/u-boot.scm b/gnu/bootloader/u-boot.scm index 20eabc370c2..e21526eb7ee 100644 --- a/gnu/bootloader/u-boot.scm +++ b/gnu/bootloader/u-boot.scm @@ -28,6 +28,7 @@ u-boot-a20-olinuxino-micro-bootloader u-boot-bananapi-m2-ultra-bootloader u-boot-beaglebone-black-bootloader + u-boot-firefly-rk3399-bootloader u-boot-mx6cuboxi-bootloader u-boot-nintendo-nes-classic-edition-bootloader u-boot-novena-bootloader @@ -92,6 +93,15 @@ (write-file-on-device u-boot (stat:size (stat u-boot)) device (* 512 512))))) +(define install-firefly-rk3399-u-boot + #~(lambda (bootloader device mount-point) + (let ((idb (string-append bootloader "/libexec/idbloader.img")) + (u-boot (string-append bootloader "/libexec/u-boot.itb"))) + (write-file-on-device idb (stat:size (stat idb)) + device (* 64 512)) + (write-file-on-device u-boot (stat:size (stat u-boot)) + device (* 16384 512))))) + (define install-rock64-rk3328-u-boot #~(lambda (bootloader device mount-point) (let ((idb (string-append bootloader "/libexec/idbloader.img")) @@ -169,6 +179,13 @@ (inherit u-boot-allwinner-bootloader) (package u-boot-bananapi-m2-ultra))) +(define u-boot-firefly-rk3399-bootloader + ;; SD and eMMC use the same format + (bootloader + (inherit u-boot-bootloader) + (package u-boot-firefly-rk3399) + (installer install-firefly-rk3399-u-boot))) + (define u-boot-mx6cuboxi-bootloader (bootloader (inherit u-boot-imx-bootloader) diff --git a/gnu/packages/bootloaders.scm b/gnu/packages/bootloaders.scm index d2f4d511db8..438f404e1ae 100644 --- a/gnu/packages/bootloaders.scm +++ b/gnu/packages/bootloaders.scm @@ -785,6 +785,28 @@ to Novena upstream, does not load u-boot.img from the first partition.") `(("firmware" ,arm-trusted-firmware-rk3328) ,@(package-native-inputs base)))))) +(define-public u-boot-firefly-rk3399 + (let ((base (make-u-boot-package "firefly-rk3399" "aarch64-linux-gnu"))) + (package + (inherit base) + (version (package-version u-boot-2019.10)) + (source (package-source u-boot-2019.10)) + (arguments + (substitute-keyword-arguments (package-arguments base) + ((#:phases phases) + `(modify-phases ,phases + (add-after 'unpack 'set-environment + (lambda* (#:key inputs #:allow-other-keys) + (setenv "BL31" (string-append (assoc-ref inputs "firmware") + "/bl31.elf")) + #t)) + ;; Phases do not succeed on the bl31 ELF. + (delete 'strip) + (delete 'validate-runpath))))) + (native-inputs + `(("firmware" ,arm-trusted-firmware-rk3399) + ,@(package-native-inputs base)))))) + (define-public u-boot-rockpro64-rk3399 (let ((base (make-u-boot-package "rockpro64-rk3399" "aarch64-linux-gnu"))) (package diff --git a/gnu/system/install.scm b/gnu/system/install.scm index a4502855976..bdf114c1807 100644 --- a/gnu/system/install.scm +++ b/gnu/system/install.scm @@ -60,6 +60,7 @@ mx6cuboxi-installation-os nintendo-nes-classic-edition-installation-os novena-installation-os + firefly-rk3399-installation-os pine64-plus-installation-os pinebook-installation-os rock64-installation-os @@ -560,6 +561,11 @@ The bootloader BOOTLOADER is installed to BOOTLOADER-TARGET." "/dev/mmcblk1" ; eMMC storage "ttyS0")) +(define firefly-rk3399-installation-os + (embedded-installation-os u-boot-firefly-rk3399-bootloader + "/dev/mmcblk0" ; SD card/eMMC (SD priority) storage + "ttyS2")) ; UART2 connected on the Pi2 bus + (define mx6cuboxi-installation-os (embedded-installation-os u-boot-mx6cuboxi-bootloader "/dev/mmcblk0" ; SD card storage From 80e3d666b03fd868f805b96c99138f237610b1b8 Mon Sep 17 00:00:00 2001 From: Brian Leung Date: Fri, 18 Oct 2019 21:19:29 -0700 Subject: [PATCH 0215/1112] gnu: emacs-lsp-ivy: Update to 0.1-2.caf1e1d. * gnu/packages/emacs-xyz.scm (emacs-lsp-ivy): Update to 0.1-2.caf1e1d. --- gnu/packages/emacs-xyz.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 729e2c7a331..096de69ff19 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -17376,8 +17376,8 @@ and code peeking.") (license license:gpl3+))) (define-public emacs-lsp-ivy - (let ((commit "6fd55316dd62d290429c25ea9b0c1f66069b2f37") - (revision "1")) + (let ((commit "caf1e1d7e22ed0b5fe18dd508d1a6f83dd163288") + (revision "2")) (package (name "emacs-lsp-ivy") (version (git-version "0.1" revision commit)) @@ -17389,7 +17389,7 @@ and code peeking.") (file-name (git-file-name name version)) (sha256 (base32 - "0hx9rs66ahl2rqgnmyiyrwk12v7iv8c6gnn7b66985mxjqyyh94r")))) + "084ds4qhzhivfnicy3h7z4mblxgcqx8pfnkbjr9qjrfng7cisy4z")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-ivy" ,emacs-ivy) From 8e37d024e365cb6dd0506baf6d2d5171dac4df3c Mon Sep 17 00:00:00 2001 From: Brian Leung Date: Sat, 19 Oct 2019 00:20:37 -0700 Subject: [PATCH 0216/1112] gnu: emacs-forge: Update to 0.1.0-2.63cbf81. * gnu/packages/emacs-xyz.scm (emacs-forge): Update to 0.1.0-2.63cbf81. --- gnu/packages/emacs-xyz.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 096de69ff19..7f64664f4a7 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -17536,10 +17536,10 @@ a suffix) we prefer to call it just a \"transient\".") (license license:gpl3+)))) (define-public emacs-forge - (let ((commit "a6721c071226ae8da6852e9330f2bdcba92a4577")) + (let ((commit "63cbf81f166fc71861d8e3d246df8e5ccedcb9bb")) (package (name "emacs-forge") - (version (git-version "0.1.0" "1" commit)) + (version (git-version "0.1.0" "2" commit)) (source (origin (method git-fetch) @@ -17549,7 +17549,7 @@ a suffix) we prefer to call it just a \"transient\".") (file-name (git-file-name name version)) (sha256 (base32 - "1gzr1di29a9szkzm6kjznq7c8md71cm5761pznf08nmmk63dl3zm")))) + "1yf2xjx3459py6rji740jm8bmh2pv66ghnbjxsvjd4jf9kcdav83")))) (build-system gnu-build-system) (native-inputs `(("texinfo" ,texinfo) From 03b966657e02fe0f6370ac1b9f872b1564874837 Mon Sep 17 00:00:00 2001 From: Brian Leung Date: Sat, 21 Sep 2019 20:29:40 +0200 Subject: [PATCH 0217/1112] gnu: emacs-web-server: Enable tests. * gnu/packages/emacs-xyz.scm (emacs-web-server): Enable tests. --- gnu/packages/emacs-xyz.scm | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 7f64664f4a7..81baef69a66 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -89,6 +89,7 @@ #:use-module (gnu packages bash) #:use-module (gnu packages cmake) #:use-module (gnu packages code) + #:use-module (gnu packages curl) #:use-module (gnu packages databases) #:use-module (gnu packages dictionaries) #:use-module (gnu packages emacs) @@ -18067,11 +18068,10 @@ invoked.") (define-public emacs-web-server (let ((commit "cafa5b7582c57252a0884b2c33da9b18fb678713") - (version "0.1.1") (revision "1")) (package (name "emacs-web-server") - (version (git-version version revision commit)) + (version (git-version "0.1.0" revision commit)) (source (origin (method git-fetch) @@ -18083,6 +18083,19 @@ invoked.") (base32 "1c0lfqmbs5hvz3fh3c8wgp6ipwmxrwx9xj264bjpj3phixd5419y")))) (build-system emacs-build-system) + (native-inputs + `(("curl" ,curl))) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'set-shell + ;; Setting the SHELL environment variable is required for the tests + ;; to find sh. + (lambda _ + (setenv "SHELL" (which "sh")) + #t))) + #:tests? #t + #:test-command '("make" "check"))) (home-page "https://github.com/eschulte/emacs-web-server/") (synopsis "Web server with handlers in Emacs Lisp") (description "This package supports HTTP GET and POST requests with From 5f760515c86ebdb5fae8524097b3ad35204d734d Mon Sep 17 00:00:00 2001 From: Brian Leung Date: Fri, 20 Sep 2019 18:47:25 +0200 Subject: [PATCH 0218/1112] gnu: emacs-nodejs-repl: Enable tests. * gnu/packages/emacs-xyz.scm (emacs-nodejs-repl): Enable tests. --- gnu/packages/emacs-xyz.scm | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 81baef69a66..983d226a5fc 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -118,6 +118,7 @@ #:use-module (gnu packages autotools) #:use-module (gnu packages base) #:use-module (gnu packages compression) + #:use-module (gnu packages node) #:use-module (gnu packages xml) #:use-module (gnu packages glib) #:use-module (gnu packages acl) @@ -6014,6 +6015,34 @@ strings, and code folding.") (base32 "1kkj888k9x5n0i7xkia177gzsa84my3g8n0n7v65281cc4f1yhk5")))) (build-system emacs-build-system) + (inputs + `(("node" ,node))) + (native-inputs + `(("emacs-ert-expectations" ,emacs-ert-expectations))) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'set-shell + ;; Setting the SHELL environment variable is required for the tests + ;; to find sh. + (lambda _ + (setenv "SHELL" (which "sh")) + #t)) + (add-after 'unpack 'configure + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((node (assoc-ref inputs "node"))) + ;; Specify the absolute file names of the various + ;; programs so that everything works out-of-the-box. + (make-file-writable "nodejs-repl.el") + (emacs-substitute-variables + "nodejs-repl.el" + ("nodejs-repl-command" + (string-append node "/bin/node"))))))) + #:tests? #t + #:test-command '("emacs" "-Q" "--batch" + "-L" "." + "-l" "test/test.el" + "-f" "ert-run-tests-batch-and-exit"))) (home-page "https://github.com/abicky/nodejs-repl.el") (synopsis "Node.js REPL inside Emacs") (description From a0b2accf8217f15480272bef2e61fc0407afbcbd Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Sat, 19 Oct 2019 15:21:35 +0200 Subject: [PATCH 0219/1112] gnu: Add python-setuptools-scm-3.3. * gnu/packages/python-xyz.scm (python-setuptools-scm-3.3): New variable. --- gnu/packages/python-xyz.scm | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index f27fa4f871d..4c46bdca47d 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -38,7 +38,7 @@ ;;; Copyright © 2017 Frederick M. Muriithi ;;; Copyright © 2017, 2018 Adriano Peluso ;;; Copyright © 2017 Ben Sturmfels -;;; Copyright © 2017, 2018 Mathieu Othacehe +;;; Copyright © 2017, 2018, 2019 Mathieu Othacehe ;;; Copyright © 2017 José Miguel Sánchez García ;;; Copyright © 2017 Roel Janssen ;;; Copyright © 2017, 2018 Kei Kebreau @@ -5111,6 +5111,18 @@ child application and control it as if a human were typing commands.") them as the version argument or in a SCM managed file.") (license license:expat))) +;; Needed by python-lazy-object-proxy, remove on next update cycle. +(define-public python-setuptools-scm-3.3 + (package + (inherit python-setuptools-scm) + (version "3.3.3") + (source (origin + (method url-fetch) + (uri (pypi-uri "setuptools_scm" version)) + (sha256 + (base32 + "19cyndx23xmpbhz4qrwmfwsmnnaczd0dw7qg977ksq2dbvxy29dx")))))) + (define-public python2-setuptools-scm (package-with-python2 python-setuptools-scm)) From 63d4873b9300693ddcbcb6b220b2e892588b83b4 Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Sat, 19 Oct 2019 15:22:38 +0200 Subject: [PATCH 0220/1112] gnu: python-lazy-object-proxy: Update to 1.4.2. * gnu/packages/python-xyz.scm (python-lazy-object-proxy): Update to 1.4.2, [native-inputs]: add python-setuptools-scm. --- gnu/packages/python-xyz.scm | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 4c46bdca47d..29834257cf7 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -10628,13 +10628,15 @@ docstring and colored output.") (define-public python-lazy-object-proxy (package (name "python-lazy-object-proxy") - (version "1.3.1") + (version "1.4.2") (source (origin (method url-fetch) (uri (pypi-uri "lazy-object-proxy" version)) (sha256 (base32 - "0yha7q9bhw857fwaby785d63mffhngl9npwzlk9i0pwlkwvbx4gb")))) + "1wgl0fmddi0ind78a74yyk2qrr9pb5llvj1892cdpp6z6n6mn4zx")))) + (native-inputs + `(("python-setuptools-scm" ,python-setuptools-scm-3.3))) (build-system python-build-system) (home-page "https://github.com/ionelmc/python-lazy-object-proxy") (synopsis "Lazy object proxy for python") From bae89583827501db4038bffbd9b4bc863e17571d Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Sat, 19 Oct 2019 15:26:55 +0200 Subject: [PATCH 0221/1112] gnu: python-typed-ast: Update to 1.4.0. * gnu/packages/python-xyz.scm (python-typed-ast): Update to 1.4.0, [source]: switch to git-fetch. --- gnu/packages/python-xyz.scm | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 29834257cf7..fb6470ef5fe 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -14735,14 +14735,16 @@ source bytes using the UTF-8 encoding and then rewrites Python 3.6 style (define-public python-typed-ast (package (name "python-typed-ast") - (version "1.3.5") + (version "1.4.0") (source (origin - (method url-fetch) - (uri (pypi-uri "typed-ast" version)) + (method git-fetch) + (uri (git-reference + (url "https://github.com/python/typed_ast.git") + (commit version))) (sha256 - (base32 - "1m7pr6qpana3cvqwiw7mlvrgvmw27ch5mx1592572xhlki8g85ak")))) + (base32 "0l0hz809f7i356kmqkvfsaswiidb98j9hs9rrjnfawzqcbffzgyb")) + (file-name (git-file-name name version)))) (build-system python-build-system) (arguments `(#:modules ((guix build utils) From f0935460464d70d1f3b87dfd9ec8751b166fa679 Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Sat, 19 Oct 2019 15:28:51 +0200 Subject: [PATCH 0222/1112] gnu: python-astroid: Update to 2.3.2. * gnu/packages/python-xyz.scm (python-astroid): Update to 2.3.2, [propagated-inputs]: add python-typed-ast. --- gnu/packages/python-xyz.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index fb6470ef5fe..c8fbf9c98ee 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -12538,18 +12538,19 @@ clone, while other processes access the original tree.") (define-public python-astroid (package (name "python-astroid") - (version "2.1.0") + (version "2.3.2") (source (origin (method url-fetch) (uri (pypi-uri "astroid" version)) (sha256 (base32 - "08hz675knh4294bancdapql392fmbjyimhbyrmfkz1ka7l035c1m")))) + "0crfhpblcy5a6nh694hc2073gw389f01yilamzqi34si2skgp8q9")))) (build-system python-build-system) (propagated-inputs `(("python-lazy-object-proxy" ,python-lazy-object-proxy) ("python-six" ,python-six) + ("python-typed-ast" ,python-typed-ast) ("python-wrapt" ,python-wrapt))) (native-inputs `(("python-dateutil" ,python-dateutil) From 741f98b3f1d66252ce0122aed9f800da6bdaa8f7 Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Sat, 19 Oct 2019 15:31:11 +0200 Subject: [PATCH 0223/1112] gnu: python2-astroid: Fix build. * gnu/packages/python-xyz.scm (python2-astroid)[propagated-inputs]: Remove python-typed-ast. --- gnu/packages/python-xyz.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index c8fbf9c98ee..0c1479d4116 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -12617,7 +12617,8 @@ builds partial trees by inspecting living objects.") ,python2-backports-functools-lru-cache) ("python2-enum34" ,python2-enum34) ("python2-singledispatch" ,python2-singledispatch) - ,@(package-propagated-inputs base)))))) + ,@(alist-delete "python-typed-ast" + (package-propagated-inputs base))))))) (define-public python-isort (package From 10511c415f4681a5f691066c86d949600835db1e Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Sat, 19 Oct 2019 15:33:03 +0200 Subject: [PATCH 0224/1112] gnu: python-pylint: Update to 2.3.1. * gnu/packages/check.scm (python-pylint): Update to 2.3.1, [source]: switch to git-fetch, [arguments]: remove python2 specific hack to fix unit tests. --- gnu/packages/check.scm | 33 ++++++++++----------------------- 1 file changed, 10 insertions(+), 23 deletions(-) diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm index 6a48c08064d..d0183d8ad24 100644 --- a/gnu/packages/check.scm +++ b/gnu/packages/check.scm @@ -21,7 +21,7 @@ ;;; Copyright © 2017 Thomas Danckaert ;;; Copyright © 2017, 2018 Arun Isaac ;;; Copyright © 2017 Frederick M. Muriithi -;;; Copyright © 2017 Mathieu Othacehe +;;; Copyright © 2017, 2019 Mathieu Othacehe ;;; Copyright © 2017, 2019 Kei Kebreau ;;; Copyright © 2017 ng0 ;;; Copyright © 2015, 2017, 2018 Ricardo Wurmus @@ -1703,19 +1703,22 @@ unit tests and failing them if the unit test module does not exercise all statements in the module it tests.") (license license:gpl3+))) +;; Further releases, up to 2.4.3, have failing unit tests. See: +;; https://github.com/PyCQA/pylint/issues/3198. (define-public python-pylint (package (name "python-pylint") - (version "1.7.2") + (version "2.3.1") (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/PyCQA/pylint/archive/pylint-" - version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/PyCQA/pylint") + (commit (string-append "pylint-" version)))) + (file-name (git-file-name name version)) (sha256 (base32 - "0mzn1czhf1mgr2wiqfihb274sja02h899b85kywdpivppa9nwrmp")))) + "17vvzbcqmkhr4icq5p3737nbiiyj1y3g1pa08n9mb1bsnvxmqq0z")))) (build-system python-build-system) (native-inputs `(("python-pytest" ,python-pytest) @@ -1726,22 +1729,6 @@ statements in the module it tests.") ("python-isort" ,python-isort) ("python-mccabe" ,python-mccabe) ("python-six" ,python-six))) - (arguments - `(#:phases - (modify-phases %standard-phases - (replace 'check - (lambda _ - ;; Somehow, tests for python2-pylint - ;; fail if run from the build directory - (let ((work "/tmp/work")) - (mkdir-p work) - (setenv "PYTHONPATH" - (string-append (getenv "PYTHONPATH") ":" work)) - (copy-recursively "." work) - (with-directory-excursion "/tmp" - (invoke "python" "-m" "unittest" "discover" - "-s" (string-append work "/pylint/test") - "-p" "*test_*.py")))))))) (home-page "https://github.com/PyCQA/pylint") (synopsis "Python source code analyzer which looks for coding standard errors") From 74c1a561d47834eb80d8ccf66c2613f006162b60 Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Sat, 19 Oct 2019 15:38:31 +0200 Subject: [PATCH 0225/1112] gnu: python2-pylint: Fix build. * gnu/packages/check.scm (python2-pylint): Set to 1.7.2 as 2.x branch does not support python2 anymore, [arguments]: move python2 specific hack to run tests from python-pylint to here, [native-inputs]: add python2-futures. --- gnu/packages/check.scm | 34 +++++++++++++++++++++++++++++++++- 1 file changed, 33 insertions(+), 1 deletion(-) diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm index d0183d8ad24..1f07cad5084 100644 --- a/gnu/packages/check.scm +++ b/gnu/packages/check.scm @@ -1743,10 +1743,42 @@ possible to write plugins to add your own checks.") (properties `((python2-variant . ,(delay python2-pylint)))) (license license:gpl2+))) +;; Python2 is not supported anymore by Pylint. See: +;; https://github.com/PyCQA/pylint/issues/1763. (define-public python2-pylint (let ((pylint (package-with-python2 - (strip-python2-variant python-pylint)))) + (strip-python2-variant python-pylint)))) (package (inherit pylint) + (version "1.7.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/PyCQA/pylint") + (commit (string-append "pylint-" version)))) + (file-name (git-file-name (package-name pylint) version)) + (sha256 + (base32 + "0yyc1gxq66li2adyx8njs83dh1pliylzkdmihw0k5bn6z4aakh8s")))) + (arguments + `(,@(package-arguments pylint) + #:phases + (modify-phases %standard-phases + (replace 'check + (lambda _ + ;; Somehow, tests fail if run from the build directory. + (let ((work "/tmp/work")) + (mkdir-p work) + (setenv "PYTHONPATH" + (string-append (getenv "PYTHONPATH") ":" work)) + (copy-recursively "." work) + (with-directory-excursion "/tmp" + (invoke "python" "-m" "unittest" "discover" + "-s" (string-append work "/pylint/test") + "-p" "*test_*.py")))))))) + (native-inputs + `(("python2-futures" ,python2-futures) + ,@(package-native-inputs pylint))) (propagated-inputs `(("python2-backports-functools-lru-cache" ,python2-backports-functools-lru-cache) From 4fde5efefd502121c7177db9ae1ad5e7e2e52ce9 Mon Sep 17 00:00:00 2001 From: Brian Leung Date: Sat, 19 Oct 2019 11:40:26 -0700 Subject: [PATCH 0226/1112] gnu: emacs-ibuffer-projectile: Update to 0.2-2.7649621. * gnu/packages/emacs-xyz.scm (emacs-ibuffer-projectile): Update to 0.2-2.7649621. --- gnu/packages/emacs-xyz.scm | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 983d226a5fc..ea64b1d7efb 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -13099,12 +13099,11 @@ within Emacs.") (license license:gpl3+)))) (define-public emacs-ibuffer-projectile - (let ((commit "c18ac540ee46cb759fc5df18747f6e8d23563011") - (revision "1")) + (let ((commit "76496214144687cee0b5139be2e61b1e400cac87") + (revision "2")) (package (name "emacs-ibuffer-projectile") - (version (string-append "0.2" "-" revision "." - (string-take commit 7))) + (version (git-version "0.2" revision commit)) (source (origin (method git-fetch) @@ -13114,7 +13113,7 @@ within Emacs.") (file-name (git-file-name name version)) (sha256 (base32 - "1nd26cwwdpnwj0g4w393rd59klpyr6wqrnyr6scmwb5d06bsm44n")))) + "0vv9xwb1qd5x8zhqmmsn1nrpd11cql9hxb7483nsdhcfwl4apqav")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-projectile" ,emacs-projectile))) From 6862c0380883c1369ad94a01ddcb8f8e420a49d6 Mon Sep 17 00:00:00 2001 From: Brian Leung Date: Sat, 19 Oct 2019 13:24:59 -0700 Subject: [PATCH 0227/1112] gnu: Add emacs-evil-markdown. * gnu/packages/emacs-xyz.scm (emacs-evil-markdown): New variable. --- gnu/packages/emacs-xyz.scm | 30 ++++++++++++++++++++++++++++-- 1 file changed, 28 insertions(+), 2 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index ea64b1d7efb..a9a27597d82 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -6145,6 +6145,32 @@ provides the following features: in Emacs.") (license license:gpl3+))) +(define-public emacs-evil-markdown + (let ((commit "46cd81b37991c4325fc24015a610f832b0ff995d") + (revision "1")) + (package + (name "emacs-evil-markdown") + (version (git-version "0.0.2" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/Somelauw/evil-markdown.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0mad8sp5y9vyk28595qygspnyh8bfmb1fbxjlw70qwc1kdn822n4")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-markdown-mode" ,emacs-markdown-mode) + ("emacs-evil" ,emacs-evil))) + (home-page "http://jblevins.org/projects/evil-markdown/") + (synopsis "Evil keybindings for @code{markdown-mode}") + (description + "This package provides custom text objects and bindings for +@code{markdown-mode}.") + (license license:gpl3+)))) + (define-public emacs-edit-indirect (package (name "emacs-edit-indirect") @@ -6153,8 +6179,8 @@ in Emacs.") (origin (method git-fetch) (uri (git-reference - (url "https://github.com/Fanael/edit-indirect") - (commit version))) + (url "https://github.com/Fanael/edit-indirect") + (commit version))) (file-name (git-file-name name version)) (sha256 (base32 From 1760c970639d898e3ddec4185119a9bda8b663a6 Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Sat, 19 Oct 2019 22:46:44 +0200 Subject: [PATCH 0228/1112] gnu: python-verboselogs: Fix build. * gnu/packages/python-xyz.scm (python-verboselogs)[arguments]: Do not run pylint plugin test that depend of an old version of astroid and also remove ..., [native-inputs]: ... python-astroid and python-pylint from here. --- gnu/packages/python-xyz.scm | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 0c1479d4116..e81a6b838a4 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -910,10 +910,18 @@ some helpful Python 2 compatibility convenience methods.") (base32 "09z4d1jiasn7k1hs5af2ckmnrd0i1d1m04bhfjhv7z6svzfdwgg3")))) (build-system python-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (replace 'check + (lambda _ + ;; Do not run pylint plugin test, as astroid is an old + ;; unsupported version. + (invoke "pytest" "-v" "-k" "not test_pylint_plugin" + "verboselogs/tests.py")))))) (native-inputs `(("python-mock" ,python-mock) - ("python-astroid" ,python-astroid) - ("python-pylint" ,python-pylint))) + ("python-pytest" ,python-pytest))) (home-page "https://verboselogs.readthedocs.io") (synopsis "Verbose logging level for Python's logging module") (description From b074c1f0be0268411ae674f61392e50ea3c7c163 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 19 Oct 2019 14:24:52 +0200 Subject: [PATCH 0229/1112] gnu: xapian: Update to 1.4.13. * gnu/packages/search.scm (xapian, python-xapian-bindings): Update to 1.4.13. --- gnu/packages/search.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/search.scm b/gnu/packages/search.scm index d786ad08d92..ca8a928e603 100644 --- a/gnu/packages/search.scm +++ b/gnu/packages/search.scm @@ -49,14 +49,14 @@ (define-public xapian (package (name "xapian") - (version "1.4.12") + (version "1.4.13") ;; Note: When updating Xapian, remember to update xapian-bindings below. (source (origin (method url-fetch) (uri (string-append "https://oligarchy.co.uk/xapian/" version "/xapian-core-" version ".tar.xz")) (sha256 - (base32 "0z5c1y9vp519h2x2igjq39v6j615nppry0wasd0xn4hphgd3d2jg")))) + (base32 "0z0k8902bz2ckdggikj5yz11ik2n8krmdwzvpqv60phcm3zzzy4k")))) (build-system gnu-build-system) (inputs `(("zlib" ,zlib) ("util-linux" ,util-linux))) @@ -94,7 +94,7 @@ rich set of boolean query operators.") "/xapian-bindings-" version ".tar.xz")) (sha256 (base32 - "0j9awiiw9zf97r60m848absq43k37gghpyw7acxqjazfzd71fxvm")))) + "14jqm8mi55z4jxyi9qnnxdljli81zknsp2ja2yjx17hm28kmsnks")))) (build-system gnu-build-system) (arguments `(#:configure-flags '("--with-python3") From 78febba988d65ff2070ef99cc400975363571ae4 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 19 Oct 2019 14:25:29 +0200 Subject: [PATCH 0230/1112] gnu: dav1d: Update to 0.5.0. * gnu/packages/video.scm (dav1d): Update to 0.5.0. --- gnu/packages/video.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 8f4019b9c0e..c5dbe930768 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -3544,7 +3544,7 @@ transitions, and effects and then export your film to many common formats.") (define-public dav1d (package (name "dav1d") - (version "0.4.0") + (version "0.5.0") (source (origin (method url-fetch) @@ -3557,7 +3557,7 @@ transitions, and effects and then export your film to many common formats.") "archive/" version "/dav1d-" version ".tar.bz2"))) (sha256 (base32 - "08yqml01lbcpflrshdpvn88jv3xd8gm559qikiwyrh41a3kb4lr5")))) + "1586k439fm8db9lsxxywm34iqibj5mw4xrppr4g2wqr0hjlhcbxn")))) (build-system meson-build-system) (native-inputs `(("nasm" ,nasm))) (home-page "https://code.videolan.org/videolan/dav1d") From c50b07dde89c21234807cef40ee7fd69fbfe72d7 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 19 Oct 2019 14:26:18 +0200 Subject: [PATCH 0231/1112] gnu: libmpeg2: Fix build on armhf-linux. * gnu/packages/patches/libmpeg2-arm-private-symbols.patch, gnu/packages/patches/libmpeg2-global-symbol-test.patch: New files. * gnu/local.mk (dist_patch_DATA): Adjust accordingly. * gnu/packages/video.scm (libmpeg2)[source](patches): New field. --- gnu/local.mk | 2 + .../libmpeg2-arm-private-symbols.patch | 48 ++++++++++++++ .../patches/libmpeg2-global-symbol-test.patch | 63 +++++++++++++++++++ gnu/packages/video.scm | 2 + 4 files changed, 115 insertions(+) create mode 100644 gnu/packages/patches/libmpeg2-arm-private-symbols.patch create mode 100644 gnu/packages/patches/libmpeg2-global-symbol-test.patch diff --git a/gnu/local.mk b/gnu/local.mk index 967d68c8271..126d29dade9 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1056,6 +1056,8 @@ dist_patch_DATA = \ %D%/packages/patches/libmad-md_size.patch \ %D%/packages/patches/libmad-mips-newgcc.patch \ %D%/packages/patches/libmp4v2-c++11.patch \ + %D%/packages/patches/libmpeg2-arm-private-symbols.patch \ + %D%/packages/patches/libmpeg2-global-symbol-test.patch \ %D%/packages/patches/libmygpo-qt-fix-qt-5.11.patch \ %D%/packages/patches/libmygpo-qt-missing-qt5-modules.patch \ %D%/packages/patches/libreoffice-boost.patch \ diff --git a/gnu/packages/patches/libmpeg2-arm-private-symbols.patch b/gnu/packages/patches/libmpeg2-arm-private-symbols.patch new file mode 100644 index 00000000000..7f88d65e21c --- /dev/null +++ b/gnu/packages/patches/libmpeg2-arm-private-symbols.patch @@ -0,0 +1,48 @@ +Set visibility of global symbols used in ARM specific assembly file to +internal. + +Taken from Debian: +https://salsa.debian.org/multimedia-team/mpeg2dec/blob/master/debian/patches/60_arm-private-symbols.patch + +--- mpeg2dec.orig/libmpeg2/motion_comp_arm_s.S ++++ mpeg2dec/libmpeg2/motion_comp_arm_s.S +@@ -23,7 +23,8 @@ + + @ ---------------------------------------------------------------- + .align +- .global MC_put_o_16_arm ++ .global MC_put_o_16_arm ++ .internal MC_put_o_16_arm + MC_put_o_16_arm: + @@ void func(uint8_t * dest, const uint8_t * ref, int stride, int height) + pld [r1] +@@ -83,7 +84,8 @@ MC_put_o_16_arm_align_jt: + + @ ---------------------------------------------------------------- + .align +- .global MC_put_o_8_arm ++ .global MC_put_o_8_arm ++ .internal MC_put_o_8_arm + MC_put_o_8_arm: + @@ void func(uint8_t * dest, const uint8_t * ref, int stride, int height) + pld [r1] +@@ -152,7 +154,8 @@ MC_put_o_8_arm_align_jt: + .endm + + .align +- .global MC_put_x_16_arm ++ .global MC_put_x_16_arm ++ .internal MC_put_x_16_arm + MC_put_x_16_arm: + @@ void func(uint8_t * dest, const uint8_t * ref, int stride, int height) + pld [r1] +@@ -244,7 +247,8 @@ MC_put_x_16_arm_align_jt: + + @ ---------------------------------------------------------------- + .align +- .global MC_put_x_8_arm ++ .global MC_put_x_8_arm ++ .internal MC_put_x_8_arm + MC_put_x_8_arm: + @@ void func(uint8_t * dest, const uint8_t * ref, int stride, int height) + pld [r1] diff --git a/gnu/packages/patches/libmpeg2-global-symbol-test.patch b/gnu/packages/patches/libmpeg2-global-symbol-test.patch new file mode 100644 index 00000000000..f6eb3c6bd71 --- /dev/null +++ b/gnu/packages/patches/libmpeg2-global-symbol-test.patch @@ -0,0 +1,63 @@ +Rewrite the public symbol check to verify the shared libraries, to check for +more things, and to avoid duplication; fixes make check on ARM + +Taken from Debian: +https://salsa.debian.org/multimedia-team/mpeg2dec/blob/master/debian/patches/61_global-symbol-test.patch + +--- mpeg2dec.orig/test/globals ++++ mpeg2dec/test/globals +@@ -1,4 +1,8 @@ + #!/bin/sh ++# TODO ++# - fix checking of .a libs; problem is that "nm -g --defined-only" lists ++# internal symbols; this can be solved by using objdump, but it's probably ++# good enough to just run the tests on the shared lib + + if test x"$srcdir" != x""; then + builddir="." # running from make check, but it does not define that +@@ -14,22 +18,30 @@ builddir=`cd $builddir;pwd` + + error=0 + +-bad_globals=`nm -g --defined-only $builddir/../libmpeg2/*.o |\ +- awk '{if ($3) print $3}' | grep -v '^_\?mpeg2_'` +- +-if test x"$bad_globals" != x""; then +- echo BAD GLOBAL SYMBOLS: +- for s in $bad_globals; do echo $s; done ++# check_bad_public_symbols [...] ++# ++# checks public symbols in shared libs: ++# - allow prefix_anything ++# - reject _prefixanything ++# - allow _anything ++# - reject anything else ++# ++# NB: skips missing files ++check_bad_public_symbols() { ++ symbols_prefix="$1" ++ shift ++ lib_files=`ls "$@" 2>/dev/null` ++ [ -z "$lib_files" ] && return ++ bad_globals=`nm -g --defined-only $lib_files | ++ awk '{if ($3) print $3}' | ++ sed -n "/^${symbols_prefix}_/ d; /^_${symbols_prefix}/ { p; d }; /^_/ d; p"` ++ [ -z "$bad_globals" ] && return + error=1 +-fi +- +-bad_globals=`nm -g --defined-only $builddir/../libmpeg2/convert/*.o |\ +- awk '{if ($3) print $3}' | grep -v '^_\?mpeg2convert_'` ++ echo BAD GLOBAL SYMBOLS in $lib_files: ++ echo "$bad_globals" ++} + +-if test x"$bad_globals" != x""; then +- echo BAD GLOBAL SYMBOLS: +- for s in $bad_globals; do echo $s; done +- error=1 +-fi ++check_bad_public_symbols mpeg2 $builddir/../libmpeg2/.libs/libmpeg2.so ++check_bad_public_symbols mpeg2convert $builddir/../libmpeg2/convert/.libs/libmpeg2convert.so + + exit $error diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index c5dbe930768..1e67a7f281f 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -315,6 +315,8 @@ a shared library and encoder and decoder command-line executables.") ;; because the SourceForge project is misconfigured. (uri (string-append "http://libmpeg2.sourceforge.net/files/" name "-" version ".tar.gz")) + (patches (search-patches "libmpeg2-arm-private-symbols.patch" + "libmpeg2-global-symbol-test.patch")) (sha256 (base32 "1m3i322n2fwgrvbs1yck7g5md1dbg22bhq5xdqmjpz5m7j4jxqny")))) From e2ba79ef4670b548377ac0234ce7d1c294f326e9 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 19 Oct 2019 14:42:03 +0200 Subject: [PATCH 0232/1112] gnu: Add virtest. * gnu/packages/check.scm (virtest): New public variable. --- gnu/packages/check.scm | 34 +++++++++++++++++++++++++++++++++- 1 file changed, 33 insertions(+), 1 deletion(-) diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm index 1f07cad5084..b12337a1356 100644 --- a/gnu/packages/check.scm +++ b/gnu/packages/check.scm @@ -25,7 +25,7 @@ ;;; Copyright © 2017, 2019 Kei Kebreau ;;; Copyright © 2017 ng0 ;;; Copyright © 2015, 2017, 2018 Ricardo Wurmus -;;; Copyright © 2016, 2017, 2018 Marius Bakke +;;; Copyright © 2016, 2017, 2018, 2019 Marius Bakke ;;; Copyright © 2017, 2018 Ludovic Courtès ;;; Copyright © 2018 Fis Trivial ;;; Copyright © 2019 Pierre Langlois @@ -2329,6 +2329,38 @@ program or test suite under a test bed with the previously recorded devices loaded.") (license license:lgpl2.1+))) +(define-public virtest + ;; No releases yet, so we take the commit that "vc" expects. + (let ((commit "f7d03ef39fceba168745bd29e1b20af6e7971e04") + (revision "0")) + (package + (name "virtest") + (version (git-version "0.0" revision commit)) + (home-page "https://github.com/mattkretz/virtest") + (source (origin + (method git-fetch) + (uri (git-reference (url home-page) (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "07pjyb0mk7y2w1dg1bhl26nb7416xa1mw16ifj6mmps5y6aq054l")))) + (build-system cmake-build-system) + (arguments + `(#:phases (modify-phases %standard-phases + (add-after 'unpack 'adjust-install-directory + (lambda _ + ;; Vc is the only consumer of this library, and expects + ;; to find it in "virtest/vir/" instead of "vir/vir/". + (substitute* "CMakeLists.txt" + (("DESTINATION include/vir") + "DESTINATION include/virtest")) + #t))))) + (synopsis "Header-only test framework") + (description + "@code{virtest} is a small header-only test framework for C++. It +grew out of the @dfn{Vc} project.") + (license license:bsd-3)))) + (define-public python-pyfakefs (package (name "python-pyfakefs") From 9d731fb61d745650f5e05c3cb9b82571cf548990 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 19 Oct 2019 17:17:11 +0200 Subject: [PATCH 0233/1112] gnu: vc: Update to 1.4.1. * gnu/packages/maths.scm (vc): Update to 1.4.1. [native-inputs]: Add VIRTEST and a test data origin. [arguments]: Add phase to copy test data. --- gnu/packages/maths.scm | 29 ++++++++++++++++++++++++++--- 1 file changed, 26 insertions(+), 3 deletions(-) diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 06b34e2b895..16a9d97a47e 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -3992,14 +3992,14 @@ supports compressed MAT files, as well as newer (version 7.3) MAT files.") (define-public vc (package (name "vc") - (version "1.3.3") + (version "1.4.1") (source (origin (method url-fetch) (uri (string-append "https://github.com/VcDevel/Vc/releases/" "download/" version "/Vc-" version ".tar.gz")) (sha256 (base32 - "1zmlpn32jzb38smp3j834llmbix3whsrbw0h397qxysbw792kih8")))) + "17qili8bf8r78cng65yf4qmgna8kiqjqbgcqbric6v9j6nkhkrk8")))) (build-system cmake-build-system) (arguments '(#:configure-flags @@ -4007,7 +4007,30 @@ supports compressed MAT files, as well as newer (version 7.3) MAT files.") ;; By default, Vc will optimize for the CPU of the build machine. ;; Setting this to "none" makes it create portable binaries. See ;; "cmake/OptimizeForArchitecture.cmake". - "-DTARGET_ARCHITECTURE=none"))) + "-DTARGET_ARCHITECTURE=none") + #:phases (modify-phases %standard-phases + (add-after 'unpack 'copy-testdata + (lambda* (#:key inputs native-inputs #:allow-other-keys) + (let ((testdata (assoc-ref (or native-inputs inputs) + "testdata"))) + (copy-recursively testdata "tests/testdata") + #t)))))) + (native-inputs + `(("virtest" ,virtest) + + ;; This is a submodule in the git project, but not part of the + ;; released sources. See the git branch for the commit to take. + ("testdata" ,(let ((commit "9ada1f34d6a41f1b5553d6223f277eae72c039d3")) + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/VcDevel/vc-testdata") + (commit "9ada1f34d6a41f1b5553d6223f277eae72c039d3"))) + (file-name (git-file-name "vc-testdata" + (string-take commit 7))) + (sha256 + (base32 + "1hkhqib03qlcq412ym2dciynfxcdr2ygqhnplz4l1vissr1wnqn2"))))))) (synopsis "SIMD vector classes for C++") (description "Vc provides portable, zero-overhead C++ types for explicitly data-parallel programming. It is a library designed to ease explicit From ae5c63d73f98e6ccdb8905f2f69c563a53fc1ab9 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 19 Oct 2019 17:52:55 +0200 Subject: [PATCH 0234/1112] gnu: OpenEXR: Disable failing test on 32-bit systems. * gnu/packages/graphics.scm (openexr)[arguments]: Patch out one more test. While at it, simplify substitutions, and enable them on 64-bit systems. --- gnu/packages/graphics.scm | 30 +++++++++++++++++++----------- 1 file changed, 19 insertions(+), 11 deletions(-) diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm index e453d9fa5bd..db328bc6853 100644 --- a/gnu/packages/graphics.scm +++ b/gnu/packages/graphics.scm @@ -433,23 +433,31 @@ graphics.") #t)))) (build-system cmake-build-system) (arguments - '(#:phases + `(#:phases (modify-phases %standard-phases (add-after 'unpack 'change-directory (lambda _ (chdir "OpenEXR") #t)) - (add-after 'change-directory 'disable-broken-test - ;; This test fails on i686. Upstream developers suggest that - ;; this test is broken on i686 and can be safely disabled: - ;; https://github.com/openexr/openexr/issues/67#issuecomment-21169748 + (add-before 'check 'increase-test-timeout (lambda _ - (substitute* "IlmImfTest/main.cpp" - (("#include \"testOptimizedInterleavePatterns.h\"") - "//#include \"testOptimizedInterleavePatterns.h\"") - (("TEST \\(testOptimizedInterleavePatterns") - "//TEST (testOptimizedInterleavePatterns")) - #t))))) + ;; On armhf-linux, we need to override the CTest default + ;; timeout of 1500 seconds for the OpenEXR.IlmImf test. + (setenv "CTEST_TEST_TIMEOUT" "2000") + #t)) + ,@(if (not (target-64bit?)) + `((add-after 'change-directory 'disable-broken-test + ;; This test fails on i686. Upstream developers suggest that + ;; this test is broken on i686 and can be safely disabled: + ;; https://github.com/openexr/openexr/issues/67#issuecomment-21169748 + (lambda _ + (substitute* "IlmImfTest/main.cpp" + ((".*testOptimizedInterleavePatterns.*") "") + ;; This test is broken in 2.4.0 and will be fixed in a later + ;; release: . + ((".*testLargeDataWindowOffsets.*") "")) + #t))) + '())))) (native-inputs `(("pkg-config" ,pkg-config))) (propagated-inputs From 28391dc038c71be4ef03c66722b09c90a75b3e55 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 19 Oct 2019 18:36:02 +0200 Subject: [PATCH 0235/1112] gnu: notmuch: Update to 0.29.2. * gnu/packages/mail.scm (notmuch): Update to 0.29.2. --- gnu/packages/mail.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index 64e8b771fcb..578a5c07fa7 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -849,14 +849,14 @@ invoking @command{notifymuch} from the post-new hook.") (define-public notmuch (package (name "notmuch") - (version "0.29.1") + (version "0.29.2") (source (origin (method url-fetch) (uri (string-append "https://notmuchmail.org/releases/notmuch-" version ".tar.xz")) (sha256 (base32 - "0rg3rwghd3wivf3bmqcqpkkd5c779ld5hi363zjcw5fl6a7gqilq")))) + "1pjmrnbn0iavm5pnw7wgfw5d6hg5i6miqfa6s7s4027vn94n3nhv")))) (build-system gnu-build-system) (arguments `(#:modules ((guix build gnu-build-system) From f19e571c970ee40902bab1fea3c8654a73caf02f Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 19 Oct 2019 18:43:11 +0200 Subject: [PATCH 0236/1112] gnu: kodi: Increase test timeout. * gnu/packages/patches/kodi-increase-test-timeout.patch: New file. * gnu/local.mk (dist_patch_DATA): Adjust accordingly. * gnu/packages/kodi.scm (kodi)[source](patches): Add it. --- gnu/local.mk | 1 + gnu/packages/kodi.scm | 1 + .../patches/kodi-increase-test-timeout.patch | 18 ++++++++++++++++++ 3 files changed, 20 insertions(+) create mode 100644 gnu/packages/patches/kodi-increase-test-timeout.patch diff --git a/gnu/local.mk b/gnu/local.mk index 126d29dade9..b4158b98802 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1017,6 +1017,7 @@ dist_patch_DATA = \ %D%/packages/patches/kobodeluxe-manpage-minus-not-hyphen.patch \ %D%/packages/patches/kobodeluxe-midicon-segmentation-fault.patch \ %D%/packages/patches/kobodeluxe-graphics-window-signed-char.patch \ + %D%/packages/patches/kodi-increase-test-timeout.patch \ %D%/packages/patches/kodi-set-libcurl-ssl-parameters.patch \ %D%/packages/patches/kodi-skip-test-449.patch \ %D%/packages/patches/laby-make-install.patch \ diff --git a/gnu/packages/kodi.scm b/gnu/packages/kodi.scm index 0e032d05dbf..cba9b550d14 100644 --- a/gnu/packages/kodi.scm +++ b/gnu/packages/kodi.scm @@ -282,6 +282,7 @@ alternatives. In compilers, this can reduce the cascade of secondary errors.") (base32 "1m0295czxabdcqyqf5m94av9d88pzhnzjvyfs1q07xqq82h313p7")) (patches (search-patches "kodi-skip-test-449.patch" + "kodi-increase-test-timeout.patch" "kodi-set-libcurl-ssl-parameters.patch")) (snippet '(begin diff --git a/gnu/packages/patches/kodi-increase-test-timeout.patch b/gnu/packages/patches/kodi-increase-test-timeout.patch new file mode 100644 index 00000000000..8fb149ff9d5 --- /dev/null +++ b/gnu/packages/patches/kodi-increase-test-timeout.patch @@ -0,0 +1,18 @@ +Increase thread timeout to reduce flakiness. + +Taken from upstream: +https://github.com/xbmc/xbmc/commit/574b0182d8b641fd24029f372ebdcccc897123e2 + +diff --git a/xbmc/threads/test/TestEvent.cpp b/xbmc/threads/test/TestEvent.cpp +index 42fb8c2fc609..40e644c0ed3c 100644 +--- a/xbmc/threads/test/TestEvent.cpp ++++ b/xbmc/threads/test/TestEvent.cpp +@@ -484,7 +484,7 @@ TEST(TestEvent, GroupTimedWait) + EXPECT_TRUE(w3.result == NULL); + + // this should end given the wait is for only 50 millis +- EXPECT_TRUE(waitThread3.timed_join(MILLIS(100))); ++ EXPECT_TRUE(waitThread3.timed_join(MILLIS(200))); + + EXPECT_TRUE(!w3.waiting); + EXPECT_TRUE(w3.result == NULL); From 7757f44044926d1aaa3a9520c5ee6f841d68f58e Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Sun, 20 Oct 2019 08:18:34 +0200 Subject: [PATCH 0237/1112] gnu: obnam: Remove this package. This package is abandoned and does not build anymore due to dependencies to old versions of python packages such as pylint. * gnu/packages/backup.scm (obnam): Remove variable. --- gnu/packages/backup.scm | 58 +---------------------------------------- 1 file changed, 1 insertion(+), 57 deletions(-) diff --git a/gnu/packages/backup.scm b/gnu/packages/backup.scm index a92c8c9acac..a4a087728f5 100644 --- a/gnu/packages/backup.scm +++ b/gnu/packages/backup.scm @@ -14,6 +14,7 @@ ;;; Copyright © 2018, 2019 Ricardo Wurmus ;;; Copyright © 2019 Alex Vong ;;; Copyright © 2019 Marius Bakke +;;; Copyright © 2019 Mathieu Othacehe ;;; ;;; This file is part of GNU Guix. ;;; @@ -711,63 +712,6 @@ NTFS volumes using @code{ntfs-3g}, preserving NTFS-specific attributes.") license:lgpl3+ license:cc0)))) -(define-public obnam - (package - (name "obnam") - (version "1.21") - (source - (origin - (method url-fetch) - (uri (string-append - "http://code.liw.fi/debian/pool/main/o/obnam/obnam_" - version ".orig.tar.xz")) - (sha256 - (base32 - "0qlipsq50hca71zc0dp1mg9zs12qm0sbblw7qfzl0hj6mk2rv1by")))) - (build-system python-build-system) - (arguments - `(#:python ,python-2 - #:phases - (modify-phases %standard-phases - (replace 'check - (lambda _ - (substitute* "obnamlib/vfs_local_tests.py" - ;; Check for the nobody user instead of root. - (("self.fs.get_username\\(0\\), 'root'") - "self.fs.get_username(65534), 'nobody'") - ;; Disable tests checking for root group. - (("self.fs.get_groupname\\(0\\)") "'root'")) - (substitute* "obnamlib/vfs_local.py" - ;; Don't cover get_groupname function. - (("def get_groupname\\(self, gid\\):") - "def get_groupname(self, gid): # pragma: no cover")) - ;; Can't run network tests. - (invoke "./check" "--unit-tests")))))) - (inputs - `(("python2-cliapp" ,python2-cliapp) - ("python2-larch" ,python2-larch) - ("python2-paramiko" ,python2-paramiko) - ("python2-pyaml" ,python2-pyaml) - ("python2-tracing" ,python2-tracing) - ("python2-ttystatus" ,python2-ttystatus))) - (native-inputs - `(("gnupg" ,gnupg) - ("python2-coverage" ,python2-coverage) - ("python2-coverage-test-runner" ,python2-coverage-test-runner) - ("python2-pep8" ,python2-pep8) - ("python2-pylint" ,python2-pylint))) - (home-page "https://obnam.org/") - (synopsis "Retired backup program") - (description - "Warning: @uref{https://blog.liw.fi/posts/2017/08/13/retiring_obnam/, -the Obnam project is retired}. You should use another backup solution instead. - -Obnam was an easy, secure backup program. Features included snapshot backups, -data de-duplication and encrypted backups using GnuPG. Backups can be stored on -local hard disks, or online via the SSH SFTP protocol. The backup server, if -used, does not require any special software, on top of SSH.") - (license license:gpl3+))) - (define-public dirvish (package (name "dirvish") From d1e6b9e85f0eeed72799d97531ff4c859c22bfde Mon Sep 17 00:00:00 2001 From: Brian Leung Date: Sun, 20 Oct 2019 00:08:32 -0700 Subject: [PATCH 0238/1112] gnu: Add emacs-ivy-xref. * gnu/packages/emacs-xyz.scm (emacs-ivy-xref): New variable. --- gnu/packages/emacs-xyz.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index a9a27597d82..c1e047da0b5 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -5362,6 +5362,31 @@ splitting the input text by spaces and re-building it into a regular expression.") (license license:gpl3+))) +(define-public emacs-ivy-xref + (let ((commit "1a35fc0f070388701b05b0a455cbe262e924d547") + (revision "1")) + (package + (name "emacs-ivy-xref") + (version (git-version "0.1" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/alexmurray/ivy-xref.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0d71nm9d9ajp5i6dnl8h1hw9jqp8gd1ajgninb1h13i80rplzl9k")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-ivy" ,emacs-ivy))) + (home-page "https://github.com/alexmurray/ivy-xref") + (synopsis "Ivy interface for @code{xref}") + (description "This package provides an Ivy interface for selecting from +@code{xref} results.") + (license license:gpl3)))) + (define-public emacs-ivy-pass (let ((commit "5b523de1151f2109fdd6a8114d0af12eef83d3c5") (revision "1")) From 849af4ae1ba6d4d0b3da3d47fc29ce33b532e4da Mon Sep 17 00:00:00 2001 From: David Wilson Date: Tue, 15 Oct 2019 05:17:54 -0700 Subject: [PATCH 0239/1112] services: xfce: Add xfce4-power-manager to polkit settings. * gnu/services/desktop.scm (xfce-desktop-service-type): Add xfce4-power-manager to polkit-service-type service extension via new procedure 'xfce-polkit-settings'. Signed-off-by: Danny Milosavljevic --- gnu/services/desktop.scm | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/gnu/services/desktop.scm b/gnu/services/desktop.scm index a32756e0403..5a7f8be4bb7 100644 --- a/gnu/services/desktop.scm +++ b/gnu/services/desktop.scm @@ -9,6 +9,7 @@ ;;; Copyright © 2018 Ricardo Wurmus ;;; Copyright © 2017, 2019 Christopher Baines ;;; Copyright © 2019 Tim Gesthuizen +;;; Copyright © 2019 David Wilson ;;; ;;; This file is part of GNU Guix. ;;; @@ -907,15 +908,21 @@ and extends polkit with the actions from @code{mate-settings-daemon}." xfce-desktop-configuration (xfce xfce-package (default xfce))) +(define (xfce-polkit-settings config) + "Return the list of XFCE dependencies that provide polkit actions and +rules." + (let ((xfce (xfce-package config))) + (map (lambda (name) + ((package-direct-input-selector name) xfce)) + '("thunar" + "xfce4-power-manager")))) + (define xfce-desktop-service-type (service-type (name 'xfce-desktop) (extensions (list (service-extension polkit-service-type - (compose list - (package-direct-input-selector - "thunar") - xfce-package)) + xfce-polkit-settings) (service-extension profile-service-type (compose list xfce-package)))) (default-value (xfce-desktop-configuration)) From 10f2ae01c46ded2ea4d7ba2201609a5882408278 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sun, 20 Oct 2019 13:00:01 +0200 Subject: [PATCH 0240/1112] gnu: dav1d: Remove defunct mirror URL. * gnu/packages/video.scm (dav1d)[source](uri): Remove bz2 tarball origin. --- gnu/packages/video.scm | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 1e67a7f281f..0b21251f467 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -3550,13 +3550,8 @@ transitions, and effects and then export your film to many common formats.") (source (origin (method url-fetch) - (uri (list ;; The canonical download site. - (string-append "https://downloads.videolan.org/pub/videolan/" - "dav1d/" version "/dav1d-" version ".tar.xz") - - ;; Auto-generated tarballs from the Git repo? - (string-append "https://code.videolan.org/videolan/dav1d/-/" - "archive/" version "/dav1d-" version ".tar.bz2"))) + (uri (string-append "https://downloads.videolan.org/pub/videolan" + "/dav1d/" version "/dav1d-" version ".tar.xz")) (sha256 (base32 "1586k439fm8db9lsxxywm34iqibj5mw4xrppr4g2wqr0hjlhcbxn")))) From 9a8d4463e61bbf84abe5de2d940b06753d85cfbb Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sun, 20 Oct 2019 13:01:25 +0200 Subject: [PATCH 0241/1112] gnu: dav1d: Fix build on AArch64. * gnu/packages/patches/dav1d-aarch64-symbol-alignment.patch: New file. * gnu/local.mk (dist_patch_DATA): Adjust accordingly. * gnu/packages/video.scm (dav1d)[source](patches): New field. --- gnu/local.mk | 1 + .../dav1d-aarch64-symbol-alignment.patch | 25 +++++++++++++++++++ gnu/packages/video.scm | 1 + 3 files changed, 27 insertions(+) create mode 100644 gnu/packages/patches/dav1d-aarch64-symbol-alignment.patch diff --git a/gnu/local.mk b/gnu/local.mk index b4158b98802..4292e6f4157 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -766,6 +766,7 @@ dist_patch_DATA = \ %D%/packages/patches/cursynth-wave-rand.patch \ %D%/packages/patches/cvs-CVE-2017-12836.patch \ %D%/packages/patches/darkice-workaround-fpermissive-error.patch \ + %D%/packages/patches/dav1d-aarch64-symbol-alignment.patch \ %D%/packages/patches/dbus-helper-search-path.patch \ %D%/packages/patches/dbus-c++-gcc-compat.patch \ %D%/packages/patches/dbus-c++-threading-mutex.patch \ diff --git a/gnu/packages/patches/dav1d-aarch64-symbol-alignment.patch b/gnu/packages/patches/dav1d-aarch64-symbol-alignment.patch new file mode 100644 index 00000000000..a47adf9b05f --- /dev/null +++ b/gnu/packages/patches/dav1d-aarch64-symbol-alignment.patch @@ -0,0 +1,25 @@ +Ensure local debug symbols are aligned on AArch64. + +Taken from upstream: +https://code.videolan.org/videolan/dav1d/commit/a6228f47f0eebcdfebb1753a786e3e1654b51ea4 + +diff --git a/src/arm/64/ipred.S b/src/arm/64/ipred.S +index 41b3c1c..9513212 100644 +--- a/src/arm/64/ipred.S ++++ b/src/arm/64/ipred.S +@@ -2244,6 +2244,7 @@ L(ipred_cfl_ac_420_tbl): + .hword L(ipred_cfl_ac_420_tbl) - L(ipred_cfl_ac_420_w16) + .hword L(ipred_cfl_ac_420_tbl) - L(ipred_cfl_ac_420_w8) + .hword L(ipred_cfl_ac_420_tbl) - L(ipred_cfl_ac_420_w4) ++ .hword 0 + + L(ipred_cfl_ac_420_w16_tbl): + .hword L(ipred_cfl_ac_420_w16_tbl) - L(ipred_cfl_ac_420_w16_wpad0) +@@ -2432,6 +2433,7 @@ L(ipred_cfl_ac_422_tbl): + .hword L(ipred_cfl_ac_422_tbl) - L(ipred_cfl_ac_422_w16) + .hword L(ipred_cfl_ac_422_tbl) - L(ipred_cfl_ac_422_w8) + .hword L(ipred_cfl_ac_422_tbl) - L(ipred_cfl_ac_422_w4) ++ .hword 0 + + L(ipred_cfl_ac_422_w16_tbl): + .hword L(ipred_cfl_ac_422_w16_tbl) - L(ipred_cfl_ac_422_w16_wpad0) diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 0b21251f467..93edb301f8d 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -3552,6 +3552,7 @@ transitions, and effects and then export your film to many common formats.") (method url-fetch) (uri (string-append "https://downloads.videolan.org/pub/videolan" "/dav1d/" version "/dav1d-" version ".tar.xz")) + (patches (search-patches "dav1d-aarch64-symbol-alignment.patch")) (sha256 (base32 "1586k439fm8db9lsxxywm34iqibj5mw4xrppr4g2wqr0hjlhcbxn")))) From c4cfa9c6ff27fc1b409550aaf0d4686b2ad84165 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sun, 20 Oct 2019 13:03:12 +0200 Subject: [PATCH 0242/1112] gnu: transmission: Update home page. * gnu/packages/bittorrent.scm (transmission)[home-page]: Use HTTPS. --- gnu/packages/bittorrent.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/bittorrent.scm b/gnu/packages/bittorrent.scm index 70f80398fa0..e8aedd74c3f 100644 --- a/gnu/packages/bittorrent.scm +++ b/gnu/packages/bittorrent.scm @@ -110,7 +110,7 @@ (native-inputs `(("intltool" ,intltool) ("pkg-config" ,pkg-config))) - (home-page "http://www.transmissionbt.com/") + (home-page "https://transmissionbt.com/") (synopsis "Fast and easy BitTorrent client") (description "Transmission is a BitTorrent client that comes with graphical, From 92e0fce80adafcadb57f0c72c3791fdbbde6a377 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sun, 20 Oct 2019 13:24:30 +0200 Subject: [PATCH 0243/1112] gnu: xmlsec: Update to 1.2.29. * gnu/packages/xml.scm (xmlsec): Update to 1.2.29. --- gnu/packages/xml.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/xml.scm b/gnu/packages/xml.scm index 59f30116a3a..d0216423e83 100644 --- a/gnu/packages/xml.scm +++ b/gnu/packages/xml.scm @@ -971,14 +971,14 @@ XSL-T processor. It also performs any necessary post-processing.") (define-public xmlsec (package (name "xmlsec") - (version "1.2.28") + (version "1.2.29") (source (origin (method url-fetch) (uri (string-append "https://www.aleksey.com/xmlsec/download/" "xmlsec1-" version ".tar.gz")) (sha256 (base32 - "1m12caglhyx08g8lh2sl3nkldlpryzdx2d572q73y3m33s0w9vhk")))) + "1arr50fvma01q2ix7g4k2c7lb8qcqjajn7wdc07r66b0jsxdxldi")))) (build-system gnu-build-system) (propagated-inputs ; according to xmlsec1.pc `(("libxml2" ,libxml2) From 0fe041bd9fa87d23b44969a3bcd99b1165a0f06e Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sun, 20 Oct 2019 13:31:19 +0200 Subject: [PATCH 0244/1112] gnu: Remove more GCC < 7 workarounds. * gnu/packages/abiword.scm (abiword)[arguments]: Do not pass "-std=c++11" to the GCC command line. * gnu/packages/aidc.scm (zbar)[arguments]: Likewise. * gnu/packages/android.scm (android-libbase, android-libcutils, android-libziparchive, fastboot)[arguments]: Likewise. * gnu/packages/audio.scm (azr3, guitarix, suil)[arguments]: Likewise. * gnu/packages/bioinformatics.scm (bless)[arguments]: Likewise. * gnu/packages/bittorrent.scm (libtorrent-rasterbar)[arguments]: Likewise. * gnu/packages/code.scm (rtags)[arguments]: Likewise. * gnu/packages/coq.scm (coq-gappa)[arguments]: Likewise. * gnu/packages/emulators.scm (dolphin-emu)[arguments]: Likewise. * gnu/packages/engineering.scm (xyce-serial, xyce-parallel)[arguments]: Likewise. * gnu/packages/gnupg.scm (pinentry-qt)[arguments]: Likewise. * gnu/packages/gobby.scm (libnet6, obby)[arguments]: Likewise. * gnu/packages/graph.scm (python-faiss)[arguments]: Likewise. * gnu/packages/graphics.scm (povray)[arguments]: Likewise. * gnu/packages/image-processing.scm (opencv, itk-snap)[arguments]: Likewise. * gnu/packages/image.scm (freeimage)[arguments]: Likewise. * gnu/packages/kodi.scm (crossguid)[arguments]: Likewise. * gnu/packages/music.scm (amsynth, qmidiarp, qmidiroute, seq24)[arguments]: Likewise. * gnu/packages/pdf.scm (python-poppler-qt5)[arguments]: Likewise. * gnu/packages/sagemath.scm (lcalc)[arguments]: Likewise. * gnu/packages/video.scm (vlc, mlt, v4l-utils)[arguments]: Likewise. --- gnu/packages/abiword.scm | 2 +- gnu/packages/aidc.scm | 3 +-- gnu/packages/android.scm | 8 +++----- gnu/packages/audio.scm | 9 ++------- gnu/packages/bioinformatics.scm | 3 +-- gnu/packages/bittorrent.scm | 13 +------------ gnu/packages/code.scm | 1 - gnu/packages/coq.scm | 3 +-- gnu/packages/emulators.scm | 2 +- gnu/packages/engineering.scm | 4 ++-- gnu/packages/gnupg.scm | 2 -- gnu/packages/gobby.scm | 7 +------ gnu/packages/graph.scm | 2 +- gnu/packages/graphics.scm | 1 - gnu/packages/image-processing.scm | 7 +------ gnu/packages/image.scm | 6 +----- gnu/packages/kodi.scm | 8 +++----- gnu/packages/music.scm | 17 ++--------------- gnu/packages/pdf.scm | 5 +---- gnu/packages/sagemath.scm | 6 +----- gnu/packages/video.scm | 8 +++----- 21 files changed, 27 insertions(+), 90 deletions(-) diff --git a/gnu/packages/abiword.scm b/gnu/packages/abiword.scm index 9d8c253a621..db9f1bb72c8 100644 --- a/gnu/packages/abiword.scm +++ b/gnu/packages/abiword.scm @@ -83,7 +83,7 @@ ;; the tests to pass. #:tests? #f #:make-flags - (list "CXXFLAGS=-std=c++11" "gtk_update_icon_cache=true"))) + (list "gtk_update_icon_cache=true"))) (inputs `(("boost" ,boost) ("enchant" ,enchant) diff --git a/gnu/packages/aidc.scm b/gnu/packages/aidc.scm index 61d3331c97b..77db0ac9fc3 100644 --- a/gnu/packages/aidc.scm +++ b/gnu/packages/aidc.scm @@ -130,8 +130,7 @@ C/C++ programs to use its capabilities without restrictions or overhead.") "--with-python=auto" (string-append "--with-dbusconfdir=" (assoc-ref %outputs "out") - "/etc") - "CXXFLAGS=-std=c++11"))) + "/etc")))) (native-inputs `(("glib" ,glib "bin") ("pkg-config" ,pkg-config))) diff --git a/gnu/packages/android.scm b/gnu/packages/android.scm index b312c5b2af4..993d18a3eb6 100644 --- a/gnu/packages/android.scm +++ b/gnu/packages/android.scm @@ -217,7 +217,6 @@ in Main, System, Radio and Events sub-logs.") (build-system android-ndk-build-system) (arguments `(#:tests? #f ; Test failure: logging.UNIMPLEMENTED - #:make-flags '("CXXFLAGS=-std=gnu++11") #:phases (modify-phases %standard-phases (add-after 'unpack 'enter-source @@ -257,7 +256,7 @@ various Android core host applications.") "CC = gcc\n" "CFLAGS += -fPIC\n" - "CXXFLAGS += -std=gnu++11 -fPIC\n" + "CXXFLAGS += -fPIC\n" "CPPFLAGS += -Iinclude -I../include\n" "LDFLAGS += -shared -Wl,-soname,$(NAME).so.0\n" @@ -312,7 +311,7 @@ various Android core host applications.") (build-system android-ndk-build-system) (arguments `(#:make-flags '("CFLAGS=-Wno-error" - "CXXFLAGS=-fpermissive -Wno-error -std=gnu++11") + "CXXFLAGS=-fpermissive -Wno-error") #:phases (modify-phases %standard-phases (add-after 'unpack 'enter-source @@ -631,8 +630,7 @@ file system.") (source (android-platform-system-core version)) (build-system android-ndk-build-system) (arguments - `(#:make-flags (list "CXXFLAGS=-std=gnu++11") - #:phases + `(#:phases (modify-phases %standard-phases (add-after 'unpack 'enter-source (lambda _ diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm index 88f3b5eccdb..110903e2fe6 100644 --- a/gnu/packages/audio.scm +++ b/gnu/packages/audio.scm @@ -521,8 +521,6 @@ formant warp.") `(#:tests? #f ; no check target #:make-flags (list "LV2PEG=ttl2c" - "CXXFLAGS=-std=gnu++11" - "CFLAGS=-std=gnu++11" (string-append "prefix=" %output) (string-append "pkgdatadir=" %output "/share/azr3-jack")) #:phases @@ -1328,8 +1326,7 @@ patches that can be used with softsynths such as Timidity and WildMidi.") #:configure-flags (list ;; Add the output lib directory to the RUNPATH. - (string-append "--ldflags=-Wl,-rpath=" %output "/lib") - "--cxxflags=-std=c++11") + (string-append "--ldflags=-Wl,-rpath=" %output "/lib")) #:phases (modify-phases %standard-phases (add-after 'unpack 'fix-boost-includes @@ -2427,9 +2424,7 @@ the Turtle syntax.") "0ay7hl6nr6ip1nn9k2m8ri3b52b6sx9mhixmcy4fy3kr2a88ksd1")))) (build-system waf-build-system) (arguments - `(#:tests? #f ; no check target - #:configure-flags - '("CXXFLAGS=-std=gnu++11"))) + `(#:tests? #f)) ;no check target (inputs `(("lv2" ,lv2) ("gtk+" ,gtk+-2) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 610b35cc618..e5d7081bc36 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -1443,8 +1443,7 @@ confidence to have in an alignment.") "-lboost_system" "-lboost_iostreams" "-lz" - "-fopenmp" - "-std=c++11")))) + "-fopenmp")))) #:phases (modify-phases %standard-phases (add-after 'unpack 'do-not-build-bundled-pigz diff --git a/gnu/packages/bittorrent.scm b/gnu/packages/bittorrent.scm index e8aedd74c3f..43712d4bcfb 100644 --- a/gnu/packages/bittorrent.scm +++ b/gnu/packages/bittorrent.scm @@ -400,18 +400,7 @@ and will take advantage of multiple processor cores where possible.") "--enable-tests") #:make-flags (list (string-append "LDFLAGS=-Wl,-rpath=" - (assoc-ref %outputs "out") "/lib")) - #:phases (modify-phases %standard-phases - (add-after 'unpack 'compile-python-c++11 - (lambda _ - ;; Make sure the Python bindings are compiled in C++ mode to - ;; avoid undefined references as mentioned in - ;; . - ;; XXX: This can be removed for 1.2+. - (substitute* "bindings/python/setup.py" - (("\\+ target_specific\\(\\)\\,") - "+ target_specific() + ['-std=c++11'],")) - #t))))) + (assoc-ref %outputs "out") "/lib")))) (inputs `(("boost" ,boost) ("openssl" ,openssl))) (native-inputs `(("python" ,python-2) diff --git a/gnu/packages/code.scm b/gnu/packages/code.scm index 13e2c4ad449..512ca5d3651 100644 --- a/gnu/packages/code.scm +++ b/gnu/packages/code.scm @@ -431,7 +431,6 @@ functionality such as HTML output.") '(#:build-type "RelWithDebInfo" #:configure-flags '("-DRTAGS_NO_ELISP_FILES=1" - "-DCMAKE_CXX_FLAGS=-std=c++11" "-DBUILD_TESTING=FALSE") #:tests? #f)) (native-inputs diff --git a/gnu/packages/coq.scm b/gnu/packages/coq.scm index fd69c44c228..2c5674f57a5 100644 --- a/gnu/packages/coq.scm +++ b/gnu/packages/coq.scm @@ -256,8 +256,7 @@ inside Coq.") (arguments `(#:configure-flags (list (string-append "--libdir=" (assoc-ref %outputs "out") - "/lib/coq/user-contrib/Gappa") - "CXXFLAGS=-std=c++11") + "/lib/coq/user-contrib/Gappa")) #:phases (modify-phases %standard-phases (add-before 'configure 'fix-remake diff --git a/gnu/packages/emulators.scm b/gnu/packages/emulators.scm index f6da7f2d250..1e5629451d2 100644 --- a/gnu/packages/emulators.scm +++ b/gnu/packages/emulators.scm @@ -161,7 +161,7 @@ (string-append (assoc-ref inputs "vulkan-loader") "/lib/libvulkan.so"))) (chdir "docs") - (invoke "bash" "-c" "g++ -O2 -std=c++11 $(freetype-config \ + (invoke "bash" "-c" "g++ -O2 $(freetype-config \ --cflags --libs) gc-font-tool.cpp -o gc-font-tool") (invoke "./gc-font-tool" "a" fontfile "font_western.bin") (invoke "./gc-font-tool" "s" fontfile "font_japanese.bin") diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm index 169d912c356..d1626f03422 100644 --- a/gnu/packages/engineering.scm +++ b/gnu/packages/engineering.scm @@ -1546,7 +1546,7 @@ unique design feature of Trilinos is its focus on packages.") `(#:tests? #f #:configure-flags (list - "CXXFLAGS=-O3 -std=c++11" + "CXXFLAGS=-O3" (string-append "ARCHDIR=" (assoc-ref %build-inputs "trilinos"))))) (native-inputs @@ -1586,7 +1586,7 @@ parallel computing platforms. It also supports serial execution.") (arguments `(,@(substitute-keyword-arguments (package-arguments xyce-serial) ((#:configure-flags flags) - `(list "CXXFLAGS=-O3 -std=c++11" + `(list "CXXFLAGS=-O3" "CXX=mpiCC" "CC=mpicc" "F77=mpif77" diff --git a/gnu/packages/gnupg.scm b/gnu/packages/gnupg.scm index 06e5f6782f9..ed89b2661b5 100644 --- a/gnu/packages/gnupg.scm +++ b/gnu/packages/gnupg.scm @@ -866,8 +866,6 @@ software."))) (inputs `(("qtbase" ,qtbase) ,@(package-inputs pinentry-tty))) - (arguments - `(#:configure-flags '("CXXFLAGS=-std=gnu++11"))) (description "Pinentry provides a console and a Qt GUI that allows users to enter a passphrase when @code{gpg} is run and needs it."))) diff --git a/gnu/packages/gobby.scm b/gnu/packages/gobby.scm index a7eb1ea0cdd..91484c7576f 100644 --- a/gnu/packages/gobby.scm +++ b/gnu/packages/gobby.scm @@ -47,9 +47,7 @@ (native-inputs `(("pkg-config" ,pkg-config))) (arguments - `(#:configure-flags - '("CXXFLAGS=-std=c++11") ; required by libsigc++ - #:phases + `(#:phases (modify-phases %standard-phases (add-before 'configure 'update-gnutls-api (lambda _ @@ -88,9 +86,6 @@ `(("libsigc++" ,libsigc++) ("gnutls" ,gnutls) ("libnet6" ,libnet6))) - (arguments - ;; Required by libsigc++. - `(#:configure-flags '("CXXFLAGS=-std=c++11"))) (home-page "https://gobby.github.io/") (synopsis "Library for building collaborative editors") (description diff --git a/gnu/packages/graph.scm b/gnu/packages/graph.scm index bde8b44a305..9979b176d79 100644 --- a/gnu/packages/graph.scm +++ b/gnu/packages/graph.scm @@ -389,7 +389,7 @@ contains supporting code for evaluation and parameter tuning.") PYTHONCFLAGS =-I~a/include/python~am/ -I~a/lib/python~a/site-packages/numpy/core/include LIBS = -lpython~am -lfaiss SHAREDFLAGS = -shared -fopenmp -CXXFLAGS = -fpermissive -std=c++11 -fopenmp -fPIC +CXXFLAGS = -fpermissive -fopenmp -fPIC CPUFLAGS = ~{~a ~}~%" (assoc-ref inputs "python*") python-version (assoc-ref inputs "python-numpy") python-version diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm index db328bc6853..917e7ba3974 100644 --- a/gnu/packages/graphics.scm +++ b/gnu/packages/graphics.scm @@ -673,7 +673,6 @@ virtual reality, scientific visualization and modeling.") (list "COMPILED_BY=Guix" (string-append "--with-boost-libdir=" (assoc-ref %build-inputs "boost") "/lib") - "CXXFLAGS=-std=c++11" "--disable-optimiz-arch") #:phases (modify-phases %standard-phases diff --git a/gnu/packages/image-processing.scm b/gnu/packages/image-processing.scm index 460f35dbae0..2579da3d6a7 100644 --- a/gnu/packages/image-processing.scm +++ b/gnu/packages/image-processing.scm @@ -269,10 +269,6 @@ integrates with various databases on GUI toolkits such as Qt and Tk.") "-DWITH_CAROTENE=OFF" ; only visible on arm/aarch64 "-DENABLE_PRECOMPILED_HEADERS=OFF" - ;; FIXME: OpenEXR requires C++11 or later. Remove this when - ;; the default compiler is GCC 7. - "-DCMAKE_CXX_FLAGS=-std=gnu++11" - ;; CPU-Features: ;; See cmake/OpenCVCompilerOptimizations.cmake ;; (CPU_ALL_OPTIMIZATIONS) for a list of all optimizations @@ -729,8 +725,7 @@ combine the information contained in both.") "-DSNAP_VERSION_GIT_BRANCH=release" "-DSNAP_VERSION_GIT_TIMESTAMP=0" "-DSNAP_PACKAGE_QT_PLUGINS=OFF" - "-DCMAKE_POSITION_INDEPENDENT_CODE=ON" - "-DCMAKE_CXX_FLAGS=-std=gnu++11 -fpermissive") + "-DCMAKE_POSITION_INDEPENDENT_CODE=ON") #:phases (modify-phases %standard-phases ;; During the installation phase all libraries provided by all diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm index 0026e99f595..84d9d2e7b20 100644 --- a/gnu/packages/image.scm +++ b/gnu/packages/image.scm @@ -973,11 +973,7 @@ supplies a generic doubly-linked list and some string functions.") ;; We need '-fpermissive' for Source/FreeImage.h. ;; libjxr doesn't have a pkg-config file. (string-append "CFLAGS+=-O2 -fPIC -fvisibility=hidden -fpermissive " - "-I" (assoc-ref %build-inputs "libjxr") "/include/jxrlib " - - ;; FIXME: OpenEXR 2.4.0 requires C++11 or later. - ;; Remove when the default compiler is > GCC 5. - "-std=gnu++11")) + "-I" (assoc-ref %build-inputs "libjxr") "/include/jxrlib")) #:tests? #f)) ; no check target (native-inputs `(("pkg-config" ,pkg-config) diff --git a/gnu/packages/kodi.scm b/gnu/packages/kodi.scm index cba9b550d14..59ea11f8121 100644 --- a/gnu/packages/kodi.scm +++ b/gnu/packages/kodi.scm @@ -104,14 +104,12 @@ (replace 'build (lambda _ (invoke "g++" "-c" "guid.cpp" "-o" "guid.o" - "-std=c++11" "-DGUID_LIBUUID") + "-DGUID_LIBUUID") (invoke "ar" "rvs" "libcrossguid.a" "guid.o"))) (replace 'check (lambda _ - (invoke "g++" "-c" "test.cpp" "-o" "test.o" - "-std=c++11") - (invoke "g++" "-c" "testmain.cpp" "-o" "testmain.o" - "-std=c++11") + (invoke "g++" "-c" "test.cpp" "-o" "test.o") + (invoke "g++" "-c" "testmain.cpp" "-o" "testmain.o") (invoke "g++" "test.o" "guid.o" "testmain.o" "-o" "test" "-luuid") (invoke (string-append (getcwd) "/test")))) diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index 040dfad506e..c0707772e4d 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -1514,14 +1514,6 @@ special variant of additive synthesis.") (base32 "1882pfcmf3rqg3vd4qflzkppcv158d748i603spqjbxqi8z7x7w0")))) (build-system gnu-build-system) - (arguments - `(#:phases - (modify-phases %standard-phases - (add-before 'configure 'set-flags - (lambda _ - ;; Compile with C++11, required by gtkmm. - (setenv "CXXFLAGS" "-std=c++11") - #t))))) (inputs `(("alsa-lib" ,alsa-lib) ("jack" ,jack-1) @@ -3569,8 +3561,7 @@ develop custom plugins for use in other applications without programming.") (build-system gnu-build-system) (arguments `(#:configure-flags - (list "--enable-qt5" - "CXXFLAGS=-std=gnu++11"))) + (list "--enable-qt5"))) (inputs `(("qtbase" ,qtbase) ("alsa-lib" ,alsa-lib) @@ -3601,8 +3592,7 @@ modules running in parallel.") (build-system gnu-build-system) (arguments `(#:configure-flags - (list "--enable-qt5" - "CXXFLAGS=-std=gnu++11"))) + (list "--enable-qt5"))) (inputs `(("qtbase" ,qtbase) ("alsa-lib" ,alsa-lib))) @@ -3631,9 +3621,6 @@ defined as tabs in the main control surface.") "12dphdhnvfk1k0vmagi1v2lhyxjyj1j3cz6ksjw0ydcvid1x8ap2")) (patches (search-patches "seq24-rename-mutex.patch")))) (build-system gnu-build-system) - (arguments - `(#:configure-flags - (list "CXXFLAGS=-std=gnu++11"))) (inputs `(("gtkmm" ,gtkmm-2) ("alsa-lib" ,alsa-lib) diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm index 003b5a95486..dfb4883a735 100644 --- a/gnu/packages/pdf.scm +++ b/gnu/packages/pdf.scm @@ -200,10 +200,7 @@ When present, Poppler is able to correctly render CJK and Cyrillic text.") (substitute* "setup.py" ;; This check always fails, so disable it. (("if not check_qtxml\\(\\)") - "if True") - ;; Enable C++11, which is needed because of Qt5. - (("\\*\\*ext_args" line) - (string-append "extra_compile_args=['-std=gnu++11'], " line))) + "if True")) ;; We need to pass an extra flag here. This cannot be in ;; configure-flags because it should not be passed for the ;; installation phase. diff --git a/gnu/packages/sagemath.scm b/gnu/packages/sagemath.scm index 43da5c636a7..7615b377596 100644 --- a/gnu/packages/sagemath.scm +++ b/gnu/packages/sagemath.scm @@ -404,11 +404,7 @@ used as internal storage type for polynomial structures.") (string-append "INSTALL_DIR=" out)) ;; Sage renames the include directory, so we do it also. (("include/Lfunction") - "include/libLfunction") - ;; Add --std=c++11 to be compatible with the "auto" keyword - ;; introduced by lcalc-using-namespace-std.patch. - (("^#EXTRA= -pg") - "EXTRA=--std=c++11"))) + "include/libLfunction"))) #t)) (add-before 'install 'make-output-dirs (lambda* (#:key outputs #:allow-other-keys) diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 93edb301f8d..0624d1abb40 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -1180,8 +1180,7 @@ videoformats depend on the configuration flags of ffmpeg.") ("xcb-util-keysyms" ,xcb-util-keysyms))) (arguments `(#:configure-flags - `("CXXFLAGS=-std=gnu++11" - "BUILDCC=gcc" + `("BUILDCC=gcc" ,(string-append "LDFLAGS=-Wl,-rpath -Wl," (assoc-ref %build-inputs "ffmpeg") "/lib")) ;needed for the tests @@ -2219,7 +2218,7 @@ from sites like Twitch.tv and pipes them into a video player of choice.") (build-system gnu-build-system) (arguments `(#:tests? #f ; no tests - #:make-flags '("CC=gcc" "CXX=g++ -std=gnu++11") + #:make-flags '("CC=gcc" "CXX=g++") #:configure-flags (list "--enable-gpl3" "--enable-gpl") @@ -2278,8 +2277,7 @@ tools, XML authoring components, and an extensible plug-in based API.") '(#:configure-flags (list (string-append "--with-udevdir=" (assoc-ref %outputs "out") - "/lib/udev") - "CXXFLAGS=-std=gnu++11"))) + "/lib/udev")))) (native-inputs `(("perl" ,perl) ("pkg-config" ,pkg-config))) From d04285647dda1d5b8b49de22a4cb91614e725093 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sun, 20 Oct 2019 15:43:18 +0200 Subject: [PATCH 0245/1112] packages: Add "aarch64-linux" to '%hydra-supported-systems'. * guix/packages.scm (%hydra-supported-systems): Keep "aarch64-linux". --- guix/packages.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/guix/packages.scm b/guix/packages.scm index f2c94c7bc2a..c98fb98aecc 100644 --- a/guix/packages.scm +++ b/guix/packages.scm @@ -241,9 +241,9 @@ name of its URI." (define %hydra-supported-systems ;; This is the list of system types for which build machines are available. ;; - ;; XXX: MIPS is temporarily unavailable on Hydra: + ;; XXX: MIPS is unavailable in CI: ;; . - (fold delete %supported-systems '("aarch64-linux" "mips64el-linux"))) + (fold delete %supported-systems '("mips64el-linux"))) ;; A package. From 79c03e55e26d88c8d327daced02367abe7f17f91 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sun, 20 Oct 2019 22:03:12 +0200 Subject: [PATCH 0246/1112] tests: Avoid now-deprecated 'make-struct'. * tests/cve.scm (vulnerability): Use 'make-struct/no-tail' instead of 'make-struct', which is deprecated. * tests/lint.scm ("cve: one vulnerability") ("cve: one patched vulnerability") ("cve: known safe from vulnerability") ("cve: vulnerability fixed in replacement version") ("cve: patched vulnerability in replacement"): Likewise. --- tests/cve.scm | 2 +- tests/lint.scm | 40 ++++++++++++++++++++-------------------- 2 files changed, 21 insertions(+), 21 deletions(-) diff --git a/tests/cve.scm b/tests/cve.scm index 3fbb22d3c66..e95b21c0732 100644 --- a/tests/cve.scm +++ b/tests/cve.scm @@ -25,7 +25,7 @@ (search-path %load-path "tests/cve-sample.xml")) (define (vulnerability id packages) - (make-struct (@@ (guix cve) ) 0 id packages)) + (make-struct/no-tail (@@ (guix cve) ) id packages)) (define %expected-vulnerabilities ;; What we should get when reading %SAMPLE. diff --git a/tests/lint.scm b/tests/lint.scm index 1b92f02b854..3a9b539a243 100644 --- a/tests/lint.scm +++ b/tests/lint.scm @@ -758,10 +758,10 @@ "probably vulnerable to CVE-2015-1234" (mock ((guix lint) package-vulnerabilities (lambda (package) - (list (make-struct (@@ (guix cve) ) 0 - "CVE-2015-1234" - (list (cons (package-name package) - (package-version package))))))) + (list (make-struct/no-tail (@@ (guix cve) ) + "CVE-2015-1234" + (list (cons (package-name package) + (package-version package))))))) (single-lint-warning-message (check-vulnerabilities (dummy-package "pi" (version "3.14")))))) @@ -769,10 +769,10 @@ '() (mock ((guix lint) package-vulnerabilities (lambda (package) - (list (make-struct (@@ (guix cve) ) 0 - "CVE-2015-1234" - (list (cons (package-name package) - (package-version package))))))) + (list (make-struct/no-tail (@@ (guix cve) ) + "CVE-2015-1234" + (list (cons (package-name package) + (package-version package))))))) (check-vulnerabilities (dummy-package "pi" (version "3.14") @@ -785,10 +785,10 @@ '() (mock ((guix lint) package-vulnerabilities (lambda (package) - (list (make-struct (@@ (guix cve) ) 0 - "CVE-2015-1234" - (list (cons (package-name package) - (package-version package))))))) + (list (make-struct/no-tail (@@ (guix cve) ) + "CVE-2015-1234" + (list (cons (package-name package) + (package-version package))))))) (check-vulnerabilities (dummy-package "pi" (version "3.14") @@ -800,10 +800,10 @@ (lambda (package) (match (package-version package) ("0" - (list (make-struct (@@ (guix cve) ) 0 - "CVE-2015-1234" - (list (cons (package-name package) - (package-version package)))))) + (list (make-struct/no-tail (@@ (guix cve) ) + "CVE-2015-1234" + (list (cons (package-name package) + (package-version package)))))) ("1" '())))) (check-vulnerabilities @@ -815,10 +815,10 @@ '() (mock ((guix lint) package-vulnerabilities (lambda (package) - (list (make-struct (@@ (guix cve) ) 0 - "CVE-2015-1234" - (list (cons (package-name package) - (package-version package))))))) + (list (make-struct/no-tail (@@ (guix cve) ) + "CVE-2015-1234" + (list (cons (package-name package) + (package-version package))))))) (check-vulnerabilities (dummy-package "pi" (version "3.14") (source (dummy-origin)) From c10c77a795a39a72be722c4c516684853a00f2df Mon Sep 17 00:00:00 2001 From: Reza Alizadeh Majd Date: Sun, 13 Oct 2019 20:55:21 +0330 Subject: [PATCH 0247/1112] gnu: Add lxqt-connman-applet. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/lxqt.scm (lxqt-connman-applet) New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/lxqt.scm | 46 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/gnu/packages/lxqt.scm b/gnu/packages/lxqt.scm index e5487d3ae42..8d5d3522eca 100644 --- a/gnu/packages/lxqt.scm +++ b/gnu/packages/lxqt.scm @@ -1279,6 +1279,52 @@ easily publishing them on internet image hosting services.") like @command{tar} and @command{zip}.") (license license:gpl2+))) +(define-public lxqt-connman-applet + ;; since the main developers didn't release any version yet, their + ;; latest commit on `master` branch at the moment used for this version. + (let ((commit "3db374eebd8d851f68a50fc5d1ef5fa9478c275e") + (revision "0")) + (package + (name "lxqt-connman-applet") + (version (git-version "0.14.1" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url (string-append "https://github.com/lxqt/" name ".git")) + (commit commit))) + (file-name (git-file-name name version)) + (sha256 (base32 "1brkyzjmpa7hiv8p8rvmkcgagchh2zn71ry4pjiplga05as3jc11")))) + (build-system cmake-build-system) + (inputs + `(("kwindowsystem" ,kwindowsystem) + ("qtbase" ,qtbase) + ("qtsvg" ,qtsvg) + ("liblxqt" ,liblxqt) + ("qtx11extras" ,qtx11extras) + ("libqtxdg" ,libqtxdg))) + (native-inputs + `(("lxqt-build-tools" ,lxqt-build-tools) + ("qtlinguist" ,qttools))) + (arguments + `(#:tests? #f ; no tests + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-translations-dir + (lambda* (#:key outputs #:allow-other-keys) + (substitute* "CMakeLists.txt" + (("\\$\\{LXQT_TRANSLATIONS_DIR\\}") + (string-append (assoc-ref outputs "out") + "/share/lxqt/translations")) + (("\\$\\{LXQT_ETC_XDG_DIR\\}") "etc/xdg")) + #t))))) + (home-page "https://github.com/lxqt/lxqt-connman-applet") + (synopsis "System-tray applet for connman") + (description "This package provides a Qt-based system-tray applet for +the network management tool Connman, originally developed for the LXQT +desktop.") + (license license:lgpl2.1+)))) + ;; The LXQt Desktop Environment (define-public lxqt From 24f4fcbe2620fc9cbafe804443ebbb7ee6d8359a Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sun, 20 Oct 2019 19:30:54 +0200 Subject: [PATCH 0248/1112] gnu: vte-ng: Update to 0.58.2.a. * gnu/packages/gnome.scm (vte-ng): Update to 0.58.2.a. [build-system]: New field. [arguments]: Set #:configure-flags. Remove #:phases. [native-inputs]: Remove GPERF, AUTOCONF, AUTOMAKE and LIBTOOL. --- gnu/packages/gnome.scm | 15 ++++----------- 1 file changed, 4 insertions(+), 11 deletions(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index fafb93be08a..781f450621d 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -2339,7 +2339,7 @@ editors, IDEs, etc.") (package (inherit vte) (name "vte-ng") - (version "0.56.2.a") + (version "0.58.2.a") (home-page "https://github.com/thestinger/vte-ng") (source (origin (method git-fetch) @@ -2347,20 +2347,13 @@ editors, IDEs, etc.") (file-name (git-file-name name version)) (sha256 (base32 - "1lmba6i0abifmvvfb1q63ql6zh6d38148kp6skmkggiib2hi5dki")))) + "0rnm5c6m3abbm81jsfdas0y80z299ny54gr4syn4bfrms3s4g19l")))) + (build-system meson-build-system) (native-inputs `(("gtk-doc" ,gtk-doc) - ("gperf" ,gperf) - ("autoconf" ,autoconf) - ("automake" ,automake) - ("libtool" ,libtool) ,@(package-native-inputs vte))) (arguments - `(#:phases (modify-phases %standard-phases - (replace 'bootstrap - (lambda _ - (setenv "NOCONFIGURE" "true") - (invoke "sh" "autogen.sh")))))) + `(#:configure-flags '("-Ddocs=true"))) (synopsis "Enhanced VTE terminal widget") (description "VTE is a library (libvte) implementing a terminal emulator widget for From bd1213708cb4d10b3a9bb633a2b21dc82f39f98b Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sun, 20 Oct 2019 21:53:25 +0200 Subject: [PATCH 0249/1112] gnu: protobuf-c: Update to 1.3.2. * gnu/packages/protobuf.scm (protobuf-c): Update to 1.3.2. --- gnu/packages/protobuf.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/protobuf.scm b/gnu/packages/protobuf.scm index b30461e1535..c2b7c9d4fb8 100644 --- a/gnu/packages/protobuf.scm +++ b/gnu/packages/protobuf.scm @@ -141,7 +141,7 @@ internal RPC protocols and file formats.") (define-public protobuf-c (package (name "protobuf-c") - (version "1.3.1") + (version "1.3.2") (source (origin (method url-fetch) (uri (string-append "https://github.com/protobuf-c/protobuf-c/" @@ -149,7 +149,7 @@ internal RPC protocols and file formats.") "/protobuf-c-" version ".tar.gz")) (sha256 (base32 - "0rr2kn7804cvhdm6lzz04gz76vy0fzj15dijbr17nv8x34x2sisi")))) + "0x4ybd9rfd878p2imz0hb8zxfd7l60vbdw7cg84dnysr9kqm3wjk")))) (build-system gnu-build-system) (inputs `(("protobuf" ,protobuf))) (native-inputs `(("pkg-config" ,pkg-config))) From 7373eb8304e0ebbfabe66deb59e78187013403dd Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sun, 20 Oct 2019 21:53:50 +0200 Subject: [PATCH 0250/1112] gnu: protobuf: Update to 3.10.0. * gnu/packages/protobuf.scm (protobuf, python-protobuf): Update to 3.10.0. (protobuf-next, python-protobuf-next): Rename to .... (protobuf-3.6, python-protobuf-3.6): ... this. (protobuf-3.5): New public variable. * gnu/packages/machine-learning.scm (grpc)[native-inputs]: Change from PROTOBUF-NEXT to PROTOBUF. (tensorflow)[native-inputs, propagated-inputs]: Adjust for renamed PROTOBUF-NEXT. * gnu/packages/robotics.scm (aseba)[inputs]: Change from PROTOBUF to PROTOBUF-3.5. * gnu/packages/telephony.scm (mumble)[inputs]: Likewise. --- gnu/packages/machine-learning.scm | 10 ++++----- gnu/packages/protobuf.scm | 35 ++++++++++++++++++++++--------- gnu/packages/robotics.scm | 2 +- gnu/packages/telephony.scm | 2 +- 4 files changed, 32 insertions(+), 17 deletions(-) diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm index 254ee59c4ae..2b2df6da6a4 100644 --- a/gnu/packages/machine-learning.scm +++ b/gnu/packages/machine-learning.scm @@ -1302,7 +1302,7 @@ Python.") ("openssl" ,openssl) ("zlib" ,zlib))) (native-inputs - `(("protobuf" ,protobuf-next) + `(("protobuf" ,protobuf) ("python" ,python-wrapper))) (home-page "https://grpc.io") (synopsis "High performance universal RPC framework") @@ -1607,8 +1607,8 @@ INSTALL_RPATH " (assoc-ref outputs "out") "/lib)\n"))) #t)))))) (native-inputs `(("pkg-config" ,pkg-config) - ("protobuf:native" ,protobuf-next) ; protoc - ("protobuf:src" ,(package-source protobuf-next)) + ("protobuf:native" ,protobuf-3.6) ; protoc + ("protobuf:src" ,(package-source protobuf-3.6)) ("eigen:src" ,(package-source eigen-for-tensorflow)) ;; install_pip_packages.sh wants setuptools 39.1.0 specifically. ("python-setuptools" ,python-setuptools-for-tensorflow) @@ -1735,7 +1735,7 @@ INSTALL_RPATH " (assoc-ref outputs "out") "/lib)\n"))) ("python-gast" ,python-gast) ("python-grpcio" ,python-grpcio) ("python-numpy" ,python-numpy) - ("python-protobuf" ,python-protobuf-next) + ("python-protobuf" ,python-protobuf-3.6) ("python-six" ,python-six) ("python-termcolo" ,python-termcolor) ("python-wheel" ,python-wheel))) @@ -1751,7 +1751,7 @@ INSTALL_RPATH " (assoc-ref outputs "out") "/lib)\n"))) ("jsoncpp" ,jsoncpp-for-tensorflow) ("snappy" ,snappy) ("sqlite" ,sqlite) - ("protobuf" ,protobuf-next) + ("protobuf" ,protobuf-3.6) ("python" ,python-wrapper) ("zlib" ,zlib))) (home-page "https://tensorflow.org") diff --git a/gnu/packages/protobuf.scm b/gnu/packages/protobuf.scm index c2b7c9d4fb8..e9aaeb23c2c 100644 --- a/gnu/packages/protobuf.scm +++ b/gnu/packages/protobuf.scm @@ -75,7 +75,7 @@ data in motion, or as a file format for data at rest.") (define-public protobuf (package (name "protobuf") - (version "3.5.1") + (version "3.10.0") (source (origin (method url-fetch) (uri (string-append "https://github.com/google/protobuf/releases/" @@ -83,7 +83,7 @@ data in motion, or as a file format for data at rest.") version ".tar.gz")) (sha256 (base32 - "14j0427ykjzrd9a66c2mpk0sjcccjlsx6q8ww6hzwb6sha3vm3f2")))) + "06xnqpsa79jrk3k55fsycnp7jac546299v7gdyx9yf4c5q81xfgz")))) (build-system gnu-build-system) (inputs `(("zlib" ,zlib))) (outputs (list "out" @@ -112,9 +112,9 @@ yet extensible format. Google uses Protocol Buffers for almost all of its internal RPC protocols and file formats.") (license license:bsd-3))) -(define-public protobuf-next - (package (inherit protobuf) - (name "protobuf") +;; Tensorflow requires version 3.6 specifically. +(define-public protobuf-3.6 + (package/inherit protobuf (version "3.6.1") (source (origin (method url-fetch) @@ -125,6 +125,20 @@ internal RPC protocols and file formats.") (base32 "0a955bz59ihrb5wg7dwi12xajdi5pmz4bl0g147rbdwv393jwwxk")))))) +;; The 3.5 series are the last versions that do not require C++ 11. +(define-public protobuf-3.5 + (package/inherit + protobuf + (version "3.5.1") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/google/protobuf/releases/" + "download/v" version "/protobuf-cpp-" + version ".tar.gz")) + (sha256 + (base32 + "14j0427ykjzrd9a66c2mpk0sjcccjlsx6q8ww6hzwb6sha3vm3f2")))))) + ;; XXX Remove this old version when no other packages depend on it. (define-public protobuf-2 (package (inherit protobuf) @@ -189,14 +203,14 @@ encoder in C++. The developer using protozero has to manually translate the (define-public python-protobuf (package (name "python-protobuf") - (version "3.5.2") + (version "3.10.0") (source (origin (method url-fetch) (uri (pypi-uri "protobuf" version)) (sha256 (base32 - "1q4b1m55w4gvcbzklbk8iylaii98n4in41k27d94w8ypbwlrm1q9")))) + "1zjq3qi0wgqi0fwxgqlgwvj9ri1m4kmnz3jnpd803lqc5k0vb0yv")))) (build-system python-build-system) (propagated-inputs `(("python-six" ,python-six))) @@ -210,10 +224,11 @@ mechanism for serializing structured data.") (define-public python2-protobuf (package-with-python2 python-protobuf)) -(define-public python-protobuf-next - (package (inherit python-protobuf) +;; For tensorflow. +(define-public python-protobuf-3.6 + (package/inherit python-protobuf (name "python-protobuf") - (version (package-version protobuf-next) ) + (version (package-version protobuf-3.6) ) (source (origin (method url-fetch) diff --git a/gnu/packages/robotics.scm b/gnu/packages/robotics.scm index 389bb5a0280..fbf10be366f 100644 --- a/gnu/packages/robotics.scm +++ b/gnu/packages/robotics.scm @@ -106,7 +106,7 @@ hundred times faster than real-time.") (inputs `(("dashel" ,dashel) ("enki" ,enki) - ("protobuf" ,protobuf) ;for logging + ("protobuf" ,protobuf-3.5) ;for logging ("qtbase" ,qtbase) ("qtsvg" ,qtsvg) ("qttools" ,qttools) ;for libQt5Help, needed by "studio" diff --git a/gnu/packages/telephony.scm b/gnu/packages/telephony.scm index 5d6f0ffed69..81e710a536b 100644 --- a/gnu/packages/telephony.scm +++ b/gnu/packages/telephony.scm @@ -464,7 +464,7 @@ address of one of the participants.") (find-files "release/plugins" "\\.so$")))))))) (inputs `(("avahi" ,avahi) - ("protobuf" ,protobuf) + ("protobuf" ,protobuf-3.5) ("openssl" ,openssl) ("libsndfile" ,libsndfile) ("boost" ,boost) From fbde37884fe35f5caf2a0e33fc734d0ca40ad893 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 20 Oct 2019 05:21:42 +0200 Subject: [PATCH 0251/1112] gnu: r-colorout: Update to 1.2-2. * gnu/packages/statistics.scm (r-colorout): Update to 1.2-2. --- gnu/packages/statistics.scm | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index 4b1ba98e2f3..8923481b6c0 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -5733,7 +5733,7 @@ shaped points? Now you can!") (define-public r-colorout (package (name "r-colorout") - (version "1.2-0") + (version "1.2-2") (source (origin (method url-fetch) @@ -5741,8 +5741,7 @@ shaped points? Now you can!") "v" version ".tar.gz")) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 - "07vqx5ihgnq4dzn5jnfjfhdm3957v4prvf8vhnb3cwvlly4l7p9v")))) + (base32 "1ylwxnaq5l6ldls44wij4i6080fv002wj33q63h8nqbp52fmkl67")))) (build-system r-build-system) (home-page "https://github.com/jalvesaq/colorout") (synopsis "Colorize output in the R REPL") From df12af98a86816e78f826b10a062bfe79de6c47a Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 20 Oct 2019 05:26:47 +0200 Subject: [PATCH 0252/1112] gnu: r-colorout: Don't use unstable tarball. * gnu/packages/statistics.scm (r-colorout)[source]: Use GIT-FETCH and GIT-FILE-NAME. --- gnu/packages/statistics.scm | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index 8923481b6c0..7b8622ebfc1 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -5736,12 +5736,13 @@ shaped points? Now you can!") (version "1.2-2") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/jalvesaq/colorout/archive/" - "v" version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/jalvesaq/colorout.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 - (base32 "1ylwxnaq5l6ldls44wij4i6080fv002wj33q63h8nqbp52fmkl67")))) + (base32 "1rsx69wjpa73c6x2hacvvvbzdzxn7wg06gizf97kasjdlb7azmp3")))) (build-system r-build-system) (home-page "https://github.com/jalvesaq/colorout") (synopsis "Colorize output in the R REPL") From 37781323f6409661160442f46f96987a71deecbc Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 20 Oct 2019 19:20:17 +0200 Subject: [PATCH 0253/1112] gnu: arc-theme: Update to 20190917. * gnu/packages/gnome.scm (arc-theme): Update to 20190917. --- gnu/packages/gnome.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 781f450621d..3a4494b2b52 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -7100,7 +7100,7 @@ dark elements. It supports GNOME, Unity, Xfce, and Openbox.") (define-public arc-theme (package (name "arc-theme") - (version "20181022") + (version "20190917") (source (origin (method git-fetch) (uri (git-reference @@ -7109,7 +7109,7 @@ dark elements. It supports GNOME, Unity, Xfce, and Openbox.") (file-name (git-file-name name version)) (sha256 (base32 - "08951dk1irfadwpr3p323a4fprmxg53rk2r2niwq3v62ryhi3663")))) + "1qgpk4p2hi5hd4yy0hj93kq1vs0b32wb8qkaj1wi90c8gwddq5wa")))) (build-system gnu-build-system) (arguments '(#:phases From d2e1a0ac92e68d59e1828c6231ccd9ef264b87dd Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Mon, 21 Oct 2019 00:40:31 +0200 Subject: [PATCH 0254/1112] gnu: libdv: Don't use NAME in source URI. * gnu/packages/video.scm (libdv)[source]: Hard-code NAME. --- gnu/packages/video.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 0624d1abb40..5c135006422 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -688,8 +688,8 @@ streams.") (source (origin (method url-fetch) (uri (string-append - "mirror://sourceforge/" name "/" name "/" - version "/" name "-" version ".tar.gz")) + "mirror://sourceforge/libdv/libdv/" + version "/libdv-" version ".tar.gz")) (sha256 (base32 "1fl96f2xh2slkv1i1ix7kqk576a0ak1d33cylm0mbhm96d0761d3")))) From 4de93b2fbcfce7cd7d381c36d0059d5b018e69f6 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Mon, 21 Oct 2019 01:22:29 +0200 Subject: [PATCH 0255/1112] gnu: bpython: Update to 0.18. * gnu/packages/python-xyz.scm (bpython): Update to 0.18. --- gnu/packages/python-xyz.scm | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index e81a6b838a4..fefd3f67fad 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -14854,14 +14854,13 @@ Included are implementations of: (define-public bpython (package (name "bpython") - (version "0.17.1") + (version "0.18") (source (origin (method url-fetch) (uri (pypi-uri "bpython" version)) (sha256 - (base32 - "0bxhxi5zxdkrf8b4gwn0d363kdz3qnypjwhm1aydki53ph8ca1w9")))) + (base32 "1hl6frgvr2lqaxqczl8amg9xih32b3gzv429vs0qrjb8wpdj1k2n")))) (build-system python-build-system) (arguments `(#:phases @@ -14884,10 +14883,10 @@ Included are implementations of: (propagated-inputs `(("python-pygments" ,python-pygments) ("python-requests" ,python-requests) - ("python-babel" ,python-babel) ; optional, for internationalization + ("python-babel" ,python-babel) ; optional, for internationalization ("python-curtsies" ,python-curtsies) ; >= 0.1.18 ("python-greenlet" ,python-greenlet) - ("python-urwid" ,python-urwid) ; for bpython-urwid only + ("python-urwid" ,python-urwid) ; for bpython-urwid only ("python-six" ,python-six))) (native-inputs `(("python-sphinx" ,python-sphinx) From 93803c6b6114dd8ee0df7939eef0d0be374327ef Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Mon, 21 Oct 2019 01:32:38 +0200 Subject: [PATCH 0256/1112] gnu: snakemake: Update to 5.7.1. * gnu/packages/python-xyz.scm (snakemake): Update to 5.7.1. --- gnu/packages/python-xyz.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index fefd3f67fad..62801887bfb 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -6146,13 +6146,13 @@ Python.") (define-public snakemake (package (name "snakemake") - (version "5.2.4") + (version "5.7.1") (source (origin (method url-fetch) (uri (pypi-uri "snakemake" version)) (sha256 - (base32 "0gj0xxgiq3mp9qyyrbfzldiaq1giliqw0in64nqiz7vx49myqj7z")))) + (base32 "1pnpvvn8n2a78cg360wz3ldmpqrsm2wzi0c0dmvki9fnsw6fxdas")))) (build-system python-build-system) (arguments ;; TODO: Package missing test dependencies. @@ -6180,6 +6180,7 @@ Python.") ("python-jinja2" ,python-jinja2) ("python-jsonschema" ,python-jsonschema) ("python-networkx" ,python-networkx) + ("python-psutil" ,python-psutil) ("python-pyyaml" ,python-pyyaml) ("python-ratelimiter" ,python-ratelimiter))) (home-page "https://snakemake.readthedocs.io") From 8994ae34539559c8edb0013e78af1a4dc5784d3b Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Mon, 21 Oct 2019 01:34:45 +0200 Subject: [PATCH 0257/1112] gnu: snakemake: Order inputs alphabetically. * gnu/packages/python-xyz.scm (snakemake)[propagated-inputs]: Order. --- gnu/packages/python-xyz.scm | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 62801887bfb..ac5009114a8 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -6170,19 +6170,19 @@ Python.") "/bin/snakemake"))) #t))))) (propagated-inputs - `(("python-gitpython" ,python-gitpython) - ("python-wrapt" ,python-wrapt) - ("python-requests" ,python-requests) - ("python-appdirs" ,python-appdirs) + `(("python-appdirs" ,python-appdirs) ("python-configargparse" ,python-configargparse) ("python-datrie" ,python-datrie) ("python-docutils" ,python-docutils) + ("python-gitpython" ,python-gitpython) ("python-jinja2" ,python-jinja2) ("python-jsonschema" ,python-jsonschema) ("python-networkx" ,python-networkx) ("python-psutil" ,python-psutil) ("python-pyyaml" ,python-pyyaml) - ("python-ratelimiter" ,python-ratelimiter))) + ("python-ratelimiter" ,python-ratelimiter) + ("python-requests" ,python-requests) + ("python-wrapt" ,python-wrapt))) (home-page "https://snakemake.readthedocs.io") (synopsis "Python-based execution environment for make-like workflows") (description From 776aa52d2bdc746be30e0436773d8dcab69d8e36 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Mon, 21 Oct 2019 01:35:22 +0200 Subject: [PATCH 0258/1112] gnu: Remove snakemake@4. * gnu/packages/python-xyz.scm (snakemake-4): Remove variable. --- gnu/packages/python-xyz.scm | 18 ------------------ 1 file changed, 18 deletions(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index ac5009114a8..65f944b56c2 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -6191,24 +6191,6 @@ providing a clean and modern domain specific specification language (DSL) in Python style, together with a fast and comfortable execution environment.") (license license:expat))) -;; This is currently needed for the pigx-* packages. -(define-public snakemake-4 - (package (inherit snakemake) - (version "4.4.0") - (source - (origin - (method url-fetch) - (uri (pypi-uri "snakemake" version)) - (sha256 - (base32 "0g0paia4z7w3srnqdmavq3hrb2x7qnpf81jx50njl0p7y4y0j8jv")))) - (propagated-inputs - `(("python-wrapt" ,python-wrapt) - ("python-requests" ,python-requests) - ("python-appdirs" ,python-appdirs) - ("python-configargparse" ,python-configargparse) - ("python-pyyaml" ,python-pyyaml) - ("python-ratelimiter" ,python-ratelimiter))))) - (define-public python-pyqrcode (package (name "python-pyqrcode") From b977d900d89041a9155086866b112b49c1362c30 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Mon, 21 Oct 2019 01:09:53 +0200 Subject: [PATCH 0259/1112] gnu: certbot, python-acme: Update to 0.39.0. * gnu/packages/tls.scm (python-acme): Update to 0.39.0. (certbot)[source]: Update hash. [propagated-inputs]: Add python-distro. --- gnu/packages/tls.scm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm index 2def6ee7037..73bd0ded23c 100644 --- a/gnu/packages/tls.scm +++ b/gnu/packages/tls.scm @@ -542,13 +542,13 @@ netcat implementation that supports TLS.") (package (name "python-acme") ;; Remember to update the hash of certbot when updating python-acme. - (version "0.37.2") + (version "0.39.0") (source (origin (method url-fetch) (uri (pypi-uri "acme" version)) (sha256 (base32 - "0p3zqhna9p8iy5i9mfhzdf5bmjigs05r6rlwnxykk4n67fp8yyc8")))) + "021nyzld949ahrhamlcgmzmk8r1gxrbs8wypnks08s6y2rfvgz52")))) (build-system python-build-system) (arguments `(#:phases @@ -599,7 +599,7 @@ netcat implementation that supports TLS.") (uri (pypi-uri "certbot" version)) (sha256 (base32 - "1xbfv4fwkgfp9qqzlk8wxbhchc61349m26q9fg35j9fnm253cm74")))) + "1q6zmnfyyk4rhsjg9s2gxx1ciink57ybnv32dgw8m2059lffwp48")))) (build-system python-build-system) (arguments `(,@(substitute-keyword-arguments (package-arguments python-acme) @@ -633,6 +633,7 @@ netcat implementation that supports TLS.") ("python-pyopenssl" ,python-pyopenssl) ("python-configobj" ,python-configobj) ("python-configargparse" ,python-configargparse) + ("python-distro" ,python-distro) ("python-zope-component" ,python-zope-component) ("python-parsedatetime" ,python-parsedatetime) ("python-six" ,python-six) From 6f91eabb791a040d9541bc389a60a5310c2f728c Mon Sep 17 00:00:00 2001 From: Brian Leung Date: Sun, 20 Oct 2019 18:49:03 -0700 Subject: [PATCH 0260/1112] gnu: emacs-org-ql: Update to 0.3.2. * gnu/packages/emacs-xyz.scm (emacs-org-ql): Update to 0.3.2. --- gnu/packages/emacs-xyz.scm | 84 +++++++++++++++++++------------------- 1 file changed, 41 insertions(+), 43 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index c1e047da0b5..33dd6790ff4 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -12194,50 +12194,48 @@ according to a parsing expression grammar.") (license license:gpl3+))) (define-public emacs-org-ql - (let ((commit "949a06c3ab50482b749fd2d4350837a197660d96") - (revision "3")) - (package - (name "emacs-org-ql") - (version (git-version "0.3.1" revision commit)) - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/alphapapa/org-ql") - (commit commit))) - (sha256 - (base32 - "0apcg63xm0242mjgsgw0jrcda4p4iqj7fy3sgh0p7khi4hrs5ch0")) - (file-name (git-file-name name version)))) - (build-system emacs-build-system) - (propagated-inputs - `(("emacs-s" ,emacs-s) - ("emacs-f" ,emacs-f) - ("emacs-ov" ,emacs-ov) - ("emacs-peg" ,emacs-peg) - ("emacs-org-super-agenda" ,emacs-org-super-agenda) - ("emacs-ts" ,emacs-ts) - ("emacs-org" ,emacs-org) - ("emacs-helm" ,emacs-helm) - ("emacs-helm-org" ,emacs-helm-org) - ("emacs-dash" ,emacs-dash))) - (native-inputs - `(("emacs-buttercup" ,emacs-buttercup))) - (arguments - `(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'require-helm - (lambda _ - (substitute* "helm-org-ql.el" - (("^;;;; Requirements") - ";;;; Requirements\n(require 'helm)\n(require 'helm-org)")) - #t))) - #:tests? #t - #:test-command '("buttercup" "-L" "."))) - (home-page "https://github.com/alphapapa/org-ql/") - (synopsis "Query language for Org buffers") - (description "This package provides a Lispy query language for Org + (package + (name "emacs-org-ql") + (version "0.3.2") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/alphapapa/org-ql") + (commit version))) + (sha256 + (base32 + "11bhpi2l28vp8mm9nx18jljbqdnh9vxpv9kp1dn9lpsgivcdbc34")) + (file-name (git-file-name name version)))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-s" ,emacs-s) + ("emacs-f" ,emacs-f) + ("emacs-ov" ,emacs-ov) + ("emacs-peg" ,emacs-peg) + ("emacs-org-super-agenda" ,emacs-org-super-agenda) + ("emacs-ts" ,emacs-ts) + ("emacs-org" ,emacs-org) + ("emacs-helm" ,emacs-helm) + ("emacs-helm-org" ,emacs-helm-org) + ("emacs-dash" ,emacs-dash))) + (native-inputs + `(("emacs-buttercup" ,emacs-buttercup))) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'require-helm + (lambda _ + (substitute* "helm-org-ql.el" + (("^;;;; Requirements") + ";;;; Requirements\n(require 'helm)\n(require 'helm-org)")) + #t))) + #:tests? #t + #:test-command '("buttercup" "-L" "."))) + (home-page "https://github.com/alphapapa/org-ql/") + (synopsis "Query language for Org buffers") + (description "This package provides a Lispy query language for Org files, allowing for actions to be performed based on search criteria.") - (license license:gpl3+)))) + (license license:gpl3+))) (define-public emacs-org-auto-expand (let ((commit "4938d5f6460e2f8f051ba9ac000b291bfa43ef62") From f0bbf894a1f935c1e0109f35899acb6dfcb977f2 Mon Sep 17 00:00:00 2001 From: Brian Leung Date: Sun, 20 Oct 2019 18:54:07 -0700 Subject: [PATCH 0261/1112] gnu: emacs-hierarchy: Enable tests. * gnu/packages/emacs-xyz.scm (emacs-hierarchy): Enable tests. --- gnu/packages/emacs-xyz.scm | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 33dd6790ff4..54461b7a74e 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -12534,6 +12534,11 @@ orient yourself in the code, and tell which statements are at a given level.") (sha256 (base32 "1kykbb1sil5cycfa5aj8dhsxc5yrx1641i2np5kwdjid6ahdlz5r")))) (build-system emacs-build-system) + (native-inputs + `(("emacs-buttercup" ,emacs-buttercup))) + (arguments + `(#:tests? #t + #:test-command '("buttercup" "-L" "."))) (home-page "https://github.com/DamienCassou/hierarchy") (synopsis "Library to create and display hierarchy structures") (description "This package provides an Emacs library to create, query, From 6dc424f92464f962ba8d43ebdd319c096c6975e5 Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Mon, 21 Oct 2019 10:10:51 +0200 Subject: [PATCH 0262/1112] gnu: backup: Remove my copyright. This is a follow-up of 7757f440449, where my copyright is not needed. * gnu/packages/backup.scm: Remove my copyright. --- gnu/packages/backup.scm | 1 - 1 file changed, 1 deletion(-) diff --git a/gnu/packages/backup.scm b/gnu/packages/backup.scm index a4a087728f5..fc43f93d7db 100644 --- a/gnu/packages/backup.scm +++ b/gnu/packages/backup.scm @@ -14,7 +14,6 @@ ;;; Copyright © 2018, 2019 Ricardo Wurmus ;;; Copyright © 2019 Alex Vong ;;; Copyright © 2019 Marius Bakke -;;; Copyright © 2019 Mathieu Othacehe ;;; ;;; This file is part of GNU Guix. ;;; From f2d6d9b829ec48cdb9327db269019c6a9819fca1 Mon Sep 17 00:00:00 2001 From: Guillaume Le Vaillant Date: Sat, 19 Oct 2019 09:25:53 +0200 Subject: [PATCH 0263/1112] gnu: Add simple-parallel-tasks. * gnu/packages/lisp.scm (cl-simple-parallel-tasks, sbcl-simple-parallel-tasks, ecl-simple-parallel-tasks): New variables. --- gnu/packages/lisp.scm | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm index bb2a589578d..dcc396dd258 100644 --- a/gnu/packages/lisp.scm +++ b/gnu/packages/lisp.scm @@ -7833,3 +7833,36 @@ Clojure, as well as several expansions on the idea.") (define-public ecl-arrows (sbcl-package->ecl-package sbcl-arrows)) + +(define-public sbcl-simple-parallel-tasks + (let ((commit "db460f7a3f7bbfe2d3a2223ed21e162068d04dda") + (revision "0")) + (package + (name "sbcl-simple-parallel-tasks") + (version (git-version "1.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/glv2/simple-parallel-tasks.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0amw3qk23wnlyrsgzszs6rs7y4zvxv8dr03rnqhc60mnm8ds4dd5")))) + (build-system asdf-build-system/sbcl) + (native-inputs + `(("fiveam" ,sbcl-fiveam))) + (inputs + `(("chanl" ,sbcl-chanl))) + (synopsis "Common Lisp library to evaluate some forms in parallel") + (description "This is a simple Common Lisp library to evaluate some +forms in parallel.") + (home-page "https://github.com/glv2/simple-parallel-tasks") + (license license:gpl3)))) + +(define-public cl-simple-parallel-tasks + (sbcl-package->cl-source-package sbcl-simple-parallel-tasks)) + +(define-public ecl-simple-parallel-tasks + (sbcl-package->ecl-package sbcl-simple-parallel-tasks)) From 1403e1f710b938fbce2eb968a1b75d15332113c3 Mon Sep 17 00:00:00 2001 From: Pierre Neidhardt Date: Mon, 21 Oct 2019 14:45:10 +0200 Subject: [PATCH 0264/1112] gnu: Add pcsxr. * gnu/packages/emulators.scm (pcsxr): New variable. --- gnu/packages/emulators.scm | 56 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) diff --git a/gnu/packages/emulators.scm b/gnu/packages/emulators.scm index 1e5629451d2..2907cc3fcc9 100644 --- a/gnu/packages/emulators.scm +++ b/gnu/packages/emulators.scm @@ -9,6 +9,7 @@ ;;; Copyright © 2017, 2018, 2019 Nicolas Goaziou ;;; Copyright © 2017 Tobias Geerinckx-Rice ;;; Copyright © 2017, 2018, 2019 Rutger Helling +;;; Copyright © 2019 Pierre Neidhardt ;;; ;;; This file is part of GNU Guix. ;;; @@ -26,6 +27,7 @@ ;;; along with GNU Guix. If not, see . (define-module (gnu packages emulators) + #:use-module (ice-9 match) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) #:use-module (guix download) @@ -39,6 +41,7 @@ #:use-module (gnu packages base) #:use-module (gnu packages boost) #:use-module (gnu packages backup) + #:use-module (gnu packages cdrom) #:use-module (gnu packages compression) #:use-module (gnu packages curl) #:use-module (gnu packages elf) @@ -1366,3 +1369,56 @@ functions. The source code to MAME serves as this documentation.") ;; However, over 90% of the files are under Expat license. Also, artwork, ;; keymaps, languages and samples are under CC0. (license (list license:gpl2+ license:expat license:cc0)))) + +(define-public pcsxr + ;; No release since 2017. + (let ((commit "6484236cb0281e8040ff6c8078c87899a3407534")) + (package + (name "pcsxr") + ;; Version is tagged here: https://github.com/frealgagu/PCSX-Reloaded + (version "1.9.95") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/pcsxr/PCSX-Reloaded") + (commit commit))) + (sha256 + (base32 + "138mayp7zi9v4l3lm5f6xxkds619w1fgg769zm8s45c84jbz7dza")) + (file-name (git-file-name name commit)))) + (build-system cmake-build-system) + (arguments + `(#:tests? #f ;no "test" target + #:configure-flags + (list "-DSND_BACKEND=pulse" + "-DENABLE_CCDDA='ON'" + "-DUSE_LIBARCHIVE='ON'" + "-DUSE_LIBCDIO='ON'") + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'cd-subdir + (lambda _ (chdir "pcsxr"))) + (add-before 'configure 'fix-cdio-lookup + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "cmake/FindCdio.cmake" + (("/usr/include/cdio") + (string-append (assoc-ref inputs "libcdio") "/include/cdio")))))))) + (native-inputs + `(("pkg-config" ,pkg-config) + ("intltool" ,intltool) + ("glib" ,glib "bin"))) + (inputs + `(("libcdio" ,libcdio) + ("sdl2" ,sdl2) + ("gtk+" ,gtk+) + ("ffmpeg" ,ffmpeg) + ("libxv" ,libxv) + ("libarchive" ,libarchive) + ("pulseaudio" ,pulseaudio))) + (home-page "https://archive.codeplex.com/?p=pcsxr") + (synopsis "PlayStation emulator") + (description + "A PlayStation emulator based on PCSX-df Project with bugfixes and +improvements.") + (license license:gpl2+)))) From ff093d7b7b63f616fc4551fe5ca9a3e76d752ebf Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 20 Oct 2019 11:55:54 +0300 Subject: [PATCH 0265/1112] gnu: enlightenment: Fix desktop session file creation. * gnu/packages/enlightenment.scm (enlightenment)[arguments]: Create wayland session file only when building with wayland support. --- gnu/packages/enlightenment.scm | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/gnu/packages/enlightenment.scm b/gnu/packages/enlightenment.scm index 857a8ddd1ba..32a1e60bf0a 100644 --- a/gnu/packages/enlightenment.scm +++ b/gnu/packages/enlightenment.scm @@ -298,6 +298,11 @@ Libraries with some extra bells and whistles.") #:phases (modify-phases %standard-phases (delete 'bootstrap) ; We don't want to run the autogen script. + (add-after 'unpack 'fix-dot-desktop-creation + (lambda _ + (substitute* "data/session/meson.build" + (("HAVE_WAYLAND'.*") "HAVE_WAYLAND') == true\n")) + #t)) (add-before 'configure 'set-system-actions (lambda* (#:key inputs #:allow-other-keys) (setenv "HOME" "/tmp") From f6a0be2f99a85f90637e57657ad078c7255949ef Mon Sep 17 00:00:00 2001 From: David Wilson Date: Mon, 21 Oct 2019 18:09:02 +0200 Subject: [PATCH 0266/1112] gnu: Add gens-gs. * gnu/packages/emulators.scm (gens-gs): New variable. --- gnu/packages/emulators.scm | 40 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/gnu/packages/emulators.scm b/gnu/packages/emulators.scm index 2907cc3fcc9..8095d3c44dd 100644 --- a/gnu/packages/emulators.scm +++ b/gnu/packages/emulators.scm @@ -10,6 +10,7 @@ ;;; Copyright © 2017 Tobias Geerinckx-Rice ;;; Copyright © 2017, 2018, 2019 Rutger Helling ;;; Copyright © 2019 Pierre Neidhardt +;;; Copyright © 2019 David Wilson ;;; ;;; This file is part of GNU Guix. ;;; @@ -85,6 +86,7 @@ #:use-module (gnu packages xorg) #:use-module (gnu packages web) #:use-module (guix build-system cmake) + #:use-module (guix build-system glib-or-gtk) #:use-module (guix build-system gnu)) (define-public desmume @@ -1422,3 +1424,41 @@ functions. The source code to MAME serves as this documentation.") "A PlayStation emulator based on PCSX-df Project with bugfixes and improvements.") (license license:gpl2+)))) + +(define-public gens-gs + (package + (name "gens-gs") + (version "7") + (source + (origin + (method url-fetch) + (uri (string-append "https://retrocdn.net/images/6/6d/Gens-gs-r" + version ".tar.gz")) + (sha256 + (base32 + "1ha5s6d3y7s9aq9f4zmn9p88109c3mrj36z2w68jhiw5xrxws833")))) + (build-system glib-or-gtk-build-system) + (arguments + `(#:system "i686-linux" + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-CFLAGS + (lambda* _ + ;; Remove GTK API deprecation flags that cause build errors. + (substitute* "configure" + (("GTK_CFLAGS=\"\\$GTK_CFLAGS .*\"") "")) + #t))))) + (native-inputs + `(("pkg-config" ,pkg-config) + ("nasm" ,nasm))) + (inputs + `(("sdl" ,sdl) + ("gtk" ,gtk+-2))) + (home-page "https://segaretro.org/Gens/GS") + (synopsis "Emulator for Sega Genesis/Mega Drive systems") + (description + "Gens/GS is an emulator for the Mega Drive (also known as Sega Genesis), +derived from Gens. Project goals include clean source code, combined features +from various forks of Gens, and improved platform portability.") + (supported-systems '("i686-linux" "x86_64-linux")) + (license license:gpl2+))) From a273796ce5c016327ca4eec866e9ef696b617ccb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 21 Oct 2019 10:54:02 +0200 Subject: [PATCH 0267/1112] gnu: make-bootstrap: Memoize 'glibc-for-bootstrap'. This reduces the graph shown by: guix graph -e '(@@ (gnu packages make-bootstrap) %gcc-static)' from 258 nodes (2398 edges) to 179 nodes (1872 edges). * gnu/packages/make-bootstrap.scm (glibc-for-bootstrap): Turn into an 'mlambdaq'. (package-with-relocatable-glibc, %glibc-stripped): Explicitly pass an argument to 'glibc-for-bootstrap'. --- gnu/packages/make-bootstrap.scm | 53 +++++++++++++++++---------------- 1 file changed, 28 insertions(+), 25 deletions(-) diff --git a/gnu/packages/make-bootstrap.scm b/gnu/packages/make-bootstrap.scm index 3a664fd94f3..4b8387a65fb 100644 --- a/gnu/packages/make-bootstrap.scm +++ b/gnu/packages/make-bootstrap.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès +;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès ;;; Copyright © 2017 Efraim Flashner ;;; Copyright © 2018 Tobias Geerinckx-Rice ;;; Copyright © 2018, 2019 Mark H Weaver @@ -24,6 +24,7 @@ (define-module (gnu packages make-bootstrap) #:use-module (guix utils) #:use-module (guix packages) + #:use-module (guix memoization) #:use-module ((guix licenses) #:select (gpl3+)) #:use-module (guix build-system trivial) #:use-module (guix build-system gnu) @@ -63,27 +64,29 @@ ;;; ;;; Code: -(define* (glibc-for-bootstrap #:optional (base glibc)) - "Return a libc deriving from BASE whose `system' and `popen' functions looks +(define glibc-for-bootstrap + (mlambdaq (base) + "Return a libc deriving from BASE whose `system' and `popen' functions looks for `sh' in $PATH, and without nscd, and with static NSS modules." - (package (inherit base) - (source (origin (inherit (package-source base)) - (patches (cons (search-patch "glibc-bootstrap-system.patch") - (origin-patches (package-source base)))))) - (arguments - (substitute-keyword-arguments (package-arguments base) - ((#:configure-flags flags) - ;; Arrange so that getaddrinfo & co. do not contact the nscd, - ;; and can use statically-linked NSS modules. - `(cons* "--disable-nscd" "--disable-build-nscd" - "--enable-static-nss" - ,flags)))) + (package + (inherit base) + (source (origin (inherit (package-source base)) + (patches (cons (search-patch "glibc-bootstrap-system.patch") + (origin-patches (package-source base)))))) + (arguments + (substitute-keyword-arguments (package-arguments base) + ((#:configure-flags flags) + ;; Arrange so that getaddrinfo & co. do not contact the nscd, + ;; and can use statically-linked NSS modules. + `(cons* "--disable-nscd" "--disable-build-nscd" + "--enable-static-nss" + ,flags)))) - ;; Remove the 'debug' output to allow bit-reproducible builds (when the - ;; 'debug' output is used, ELF files end up with a .gnu_debuglink, which - ;; includes a CRC of the corresponding debugging symbols; those symbols - ;; contain store file names, so the CRC changes at every rebuild.) - (outputs (delete "debug" (package-outputs base))))) + ;; Remove the 'debug' output to allow bit-reproducible builds (when the + ;; 'debug' output is used, ELF files end up with a .gnu_debuglink, which + ;; includes a CRC of the corresponding debugging symbols; those symbols + ;; contain store file names, so the CRC changes at every rebuild.) + (outputs (delete "debug" (package-outputs base)))))) (define (package-with-relocatable-glibc p) "Return a variant of P that uses the libc as defined by @@ -122,8 +125,8 @@ for `sh' in $PATH, and without nscd, and with static NSS modules." (package-search-paths gcc))))) ("cross-binutils" ,(cross-binutils target)) ,@(%final-inputs))) - `(("libc" ,(glibc-for-bootstrap)) - ("libc:static" ,(glibc-for-bootstrap) "static") + `(("libc" ,(glibc-for-bootstrap glibc)) + ("libc:static" ,(glibc-for-bootstrap glibc) "static") ("gcc" ,(package (inherit gcc) (outputs '("out")) ;all in one so libgcc_s is easily found (native-search-paths @@ -135,8 +138,8 @@ for `sh' in $PATH, and without nscd, and with static NSS modules." (package-native-search-paths gcc))) (inputs `(;; Distinguish the name so we can refer to it below. - ("bootstrap-libc" ,(glibc-for-bootstrap)) - ("libc:static" ,(glibc-for-bootstrap) "static") + ("bootstrap-libc" ,(glibc-for-bootstrap glibc)) + ("libc:static" ,(glibc-for-bootstrap glibc) "static") ,@(package-inputs gcc))) (arguments (substitute-keyword-arguments (package-arguments gcc) @@ -438,7 +441,7 @@ for `sh' in $PATH, and without nscd, and with static NSS modules." ;; GNU libc's essential shared libraries, dynamic linker, and headers, ;; with all references to store directories stripped. As a result, ;; libc.so is unusable and need to be patched for proper relocation. - (let ((glibc (glibc-for-bootstrap))) + (let ((glibc (glibc-for-bootstrap glibc))) (package (inherit glibc) (name "glibc-stripped") (build-system trivial-build-system) From 674e143cf8e7dff7d62a29c63e43839efc23edba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 21 Oct 2019 15:33:32 +0200 Subject: [PATCH 0268/1112] download: Honor /etc/ssl/certs when 'SSL_CERT_DIR' is not set. * guix/build/download.scm (%x509-certificate-directory): Use "/etc/ssl/certs" as a last resort. This ensures, for instance, that 'guix download' honors system-wide certificates when SSL_CERT_DIR is unset. --- guix/build/download.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/guix/build/download.scm b/guix/build/download.scm index 0c9c61de4b3..a4c91550a66 100644 --- a/guix/build/download.scm +++ b/guix/build/download.scm @@ -172,7 +172,8 @@ session record port using PORT as its underlying communication port." (define %x509-certificate-directory ;; The directory where X.509 authority PEM certificates are stored. (make-parameter (or (getenv "GUIX_TLS_CERTIFICATE_DIRECTORY") - (getenv "SSL_CERT_DIR")))) ;like OpenSSL + (getenv "SSL_CERT_DIR") ;like OpenSSL + "/etc/ssl/certs"))) (define (set-certificate-credentials-x509-trust-file!* cred file format) "Like 'set-certificate-credentials-x509-trust-file!', but without the file From 5ac5f2c1298cac811a544e2db193ba5d69d9fce6 Mon Sep 17 00:00:00 2001 From: Brendan Tildesley Date: Sun, 20 Oct 2019 23:12:02 +0900 Subject: [PATCH 0269/1112] services: sddm: Add default configuration. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Unlike gdm-service-type, sddm-service-type cannot be configured in an operating-system configuration by simply adding (service sddm-service-type). This adds the default SDDM configuration just like GDM does.. * gnu/services/sddm.scm (sddm-service-type)[default-value]: New field. Signed-off-by: Ludovic Courtès --- gnu/services/sddm.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gnu/services/sddm.scm b/gnu/services/sddm.scm index b0e6d40260a..f33f1f93b94 100644 --- a/gnu/services/sddm.scm +++ b/gnu/services/sddm.scm @@ -316,7 +316,8 @@ Relogin=" (if (sddm-configuration-relogin? config) (service-extension account-service-type (const %sddm-accounts)) (service-extension profile-service-type - sddm-profile-service))))) + sddm-profile-service))) + (default-value (sddm-configuration)))) (define* (sddm-service #:optional (config (sddm-configuration))) "Run the @uref{https://github.com/sddm/sddm,SSDM display manager} From 8cf3e167c15a0dba3166cbeee46d41f26cbf75f1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 21 Oct 2019 15:47:55 +0200 Subject: [PATCH 0270/1112] services: sddm: Deprecate 'sddm-service' procedure. * gnu/services/sddm.scm (sddm-service): Mark as deprecated. * doc/guix.texi (X Window): Document 'sddm-service-type' and 'sddm-configuration'. --- doc/guix.texi | 45 ++++++++++++++++++++++++++++++++++--------- gnu/services/sddm.scm | 4 +++- 2 files changed, 39 insertions(+), 10 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index 6eccbb971ff..15b6ff04c3c 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -14193,16 +14193,43 @@ Relogin after logout. @cindex login manager @cindex X11 login -@deffn {Scheme Procedure} sddm-service config -Return a service that spawns the SDDM graphical login manager for config of -type @code{}. +@defvr {Scheme Variable} sddm-service-type +This is the type of the service to run the +@uref{https://github.com/sddm/sddm,SSDM display manager}. Its value +must be a @code{sddm-configuration} record (see below). -@example - (sddm-service (sddm-configuration - (auto-login-user "Alice") - (auto-login-session "xfce.desktop"))) -@end example -@end deffn +Here's an example use: + +@lisp +(service sddm-service-type + (sddm-configuration + (auto-login-user "alice") + (auto-login-session "xfce.desktop"))) +@end lisp +@end defvr + +@deftp {Data Type} sddm-configuration +This data type represents the configuration of the SDDM login manager. +The available fields are: + +@table @asis +@item @code{sddm} (default: @code{sddm}) +The SDDM package to use. + +@item @code{display-server} (default: @code{"x11"}) +This must be either @code{"x11"} or @code{"wayland"}. + +@c FIXME: Add more fields. + +@item @code{auto-login-user} (default: @code{""}) +If non-empty, this is the user account under which to log in +automatically. + +@item @code{auto-login-session} (default: @code{""}) +If non-empty, this is the @file{.desktop} file name to use as the +auto-login session. +@end table +@end deftp @cindex Xorg, configuration @deftp {Data Type} xorg-configuration diff --git a/gnu/services/sddm.scm b/gnu/services/sddm.scm index f33f1f93b94..c89c0c68bc7 100644 --- a/gnu/services/sddm.scm +++ b/gnu/services/sddm.scm @@ -30,6 +30,7 @@ #:use-module (gnu system shadow) #:use-module (guix gexp) #:use-module (guix records) + #:use-module (guix deprecation) #:export (sddm-configuration sddm-configuration? sddm-service-type @@ -319,7 +320,8 @@ Relogin=" (if (sddm-configuration-relogin? config) sddm-profile-service))) (default-value (sddm-configuration)))) -(define* (sddm-service #:optional (config (sddm-configuration))) +(define-deprecated (sddm-service #:optional (config (sddm-configuration))) + sddm-service-type "Run the @uref{https://github.com/sddm/sddm,SSDM display manager} with the given @var{config}, a @code{} object." (service sddm-service-type config)) From cfe8d8063b5d79fc91eb757c2020244e239b77b3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 21 Oct 2019 15:58:48 +0200 Subject: [PATCH 0271/1112] services: sddm: Add description. * gnu/services/sddm.scm (sddm-service-type)[description]: New field. --- gnu/services/sddm.scm | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/gnu/services/sddm.scm b/gnu/services/sddm.scm index c89c0c68bc7..ac8c9a84036 100644 --- a/gnu/services/sddm.scm +++ b/gnu/services/sddm.scm @@ -318,7 +318,10 @@ Relogin=" (if (sddm-configuration-relogin? config) (const %sddm-accounts)) (service-extension profile-service-type sddm-profile-service))) - (default-value (sddm-configuration)))) + (default-value (sddm-configuration)) + (description + "Run SDDM, a display and log-in manager for X11 and +Wayland."))) (define-deprecated (sddm-service #:optional (config (sddm-configuration))) sddm-service-type From 5f15b422738d09072c866ef17fd6988a3c84a468 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 21 Oct 2019 16:10:33 +0200 Subject: [PATCH 0272/1112] services: agetty: Really import (gnu build linux-boot). This is a followup to commit 62c2217570fb3a3437e8316d3679b7fe13db0884. * gnu/services/base.scm (agetty-shepherd-service)[start]: Wrap un 'with-imported-modules'. This fixes a build error when TTY is true ("no code for module (gnu build linux-boot)"). --- gnu/services/base.scm | 229 +++++++++++++++++++++--------------------- 1 file changed, 116 insertions(+), 113 deletions(-) diff --git a/gnu/services/base.scm b/gnu/services/base.scm index e75c56828ed..b1eff89eccf 100644 --- a/gnu/services/base.scm +++ b/gnu/services/base.scm @@ -990,7 +990,6 @@ to use as the tty. This is primarily useful for headless systems." erase-characters kill-characters chdir delay nice extra-options) (list (shepherd-service - (modules '((ice-9 match) (gnu build linux-boot))) (documentation "Run agetty on a tty.") (provision (list (symbol-append 'term- (string->symbol (or tty "auto"))))) @@ -1000,122 +999,126 @@ to use as the tty. This is primarily useful for headless systems." ;; mingetty-shepherd-service). (requirement '(user-processes host-name udev)) - (start #~(lambda args - (let ((defaulted-tty #$(or tty (default-serial-port)))) - (apply - (if defaulted-tty - (make-forkexec-constructor - (list #$(file-append util-linux "/sbin/agetty") - #$@extra-options - #$@(if eight-bits? - #~("--8bits") - #~()) - #$@(if no-reset? - #~("--noreset") - #~()) - #$@(if remote? - #~("--remote") - #~()) - #$@(if flow-control? - #~("--flow-control") - #~()) - #$@(if host - #~("--host" #$host) - #~()) - #$@(if no-issue? - #~("--noissue") - #~()) - #$@(if init-string - #~("--init-string" #$init-string) - #~()) - #$@(if no-clear? - #~("--noclear") - #~()) + (modules '((ice-9 match) (gnu build linux-boot))) + (start + (with-imported-modules (source-module-closure + '((gnu build linux-boot))) + #~(lambda args + (let ((defaulted-tty #$(or tty (default-serial-port)))) + (apply + (if defaulted-tty + (make-forkexec-constructor + (list #$(file-append util-linux "/sbin/agetty") + #$@extra-options + #$@(if eight-bits? + #~("--8bits") + #~()) + #$@(if no-reset? + #~("--noreset") + #~()) + #$@(if remote? + #~("--remote") + #~()) + #$@(if flow-control? + #~("--flow-control") + #~()) + #$@(if host + #~("--host" #$host) + #~()) + #$@(if no-issue? + #~("--noissue") + #~()) + #$@(if init-string + #~("--init-string" #$init-string) + #~()) + #$@(if no-clear? + #~("--noclear") + #~()) ;;; FIXME This doesn't work as expected. According to agetty(8), if this option ;;; is not passed, then the default is 'auto'. However, in my tests, when that ;;; option is selected, agetty never presents the login prompt, and the ;;; term-ttyS0 service respawns every few seconds. - #$@(if local-line - #~(#$(match local-line - ('auto "--local-line=auto") - ('always "--local-line=always") - ('never "-local-line=never"))) - #~()) - #$@(if tty - #~() - #~("--keep-baud")) - #$@(if extract-baud? - #~("--extract-baud") - #~()) - #$@(if skip-login? - #~("--skip-login") - #~()) - #$@(if no-newline? - #~("--nonewline") - #~()) - #$@(if login-options - #~("--login-options" #$login-options) - #~()) - #$@(if chroot - #~("--chroot" #$chroot) - #~()) - #$@(if hangup? - #~("--hangup") - #~()) - #$@(if keep-baud? - #~("--keep-baud") - #~()) - #$@(if timeout - #~("--timeout" #$(number->string timeout)) - #~()) - #$@(if detect-case? - #~("--detect-case") - #~()) - #$@(if wait-cr? - #~("--wait-cr") - #~()) - #$@(if no-hints? - #~("--nohints?") - #~()) - #$@(if no-hostname? - #~("--nohostname") - #~()) - #$@(if long-hostname? - #~("--long-hostname") - #~()) - #$@(if erase-characters - #~("--erase-chars" #$erase-characters) - #~()) - #$@(if kill-characters - #~("--kill-chars" #$kill-characters) - #~()) - #$@(if chdir - #~("--chdir" #$chdir) - #~()) - #$@(if delay - #~("--delay" #$(number->string delay)) - #~()) - #$@(if nice - #~("--nice" #$(number->string nice)) - #~()) - #$@(if auto-login - (list "--autologin" auto-login) - '()) - #$@(if login-program - #~("--login-program" #$login-program) - #~()) - #$@(if login-pause? - #~("--login-pause") - #~()) - defaulted-tty - #$@(if baud-rate - #~(#$baud-rate) - #~()) - #$@(if term - #~(#$term) - #~()))) - (const #f)) ; never start. - args)))) + #$@(if local-line + #~(#$(match local-line + ('auto "--local-line=auto") + ('always "--local-line=always") + ('never "-local-line=never"))) + #~()) + #$@(if tty + #~() + #~("--keep-baud")) + #$@(if extract-baud? + #~("--extract-baud") + #~()) + #$@(if skip-login? + #~("--skip-login") + #~()) + #$@(if no-newline? + #~("--nonewline") + #~()) + #$@(if login-options + #~("--login-options" #$login-options) + #~()) + #$@(if chroot + #~("--chroot" #$chroot) + #~()) + #$@(if hangup? + #~("--hangup") + #~()) + #$@(if keep-baud? + #~("--keep-baud") + #~()) + #$@(if timeout + #~("--timeout" #$(number->string timeout)) + #~()) + #$@(if detect-case? + #~("--detect-case") + #~()) + #$@(if wait-cr? + #~("--wait-cr") + #~()) + #$@(if no-hints? + #~("--nohints?") + #~()) + #$@(if no-hostname? + #~("--nohostname") + #~()) + #$@(if long-hostname? + #~("--long-hostname") + #~()) + #$@(if erase-characters + #~("--erase-chars" #$erase-characters) + #~()) + #$@(if kill-characters + #~("--kill-chars" #$kill-characters) + #~()) + #$@(if chdir + #~("--chdir" #$chdir) + #~()) + #$@(if delay + #~("--delay" #$(number->string delay)) + #~()) + #$@(if nice + #~("--nice" #$(number->string nice)) + #~()) + #$@(if auto-login + (list "--autologin" auto-login) + '()) + #$@(if login-program + #~("--login-program" #$login-program) + #~()) + #$@(if login-pause? + #~("--login-pause") + #~()) + defaulted-tty + #$@(if baud-rate + #~(#$baud-rate) + #~()) + #$@(if term + #~(#$term) + #~()))) + (const #f)) ; never start. + args))))) (stop #~(make-kill-destructor))))))) (define agetty-service-type From cacb5576cc517cba45f69f1fb1551348714d85d0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 21 Oct 2019 18:01:45 +0200 Subject: [PATCH 0273/1112] doc: Add support for "guix-cookbook.texi" to 'build.scm'. * doc/build.scm (%manual): New variable. (html-manual): #:manual now defaults to %MANUAL. [build]: Define 'language->texi-file-name' and use it. Filter out items of LANGUAGES that lack a .texi file. (pdf-manual, html-manual-indexes, pdf+html-manual): #:manual now defaults to %MANUAL. --- doc/build.scm | 37 ++++++++++++++++++++++++------------- 1 file changed, 24 insertions(+), 13 deletions(-) diff --git a/doc/build.scm b/doc/build.scm index b6a921c4216..380678c8669 100644 --- a/doc/build.scm +++ b/doc/build.scm @@ -51,6 +51,12 @@ (define info-manual (@@ (guix self) info-manual)) +(define %manual + ;; The manual to build--i.e., the base name of a .texi file, such as "guix" + ;; or "guix-cookbook". + (or (getenv "GUIX_MANUAL") + "guix")) + (define %languages '("de" "en" "es" "fr" "ru" "zh_CN")) @@ -359,7 +365,7 @@ its
 blocks (as produced by 'makeinfo --html')."
 
 (define* (html-manual source #:key (languages %languages)
                       (version "0.0")
-                      (manual "guix")
+                      (manual %manual)
                       (date 1)
                       (options %makeinfo-html-options))
   "Return the HTML manuals built from SOURCE for all LANGUAGES, with the given
@@ -386,6 +392,13 @@ makeinfo OPTIONS."
                           (chr chr))
                         (string-downcase language)))
 
+          (define (language->texi-file-name language)
+            (if (string=? language "en")
+                (string-append #$manual-source "/"
+                               #$manual ".texi")
+                (string-append #$manual-source "/"
+                               #$manual "." language ".texi")))
+
           ;; Install a UTF-8 locale so that 'makeinfo' is at ease.
           (setenv "GUIX_LOCPATH"
                   #+(file-append glibc-utf8-locales "/lib/locale"))
@@ -395,15 +408,12 @@ makeinfo OPTIONS."
           (setvbuf (current-error-port) 'line)
 
           (for-each (lambda (language)
-                      (let ((opts `("--html"
-                                    "-c" ,(string-append "TOP_NODE_UP_URL=/manual/"
+                      (let* ((texi (language->texi-file-name language))
+                             (opts `("--html"
+                                     "-c" ,(string-append "TOP_NODE_UP_URL=/manual/"
                                                          language)
-                                    #$@options
-                                    ,(if (string=? language "en")
-                                         (string-append #$manual-source "/"
-                                                        #$manual ".texi")
-                                         (string-append #$manual-source "/"
-                                                        #$manual "." language ".texi")))))
+                                     #$@options
+                                     ,texi)))
                         (format #t "building HTML manual for language '~a'...~%"
                                 language)
                         (mkdir-p (string-append #$output "/"
@@ -433,7 +443,8 @@ makeinfo OPTIONS."
                         (symlink #$images
                                  (string-append #$output "/" (normalize language)
                                                 "/html_node/images"))))
-                    '#$languages))))
+                    (filter (compose file-exists? language->texi-file-name)
+                            '#$languages)))))
 
   (let* ((name   (string-append manual "-html-manual"))
          (manual (computed-file name build)))
@@ -442,7 +453,7 @@ makeinfo OPTIONS."
 
 (define* (pdf-manual source #:key (languages %languages)
                      (version "0.0")
-                     (manual "guix")
+                     (manual %manual)
                      (date 1)
                      (options '()))
   "Return the HTML manuals built from SOURCE for all LANGUAGES, with the given
@@ -570,7 +581,7 @@ from SOURCE."
 (define* (html-manual-indexes source
                               #:key (languages %languages)
                               (version "0.0")
-                              (manual "guix")
+                              (manual %manual)
                               (date 1))
   (define build
     (with-extensions (list guile-json-3)
@@ -782,7 +793,7 @@ languages:\n"
                           #:key (languages %languages)
                           (version "0.0")
                           (date (time-second (current-time time-utc)))
-                          (manual "guix"))
+                          (manual %manual))
   "Return the union of the HTML and PDF manuals, as well as the indexes."
   (directory-union (string-append manual "-manual")
                    (map (lambda (proc)

From 3d7fc2d4bb073fe23f140529929068d0460f8b90 Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus 
Date: Sat, 19 Oct 2019 17:29:39 +0200
Subject: [PATCH 0274/1112] gnu: r-data-table: Update to 1.12.6.

* gnu/packages/statistics.scm (r-data-table): Update to 1.12.6.
[native-inputs]: Add pkg-config.
---
 gnu/packages/statistics.scm | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm
index 7b8622ebfc1..66bb2755d2c 100644
--- a/gnu/packages/statistics.scm
+++ b/gnu/packages/statistics.scm
@@ -1848,16 +1848,18 @@ times.")
 (define-public r-data-table
   (package
     (name "r-data-table")
-    (version "1.12.4")
+    (version "1.12.6")
     (source (origin
               (method url-fetch)
               (uri (cran-uri "data.table" version))
               (sha256
                (base32
-                "0zdcbr4nixvl8ga4mp9pw1dfww35dzhzpb6ixajqasiri824m7i9"))))
+                "1kgbnm5gv7ax7qn8irpz7qsry2ci21axga8y7qpkidcqkxkkndn2"))))
     (build-system r-build-system)
     (inputs
      `(("zlib" ,zlib)))
+    (native-inputs
+     `(("pkg-config" ,pkg-config)))
     (home-page "https://github.com/Rdatatable/data.table/wiki")
     (synopsis "Enhanced version of data.frame R object")
     (description

From ca2b1dcfcd73931358dcd1f9bf79d717044e80a8 Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus 
Date: Sat, 19 Oct 2019 17:29:59 +0200
Subject: [PATCH 0275/1112] gnu: r-xcms: Update to 3.6.2.

* gnu/packages/bioconductor.scm (r-xcms): Update to 3.6.2.
---
 gnu/packages/bioconductor.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/bioconductor.scm b/gnu/packages/bioconductor.scm
index cf5097a74e3..6467fecb8ce 100644
--- a/gnu/packages/bioconductor.scm
+++ b/gnu/packages/bioconductor.scm
@@ -4568,14 +4568,14 @@ based on @dfn{Continuous Wavelet Transform} (CWT).")
 (define-public r-xcms
   (package
     (name "r-xcms")
-    (version "3.6.1")
+    (version "3.6.2")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "xcms" version))
        (sha256
         (base32
-         "06vhqvvzlkc5bslswagrapmn5ag3x84xg9gxk0fhlmgwapqwki1g"))))
+         "0icww3f1kahyk96mc07yhsbyiranzm2614n509as09jf8bdhq23v"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-biobase" ,r-biobase)

From e9d48bdad4766c4043a21b4765f6ea2e87ff6e88 Mon Sep 17 00:00:00 2001
From: Christopher Baines 
Date: Sun, 20 Oct 2019 15:39:11 +0100
Subject: [PATCH 0276/1112] gnu: yasm: Disable parallel tests.

* gnu/packages/assembly.scm (yasm)[arguments]: Set #:parallel-tests? to #f.
---
 gnu/packages/assembly.scm | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/gnu/packages/assembly.scm b/gnu/packages/assembly.scm
index 26a6d23a8ac..50f798ba835 100644
--- a/gnu/packages/assembly.scm
+++ b/gnu/packages/assembly.scm
@@ -99,6 +99,10 @@ has strong support for macros.")
                (base32
                 "0gv0slmm0qpq91za3v2v9glff3il594x5xsrbgab7xcmnh0ndkix"))))
     (build-system gnu-build-system)
+    (arguments
+     '(#:parallel-tests? #f))           ; Some tests fail
+                                        ; non-deterministically when run in
+                                        ; parallel
     (inputs
      `(("python" ,python-wrapper)
        ("xmlto" ,xmlto)))

From 6fc03fccd41c1687933a0a70a40efcb5ed821995 Mon Sep 17 00:00:00 2001
From: Christopher Baines 
Date: Fri, 11 Oct 2019 17:20:50 +0100
Subject: [PATCH 0277/1112] gnu: Add ephemeralpg.

This is a general utility, but I'm particularly interested in using this to
enable build time tests for the guix-data-service package.

* gnu/packages/databases.scm (ephemeralpg): New variable.
---
 gnu/packages/databases.scm | 62 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 62 insertions(+)

diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm
index f8e72565a05..bfed9dff676 100644
--- a/gnu/packages/databases.scm
+++ b/gnu/packages/databases.scm
@@ -216,6 +216,68 @@ standard Go idioms.")
     (home-page "http://labix.org/mgo")
     (license license:bsd-2)))
 
+(define-public ephemeralpg
+  (package
+    (name "ephemeralpg")
+    (version "2.8")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "http://eradman.com/ephemeralpg/code/ephemeralpg-"
+             version ".tar.gz"))
+       (sha256
+        (base32 "1dpfxsd8a52psx3zlfbqkw53m35w28qwyb87a8anz143x6gnkkr4"))))
+    (build-system gnu-build-system)
+    (arguments
+     '(#:make-flags (list "CC=gcc"
+                          (string-append "PREFIX=" %output))
+       #:phases
+       (modify-phases %standard-phases
+         (delete 'configure)
+         (replace 'check
+           (lambda* (#:key inputs #:allow-other-keys)
+             ;; The intention for one test is to test without PostgreSQL on
+             ;; the $PATH, so replace the test $PATH with just the util-linux
+             ;; bin, which contains getopt. It will hopefully be possible to
+             ;; remove this for releases after 2.8.
+             (substitute* "test.rb"
+               (("/bin:/usr/bin")
+                (string-append (assoc-ref inputs "util-linux")
+                               "/bin")))
+             ;; Set the LC_ALL=C as some tests use sort, and the locale
+             ;; affects the order. It will hopefully be possible to remove
+             ;; this for releases after 2.8.
+             (setenv "LC_ALL" "C")
+             (invoke "ruby" "test.rb")
+             #t))
+         (add-after 'install 'wrap
+           (lambda* (#:key inputs outputs #:allow-other-keys)
+             (let ((out (assoc-ref outputs "out")))
+               (wrap-program (string-append out "/bin/pg_tmp")
+                 `("PATH" ":" prefix
+                   (,(string-append (assoc-ref inputs "util-linux")
+                                    "/bin")
+                    ,(string-append (assoc-ref inputs "postgresql")
+                                    "/bin")
+                    ;; For getsocket
+                    ,(string-append out "/bin")))))
+             #t)))))
+    (inputs
+     `(("postgresql" ,postgresql)
+       ("util-linux" ,util-linux)))
+    (native-inputs
+     `(("ruby" ,ruby)))
+    (home-page "http://eradman.com/ephemeralpg/")
+    (synopsis "Run temporary PostgreSQL databases")
+    (description
+     "@code{pg_tmp} creates temporary PostgreSQL databases, suitable for tasks
+like running software test suites.  Temporary databases created with
+@code{pg_tmp} have a limited shared memory footprint and are automatically
+garbage-collected after a configurable number of seconds (the default is
+60).")
+    (license license:isc)))
+
 (define-public es-dump-restore
   (package
     (name "es-dump-restore")

From 4e0703279113cc3ee0816f871beeff3282b5f94e Mon Sep 17 00:00:00 2001
From: Brian Leung 
Date: Mon, 21 Oct 2019 09:56:40 -0700
Subject: [PATCH 0278/1112] gnu: emacs-counsel-dash: Update to 0.1.3-3.7027868.

* gnu/packages/emacs-xyz.scm (emacs-counsel-dash): Update to 0.1.3-3.7027868.
---
 gnu/packages/emacs-xyz.scm | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 54461b7a74e..bbcf65489ed 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -18484,8 +18484,8 @@ Dash docsets.")
       (license license:gpl3+))))
 
 (define-public emacs-counsel-dash
-  (let ((commit "24d370be9e94e90d045c49967e19484b9903fce9")
-        (revision "2"))
+  (let ((commit "7027868d483b51d949b9f20fb8f34b122ca61520")
+        (revision "3"))
     (package
       (name "emacs-counsel-dash")
       (version (git-version "0.1.3" revision commit))
@@ -18498,7 +18498,7 @@ Dash docsets.")
          (file-name (git-file-name name version))
          (sha256
           (base32
-           "18gp7hhgng271c7bh06k9p24zqic0f64j5cicivljmyk9c3nh7an"))))
+           "0h3f5pxnmb21pq4hh7k4w8jzflz1k2ap7nwpjc222w0q6x6jrbjp"))))
       (build-system emacs-build-system)
       (propagated-inputs
        `(("emacs-dash-docs" ,emacs-dash-docs)

From 05b0b050bce644d96ed2222b7d88414f50bb23d9 Mon Sep 17 00:00:00 2001
From: Brian Leung 
Date: Mon, 21 Oct 2019 10:48:29 -0700
Subject: [PATCH 0279/1112] gnu: Add emacs-auth-source-pass.

* gnu/packages/emacs-xyz.scm (emacs-auth-source-pass): New variable.
---
 gnu/packages/emacs-xyz.scm | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index bbcf65489ed..8c3c50efdcb 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -11602,6 +11602,34 @@ close, copy, cut, paste, undo, redo.")
 standard Unix password manager\").")
     (license license:gpl2+)))
 
+(define-public emacs-auth-source-pass
+  (let ((commit "847a1f54ed48856b4dfaaa184583ef2c84173edf")
+        (revision "1"))
+    (package
+      (name "emacs-auth-source-pass")
+      (version (git-version "5.0.0" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/NicolasPetton/auth-password-store.git")
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32 "0g48z5w6n3c54zqfpx65dfyl9jqbl15idvbb1hhw2pd9f9r8fykk"))))
+      (build-system emacs-build-system)
+      (arguments
+       `(#:tests? #t
+         #:test-command '("emacs" "--batch"
+                          "-L" "."
+                          "-l" "test/auth-source-pass-tests.el"
+                          "-f" "ert-run-tests-batch-and-exit")))
+      (home-page "https://github.com/NicolasPetton/auth-password-store")
+      (synopsis "Integrate @code{auth-source} with @code{password-store}")
+      (description "This package helps Emacs integrate with the Unix
+@code{password-store} application.")
+      (license license:gpl3+))))
+
 (define-public emacs-pass
   (package
     (name "emacs-pass")

From 2f000f2ef48972b2544f0da3aa96faf19be8a04b Mon Sep 17 00:00:00 2001
From: Julien Lepiller 
Date: Mon, 21 Oct 2019 21:12:45 +0200
Subject: [PATCH 0280/1112] doc: More responsive online manual.

* doc/build.scm (%makeinfo-html-options): Add viewport to all generated
html pages for better mobile device support.
---
 doc/build.scm | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/doc/build.scm b/doc/build.scm
index 380678c8669..45a863503af 100644
--- a/doc/build.scm
+++ b/doc/build.scm
@@ -170,7 +170,9 @@ as well as images, OS examples, and translations."
 
 (define %makeinfo-html-options
   ;; Options passed to 'makeinfo --html'.
-  '("--css-ref=https://www.gnu.org/software/gnulib/manual.css"))
+  '("--css-ref=https://www.gnu.org/software/gnulib/manual.css"
+    "-c" "EXTRA_HEAD="))
 
 (define guile-lib/htmlprag-fixed
   ;; Guile-Lib with a hotfix for (htmlprag).

From 84261a233ecb58d7a622329d95a8d0d3fc92f886 Mon Sep 17 00:00:00 2001
From: Tim Gesthuizen 
Date: Thu, 10 Oct 2019 18:38:36 +0200
Subject: [PATCH 0281/1112] services: inputattach: Add 'baud-rate' parameter.
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

* gnu/services/desktop.scm (inputattach-configuration): Add baud-rate field.
  (inputattach-shepherd-service): Add baud-rate to parameters when specified.
* doc/guix.texi (Miscellaneous Services): [inputattach Service] Document
  baud-rate parameter.

Signed-off-by: Ludovic Courtès 
---
 doc/guix.texi            |  4 ++++
 gnu/services/desktop.scm | 30 ++++++++++++++++++------------
 2 files changed, 22 insertions(+), 12 deletions(-)

diff --git a/doc/guix.texi b/doc/guix.texi
index 15b6ff04c3c..b550b1c34a1 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -24573,6 +24573,10 @@ The type of device to connect to.  Run @command{inputattach --help}, from the
 @item @code{device} (default: @code{"/dev/ttyS0"})
 The device file to connect to the device.
 
+@item @code{baud-rate} (default: @code{#f})
+Baud rate to use for the serial connection.
+Should be a number or @code{#f}.
+
 @item @code{log-file} (default: @code{#f})
 If true, this must be the name of a file to log messages to.
 @end table
diff --git a/gnu/services/desktop.scm b/gnu/services/desktop.scm
index 5a7f8be4bb7..08acb79ed6d 100644
--- a/gnu/services/desktop.scm
+++ b/gnu/services/desktop.scm
@@ -1028,23 +1028,29 @@ as expected.")))
                (default "wacom"))
   (device inputattach-configuration-device
           (default "/dev/ttyS0"))
+  (baud-rate inputattach-configuration-baud-rate
+             (default #f))
   (log-file inputattach-configuration-log-file
             (default #f)))
 
 (define inputattach-shepherd-service
   (match-lambda
-    (($  type device log-file)
-     (list (shepherd-service
-            (provision '(inputattach))
-            (requirement '(udev))
-            (documentation "inputattach daemon")
-            (start #~(make-forkexec-constructor
-                      (list (string-append #$inputattach
-                                           "/bin/inputattach")
-                            (string-append "--" #$type)
-                            #$device)
-                      #:log-file #$log-file))
-            (stop #~(make-kill-destructor)))))))
+    (($  type device baud-rate log-file)
+     (let ((args (append (if baud-rate
+                             (list "--baud-rate" (number->string baud-rate))
+                             '())
+                         (list (string-append "--" type)
+                               device))))
+       (list (shepherd-service
+              (provision '(inputattach))
+              (requirement '(udev))
+              (documentation "inputattach daemon")
+              (start #~(make-forkexec-constructor
+                        (cons (string-append #$inputattach
+                                             "/bin/inputattach")
+                              (quote #$args))
+                        #:log-file #$log-file))
+              (stop #~(make-kill-destructor))))))))
 
 (define inputattach-service-type
   (service-type

From 58b13287905b27a68212c847be7bba803aa17937 Mon Sep 17 00:00:00 2001
From: Giacomo Leidi 
Date: Wed, 16 Oct 2019 21:31:42 +0200
Subject: [PATCH 0282/1112] gnu: Add gloo.
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

* gnu/packages/machine-learning.scm (gloo): New variable.

Signed-off-by: Ludovic Courtès 
---
 gnu/packages/machine-learning.scm | 36 +++++++++++++++++++++++++++++++
 1 file changed, 36 insertions(+)

diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm
index 2b2df6da6a4..b83b336d841 100644
--- a/gnu/packages/machine-learning.scm
+++ b/gnu/packages/machine-learning.scm
@@ -2051,3 +2051,39 @@ includes an implementation of Global Refinement of Random Forest.")
 
 (define-public ecl-cl-random-forest
   (sbcl-package->ecl-package sbcl-cl-random-forest))
+
+(define-public gloo
+  (let ((version "0.0.0") ; no proper version tag
+        (commit "ca528e32fea9ca8f2b16053cff17160290fc84ce")
+        (revision "0"))
+    (package
+      (name "gloo")
+      (version (git-version version revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/facebookincubator/gloo.git")
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32
+           "1q9f80zy75f6njrzrqkmhc0g3qxs4gskr7ns2jdqanxa2ww7a99w"))))
+      (build-system cmake-build-system)
+      (native-inputs
+       `(("googletest" ,googletest)))
+      (arguments
+       `(#:configure-flags '("-DBUILD_TEST=1")
+         #:phases
+         (modify-phases %standard-phases
+           (replace 'check
+             (lambda _
+               (invoke "make" "gloo_test")
+               #t)))))
+      (synopsis "Collective communications library")
+      (description
+       "Gloo is a collective communications library.  It comes with a
+number of collective algorithms useful for machine learning applications.
+These include a barrier, broadcast, and allreduce.")
+      (home-page "https://github.com/facebookincubator/gloo")
+      (license license:bsd-3))))

From 0cd4a74600f856babd2a67770b37fbb916d31334 Mon Sep 17 00:00:00 2001
From: Ben Sturmfels 
Date: Mon, 21 Oct 2019 09:54:44 +1100
Subject: [PATCH 0283/1112] gnu: Add pdfarranger.
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

* gnu/packages/pdf.scm (pdfarranger): New public variable.

Signed-off-by: Ludovic Courtès 
---
 gnu/packages/pdf.scm | 36 ++++++++++++++++++++++++++++++++++++
 1 file changed, 36 insertions(+)

diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm
index dfb4883a735..03ffeec0dfb 100644
--- a/gnu/packages/pdf.scm
+++ b/gnu/packages/pdf.scm
@@ -15,6 +15,7 @@
 ;;; Copyright © 2017, 2018 Rene Saavedra 
 ;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice 
 ;;; Copyright © 2019 Alex Griffin 
+;;; Copyright © 2019 Ben Sturmfels 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -975,6 +976,41 @@ Note: This module isn't maintained anymore.  For new projects please use
 python-pypdf2 instead.")
     (license license:bsd-3)))
 
+(define-public pdfarranger
+  (package
+    (name "pdfarranger")
+    (version "1.3.1")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/jeromerobert/pdfarranger.git")
+             (commit version)))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "1f8m8r81322i97wkqpmf7a4kiwnq244n6cnbldh03jc49vwq2kxx"))))
+    (build-system python-build-system)
+    (arguments
+     '(#:tests? #f))  ; no tests
+    (native-inputs
+     `(("intltool" ,intltool)
+       ("python-distutils-extra" ,python-distutils-extra)))
+    (propagated-inputs
+     `(("gtk+" ,gtk+)
+       ("poppler" ,poppler)
+       ("python-pycairo" ,python-pycairo)
+       ("python-pygobject" ,python-pygobject)
+       ("python-pypdf2" ,python-pypdf2)))
+    (home-page "https://github.com/jeromerobert/pdfarranger")
+    (synopsis "Merge, split and re-arrange pages from PDF documents")
+    (description
+     "PDF Arranger is a small application which allows one to merge or split
+PDF documents and rotate, crop and rearrange their pages using an interactive
+and intuitive graphical interface.
+
+PDF Arranger was formerly known as PDF-Shuffler.")
+    (license license:gpl3+)))
+
 (define-public pdfposter
   (package
     (name "pdfposter")

From 8b438f85cf85c1a22273eb6164c7f67f41f29bf4 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= 
Date: Mon, 21 Oct 2019 23:22:11 +0200
Subject: [PATCH 0284/1112] gnu: pdfarranger: Add 'wrap-for-typelib' phase.

* gnu/packages/pdf.scm (pdfarranger)[arguments]: Add #:phases.
---
 gnu/packages/pdf.scm | 13 +++++++++++--
 1 file changed, 11 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm
index 03ffeec0dfb..7118afce4de 100644
--- a/gnu/packages/pdf.scm
+++ b/gnu/packages/pdf.scm
@@ -7,7 +7,7 @@
 ;;; Copyright © 2016 ng0 
 ;;; Copyright © 2016, 2017, 2018, 2019 Efraim Flashner 
 ;;; Copyright © 2016, 2017 Marius Bakke 
-;;; Copyright © 2016, 2017 Ludovic Courtès 
+;;; Copyright © 2016, 2017, 2019 Ludovic Courtès 
 ;;; Copyright © 2016 Julien Lepiller 
 ;;; Copyright © 2016, 2019 Arun Isaac 
 ;;; Copyright © 2017, 2018 Leo Famulari 
@@ -991,7 +991,16 @@ python-pypdf2 instead.")
         (base32 "1f8m8r81322i97wkqpmf7a4kiwnq244n6cnbldh03jc49vwq2kxx"))))
     (build-system python-build-system)
     (arguments
-     '(#:tests? #f))  ; no tests
+     '(#:tests? #f                                ;no tests
+       #:phases (modify-phases %standard-phases
+                  (add-after 'install 'wrap-for-typelib
+                    (lambda* (#:key inputs outputs #:allow-other-keys)
+                      (let* ((out     (assoc-ref outputs "out"))
+                             (program (string-append out "/bin/pdfarranger")))
+                        (wrap-program program
+                          `("GI_TYPELIB_PATH" ":" prefix
+                            (,(getenv "GI_TYPELIB_PATH"))))
+                        #t))))))
     (native-inputs
      `(("intltool" ,intltool)
        ("python-distutils-extra" ,python-distutils-extra)))

From f5d6c88d0f5e1556295c1a19c46ddfcb7a23107f Mon Sep 17 00:00:00 2001
From: Carl Dong 
Date: Fri, 11 Oct 2019 19:56:03 -0400
Subject: [PATCH 0285/1112] gnu: mingw-w64: Add -winpthreads variants.

This recursive package definition really demonstrates how magical Guix
can be :-)

Try invoking:
    ./pre-inst-env guix build mingw-w64-{x86_64,i686}{,-winpthreads}

* gnu/packages/mingw.scm (make-mingw-w64): Add XGCC, XBINUTILS optional
arguments to specify using a non-default cross-compiler/binutils.  Add
WITH-WINPTHREADS? optional argument to allow building with winpthreads
support.  Adjust accordingly for the new arguments.
(mingw-w64-i686-winpthreads, mingw-w64-x86_64-winpthreads): Add
variables.
* gnu/packages/cross-base.scm (native-libc): Add XGCC, XBINUTILS
key arugments and pass to MAKE-MINGW-W64.
(cross-libc): Pass XGCC and XBINUTILS to NATIVE-LIBC.
---
 gnu/packages/cross-base.scm | 13 +++++++---
 gnu/packages/mingw.scm      | 47 ++++++++++++++++++++++++++++++-------
 2 files changed, 49 insertions(+), 11 deletions(-)

diff --git a/gnu/packages/cross-base.scm b/gnu/packages/cross-base.scm
index 76d15f4c59f..13237fb8a8d 100644
--- a/gnu/packages/cross-base.scm
+++ b/gnu/packages/cross-base.scm
@@ -454,7 +454,9 @@ target that libc."
   "Return LIBC cross-built for TARGET, a GNU triplet. Use XGCC and XBINUTILS
 and the cross tool chain."
   (if (cross-newlib? target libc)
-      (native-libc target libc)
+      (native-libc target libc
+                   #:xgcc xgcc
+                   #:xbinutils xbinutils)
       (let ((libc libc))
         (package (inherit libc)
           (name (string-append "glibc-cross-" target))
@@ -511,10 +513,15 @@ and the cross tool chain."
 
 (define* (native-libc target
                      #:optional
-                     (libc glibc))
+                     (libc glibc)
+                     #:key
+                     xgcc
+                     xbinutils)
   (if (target-mingw? target)
       (let ((machine (substring target 0 (string-index target #\-))))
-        (make-mingw-w64 machine))
+        (make-mingw-w64 machine
+                        #:xgcc xgcc
+                        #:xbinutils xbinutils))
       libc))
 
 (define* (cross-newlib? target
diff --git a/gnu/packages/mingw.scm b/gnu/packages/mingw.scm
index fe51780fa38..88c8d41ef82 100644
--- a/gnu/packages/mingw.scm
+++ b/gnu/packages/mingw.scm
@@ -30,12 +30,21 @@
   #:use-module (guix packages)
   #:use-module (guix download)
   #:use-module (guix utils)
-  #:use-module (ice-9 match))
+  #:use-module (ice-9 match)
+  #:export (make-mingw-w64))
 
-(define-public (make-mingw-w64 machine)
-  (let ((triplet (string-append machine "-" "w64-mingw32")))
+(define* (make-mingw-w64 machine
+                         #:key
+                         xgcc
+                         xbinutils
+                         with-winpthreads?)
+  "Return a mingw-w64 for targeting MACHINE.  If XGCC or XBINUTILS is specified,
+use that gcc or binutils when cross-compiling.  If WITH-WINPTHREADS? is
+specified, recurse and return a mingw-w64 with support for winpthreads."
+  (let* ((triplet (string-append machine "-" "w64-mingw32")))
     (package
-      (name (string-append "mingw-w64" "-" machine))
+      (name (string-append "mingw-w64" "-" machine
+                           (if with-winpthreads? "-winpthreads" "")))
       (version "6.0.0")
       (source (origin
                 (method url-fetch)
@@ -45,8 +54,13 @@
                 (sha256
                  (base32 "1w28mynv500y03h92nh87rgw3fnp82qwnjbxrrzqkmr63q812pl0"))
                 (patches (search-patches "mingw-w64-6.0.0-gcc.patch"))))
-      (native-inputs `(("xgcc-core" ,(cross-gcc triplet))
-                       ("xbinutils" ,(cross-binutils triplet))))
+      (native-inputs `(("xgcc-core" ,(if xgcc xgcc (cross-gcc triplet)))
+                       ("xbinutils" ,(if xbinutils xbinutils (cross-binutils triplet)))
+                       ,@(if with-winpthreads?
+                             `(("xlibc" ,(make-mingw-w64 machine
+                                                         #:xgcc xgcc
+                                                         #:xbinutils xbinutils)))
+                             '())))
       (build-system gnu-build-system)
       (search-paths
        (list (search-path-specification
@@ -59,7 +73,10 @@
                  ,(string-append triplet "/lib")
                  ,(string-append triplet "/lib64"))))))
       (arguments
-       `(#:configure-flags '(,(string-append "--host=" triplet))
+       `(#:configure-flags '(,(string-append "--host=" triplet)
+                             ,@(if with-winpthreads?
+                                   '("--with-libraries=winpthreads")
+                                   '()))
          #:phases
          (modify-phases %standard-phases
            (add-before 'configure 'setenv
@@ -74,7 +91,13 @@
                           ":" mingw-headers "/include"
                           ":" mingw-headers "/crt"
                           ":" mingw-headers "/defaults/include"
-                          ":" mingw-headers "/direct-x/include"))))))
+                          ":" mingw-headers "/direct-x/include"))
+                 (when ,with-winpthreads?
+                     (let ((xlibc (assoc-ref inputs "xlibc")))
+                       (setenv "CROSS_LIBRARY_PATH"
+                               (string-append
+                                xlibc "/lib" ":"
+                                xlibc "/" ,triplet "/lib"))))))))
          #:make-flags (list "DEFS=-DHAVE_CONFIG_H -D__MINGW_HAS_DXSDK=1")
          #:tests? #f ; compiles and includes glibc headers
          #:strip-binaries? #f))
@@ -98,4 +121,12 @@ several new APIs such as DirectX and DDK, and 64-bit support.")
 (define-public mingw-w64-x86_64
   (make-mingw-w64 "x86_64"))
 
+(define-public mingw-w64-i686-winpthreads
+  (make-mingw-w64 "i686"
+                  #:with-winpthreads? #t))
+
+(define-public mingw-w64-x86_64-winpthreads
+  (make-mingw-w64 "x86_64"
+                  #:with-winpthreads? #t))
+
 (define-public mingw-w64 mingw-w64-i686)

From 8ce774a54bfc8897a10eb21cde4649069ee06a82 Mon Sep 17 00:00:00 2001
From: Brian Leung 
Date: Mon, 21 Oct 2019 21:02:06 -0700
Subject: [PATCH 0286/1112] gnu: emacs-counsel-dash: Require emacs-ivy.

* gnu/packages/emacs-xyz.scm (emacs-counsel-dash): Require emacs-ivy.
---
 gnu/packages/emacs-xyz.scm | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 8c3c50efdcb..307b15c5833 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -18531,6 +18531,15 @@ Dash docsets.")
       (propagated-inputs
        `(("emacs-dash-docs" ,emacs-dash-docs)
          ("emacs-ivy" ,emacs-ivy)))
+      (arguments
+       `(#:phases
+         (modify-phases %standard-phases
+           (add-after 'unpack 'require-ivy
+             (lambda _
+               (substitute* "counsel-dash.el"
+                 (("^\\(require 'cl-lib\\)")
+                  "(require 'cl-lib)\n(require 'ivy)\n(require 'subr-x)"))
+               #t)))))
       (home-page "https://github.com/dash-docs-el/counsel-dash")
       (synopsis "Offline documentation browser for APIs using Dash docsets")
       (description "This package uses @code{ivy-mode} to install and navigate

From 9d67480adf0d4cbfe82183f949065c8be1e39882 Mon Sep 17 00:00:00 2001
From: Christopher Baines 
Date: Tue, 22 Oct 2019 07:23:07 +0100
Subject: [PATCH 0287/1112] gnu: mongodb: Fix build.

* gnu/packages/databases.scm (mongodb)[inputs]: Use openssl 1, as 1.1. doesn't
work.
[arguments]: Change how a constant is defined in the tests to allow compiling
with a newer version of GCC.
---
 gnu/packages/databases.scm | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm
index bfed9dff676..5c9435ae82c 100644
--- a/gnu/packages/databases.scm
+++ b/gnu/packages/databases.scm
@@ -498,7 +498,7 @@ replacement for the code@{python-memcached} library.")
                 (search-patch "mongodb-support-unknown-linux-distributions.patch")))))
     (build-system scons-build-system)
     (inputs
-     `(("openssl" ,openssl)
+     `(("openssl" ,openssl-1.0)
        ("pcre" ,pcre)
         ,@(match (%current-system)
             ((or "x86_64-linux" "aarch64-linux" "mips64el-linux")
@@ -538,6 +538,15 @@ replacement for the code@{python-memcached} library.")
                 ,(format #f "--jobs=~a" (parallel-job-count))
                 "--ssl")))
          (modify-phases %standard-phases
+           (add-after 'unpack 'patch
+             (lambda _
+               ;; Remove use of GNU extensions in parse_number_test.cpp, to
+               ;; allow compiling with GCC 7 or later
+               ;; https://jira.mongodb.org/browse/SERVER-28063
+               (substitute* "src/mongo/base/parse_number_test.cpp"
+                 (("0xabcab\\.defdefP-10")
+                  "687.16784283419838"))
+               #t))
            (add-after 'unpack 'scons-propagate-environment
              (lambda _
                ;; Modify the SConstruct file to arrange for

From 487392ce3da2ade80e293aa76600db0ed247945f Mon Sep 17 00:00:00 2001
From: Guillaume Le Vaillant 
Date: Mon, 21 Oct 2019 14:02:55 +0200
Subject: [PATCH 0288/1112] gnu: Add cl-heap.

* gnu/packages/lisp.scm (cl-heap, sbcl-cl-heap, ecl-cl-heap): New variables.
---
 gnu/packages/lisp.scm | 30 ++++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)

diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm
index dcc396dd258..7f62aed6b05 100644
--- a/gnu/packages/lisp.scm
+++ b/gnu/packages/lisp.scm
@@ -7866,3 +7866,33 @@ forms in parallel.")
 
 (define-public ecl-simple-parallel-tasks
   (sbcl-package->ecl-package sbcl-simple-parallel-tasks))
+
+(define-public sbcl-cl-heap
+  (package
+    (name "sbcl-cl-heap")
+    (version "0.1.6")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://common-lisp.net/project/cl-heap/releases/"
+                           "cl-heap_" version ".tar.gz"))
+       (sha256
+        (base32
+         "163hb07p2nxz126rpq3cj5dyala24n0by5i5786n2qcr1w0bak4i"))))
+    (build-system asdf-build-system/sbcl)
+    (native-inputs
+     `(("xlunit" ,sbcl-xlunit)))
+    (arguments
+     `(#:test-asd-file "cl-heap-tests.asd"))
+    (synopsis "Heap and priority queue data structures for Common Lisp")
+    (description
+     "CL-HEAP provides various implementations of heap data structures (a
+binary heap and a Fibonacci heap) as well as an efficient priority queue.")
+    (home-page "https://common-lisp.net/project/cl-heap/")
+    (license license:gpl3+)))
+
+(define-public cl-heap
+  (sbcl-package->cl-source-package sbcl-cl-heap))
+
+(define-public ecl-cl-heap
+  (sbcl-package->ecl-package sbcl-cl-heap))

From bb20a990cd06b8f6c2b2d97528bfb348f54a7ee7 Mon Sep 17 00:00:00 2001
From: Guillaume Le Vaillant 
Date: Mon, 21 Oct 2019 14:02:56 +0200
Subject: [PATCH 0289/1112] gnu: Add curry-compose-reader-macros.

* gnu/packages/lisp.scm (cl-curry-compose-reader-macros,
  sbcl-curry-compose-reader-macros, ecl-curry-compose-reader-macros): New
  variables.
---
 gnu/packages/lisp.scm | 34 ++++++++++++++++++++++++++++++++++
 1 file changed, 34 insertions(+)

diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm
index 7f62aed6b05..5e4f9484ee7 100644
--- a/gnu/packages/lisp.scm
+++ b/gnu/packages/lisp.scm
@@ -7896,3 +7896,37 @@ binary heap and a Fibonacci heap) as well as an efficient priority queue.")
 
 (define-public ecl-cl-heap
   (sbcl-package->ecl-package sbcl-cl-heap))
+
+(define-public sbcl-curry-compose-reader-macros
+  (let ((commit "beaa92dedf392726c042184bfd6149fa8d9e6ac2")
+        (revision "0"))
+    (package
+      (name "sbcl-curry-compose-reader-macros")
+      (version (git-version "1.0.0" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri
+          (git-reference
+           (url "https://github.com/eschulte/curry-compose-reader-macros.git")
+           (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32
+           "0rv9bl8xrad5wfcg5zs1dazvnpmvqz6297lbn8bywsrcfnlf7h98"))))
+      (build-system asdf-build-system/sbcl)
+      (inputs
+       `(("alexandria" ,sbcl-alexandria)
+         ("named-readtables" ,sbcl-named-readtables)))
+      (synopsis "Reader macros for partial application and composition")
+      (description
+       "This Common Lisp library provides reader macros for concise expression
+of function partial application and composition.")
+      (home-page "https://eschulte.github.io/curry-compose-reader-macros/")
+      (license license:public-domain))))
+
+(define-public cl-curry-compose-reader-macros
+  (sbcl-package->cl-source-package sbcl-curry-compose-reader-macros))
+
+(define-public ecl-curry-compose-reader-macros
+  (sbcl-package->ecl-package sbcl-curry-compose-reader-macros))

From 9d9a82d94dfd3fdffc23149e33886ed021cac7af Mon Sep 17 00:00:00 2001
From: Guillaume Le Vaillant 
Date: Mon, 21 Oct 2019 14:02:57 +0200
Subject: [PATCH 0290/1112] gnu: Add yason.

* gnu/packages/lisp.scm (cl-yason, sbcl-yason, ecl-yason): New variables.
---
 gnu/packages/lisp.scm | 31 +++++++++++++++++++++++++++++++
 1 file changed, 31 insertions(+)

diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm
index 5e4f9484ee7..be0b876df8e 100644
--- a/gnu/packages/lisp.scm
+++ b/gnu/packages/lisp.scm
@@ -7930,3 +7930,34 @@ of function partial application and composition.")
 
 (define-public ecl-curry-compose-reader-macros
   (sbcl-package->ecl-package sbcl-curry-compose-reader-macros))
+
+(define-public sbcl-yason
+  (package
+    (name "sbcl-yason")
+    (version "0.7.7")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/phmarek/yason.git")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "0479rbjgbj80jpk5bby18inlv1kfp771a82rlcq5psrz65qqa9bj"))))
+    (build-system asdf-build-system/sbcl)
+    (inputs
+     `(("alexandria" ,sbcl-alexandria)
+       ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
+    (synopsis "Common Lisp JSON parser/encoder")
+    (description
+     "YASON is a Common Lisp library for encoding and decoding data in the
+JSON interchange format.")
+    (home-page "https://github.com/phmarek/yason")
+    (license license:bsd-3)))
+
+(define-public cl-yason
+  (sbcl-package->cl-source-package sbcl-yason))
+
+(define-public ecl-yason
+  (sbcl-package->ecl-package sbcl-yason))

From 5bb3272e181a6b8d02132006df5ffc75ffcdd707 Mon Sep 17 00:00:00 2001
From: Guillaume Le Vaillant 
Date: Mon, 21 Oct 2019 14:02:58 +0200
Subject: [PATCH 0291/1112] gnu: sbcl-iterate: Add missing native input.

* gnu/packages/lisp.scm (sbcl-iterate)[native-inputs]: Add rt.
---
 gnu/packages/lisp.scm | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm
index be0b876df8e..a559dcc37b9 100644
--- a/gnu/packages/lisp.scm
+++ b/gnu/packages/lisp.scm
@@ -1508,6 +1508,8 @@ else @code{parse-number} signals an error of type @code{invalid-number}.")
         (base32
          "0kvz16gnxnkdz0fy1x8y5yr28nfm7i2qpvix7mgwccdpjmsb4pgm"))))
     (build-system asdf-build-system/sbcl)
+    (native-inputs
+     `(("rt" ,sbcl-rt)))
     (home-page "https://common-lisp.net/project/iterate/")
     (synopsis "Iteration construct for Common Lisp")
     (description "@code{iterate} is an iteration construct for Common Lisp.

From 93b27394343bdd1ccfbc1c0492bb772613f01fba Mon Sep 17 00:00:00 2001
From: Guillaume Le Vaillant 
Date: Mon, 21 Oct 2019 14:02:59 +0200
Subject: [PATCH 0292/1112] gnu: Add ecl-iterate.

* gnu/packages/lisp.scm (ecl-iterate): New variable.
---
 gnu/packages/lisp.scm | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm
index a559dcc37b9..8f46ee98914 100644
--- a/gnu/packages/lisp.scm
+++ b/gnu/packages/lisp.scm
@@ -1526,6 +1526,9 @@ It is similar to the @code{CL:LOOP} macro, with these distinguishing marks:
 (define-public cl-iterate
   (sbcl-package->cl-source-package sbcl-iterate))
 
+(define-public ecl-iterate
+  (sbcl-package->ecl-package sbcl-iterate))
+
 (define-public sbcl-cl-uglify-js
   ;; There have been many bug fixes since the 2010 release.
   (let ((commit "429c5e1d844e2f96b44db8fccc92d6e8e28afdd5")

From 54d761d3a4ed29381364aef26bedf2fbd4ba5fbd Mon Sep 17 00:00:00 2001
From: Guillaume Le Vaillant 
Date: Mon, 21 Oct 2019 14:03:00 +0200
Subject: [PATCH 0293/1112] gnu: Add stefil.

* gnu/packages/lisp.scm (cl-stefil, sbcl-stefil): New variables.
---
 gnu/packages/lisp.scm | 43 +++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 43 insertions(+)

diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm
index 8f46ee98914..4abc0f7790b 100644
--- a/gnu/packages/lisp.scm
+++ b/gnu/packages/lisp.scm
@@ -7966,3 +7966,46 @@ JSON interchange format.")
 
 (define-public ecl-yason
   (sbcl-package->ecl-package sbcl-yason))
+
+(define-public sbcl-stefil
+  (let ((commit "0398548ec95dceb50fc2c2c03e5fb0ce49b86c7a")
+        (revision "0"))
+    (package
+      (name "sbcl-stefil")
+      (version (git-version "0.1" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://gitlab.common-lisp.net/stefil/stefil.git")
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32
+           "0bqz64q2szzhf91zyqyssmvrz7da6442rs01808pf3wrdq28bclh"))))
+      (build-system asdf-build-system/sbcl)
+      (inputs
+       `(("alexandria" ,sbcl-alexandria)
+         ("iterate" ,sbcl-iterate)
+         ("metabang-bind" ,sbcl-metabang-bind)))
+      (propagated-inputs
+       ;; Swank doesn't have a pre-compiled package, therefore we must
+       ;; propagate its sources.
+       `(("swank" ,cl-slime-swank)))
+      (arguments
+       '(#:phases
+         (modify-phases %standard-phases
+           (add-after 'unpack 'drop-unnecessary-dependency
+             (lambda _
+               (substitute* "package.lisp"
+                 ((":stefil-system") ""))
+               #t)))))
+      (home-page "https://common-lisp.net/project/stefil/index-old.shtml")
+      (synopsis "Simple test framework")
+      (description
+       "Stefil is a simple test framework for Common Lisp, with a focus on
+interactive development.")
+      (license license:public-domain))))
+
+(define-public cl-stefil
+  (sbcl-package->cl-source-package sbcl-stefil))

From 9574d42008143909b269836a0eadbdbac67a6293 Mon Sep 17 00:00:00 2001
From: Guillaume Le Vaillant 
Date: Mon, 21 Oct 2019 14:03:01 +0200
Subject: [PATCH 0294/1112] gnu: Add graph.

* gnu/packages/lisp.scm (cl-graph, sbcl-graph): New variables.
* gnu/packages/patches/sbcl-graph-asdf-definitions.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
---
 gnu/local.mk                                  |  1 +
 gnu/packages/lisp.scm                         | 40 +++++++++++
 .../patches/sbcl-graph-asdf-definitions.patch | 70 +++++++++++++++++++
 3 files changed, 111 insertions(+)
 create mode 100644 gnu/packages/patches/sbcl-graph-asdf-definitions.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index 4292e6f4157..2568d75c1aa 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1319,6 +1319,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/rust-coresimd-doctest.patch		\
   %D%/packages/patches/rust-reproducible-builds.patch		 \
   %D%/packages/patches/rxvt-unicode-escape-sequences.patch	\
+  %D%/packages/patches/sbcl-graph-asdf-definitions.patch	\
   %D%/packages/patches/scalapack-blacs-mpi-deprecations.patch	\
   %D%/packages/patches/scheme48-tests.patch			\
   %D%/packages/patches/scotch-build-parallelism.patch		\
diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm
index 4abc0f7790b..38fc35744e2 100644
--- a/gnu/packages/lisp.scm
+++ b/gnu/packages/lisp.scm
@@ -8009,3 +8009,43 @@ interactive development.")
 
 (define-public cl-stefil
   (sbcl-package->cl-source-package sbcl-stefil))
+
+(define-public sbcl-graph
+  (let ((commit "78bf9ec930d8eae4f0861b5be76765fb1e45e24f")
+        (revision "0"))
+    (package
+      (name "sbcl-graph")
+      (version (git-version "0.0.0" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri
+          (git-reference
+           (url "https://github.com/eschulte/graph.git")
+           (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32
+           "1qpij4xh8bqwc2myahpilcbh916v7vg0acz2fij14d3y0jm02h0g"))
+         (patches (search-patches "sbcl-graph-asdf-definitions.patch"))))
+      (build-system asdf-build-system/sbcl)
+      (native-inputs
+       `(("stefil" ,sbcl-stefil)))
+      (inputs
+       `(("alexandria" ,sbcl-alexandria)
+         ("cl-heap" ,sbcl-cl-heap)
+         ("curry-compose-reader-macros" ,sbcl-curry-compose-reader-macros)
+         ("metabang-bind" ,sbcl-metabang-bind)
+         ("named-readtables" ,sbcl-named-readtables)))
+      (arguments
+       '(#:test-asd-file "graph.test.asd"))
+      (synopsis "Graph data structure and algorithms for Common Lisp")
+      (description
+       "The GRAPH Common Lisp library provides a data structures to represent
+graphs, as well as some graph manipulation and analysis algorithms (shortest
+path, maximum flow, minimum spanning tree, etc.).")
+      (home-page "https://eschulte.github.io/graph/")
+      (license license:gpl3+))))
+
+(define-public cl-graph
+  (sbcl-package->cl-source-package sbcl-graph))
diff --git a/gnu/packages/patches/sbcl-graph-asdf-definitions.patch b/gnu/packages/patches/sbcl-graph-asdf-definitions.patch
new file mode 100644
index 00000000000..a528ccfcc68
--- /dev/null
+++ b/gnu/packages/patches/sbcl-graph-asdf-definitions.patch
@@ -0,0 +1,70 @@
+commit 52ebece1243ae6900e414b6248b5145a28348eef
+Author: Guillaume Le Vaillant 
+Date:   Fri Oct 18 15:41:23 2019 +0200
+
+    Use basic ASDF system definitions instead of package-inferred-system
+
+diff --git a/graph.asd b/graph.asd
+index 193b6e3..56afc8f 100644
+--- a/graph.asd
++++ b/graph.asd
+@@ -3,12 +3,10 @@
+   :version "0.0.0"
+   :author ("Eric Schulte " "Thomas Dye")
+   :licence "GPL V3"
+-  :class :package-inferred-system
+-  :defsystem-depends-on (:asdf-package-system)
++  :in-order-to ((test-op (test-op graph-test)))
+   :depends-on (alexandria
+                metabang-bind
+                named-readtables
+                curry-compose-reader-macros
+-               graph/graph))
+-
+-(register-system-packages "femlisp-matlisp" '(:fl.matlisp))
++               cl-heap)
++  :components ((:file "graph")))
+diff --git a/graph.dot.asd b/graph.dot.asd
+new file mode 100644
+index 0000000..12aec7e
+--- /dev/null
++++ b/graph.dot.asd
+@@ -0,0 +1,8 @@
++(defsystem :graph-dot
++  :depends-on (alexandria
++               metabang-bind
++               named-readtables
++               curry-compose-reader-macros
++               cl-ppcre
++               graph)
++  :components ((:file "dot")))
+diff --git a/graph.json.asd b/graph.json.asd
+new file mode 100644
+index 0000000..e7d091f
+--- /dev/null
++++ b/graph.json.asd
+@@ -0,0 +1,8 @@
++(defsystem :graph-json
++  :depends-on (alexandria
++               metabang-bind
++               named-readtables
++               curry-compose-reader-macros
++               yason
++               graph)
++  :components ((:file "json")))
+diff --git a/graph.test.asd b/graph.test.asd
+new file mode 100644
+index 0000000..1e811e1
+--- /dev/null
++++ b/graph.test.asd
+@@ -0,0 +1,10 @@
++(defsystem :graph-test
++  :depends-on (alexandria
++               metabang-bind
++               named-readtables
++               curry-compose-reader-macros
++               graph
++               stefil)
++  :perform (test-op (o s)
++             (uiop:symbol-call :graph/test 'test))
++  :components ((:file "test")))

From a4daf996503281cd0addb020ec0f17207eb48313 Mon Sep 17 00:00:00 2001
From: Guillaume Le Vaillant 
Date: Mon, 21 Oct 2019 14:03:02 +0200
Subject: [PATCH 0295/1112] gnu: Add sbcl-graph-dot.

* gnu/packages/lisp.scm (sbcl-graph-dot): New variable.
---
 gnu/packages/lisp.scm | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm
index 38fc35744e2..60830088702 100644
--- a/gnu/packages/lisp.scm
+++ b/gnu/packages/lisp.scm
@@ -8049,3 +8049,20 @@ path, maximum flow, minimum spanning tree, etc.).")
 
 (define-public cl-graph
   (sbcl-package->cl-source-package sbcl-graph))
+
+(define-public sbcl-graph-dot
+  (package
+    (inherit sbcl-graph)
+    (name "sbcl-graph-dot")
+    (inputs
+     `(("alexandria" ,sbcl-alexandria)
+       ("cl-ppcre" ,sbcl-cl-ppcre)
+       ("curry-compose-reader-macros" ,sbcl-curry-compose-reader-macros)
+       ("graph" ,sbcl-graph)
+       ("metabang-bind" ,sbcl-metabang-bind)
+       ("named-readtables" ,sbcl-named-readtables)))
+    (arguments
+     (substitute-keyword-arguments (package-arguments sbcl-graph)
+       ((#:asd-file _ "") "graph.dot.asd")
+       ((#:asd-system-name _ #f) "graph-dot")))
+    (synopsis "Serialize graphs to and from DOT format")))

From b090bdc9f592b85e394e88b3d2c3c0e9ecbd75ac Mon Sep 17 00:00:00 2001
From: Guillaume Le Vaillant 
Date: Mon, 21 Oct 2019 14:03:03 +0200
Subject: [PATCH 0296/1112] gnu: Add sbcl-graph-json.

* gnu/packages/lisp.scm (sbcl-graph-json): New variable.
---
 gnu/packages/lisp.scm | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm
index 60830088702..4a7527344f7 100644
--- a/gnu/packages/lisp.scm
+++ b/gnu/packages/lisp.scm
@@ -8066,3 +8066,20 @@ path, maximum flow, minimum spanning tree, etc.).")
        ((#:asd-file _ "") "graph.dot.asd")
        ((#:asd-system-name _ #f) "graph-dot")))
     (synopsis "Serialize graphs to and from DOT format")))
+
+(define-public sbcl-graph-json
+  (package
+    (inherit sbcl-graph)
+    (name "sbcl-graph-json")
+    (inputs
+     `(("alexandria" ,sbcl-alexandria)
+       ("curry-compose-reader-macros" ,sbcl-curry-compose-reader-macros)
+       ("graph" ,sbcl-graph)
+       ("metabang-bind" ,sbcl-metabang-bind)
+       ("named-readtables" ,sbcl-named-readtables)
+       ("yason" ,sbcl-yason)))
+    (arguments
+     (substitute-keyword-arguments (package-arguments sbcl-graph)
+       ((#:asd-file _ "") "graph.json.asd")
+       ((#:asd-system-name _ #f) "graph-json")))
+    (synopsis "Serialize graphs to and from JSON format")))

From 6fc9c6f7d96f44fa72ef64ebbd40a6f27a63a1e1 Mon Sep 17 00:00:00 2001
From: Efraim Flashner 
Date: Tue, 22 Oct 2019 11:55:54 +0300
Subject: [PATCH 0297/1112] gnu: font-awesome: Download using git-fetch.

The official link on the website has a regularly changing hash.

* gnu/packages/fonts.scm (font-awesome)[source]: Use 'git-fetch'.
[arguments]: Replace 'install phase.
[home-page]: Use new upstream home-page.
---
 gnu/packages/fonts.scm | 27 ++++++++++++++++++++++-----
 1 file changed, 22 insertions(+), 5 deletions(-)

diff --git a/gnu/packages/fonts.scm b/gnu/packages/fonts.scm
index 03bfa430142..bb6dc45d946 100644
--- a/gnu/packages/fonts.scm
+++ b/gnu/packages/fonts.scm
@@ -1000,14 +1000,31 @@ correct spacing.")
    ;; 
    (version "4.7.0")
    (source (origin
-            (method url-fetch)
-            (uri (string-append "http://fontawesome.io/assets/"
-                                name "-" version ".zip"))
+            (method git-fetch)
+            (uri (git-reference
+                   (url "https://github.com/FortAwesome/Font-Awesome.git")
+                   (commit (string-append "v" version))))
+            (file-name (git-file-name name version))
             (sha256
              (base32
-              "1m1rfwm4sjkv10j3xd2dhwk286a5912b2zgvc692cmxi5gxs68jf"))))
+              "0w30y26jp8nvxa3iiw7ayl6rkza1rz62msl9xw3srvxya1c77grc"))))
    (build-system font-build-system)
-   (home-page "http://fontawesome.io")
+   (arguments
+    '(#:phases
+      (modify-phases %standard-phases
+        (replace 'install
+          (lambda* (#:key outputs #:allow-other-keys)
+            (let* ((out (assoc-ref outputs "out"))
+                   (source (string-append (getcwd) "/fonts"))
+                   (fonts (string-append out "/share/fonts")))
+              (for-each (lambda (file)
+                          (install-file file (string-append fonts "/truetype")))
+                        (find-files source "\\.(ttf|ttc)$"))
+              (for-each (lambda (file)
+                          (install-file file (string-append fonts "/opentype")))
+                        (find-files source "\\.(otf|otc)$"))
+              #t))))))
+   (home-page "https://fontawesome.com/")
    (synopsis "Font that contains a rich iconset")
    (description
     "Font Awesome is a full suite of pictographic icons for easy scalable

From 0201e34cef3cc908e40f54818c8228fa8e786676 Mon Sep 17 00:00:00 2001
From: Efraim Flashner 
Date: Tue, 22 Oct 2019 15:48:48 +0300
Subject: [PATCH 0298/1112] gnu: libtommath: Update to 1.2.0.

* gnu/packages/multiprecision.scm (libtommath): Update to 1.2.0.
[arguments]: Update custom 'prepare-build for new version. Update custom
'check phase to use test-target keyword.
(libtommath@1.1): New variable.
(libtommath@1.0)[inherit]: Inherit from libtommath@1.1.
---
 gnu/packages/multiprecision.scm | 43 ++++++++++++++++++++++++---------
 1 file changed, 32 insertions(+), 11 deletions(-)

diff --git a/gnu/packages/multiprecision.scm b/gnu/packages/multiprecision.scm
index 8e898365955..36d035ada0b 100644
--- a/gnu/packages/multiprecision.scm
+++ b/gnu/packages/multiprecision.scm
@@ -293,7 +293,7 @@ multiplies.")
 (define-public libtommath
   (package
     (name "libtommath")
-    (version "1.1.0")
+    (version "1.2.0")
     (outputs '("out" "static"))
     (source
       (origin
@@ -302,8 +302,7 @@ multiplies.")
                             "download/v" version "/ltm-" version ".tar.xz"))
         (sha256
          (base32
-          "1bbyagqzfdbg37k1n08nsqzdf44z8zsnjjinqbsyj7rxg246qilh"))
-        (patches (search-patches "libtommath-fix-linkage.patch"))))
+          "1c8q1qy88cjhdjlk3g24mra94h34c1ldvkjz0n2988c0yvn5xixp"))))
     (build-system gnu-build-system)
     (arguments
      '(#:phases
@@ -311,10 +310,6 @@ multiplies.")
          (delete 'configure) ; no configure
          (add-after 'unpack 'prepare-build
            (lambda _
-             ;; Don't pull in coreutils.
-             (substitute* "makefile_include.mk"
-               (("arch") "uname -m"))
-
              ;; We want the shared library by default so force it to be the
              ;; default makefile target.
              (delete-file "makefile")
@@ -326,14 +321,15 @@ multiplies.")
                                          "/lib/libtommath.a"))
              #t))
          (replace 'check
-           (lambda* (#:key make-flags #:allow-other-keys)
-             (apply invoke "make" "test_standalone" make-flags)
+           (lambda* (#:key test-target make-flags #:allow-other-keys)
+             (apply invoke "make" test-target make-flags)
              (invoke "sh" "test")))
          (add-after 'install 'install-static-library
            (lambda* (#:key outputs #:allow-other-keys)
              (invoke "make" "-f" "makefile.unix" "install"
                      (string-append "PREFIX=" (assoc-ref outputs "static"))
                      (string-append "CC=" (which "gcc"))))))
+       #:test-target "test"
        #:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out"))
                           "CC=gcc")))
     (native-inputs
@@ -346,9 +342,34 @@ simple to work with that provides fairly efficient routines that build out of
 the box without configuration.")
     (license unlicense)))
 
-(define-public libtommath-1.0
+(define-public libtommath-1.1
   (package
     (inherit libtommath)
+    (version "1.1.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (string-append "https://github.com/libtom/libtommath/releases/"
+                            "download/v" version "/ltm-" version ".tar.xz"))
+        (sha256
+         (base32
+          "1bbyagqzfdbg37k1n08nsqzdf44z8zsnjjinqbsyj7rxg246qilh"))
+        (patches (search-patches "libtommath-fix-linkage.patch"))))
+    (arguments
+      (substitute-keyword-arguments (package-arguments libtommath)
+        ((#:phases phases)
+         `(modify-phases ,phases
+            (add-after 'unpack 'patch-coreutils-call
+              (lambda _
+                ;; Don't pull in coreutils.
+                (substitute* "makefile_include.mk"
+                  (("arch") "uname -m"))
+                #t))))
+        ((#:test-target _) "test_standalone")))))
+
+(define-public libtommath-1.0
+  (package
+    (inherit libtommath-1.1)
     (version "1.0.1")
     (outputs '("out"))
     (source
@@ -360,7 +381,7 @@ the box without configuration.")
          (base32
           "0sbccdwbkfc680id2fi0x067j23biqcjqilwkk7y9339knrjy0s7"))))
     (arguments
-      (substitute-keyword-arguments (package-arguments libtommath)
+      (substitute-keyword-arguments (package-arguments libtommath-1.1)
         ((#:phases phases)
          `(modify-phases ,phases
             (delete 'install-static-library)))))))

From c1ff9072de7738feb5af5274d7c478f1efef0f09 Mon Sep 17 00:00:00 2001
From: Hartmut Goebel 
Date: Mon, 30 Sep 2019 21:00:28 +0200
Subject: [PATCH 0299/1112] gnu: Add python-pytest-isort.

* gnu/packages/python-check.scm (python-pytest-isort): New variable.
---
 gnu/packages/python-check.scm | 31 +++++++++++++++++++++++++++++++
 1 file changed, 31 insertions(+)

diff --git a/gnu/packages/python-check.scm b/gnu/packages/python-check.scm
index 15cf9138d4f..caa398752e3 100644
--- a/gnu/packages/python-check.scm
+++ b/gnu/packages/python-check.scm
@@ -3,6 +3,7 @@
 ;;; Copyright © 2019 Tobias Geerinckx-Rice 
 ;;; Copyright © 2019 Efraim Flashner 
 ;;; Copyright © 2019 Maxim Cournoyer 
+;;; Copyright © 2019 Hartmut Goebel 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -153,6 +154,36 @@ of the project to ensure it renders properly.")
 compliance.")
     (license license:bsd-3)))
 
+(define-public python-pytest-isort
+  (package
+    (name "python-pytest-isort")
+    (version "0.3.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "pytest-isort" version))
+       (sha256
+        (base32 "06myn5hhxs5yp8dqr1yjsgcnnxnsrvsqannm00bvaw0qml6ydzjb"))))
+    (build-system python-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (replace 'check
+           (lambda _
+             (setenv "PYTHONPATH"
+                     (string-append (getcwd) ":"
+                                    (getenv "PYTHONPATH")))
+             (invoke "pytest"))))))
+    (propagated-inputs
+     `(("python-isort" ,python-isort)
+       ("python-pytest" ,python-pytest)))
+    (home-page "https://github.com/moccu/pytest-isort/")
+    (synopsis "Pytest plugin to check import ordering using isort")
+    (description
+     "This package provides a pytest plugin to check import ordering using
+isort.")
+    (license license:bsd-3)))
+
 (define-public python-pytest-shutil
   (package
     (name "python-pytest-shutil")

From df122333ac9fd46efe603fc0047ef3ffdfb1f1c9 Mon Sep 17 00:00:00 2001
From: Hartmut Goebel 
Date: Mon, 30 Sep 2019 21:06:12 +0200
Subject: [PATCH 0300/1112] gnu: Add python-tinycss2.

* gnu/packages/python-web.scm (python-tinycss2): New variable.
---
 gnu/packages/python-web.scm | 36 +++++++++++++++++++++++++++++++++++-
 1 file changed, 35 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
index 752d1207828..beecbef0514 100644
--- a/gnu/packages/python-web.scm
+++ b/gnu/packages/python-web.scm
@@ -13,7 +13,7 @@
 ;;; Copyright © 2014, 2015 Mark H Weaver 
 ;;; Copyright © 2015 Cyril Roelandt 
 ;;; Copyright © 2015, 2016, 2017, 2019 Leo Famulari 
-;;; Copyright © 2016 Hartmut Goebel 
+;;; Copyright © 2016, 2019 Hartmut Goebel 
 ;;; Copyright © 2016, 2017, 2018, 2019 Tobias Geerinckx-Rice 
 ;;; Copyright © 2015, 2017 Ben Woodcroft 
 ;;; Copyright © 2015, 2016 Christopher Allan Webber 
@@ -63,6 +63,7 @@
   #:use-module (gnu packages libffi)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages python)
+  #:use-module (gnu packages python-check)
   #:use-module (gnu packages python-crypto)
   #:use-module (gnu packages python-xyz)
   #:use-module (gnu packages sphinx)
@@ -3301,3 +3302,36 @@ library to create slugs from unicode strings while keeping it DRY.")
     (description "Generate complex HTML+JS pages with Python")
     (license license:expat)))
 
+(define-public python-tinycss2
+  (package
+    (name "python-tinycss2")
+    (version "1.0.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "tinycss2" version))
+       (sha256
+        (base32 "1kw84y09lggji4krkc58jyhsfj31w8npwhznr7lf19d0zbix09v4"))))
+    (build-system python-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (replace 'check
+           (lambda _ (invoke "pytest"))))))
+    (propagated-inputs
+     `(("python-webencodings" ,python-webencodings)))
+    (native-inputs
+     `(("python-pytest-flake8" ,python-pytest-flake8)
+       ("python-pytest-isort" ,python-pytest-isort)
+       ("python-pytest-runner" ,python-pytest-runner)))
+    (home-page "https://tinycss2.readthedocs.io/")
+    (synopsis "Low-level CSS parser for Python")
+    (description "@code{tinycss2} can parse strings, return Python objects
+representing tokens and blocks, and generate CSS strings corresponding to
+these objects.
+
+Based on the CSS Syntax Level 3 specification, @code{tinycss2} knows the
+grammar of CSS but doesn’t know specific rules, properties or values supported
+in various CSS modules.")
+    (license license:bsd-3)))
+

From 7d3f481b905d1a0950f0f60e8ec244211a42b9ba Mon Sep 17 00:00:00 2001
From: Hartmut Goebel 
Date: Mon, 30 Sep 2019 21:06:44 +0200
Subject: [PATCH 0301/1112] gnu: Add python-cssselect2.

* gnu/packages/python-web.scm (python-cssselect2): New variable.
---
 gnu/packages/python-web.scm | 33 +++++++++++++++++++++++++++++++++
 1 file changed, 33 insertions(+)

diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
index beecbef0514..55a39a8a6f3 100644
--- a/gnu/packages/python-web.scm
+++ b/gnu/packages/python-web.scm
@@ -3335,3 +3335,36 @@ grammar of CSS but doesn’t know specific rules, properties or values supported
 in various CSS modules.")
     (license license:bsd-3)))
 
+(define-public python-cssselect2
+  (package
+    (name "python-cssselect2")
+    (version "0.2.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "cssselect2" version))
+       (sha256
+        (base32 "0skymzb4ncrm2zdsy80f53vi0arf776lvbp51hzh4ayp1il5lj3h"))))
+    (build-system python-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (replace 'check
+           (lambda _ (invoke "pytest"))))))
+    (propagated-inputs
+     `(("python-tinycss2" ,python-tinycss2)))
+    (native-inputs
+     `(("python-pytest-cov" ,python-pytest-cov)
+       ("python-pytest-flake8" ,python-pytest-flake8)
+       ("python-pytest-isort" ,python-pytest-isort)
+       ("python-pytest-runner" ,python-pytest-runner)))
+    (home-page "https://cssselect2.readthedocs.io/")
+    (synopsis "CSS selectors for Python ElementTree")
+    (description "@code{cssselect2} is a straightforward implementation of
+CSS3 Selectors for markup documents (HTML, XML, etc.) that can be read by
+ElementTree-like parsers (including cElementTree, lxml, html5lib, etc.).
+
+Unlike the Python package @code{cssselect}, it does not translate selectors to
+XPath and therefore does not have all the correctness corner cases that are
+hard or impossible to fix in cssselect.")
+    (license license:bsd-3)))

From f2f41e1afe942993b299c5d28993e51a47746dd5 Mon Sep 17 00:00:00 2001
From: Hartmut Goebel 
Date: Mon, 30 Sep 2019 21:08:47 +0200
Subject: [PATCH 0302/1112] gnu: Add python-cairosvg.

* gnu/packages/python-xyz.scm (python-cairosvg): New variable.
---
 gnu/packages/python-xyz.scm | 35 +++++++++++++++++++++++++++++++++++
 1 file changed, 35 insertions(+)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 65f944b56c2..55498de3ab0 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -16592,3 +16592,38 @@ It is the recommended replacement for Python's original
 @code{distro} also provides a command-line interface to output the platform
 information in various formats.")
     (license license:asl2.0)))
+
+(define-public python-cairosvg
+  (package
+    (name "python-cairosvg")
+    (version "2.4.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "CairoSVG" version))
+       (sha256
+        (base32 "1bb7irxbaxxb9ahm3z5wsx1q96mm5gzskc7b6q07h9ikcnb8yrjf"))))
+    (build-system python-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (replace 'check
+           (lambda _ (invoke "pytest"))))))
+    (propagated-inputs
+     `(("python-cairocffi" ,python-cairocffi)
+       ("python-cssselect2" ,python-cssselect2)
+       ("python-defusedxml" ,python-defusedxml)
+       ("python-pillow" ,python-pillow)
+       ("python-tinycss2" ,python-tinycss2)))
+    (native-inputs
+     `(("python-pytest-flake8" ,python-pytest-flake8)
+       ("python-pytest-isort" ,python-pytest-isort)
+       ("python-pytest-runner" ,python-pytest-runner)))
+    (home-page "https://cairosvg.org/")
+    (synopsis "SVG to PDF/PS/PNG converter based on Cairo")
+    (description "CairoSVG is a SVG converter based on Cairo.  It can export
+SVG files to PDF, PostScript and PNG files.  The main part of CairoSVG is a
+SVG parser, trying to follow the SVG 1.1 recommendation from the W3C.  Once
+parsed, the result is drawn to a Cairo surface that can be exported to
+qvarious formats: PDF, PostScript, PNG and even SVG.")
+    (license license:lgpl3+)))

From ea1801e00bc79c8f7a8cc2e83589d4603bac5751 Mon Sep 17 00:00:00 2001
From: Hartmut Goebel 
Date: Mon, 30 Sep 2019 21:09:12 +0200
Subject: [PATCH 0303/1112] gnu: Add python-pyphen.

* gnu/packages/python-xyz.scm (python-pyphen): New variable.
---
 gnu/packages/python-xyz.scm | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 55498de3ab0..9f965564000 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -16627,3 +16627,22 @@ SVG parser, trying to follow the SVG 1.1 recommendation from the W3C.  Once
 parsed, the result is drawn to a Cairo surface that can be exported to
 qvarious formats: PDF, PostScript, PNG and even SVG.")
     (license license:lgpl3+)))
+
+(define-public python-pyphen
+  (package
+    (name "python-pyphen")
+    (version "0.9.5")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "Pyphen" version))
+       (sha256
+        (base32 "08c9y69ry9d6m4zalhnalg86lsp9v2j5n1ziw5vxfmiihx83lqrv"))))
+    (build-system python-build-system)
+    ;; TODO: Use the Guix system hyphenation packages hyphen-* rather than the
+    ;; embedded set provided by upstream - like Debian does.
+    (home-page "https://github.com/Kozea/Pyphen")
+    (synopsis "Pure Python module to hyphenate text")
+    (description "Pyphen is a pure Python module to hyphenate text using
+existing Hunspell hyphenation dictionaries.")
+    (license (list license:gpl2 license:lgpl2.1 license:mpl1.1))))

From 73f0ed8dbfde97341716fd8b156907e4ef800873 Mon Sep 17 00:00:00 2001
From: Hartmut Goebel 
Date: Mon, 30 Sep 2019 21:09:49 +0200
Subject: [PATCH 0304/1112] gnu: Add weasyprint.

* gnu/packages/pdf.scm (weasyprint): New variable.
---
 gnu/packages/pdf.scm | 81 ++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 81 insertions(+)

diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm
index 7118afce4de..0fd385d5d61 100644
--- a/gnu/packages/pdf.scm
+++ b/gnu/packages/pdf.scm
@@ -16,6 +16,7 @@
 ;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice 
 ;;; Copyright © 2019 Alex Griffin 
 ;;; Copyright © 2019 Ben Sturmfels 
+;;; Copyright © 2019 Hartmut Goebel 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -66,6 +67,7 @@
   #:use-module (gnu packages imagemagick)
   #:use-module (gnu packages javascript)
   #:use-module (gnu packages lesstif)
+  #:use-module (gnu packages libffi)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages lua)
   #:use-module (gnu packages pcre)
@@ -73,6 +75,8 @@
   #:use-module (gnu packages photo)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages python)
+  #:use-module (gnu packages python-check)
+  #:use-module (gnu packages python-web)
   #:use-module (gnu packages python-xyz)
   #:use-module (gnu packages qt)
   #:use-module (gnu packages sdl)
@@ -1200,3 +1204,80 @@ manipulating PDF documents from the command line.  It supports
 @item displaying the mapping between logical and physical page numbers
 @end itemize")
     (license license:bsd-3)))
+
+(define-public weasyprint
+  (package
+    (name "weasyprint")
+    (version "50")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "WeasyPrint" version))
+       (sha256
+        (base32 "0invs96zvmcr6wh5klj52jrcnr9qg150v9wpmbhcsf3vv1d1hbcw"))
+       (patches (search-patches "weasyprint-library-paths.patch"))))
+    (build-system python-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch-library-paths
+           (lambda* (#:key inputs #:allow-other-keys)
+             (let ((fontconfig (assoc-ref inputs "fontconfig"))
+                   (glib (assoc-ref inputs "glib"))
+                   (pango (assoc-ref inputs "pango"))
+                   (pangoft2 (assoc-ref inputs "pangoft2")))
+               (substitute* "weasyprint/fonts.py"
+                 (("@fontconfig@")
+                  (string-append fontconfig "/lib/libfontconfig.so"))
+                 (("@pangoft2@")
+                  (string-append pango "/lib/libpangoft2-1.0.so")))
+               (substitute* "weasyprint/text.py"
+                 (("@gobject@")
+                  (string-append glib "/lib/libgobject-2.0.so"))
+                 (("@pango@")
+                  (string-append pango "/lib/libpango-1.0.so"))
+                 (("@pangocairo@")
+                  (string-append pango "/lib/libpangocairo-1.0.so"))))))
+         (add-after 'unpack 'remove-pytest-options
+           (lambda _
+             (substitute* "setup.cfg"
+               ;; flake8 and isort syntax checks fail, which is not our
+               ;; business
+               (("addopts = --flake8 --isort") ""))))
+         (replace 'check
+           (lambda _
+             ;; run pytest, excluding one failing test
+             (invoke "pytest" "-k" "not test_flex_column_wrap_reverse"))))))
+    (inputs
+     `(("fontconfig" ,fontconfig)
+       ("glib" ,glib)
+       ("pango" ,pango)))
+    (propagated-inputs
+     `(("gdk-pixbuf" ,gdk-pixbuf)
+       ("python-cairocffi" ,python-cairocffi)
+       ("python-cairosvg" ,python-cairosvg)
+       ("python-cffi" ,python-cffi)
+       ("python-cssselect2" ,python-cssselect2)
+       ("python-html5lib" ,python-html5lib)
+       ("python-pyphen" ,python-pyphen)
+       ("python-tinycss2" ,python-tinycss2)))
+    (native-inputs
+     `(("python-pytest-cov" ,python-pytest-cov)
+       ("python-pytest-runner" ,python-pytest-runner)))
+    (home-page "https://weasyprint.org/")
+    (synopsis "Document factory for creating PDF files from HTML")
+    (description "WeasyPrint helps web developers to create PDF documents.  It
+turns simple HTML pages into gorgeous statistical reports, invoices, tickets,
+etc.
+
+From a technical point of view, WeasyPrint is a visual rendering engine for
+HTML and CSS that can export to PDF and PNG.  It aims to support web standards
+for printing.
+
+It is based on various libraries but not on a full rendering engine like
+WebKit or Gecko.  The CSS layout engine is written in Python, designed for
+pagination, and meant to be easy to hack on.  Weasyprint can also be used as a
+python library.
+
+Keywords: html2pdf, htmltopdf")
+    (license license:bsd-3)))

From 00850bb836e1027edb310f3dc69b897f031e23e0 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= 
Date: Tue, 22 Oct 2019 17:29:35 +0200
Subject: [PATCH 0305/1112] services: elogind, gnome, mate, xfce: Fix config
 type predicate identifiers.

* gnu/services/desktop.scm (): Add question mark
in type predicate identifier.
(): Likewise.
(): Likewise.
(): Likewise.
---
 gnu/services/desktop.scm | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/gnu/services/desktop.scm b/gnu/services/desktop.scm
index 08acb79ed6d..449b606a314 100644
--- a/gnu/services/desktop.scm
+++ b/gnu/services/desktop.scm
@@ -580,7 +580,7 @@ include the @command{udisksctl} command, part of UDisks, and GNOME Disks."
 
 (define-record-type*  elogind-configuration
   make-elogind-configuration
-  elogind-configuration
+  elogind-configuration?
   (elogind                         elogind-package
                                    (default elogind))
   (kill-user-processes?            elogind-kill-user-processes?
@@ -834,7 +834,7 @@ accountsservice web site} for more information."
 
 (define-record-type*  gnome-desktop-configuration
   make-gnome-desktop-configuration
-  gnome-desktop-configuration
+  gnome-desktop-configuration?
   (gnome-package gnome-package (default gnome)))
 
 (define (gnome-polkit-settings config)
@@ -872,7 +872,7 @@ and extends polkit with the actions from @code{gnome-settings-daemon}."
 
 (define-record-type*  mate-desktop-configuration
   make-mate-desktop-configuration
-  mate-desktop-configuration
+  mate-desktop-configuration?
   (mate-package mate-package (default mate)))
 
 (define mate-desktop-service-type
@@ -905,7 +905,7 @@ and extends polkit with the actions from @code{mate-settings-daemon}."
 
 (define-record-type*  xfce-desktop-configuration
   make-xfce-desktop-configuration
-  xfce-desktop-configuration
+  xfce-desktop-configuration?
   (xfce xfce-package (default xfce)))
 
 (define (xfce-polkit-settings config)

From 208cc522b93998050940372cef62287c08358188 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= 
Date: Tue, 22 Oct 2019 17:45:19 +0200
Subject: [PATCH 0306/1112] doc: Use the right title in HTML indices for the
 cookbook.

* doc/build.scm (html-manual-indexes): Add #:title.
[build]: Replace "GNU Guix Reference Manual" by references to TITLE.
---
 doc/build.scm | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/doc/build.scm b/doc/build.scm
index 45a863503af..81bb94670a1 100644
--- a/doc/build.scm
+++ b/doc/build.scm
@@ -584,6 +584,9 @@ from SOURCE."
                               #:key (languages %languages)
                               (version "0.0")
                               (manual %manual)
+                              (title (if (string=? "guix" manual)
+                                         "GNU Guix Reference Manual"
+                                         "GNU Guix Cookbook"))
                               (date 1))
   (define build
     (with-extensions (list guile-json-3)
@@ -687,7 +690,7 @@ from SOURCE."
 
             (define (language-index language)
               (define title
-                (translate "GNU Guix Reference Manual" language))
+                (translate #$title language))
 
               (sxml-index
                language title
@@ -745,8 +748,7 @@ from SOURCE."
                     %iso639-languages)))
 
             (define (top-level-index languages)
-              (define title
-                "GNU Guix Reference Manual")
+              (define title #$title)
               (sxml-index
                "en" title
                `(main
@@ -754,7 +756,7 @@ from SOURCE."
                   (@ (class "page centered-block limit-width"))
                   (h2 ,title)
                   (div
-                   "The GNU Guix Reference Manual is available in the following
+                   "This document is available in the following
 languages:\n"
                    (ul
                     ,@(map (lambda (language)

From 84af1e74029fd4c43636f7d8d3e6f82ddab9ce82 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= 
Date: Tue, 22 Oct 2019 17:51:23 +0200
Subject: [PATCH 0307/1112] gnu: guile-json: Deprecate the 'guile-json'
 variable.

* gnu/packages/guile.scm (guile-json): Rename to...
(guile-json-1): ... this.
(guile-json): Define as a deprecated alias for 'guile-json-1'.
(guile2.0-json, guile-json-3): Explicitly refer to 'guile-json-1'.
---
 gnu/packages/guile.scm | 16 ++++++++++------
 1 file changed, 10 insertions(+), 6 deletions(-)

diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm
index 49a6e964a3b..5fa149a189c 100644
--- a/gnu/packages/guile.scm
+++ b/gnu/packages/guile.scm
@@ -59,6 +59,7 @@
   #:use-module (guix git-download)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system guile)
+  #:use-module (guix deprecation)
   #:use-module (guix utils)
   #:use-module (ice-9 match)
   #:use-module ((srfi srfi-1) #:prefix srfi-1:))
@@ -413,7 +414,7 @@ GNU@tie{}Guile.  Use the @code{(ice-9 readline)} module and call its
 ;;; Extensions.
 ;;;
 
-(define-public guile-json
+(define-public guile-json-1
   (package
     (name "guile-json")
     (version "1.2.0")
@@ -444,17 +445,20 @@ specification.  These are the main features:
     ;; Version 1.2.0 switched to GPLv3+ (from LGPLv3+).
     (license license:gpl3+)))
 
-(define-public guile-json-1
-  ;; This is the 1.x branch of Guile-JSON.
-  guile-json)
+;; Deprecate the 'guile-json' alias to force the use 'guile-json-1' or
+;; 'guile-json-3'.  In the future, we may reuse 'guile-json' as an alias for
+;; 'guile-json-3'.
+(define-deprecated guile-json
+  guile-json-1
+  guile-json-1)
 
 (define-public guile2.0-json
-  (package-for-guile-2.0 guile-json))
+  (package-for-guile-2.0 guile-json-1))
 
 (define-public guile-json-3
   ;; This version is incompatible with 1.x; see the 'NEWS' file.
   (package
-    (inherit guile-json)
+    (inherit guile-json-1)
     (name "guile-json")
     (version "3.2.0")
     (source (origin

From af561664b8191e2a34570176422f4d500d5fd4fb Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Miguel=20=C3=81ngel=20Arruga=20Vivas?=
 
Date: Mon, 21 Oct 2019 19:16:24 +0200
Subject: [PATCH 0308/1112] gnu: seahorse: Update to 3.30.1.1.
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

* gnu/packages/gnome.scm (seahorse)[version]: Update version number.
[origin]: Update hash.  Add patch needed for compilation with our
version of libsecret (0.19.1).
[inputs]: Add avahi dependency.
[native-inputs]: Add vala dependency.  Use gettext-minimal instead of
intltool, as only xgettext is used.
* gnu/packages/patches/seahorse-gkr-use-0-on-empty-flags.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.

Signed-off-by: Ludovic Courtès 
---
 gnu/local.mk                                  |  1 +
 gnu/packages/gnome.scm                        | 21 +++++++++---
 .../seahorse-gkr-use-0-on-empty-flags.patch   | 32 +++++++++++++++++++
 3 files changed, 50 insertions(+), 4 deletions(-)
 create mode 100644 gnu/packages/patches/seahorse-gkr-use-0-on-empty-flags.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index 2568d75c1aa..79d0e934d4c 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1325,6 +1325,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/scotch-build-parallelism.patch		\
   %D%/packages/patches/scotch-integer-declarations.patch	\
   %D%/packages/patches/sdl-libx11-1.6.patch			\
+  %D%/packages/patches/seahorse-gkr-use-0-on-empty-flags.patch	\
   %D%/packages/patches/seq24-rename-mutex.patch			\
   %D%/packages/patches/sharutils-CVE-2018-1000097.patch		\
   %D%/packages/patches/shishi-fix-libgcrypt-detection.patch	\
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 3a4494b2b52..6ce3b1cf371 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -2223,7 +2223,7 @@ engineering.")
 (define-public seahorse
   (package
     (name "seahorse")
-    (version "3.30")
+    (version "3.30.1.1")
     (source
      (origin
        (method url-fetch)
@@ -2232,8 +2232,19 @@ engineering.")
                            version ".tar.xz"))
        (sha256
         (base32
-         "1sbj1czlx1fakm72dwgbn0bwm12j838yaky4mkf6hf8j8afnxmzp"))))
-    (build-system glib-or-gtk-build-system)
+         "12x7xmwh62yl0ax90v8nkx3jqzviaz9hz2g56yml78wzww20gawy"))
+       (patches (search-patches
+                 "seahorse-gkr-use-0-on-empty-flags.patch"))))
+    (build-system meson-build-system)
+    (arguments
+     '(#:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'skip-gtk-update-icon-cache
+           ;; Don't create 'icon-theme.cache'.
+           (lambda _
+             (substitute* "build-aux/meson_post_install.py"
+               (("gtk-update-icon-cache") "true"))
+             #t)))))
     (inputs
      `(("gtk+" ,gtk+)
        ("gcr" ,gcr)
@@ -2241,13 +2252,15 @@ engineering.")
        ("gpgme" ,gpgme)
        ("openldap" ,openldap)
        ("openssh" ,openssh)
+       ("avahi" ,avahi)
        ("libsecret" ,libsecret)
        ("libsoup" ,libsoup)))
     (native-inputs
-     `(("intltool" ,intltool)
+     `(("gettext" ,gettext-minimal)
        ("glib:bin" ,glib "bin")
        ("itstool" ,itstool)
        ("pkg-config" ,pkg-config)
+       ("vala" ,vala)
        ("xmllint" ,libxml2)))
     (home-page "https://launchpad.net/gnome-themes-standard")
     (synopsis "Manage encryption keys and passwords in the GNOME keyring")
diff --git a/gnu/packages/patches/seahorse-gkr-use-0-on-empty-flags.patch b/gnu/packages/patches/seahorse-gkr-use-0-on-empty-flags.patch
new file mode 100644
index 00000000000..55866d2973e
--- /dev/null
+++ b/gnu/packages/patches/seahorse-gkr-use-0-on-empty-flags.patch
@@ -0,0 +1,32 @@
+Patch from .
+
+From d9db29db567012b7c72e85e1be1fbf55fcc9b667 Mon Sep 17 00:00:00 2001
+From: Niels De Graef 
+Date: Sat, 11 May 2019 09:02:34 +0200
+Subject: [PATCH] gkr: Use 0 on empty flags
+
+A Flags-type variable without any flag set can be replaced with 0, so
+this is a safe thing to do. It also prevents us from having to deal with
+the accidental API break in libsecret (see
+https://gitlab.gnome.org/GNOME/libsecret/merge_requests/19)
+---
+ gkr/gkr-keyring-add.vala | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+diff --git a/gkr/gkr-keyring-add.vala b/gkr/gkr-keyring-add.vala
+index 4e92a520..f60c9a22 100644
+--- a/gkr/gkr-keyring-add.vala
++++ b/gkr/gkr-keyring-add.vala
+@@ -41,8 +41,7 @@ public class Seahorse.Gkr.KeyringAdd : Gtk.Dialog {
+ 
+         var cancellable = Dialog.begin_request(this);
+         var service = Backend.instance().service;
+-        Secret.Collection.create.begin(service, this.name_entry.text, null,
+-                                       Secret.CollectionCreateFlags.COLLECTION_CREATE_NONE,
++        Secret.Collection.create.begin(service, this.name_entry.text, null, 0,
+                                        cancellable, (obj, res) => {
+             /* Clear the operation without cancelling it since it is complete */
+             Dialog.complete_request(this, false);
+-- 
+2.23.0
+

From 12712817ae97eb6305deeaad68ce17c9fa212917 Mon Sep 17 00:00:00 2001
From: "Jakob L. Kreuze" 
Date: Sat, 28 Sep 2019 16:47:21 -0400
Subject: [PATCH 0309/1112] machine: Implement
 'digital-ocean-environment-type'.
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

* gnu/machine/digital-ocean.scm: New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
* doc/guix.texi (Invoking guix deploy): Add documentation for
'digital-ocean-configuration'.

Signed-off-by: Ludovic Courtès 
---
 doc/guix.texi                 |  24 +-
 gnu/local.mk                  |   1 +
 gnu/machine/digital-ocean.scm | 422 ++++++++++++++++++++++++++++++++++
 3 files changed, 444 insertions(+), 3 deletions(-)
 create mode 100644 gnu/machine/digital-ocean.scm

diff --git a/doc/guix.texi b/doc/guix.texi
index b550b1c34a1..f24dc6b26b0 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -26004,12 +26004,10 @@ The object of the operating system configuration to deploy.
 
 @item @code{environment}
 An @code{environment-type} describing how the machine should be provisioned.
-At the moment, the only supported value is
-@code{managed-host-environment-type}.
 
 @item @code{configuration} (default: @code{#f})
 An object describing the configuration for the machine's @code{environment}.
-If the @code{environment} has a default configuration, @code{#f} maybe used.
+If the @code{environment} has a default configuration, @code{#f} may be used.
 If @code{#f} is used for an environment with no default configuration,
 however, an error will be thrown.
 @end table
@@ -26037,6 +26035,26 @@ remote host.
 @end table
 @end deftp
 
+@deftp {Data Type} digital-ocean-configuration
+This is the data type describing the Droplet that should be created for a
+machine with an @code{environment} of @code{digital-ocean-environment-type}.
+
+@table @asis
+@item @code{ssh-key}
+The path to the SSH private key to use to authenticate with the remote
+host. In the future, this field may not exist.
+@item @code{tags}
+A list of string ``tags'' that uniquely identify the machine. Must be given
+such that no two machines in the deployment have the same set of tags.
+@item @code{region}
+A Digital Ocean region slug, such as @code{"nyc3"}.
+@item @code{size}
+A Digital Ocean size slug, such as @code{"s-1vcpu-1gb"}
+@item @code{enable-ipv6}
+Whether or not the droplet should be created with IPv6 networking.
+@end table
+@end deftp
+
 @node Running Guix in a VM
 @section Running Guix in a Virtual Machine
 
diff --git a/gnu/local.mk b/gnu/local.mk
index 79d0e934d4c..9b9a2159131 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -580,6 +580,7 @@ GNU_SYSTEM_MODULES =				\
   %D%/system/vm.scm				\
 						\
   %D%/machine.scm				\
+  %D%/machine/digital-ocean.scm			\
   %D%/machine/ssh.scm				\
 						\
   %D%/build/accounts.scm			\
diff --git a/gnu/machine/digital-ocean.scm b/gnu/machine/digital-ocean.scm
new file mode 100644
index 00000000000..5ad7c4d4a35
--- /dev/null
+++ b/gnu/machine/digital-ocean.scm
@@ -0,0 +1,422 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2019 Jakob L. Kreuze 
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix.  If not, see .
+
+(define-module (gnu machine digital-ocean)
+  #:use-module (gnu machine ssh)
+  #:use-module (gnu machine)
+  #:use-module (gnu services)
+  #:use-module (gnu services networking)
+  #:use-module (gnu system)
+  #:use-module (gnu system pam)
+  #:use-module (guix base32)
+  #:use-module (guix derivations)
+  #:use-module (guix i18n)
+  #:use-module (guix import json)
+  #:use-module (guix monads)
+  #:use-module (guix records)
+  #:use-module (guix ssh)
+  #:use-module (guix store)
+  #:use-module (ice-9 iconv)
+  #:use-module (json)
+  #:use-module (rnrs bytevectors)
+  #:use-module (srfi srfi-1)
+  #:use-module (srfi srfi-2)
+  #:use-module (srfi srfi-34)
+  #:use-module (srfi srfi-35)
+  #:use-module (ssh key)
+  #:use-module (ssh sftp)
+  #:use-module (ssh shell)
+  #:use-module (web client)
+  #:use-module (web request)
+  #:use-module (web response)
+  #:use-module (web uri)
+  #:export (digital-ocean-configuration
+            digital-ocean-configuration?
+
+            digital-ocean-configuration-ssh-key
+            digital-ocean-configuration-tags
+            digital-ocean-configuration-region
+            digital-ocean-configuration-size
+            digital-ocean-configuration-enable-ipv6
+
+            digital-ocean-environment-type))
+
+;;; Commentary:
+;;;
+;;; This module implements a high-level interface for provisioning "droplets"
+;;; from the Digital Ocean virtual private server (VPS) service.
+;;;
+;;; Code:
+
+(define %api-base "https://api.digitalocean.com")
+
+(define %digital-ocean-token
+  (make-parameter (getenv "GUIX_DIGITAL_OCEAN_TOKEN")))
+
+(define* (post-endpoint endpoint body)
+  "Encode BODY as JSON and send it to the Digital Ocean API endpoint
+ENDPOINT. This procedure is quite a bit more specialized than 'http-post', as
+it takes care to set headers such as 'Content-Type', 'Content-Length', and
+'Authorization' appropriately."
+  (let* ((uri (string->uri (string-append %api-base endpoint)))
+         (body (string->bytevector (scm->json-string body) "UTF-8"))
+         (headers `((User-Agent . "Guix Deploy")
+                    (Accept . "application/json")
+                    (Content-Type . "application/json")
+                    (Authorization . ,(format #f "Bearer ~a"
+                                              (%digital-ocean-token)))
+                    (Content-Length . ,(number->string
+                                        (bytevector-length body)))))
+         (port (open-socket-for-uri uri))
+         (request (build-request uri
+                                 #:method 'POST
+                                 #:version '(1 . 1)
+                                 #:headers headers
+                                 #:port port))
+         (request (write-request request port)))
+    (write-request-body request body)
+    (force-output (request-port request))
+    (let* ((response (read-response port))
+           (body (read-response-body response)))
+      (unless (= 2 (floor/ (response-code response) 100))
+        (raise
+         (condition (&message
+                     (message (format
+                               #f
+                               (G_ "~a: HTTP post failed: ~a (~s)")
+                               (uri->string uri)
+                               (response-code response)
+                               (response-reason-phrase response)))))))
+      (close-port port)
+      (bytevector->string body "UTF-8"))))
+
+(define (fetch-endpoint endpoint)
+  "Return the contents of the Digital Ocean API endpoint ENDPOINT as an
+alist. This procedure is quite a bit more specialized than 'json-fetch', as it
+takes care to set headers such as 'Accept' and 'Authorization' appropriately."
+  (define headers
+    `((user-agent . "Guix Deploy")
+      (Accept . "application/json")
+      (Authorization . ,(format #f "Bearer ~a" (%digital-ocean-token)))))
+  (json-fetch (string-append %api-base endpoint) #:headers headers))
+
+
+;;;
+;;; Parameters for droplet creation.
+;;;
+
+(define-record-type*  digital-ocean-configuration
+  make-digital-ocean-configuration
+  digital-ocean-configuration?
+  this-digital-ocean-configuration
+  (ssh-key     digital-ocean-configuration-ssh-key)      ; string
+  (tags        digital-ocean-configuration-tags)         ; list of strings
+  (region      digital-ocean-configuration-region)       ; string
+  (size        digital-ocean-configuration-size)         ; string
+  (enable-ipv6 digital-ocean-configuration-enable-ipv6)) ; boolean
+
+(define (read-key-fingerprint file-name)
+  "Read the private key at FILE-NAME and return the key's fingerprint as a hex
+string."
+  (let* ((privkey (private-key-from-file file-name))
+         (pubkey (private-key->public-key privkey))
+         (hash (get-public-key-hash pubkey 'md5)))
+    (bytevector->hex-string hash)))
+
+(define (machine-droplet machine)
+  "Return an alist describing the droplet allocated to MACHINE."
+  (let ((tags (digital-ocean-configuration-tags
+               (machine-configuration machine))))
+    (find (lambda (droplet)
+            (equal? (assoc-ref droplet "tags") (list->vector tags)))
+          (vector->list
+           (assoc-ref (fetch-endpoint "/v2/droplets") "droplets")))))
+
+(define (machine-public-ipv4-network machine)
+  "Return the public IPv4 network interface of the droplet allocated to
+MACHINE as an alist. The expected fields are 'ip_address', 'netmask', and
+'gateway'."
+  (and-let* ((droplet (machine-droplet machine))
+             (networks (assoc-ref droplet "networks"))
+             (network (find (lambda (network)
+                              (string= "public" (assoc-ref network "type")))
+                            (vector->list (assoc-ref networks "v4")))))
+    network))
+
+
+;;;
+;;; Remote evaluation.
+;;;
+
+(define (digital-ocean-remote-eval target exp)
+  "Internal implementation of 'machine-remote-eval' for MACHINE instances with
+an environment type of 'digital-ocean-environment-type'."
+  (let* ((network (machine-public-ipv4-network target))
+         (address (assoc-ref network "ip_address"))
+         (ssh-key (digital-ocean-configuration-ssh-key
+                   (machine-configuration target)))
+         (delegate (machine
+                    (inherit target)
+                    (environment managed-host-environment-type)
+                    (configuration
+                     (machine-ssh-configuration
+                      (host-name address)
+                      (identity ssh-key)
+                      (system "x86_64-linux"))))))
+    (machine-remote-eval delegate exp)))
+
+
+;;;
+;;; System deployment.
+;;;
+
+;; The following script was adapted from the guide available at
+;; .
+(define (guix-infect network)
+  "Given NETWORK, an alist describing the Droplet's public IPv4 network
+interface, return a Bash script that will install the Guix system."
+  (format #f "#!/bin/bash
+
+apt-get update
+apt-get install xz-utils -y
+wget https://ftp.gnu.org/gnu/guix/guix-binary-1.0.1.x86_64-linux.tar.xz
+cd /tmp
+tar --warning=no-timestamp -xf ~~/guix-binary-1.0.1.x86_64-linux.tar.xz
+mv var/guix /var/ && mv gnu /
+mkdir -p ~~root/.config/guix
+ln -sf /var/guix/profiles/per-user/root/current-guix ~~root/.config/guix/current
+export GUIX_PROFILE=\"`echo ~~root`/.config/guix/current\" ;
+source $GUIX_PROFILE/etc/profile
+groupadd --system guixbuild
+for i in `seq -w 1 10`; do
+   useradd -g guixbuild -G guixbuild         \
+           -d /var/empty -s `which nologin`  \
+           -c \"Guix build user $i\" --system  \
+           guixbuilder$i;
+done;
+cp ~~root/.config/guix/current/lib/systemd/system/guix-daemon.service /etc/systemd/system/
+systemctl start guix-daemon && systemctl enable guix-daemon
+mkdir -p /usr/local/bin
+cd /usr/local/bin
+ln -s /var/guix/profiles/per-user/root/current-guix/bin/guix
+mkdir -p /usr/local/share/info
+cd /usr/local/share/info
+for i in /var/guix/profiles/per-user/root/current-guix/share/info/*; do
+    ln -s $i;
+done
+guix archive --authorize < ~~root/.config/guix/current/share/guix/ci.guix.gnu.org.pub
+# guix pull
+guix package -i glibc-utf8-locales
+export GUIX_LOCPATH=\"$HOME/.guix-profile/lib/locale\"
+guix package -i openssl
+cat > /etc/bootstrap-config.scm << EOF
+(use-modules (gnu))
+(use-service-modules networking ssh)
+
+(operating-system
+  (host-name \"gnu-bootstrap\")
+  (timezone \"Etc/UTC\")
+  (bootloader (bootloader-configuration
+               (bootloader grub-bootloader)
+               (target \"/dev/vda\")
+               (terminal-outputs '(console))))
+  (file-systems (cons (file-system
+                        (mount-point \"/\")
+                        (device \"/dev/vda1\")
+                        (type \"ext4\"))
+                      %base-file-systems))
+  (services
+   (append (list (static-networking-service \"eth0\" \"~a\"
+                    #:netmask \"~a\"
+                    #:gateway \"~a\"
+                    #:name-servers '(\"84.200.69.80\" \"84.200.70.40\"))
+                 (simple-service 'guile-load-path-in-global-env
+                  session-environment-service-type
+                  \\`((\"GUILE_LOAD_PATH\"
+                     . \"/run/current-system/profile/share/guile/site/2.2\")
+                    (\"GUILE_LOAD_COMPILED_PATH\"
+                     . ,(string-append \"/run/current-system/profile/lib/guile/2.2/site-ccache:\"
+                                       \"/run/current-system/profile/share/guile/site/2.2\"))))
+                 (service openssh-service-type
+                          (openssh-configuration
+                           (log-level 'debug)
+                           (permit-root-login 'without-password))))
+           %base-services)))
+EOF
+# guix pull
+guix system build /etc/bootstrap-config.scm
+guix system reconfigure /etc/bootstrap-config.scm
+mv /etc /old-etc
+mkdir /etc
+cp -r /old-etc/{passwd,group,shadow,gshadow,mtab,guix,bootstrap-config.scm} /etc/
+guix system reconfigure /etc/bootstrap-config.scm"
+          (assoc-ref network "ip_address")
+          (assoc-ref network "netmask")
+          (assoc-ref network "gateway")))
+
+(define (machine-wait-until-available machine)
+  "Block until the initial Debian image has been installed on the droplet
+named DROPLET-NAME."
+  (and-let* ((droplet (machine-droplet machine))
+             (droplet-id (assoc-ref droplet "id"))
+             (endpoint (format #f "/v2/droplets/~a/actions" droplet-id)))
+    (let loop ()
+      (let ((actions (assoc-ref (fetch-endpoint endpoint) "actions")))
+        (unless (every (lambda (action)
+                         (string= "completed" (assoc-ref action "status")))
+                       (vector->list actions))
+          (sleep 5)
+          (loop))))))
+
+(define (wait-for-ssh address ssh-key)
+  "Block until the an SSH session can be made as 'root' with SSH-KEY at ADDRESS."
+  (let loop ()
+    (catch #t
+      (lambda ()
+        (open-ssh-session address #:user "root" #:identity ssh-key))
+      (lambda args
+        (sleep 5)
+        (loop)))))
+
+(define (add-static-networking target network)
+  "Return an  based on TARGET with a static networking
+configuration for the public IPv4 network described by the alist NETWORK."
+  (operating-system
+    (inherit (machine-operating-system target))
+    (services (cons* (static-networking-service "eth0"
+                        (assoc-ref network "ip_address")
+                        #:netmask (assoc-ref network "netmask")
+                        #:gateway (assoc-ref network "gateway")
+                        #:name-servers '("84.200.69.80" "84.200.70.40"))
+                    (simple-service 'guile-load-path-in-global-env
+                                    session-environment-service-type
+                                    `(("GUILE_LOAD_PATH"
+                                       . "/run/current-system/profile/share/guile/site/2.2")
+                                      ("GUILE_LOAD_COMPILED_PATH"
+                                       . ,(string-append "/run/current-system/profile/lib/guile/2.2/site-ccache:"
+                                                         "/run/current-system/profile/share/guile/site/2.2"))))
+                    (operating-system-user-services
+                     (machine-operating-system target))))))
+
+(define (deploy-digital-ocean target)
+  "Internal implementation of 'deploy-machine' for 'machine' instances with an
+environment type of 'digital-ocean-environment-type'."
+  (maybe-raise-missing-api-key-error)
+  (maybe-raise-unsupported-configuration-error target)
+  (let* ((config (machine-configuration target))
+         (name (machine-display-name target))
+         (region (digital-ocean-configuration-region config))
+         (size (digital-ocean-configuration-size config))
+         (ssh-key (digital-ocean-configuration-ssh-key config))
+         (fingerprint (read-key-fingerprint ssh-key))
+         (enable-ipv6 (digital-ocean-configuration-enable-ipv6 config))
+         (tags (digital-ocean-configuration-tags config))
+         (request-body `(("name" . ,name)
+                         ("region" . ,region)
+                         ("size" . ,size)
+                         ("image" . "debian-9-x64")
+                         ("ssh_keys" . ,(vector fingerprint))
+                         ("backups" . #f)
+                         ("ipv6" . ,enable-ipv6)
+                         ("user_data" . #nil)
+                         ("private_networking" . #nil)
+                         ("volumes" . #nil)
+                         ("tags" . ,(list->vector tags))))
+         (response (post-endpoint "/v2/droplets" request-body)))
+    (machine-wait-until-available target)
+    (let* ((network (machine-public-ipv4-network target))
+           (address (assoc-ref network "ip_address")))
+      (wait-for-ssh address ssh-key)
+      (let* ((ssh-session (open-ssh-session address #:user "root" #:identity ssh-key))
+             (sftp-session (make-sftp-session ssh-session)))
+        (call-with-remote-output-file sftp-session "/tmp/guix-infect.sh"
+                                      (lambda (port)
+                                        (display (guix-infect network) port)))
+        (rexec ssh-session "/bin/bash /tmp/guix-infect.sh")
+        ;; Session will close upon rebooting, which will raise 'guile-ssh-error.
+        (catch 'guile-ssh-error
+          (lambda () (rexec ssh-session "reboot"))
+          (lambda args #t)))
+      (wait-for-ssh address ssh-key)
+      (let ((delegate (machine
+                       (operating-system (add-static-networking target network))
+                       (environment managed-host-environment-type)
+                       (configuration
+                        (machine-ssh-configuration
+                         (host-name address)
+                         (identity ssh-key)
+                         (system "x86_64-linux"))))))
+        (deploy-machine delegate)))))
+
+
+;;;
+;;; Roll-back.
+;;;
+
+(define (roll-back-digital-ocean target)
+  "Internal implementation of 'roll-back-machine' for MACHINE instances with an
+environment type of 'digital-ocean-environment-type'."
+  (let* ((network (machine-public-ipv4-network target))
+         (address (assoc-ref network "ip_address"))
+         (ssh-key (digital-ocean-configuration-ssh-key
+                   (machine-configuration target)))
+         (delegate (machine
+                    (inherit target)
+                    (environment managed-host-environment-type)
+                    (configuration
+                     (machine-ssh-configuration
+                      (host-name address)
+                      (identity ssh-key)
+                      (system "x86_64-linux"))))))
+    (roll-back-machine delegate)))
+
+
+;;;
+;;; Environment type.
+;;;
+
+(define digital-ocean-environment-type
+  (environment-type
+   (machine-remote-eval digital-ocean-remote-eval)
+   (deploy-machine      deploy-digital-ocean)
+   (roll-back-machine   roll-back-digital-ocean)
+   (name                'digital-ocean-environment-type)
+   (description         "Provisioning of \"droplets\": virtual machines
+ provided by the Digital Ocean virtual private server (VPS) service.")))
+
+
+(define (maybe-raise-missing-api-key-error)
+  (unless (%digital-ocean-token)
+    (raise (condition
+            (&message
+             (message (G_ "No Digital Ocean access token was provided. This \
+may be fixed by setting the environment variable GUIX_DIGITAL_OCAEN_TOKEN to \
+one procured from https://cloud.digitalocean.com/account/api/tokens.")))))))
+
+(define (maybe-raise-unsupported-configuration-error machine)
+  "Raise an error if MACHINE's configuration is not an instance of
+."
+  (let ((config (machine-configuration machine))
+        (environment (environment-type-name (machine-environment machine))))
+    (unless (and config (digital-ocean-configuration? config))
+      (raise (condition
+              (&message
+               (message (format #f (G_ "unsupported machine configuration '~a'
+for environment of type '~a'")
+                                config
+                                environment))))))))

From c93994b5e43acc6048b81836d30632e015306c92 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= 
Date: Tue, 22 Oct 2019 18:31:47 +0200
Subject: [PATCH 0310/1112] machine: digital-ocean: Rename 'enable-ipv6' to
 'enable-ipv6?'.

* gnu/machine/digital-ocean.scm ()[enable-ipv6]:
Rename to...
[enable-ipv6?]: ... this.
(deploy-digital-ocean): Adjust accordingly.
* doc/guix.texi (Invoking guix deploy): Adjust accordingly.
---
 doc/guix.texi                 | 2 +-
 gnu/machine/digital-ocean.scm | 8 ++++----
 2 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/doc/guix.texi b/doc/guix.texi
index f24dc6b26b0..cb004d034df 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -26050,7 +26050,7 @@ such that no two machines in the deployment have the same set of tags.
 A Digital Ocean region slug, such as @code{"nyc3"}.
 @item @code{size}
 A Digital Ocean size slug, such as @code{"s-1vcpu-1gb"}
-@item @code{enable-ipv6}
+@item @code{enable-ipv6?}
 Whether or not the droplet should be created with IPv6 networking.
 @end table
 @end deftp
diff --git a/gnu/machine/digital-ocean.scm b/gnu/machine/digital-ocean.scm
index 5ad7c4d4a35..6f7cf8fb30b 100644
--- a/gnu/machine/digital-ocean.scm
+++ b/gnu/machine/digital-ocean.scm
@@ -52,7 +52,7 @@
             digital-ocean-configuration-tags
             digital-ocean-configuration-region
             digital-ocean-configuration-size
-            digital-ocean-configuration-enable-ipv6
+            digital-ocean-configuration-enable-ipv6?
 
             digital-ocean-environment-type))
 
@@ -128,7 +128,7 @@ takes care to set headers such as 'Accept' and 'Authorization' appropriately."
   (tags        digital-ocean-configuration-tags)         ; list of strings
   (region      digital-ocean-configuration-region)       ; string
   (size        digital-ocean-configuration-size)         ; string
-  (enable-ipv6 digital-ocean-configuration-enable-ipv6)) ; boolean
+  (enable-ipv6? digital-ocean-configuration-enable-ipv6?)) ; boolean
 
 (define (read-key-fingerprint file-name)
   "Read the private key at FILE-NAME and return the key's fingerprint as a hex
@@ -324,7 +324,7 @@ environment type of 'digital-ocean-environment-type'."
          (size (digital-ocean-configuration-size config))
          (ssh-key (digital-ocean-configuration-ssh-key config))
          (fingerprint (read-key-fingerprint ssh-key))
-         (enable-ipv6 (digital-ocean-configuration-enable-ipv6 config))
+         (enable-ipv6? (digital-ocean-configuration-enable-ipv6? config))
          (tags (digital-ocean-configuration-tags config))
          (request-body `(("name" . ,name)
                          ("region" . ,region)
@@ -332,7 +332,7 @@ environment type of 'digital-ocean-environment-type'."
                          ("image" . "debian-9-x64")
                          ("ssh_keys" . ,(vector fingerprint))
                          ("backups" . #f)
-                         ("ipv6" . ,enable-ipv6)
+                         ("ipv6" . ,enable-ipv6?)
                          ("user_data" . #nil)
                          ("private_networking" . #nil)
                          ("volumes" . #nil)

From cdc81ccedb332fb297f6100ccd99eaf13d161ada Mon Sep 17 00:00:00 2001
From: Pierre Neidhardt 
Date: Tue, 22 Oct 2019 19:28:16 +0200
Subject: [PATCH 0311/1112] gnu: Add gperftools.

* gnu/packages/cpp.scm (gperftools): New variable.
---
 gnu/packages/cpp.scm | 37 +++++++++++++++++++++++++++++++++++++
 1 file changed, 37 insertions(+)

diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm
index 6aac60d2849..f40f5477819 100644
--- a/gnu/packages/cpp.scm
+++ b/gnu/packages/cpp.scm
@@ -4,6 +4,7 @@
 ;;; Copyright © 2018 Fis Trivial 
 ;;; Copyright © 2018 Ludovic Courtès 
 ;;; Copyright © 2019 Mathieu Othacehe 
+;;; Copyright © 2019 Pierre Neidhardt 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -33,6 +34,7 @@
   #:use-module (gnu packages code)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages llvm)
+  #:use-module (gnu packages perl)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages tls)
   #:use-module (gnu packages web))
@@ -313,3 +315,38 @@ code analysis and supports cross references, hierarchies, completion and
 syntax highlighting.  @code{ccls} is derived from @code{cquery} which is not
 maintained anymore.")
     (license license:asl2.0)))
+
+(define-public gperftools
+  (package
+    (name "gperftools")
+    (version "2.7")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/gperftools/gperftools")
+             (commit (string-append "gperftools-" version))))
+       (sha256
+        (base32 "0amvwrzn5qc0b0jpxpy5g6zkmj97zjh4hhjrd130hsg2lwwcwhy1"))
+       (file-name (git-file-name name version))))
+    (build-system gnu-build-system)
+    (native-inputs
+     `(("autoconf" ,autoconf)
+       ("automake" ,automake)
+       ("libtool" ,libtool)
+       ;; For tests:
+       ("perl" ,perl)))
+    (home-page "https://github.com/gperftools/gperftools")
+    (synopsis "Multi-threaded malloc() and performance analysis tools for C++")
+    (description
+     "@code{gperftools} is a collection of a high-performance multi-threaded
+malloc() implementation plus some thread-friendly performance analysis
+tools:
+
+@itemize
+@item tcmalloc,
+@item heap profiler,
+@item heap checker,
+@item CPU checker.
+@end itemize\n")
+    (license license:bsd-3)))

From 0cb0c5df12630a9d0689c8a033be68e61283f8c1 Mon Sep 17 00:00:00 2001
From: Tobias Geerinckx-Rice 
Date: Tue, 22 Oct 2019 08:24:45 +0200
Subject: [PATCH 0312/1112] gnu: perl-error: Update to 0.17028.

* gnu/packages/perl.scm (perl-error): Update to 0.17028.
---
 gnu/packages/perl.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm
index baa29af22e3..33d0f107d6e 100644
--- a/gnu/packages/perl.scm
+++ b/gnu/packages/perl.scm
@@ -3166,14 +3166,14 @@ separator.")
 (define-public perl-error
   (package
     (name "perl-error")
-    (version "0.17027")
+    (version "0.17028")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://cpan/authors/id/S/SH/SHLOMIF/"
                                   "Error-" version ".tar.gz"))
               (sha256
                (base32
-                "1gnkxf12dq2w1jmjpllp5f30ya4nll01jv2sfi24386zfn1arch7"))))
+                "0q796nwwiarfc6pga97380c9z8xva5545632001qj75kb1g5rn1s"))))
     (build-system perl-build-system)
     (native-inputs `(("perl-module-build" ,perl-module-build)))
     (home-page "https://metacpan.org/release/Error")

From 252bb4627764583db6c59ccbb99bd726c551685c Mon Sep 17 00:00:00 2001
From: Tobias Geerinckx-Rice 
Date: Tue, 22 Oct 2019 08:30:18 +0200
Subject: [PATCH 0313/1112] gnu: r-stringdist: Update to 0.9.5.5.

* gnu/packages/cran.scm (r-stringdist): Update to 0.9.5.5.
---
 gnu/packages/cran.scm | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm
index b833894cad1..61d560a95d7 100644
--- a/gnu/packages/cran.scm
+++ b/gnu/packages/cran.scm
@@ -3088,14 +3088,13 @@ color labels, layout, etc.")
 (define-public r-stringdist
   (package
     (name "r-stringdist")
-    (version "0.9.5.3")
+    (version "0.9.5.5")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "stringdist" version))
        (sha256
-        (base32
-         "1vbhn6qwj3bzplhq06bw1yqqq1qpf1zinnj27cr7pf1nqsbyx2nq"))))
+        (base32 "1dqfakclzaf878x7mhwmqrcpcql2h9cv19fz5f3ygpajf3si5kqi"))))
     (build-system r-build-system)
     (home-page "https://github.com/markvanderloo/stringdist")
     (synopsis "Approximate string matching and string distance functions")

From c42625c8b0623a9502133be643d4aad03739d01f Mon Sep 17 00:00:00 2001
From: Tobias Geerinckx-Rice 
Date: Tue, 22 Oct 2019 08:31:00 +0200
Subject: [PATCH 0314/1112] gnu: r-rcppgsl: Update to 0.3.7.

* gnu/packages/cran.scm (r-rcppgsl): Update to 0.3.7.
---
 gnu/packages/cran.scm | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm
index 61d560a95d7..70b468dc848 100644
--- a/gnu/packages/cran.scm
+++ b/gnu/packages/cran.scm
@@ -8726,21 +8726,20 @@ and related methods.")
 (define-public r-rcppgsl
   (package
     (name "r-rcppgsl")
-    (version "0.3.6")
+    (version "0.3.7")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "RcppGSL" version))
        (sha256
-        (base32
-         "16pdapq31729db53agnb48jkvdm97167n3bigy5zazc3q3isis1m"))))
+        (base32 "0cnw2k7cfqrm79r6j283aybflxig80x4n4rjkfp2317wf10mrsa5"))))
     (properties `((upstream-name . "RcppGSL")))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-rcpp" ,r-rcpp)
        ("gsl" ,gsl)))
     (native-inputs
-     `(("r-knitr" ,r-knitr))) ; for vignettes
+     `(("r-knitr" ,r-knitr)))           ; for vignettes
     (home-page "https://cran.r-project.org/web/packages/RcppGSL/")
     (synopsis "Rcpp integration for GSL vectors and matrices")
     (description

From d45b92891a953c18d840241b1ee587e6f9fb471c Mon Sep 17 00:00:00 2001
From: Tobias Geerinckx-Rice 
Date: Tue, 22 Oct 2019 10:29:38 +0200
Subject: [PATCH 0315/1112] gnu: perl-cgi-simple: Update to 1.22.

* gnu/packages/web.scm (perl-cgi-simple): Update to 1.22.
---
 gnu/packages/web.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
index 5487eb2e71e..3548c524118 100644
--- a/gnu/packages/web.scm
+++ b/gnu/packages/web.scm
@@ -2363,14 +2363,14 @@ HTTP requests.")
 (define-public perl-cgi-simple
   (package
     (name "perl-cgi-simple")
-    (version "1.21")
+    (version "1.22")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "mirror://cpan/authors/id/M/MA/MANWAR/"
                            "CGI-Simple-" version ".tar.gz"))
        (sha256
-        (base32 "1wzc2igs4khmj7zfahvs87c24p9ks8hnqhhsyviyiix53xx2y6sg"))))
+        (base32 "13c7iwnnavky10ab87pi8jc1kqph03s0rhvj7myn7szhbfisc4gn"))))
     (build-system perl-build-system)
     (native-inputs
      `(("perl-io-stringy" ,perl-io-stringy) ; for IO::Scalar

From d37e8e53902f30365b2626ad3de96d580809e0e9 Mon Sep 17 00:00:00 2001
From: Tobias Geerinckx-Rice 
Date: Tue, 22 Oct 2019 11:07:46 +0200
Subject: [PATCH 0316/1112] gnu: python-rst.linker: Update to 1.11.

* gnu/packages/python-xyz.scm (python-rst.linker): Update to 1.11.
---
 gnu/packages/python-xyz.scm | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 9f965564000..342d20a065a 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -3000,14 +3000,13 @@ receive files via the SCP1 protocol, as implemented by the OpenSSH
 (define-public python-rst.linker
   (package
     (name "python-rst.linker")
-    (version "1.10")
+    (version "1.11")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri "rst.linker" version))
        (sha256
-        (base32
-         "0iqaacp7pj1s8avs4kc0qg0r7dscywaq37y6l9j14glqdikk0wdj"))))
+        (base32 "0pqsfqqx8h0pq21k8l3k62kznrgaj2ala93c64s4d9rpbr4mgkd2"))))
     (build-system python-build-system)
     (propagated-inputs
      `(("python-dateutil" ,python-dateutil)

From 1d4944f973dea25b7aab39e2aa3f32654a1e732c Mon Sep 17 00:00:00 2001
From: Tobias Geerinckx-Rice 
Date: Tue, 22 Oct 2019 19:35:13 +0200
Subject: [PATCH 0317/1112] gnu: parallel: Update to 20191022.

* gnu/packages/parallel.scm (parallel): Update to 20191022.
---
 gnu/packages/parallel.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/parallel.scm b/gnu/packages/parallel.scm
index 253596d8e34..d8338caffb7 100644
--- a/gnu/packages/parallel.scm
+++ b/gnu/packages/parallel.scm
@@ -52,14 +52,14 @@
 (define-public parallel
   (package
     (name "parallel")
-    (version "20190922")
+    (version "20191022")
     (source
      (origin
       (method url-fetch)
       (uri (string-append "mirror://gnu/parallel/parallel-"
                           version ".tar.bz2"))
       (sha256
-       (base32 "0qrw34rpp8g5knb2nhs8z1hz9i42nxjn6i12m4rblm0anhnfwbr8"))))
+       (base32 "1a89x5ix9kls1abj8zkgxdf3g3s5phzb83xcd4cwpz4szfjfw6v4"))))
     (build-system gnu-build-system)
     (arguments
      `(#:phases

From 225aaf26764c602a88d4d180c0871a86e5a484b3 Mon Sep 17 00:00:00 2001
From: Tobias Geerinckx-Rice 
Date: Tue, 22 Oct 2019 20:14:26 +0200
Subject: [PATCH 0318/1112] gnu: python-psutil: Update to 5.6.3.

* gnu/packages/python-xyz.scm (python-psutil): Update to 5.6.3.
---
 gnu/packages/python-xyz.scm | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 342d20a065a..2c75d7f23b6 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -166,14 +166,13 @@
 (define-public python-psutil
   (package
     (name "python-psutil")
-    (version "5.6.2")
+    (version "5.6.3")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri "psutil" version))
        (sha256
-        (base32
-         "1v95vb5385qscfdvphv8l2w22bmir3d7yhpi02n58v3mlqy1r3l2"))))
+        (base32 "1wv31zly44qj0rp2acg58xbnc7bf6ffyadasq093l455q30qafl6"))))
     (build-system python-build-system)
     (arguments
      ;; FIXME: some tests does not return and times out.

From 3feae386691acd00d79613bf5e4a89cbdf9221b4 Mon Sep 17 00:00:00 2001
From: Tobias Geerinckx-Rice 
Date: Tue, 22 Oct 2019 20:24:32 +0200
Subject: [PATCH 0319/1112] gnu: lm-sensors: Update to 3.6.0.

* gnu/packages/linux.scm (lm-sensors): Update to 3.6.0.
---
 gnu/packages/linux.scm | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index a3b12dea328..0a7f431a405 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -2919,7 +2919,7 @@ country-specific regulations for the wireless spectrum.")
 (define-public lm-sensors
   (package
     (name "lm-sensors")
-    (version "3.5.0")
+    (version "3.6.0")
     (source
      (origin
        (method git-fetch)
@@ -2929,7 +2929,7 @@ country-specific regulations for the wireless spectrum.")
                                          (string-split version #\.) "-")))))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "1mdrnb9r01z1xfdm6dpkywvf9yy9a4yzb59paih9sijwmigv19fj"))
+        (base32 "1ipf6wjx037sqyhy0r5jh4983h216anq9l68ckn2x5c3qc4wfmzn"))
        (patches (search-patches "lm-sensors-hwmon-attrs.patch"))))
     (build-system gnu-build-system)
     (inputs `(("rrdtool" ,rrdtool)
@@ -2940,10 +2940,10 @@ country-specific regulations for the wireless spectrum.")
                      ("flex" ,flex)
                      ("bison" ,bison)
                      ("which" ,which)))
-    (outputs '("lib"              ;avoid perl in closure
+    (outputs '("lib"                    ; avoid perl in closure
                "out"))
     (arguments
-     `(#:tests? #f  ; no 'check' target
+     `(#:tests? #f                      ; no 'check' target
        #:make-flags (list (string-append "PREFIX=" %output)
                           (string-append "ETCDIR=" (assoc-ref %outputs "lib") "/etc")
                           (string-append "INCLUDEDIR="

From 6d4ed78d91848b9a46b2642278a33d942e9d6a1e Mon Sep 17 00:00:00 2001
From: Tobias Geerinckx-Rice 
Date: Tue, 22 Oct 2019 20:31:15 +0200
Subject: [PATCH 0320/1112] gnu: python-pyld: Update to 1.0.5.

* gnu/packages/python-xyz.scm (python-pyld): Update to 1.0.5.
---
 gnu/packages/python-xyz.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 2c75d7f23b6..c07ac53566f 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -1923,13 +1923,13 @@ files.")
 (define-public python-pyld
   (package
     (name "python-pyld")
-    (version "1.0.3")
+    (version "1.0.5")
     (source (origin
               (method url-fetch)
               (uri (pypi-uri "PyLD" version))
               (sha256
                (base32
-                "12i2g6xdj30k7xxcibg3sc5y76snwq8l6n8fy9lyi577kgy0h2pm"))))
+                "1ywbdbsrkg533qh8xn9ifjh2mvam6v5msrjyqq73jfpvcp89qvff"))))
     (build-system python-build-system)
     (home-page "https://github.com/digitalbazaar/pyld")
     (synopsis "Python implementation of the JSON-LD specification")

From 8fbccd48b81bfbb8f09d22ae58a26d76ad6064c9 Mon Sep 17 00:00:00 2001
From: Tobias Geerinckx-Rice 
Date: Tue, 22 Oct 2019 21:05:30 +0200
Subject: [PATCH 0321/1112] gnu: python-wsgiproxy2: Update to 0.4.6.

* gnu/packages/python-web.scm (python-wsgiproxy2): Update to 0.4.6.
---
 gnu/packages/python-web.scm | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
index 55a39a8a6f3..b79b10d51e2 100644
--- a/gnu/packages/python-web.scm
+++ b/gnu/packages/python-web.scm
@@ -1637,14 +1637,13 @@ Amazon Web Services (AWS) API.")
 (define-public python-wsgiproxy2
   (package
     (name "python-wsgiproxy2")
-    (version "0.4.5")
+    (version "0.4.6")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri "WSGIProxy2" version ".tar.gz"))
        (sha256
-        (base32
-         "19d9dva282vfjs784i0zkxp078lxfz4h3f621z30ij9wbf5rba6a"))))
+        (base32 "16jch5nic0hia28lps3c678s9s9mjdq8n87igxncjg0rpi5adqnf"))))
     (build-system python-build-system)
     (native-inputs
      `(("python-webtest" ,python-webtest)))

From 60289141303683015136a542a5758434d6a7eb44 Mon Sep 17 00:00:00 2001
From: Brian Leung 
Date: Tue, 22 Oct 2019 01:16:06 -0700
Subject: [PATCH 0322/1112] gnu: emacs-editorconfig: Update to 0.8.1.

* gnu/packages/emacs-xyz.scm (emacs-editorconfig): Update to 0.8.1.
---
 gnu/packages/emacs-xyz.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 307b15c5833..32809070ba1 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -16249,7 +16249,7 @@ backends, including the @command{wordnet} offline backend.")
 (define-public emacs-editorconfig
   (package
     (name "emacs-editorconfig")
-    (version "0.8.0")
+    (version "0.8.1")
     (source
      (origin
        (method git-fetch)
@@ -16259,7 +16259,7 @@ backends, including the @command{wordnet} offline backend.")
        (file-name (git-file-name name version))
        (sha256
         (base32
-         "1b2cpqz75pivl323bs60j5rszwi787x6vy68csycikqz9mhpmjn9"))))
+         "1djlhkap7zddknzvjsjz0agpfsms1ih05zcpg1bikid2vs4gddyr"))))
     (build-system emacs-build-system)
     (home-page "https://github.com/editorconfig/editorconfig-emacs")
     (synopsis "Define and maintain consistent coding styles between different

From 32c894e9b3f0700245dbd600f632055f520a97c7 Mon Sep 17 00:00:00 2001
From: Brian Leung 
Date: Tue, 22 Oct 2019 01:21:58 -0700
Subject: [PATCH 0323/1112] gnu: emacs-debpaste: Use GIT-FILE-NAME.

* gnu/packages/emacs-xyz.scm (emacs-debpaste): Use GIT-FILE-NAME.
---
 gnu/packages/emacs-xyz.scm | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 32809070ba1..d244e694d40 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -14990,7 +14990,7 @@ Org-mode.  It features:
        (method git-fetch)
        (uri (git-reference (url home-page)
                            (commit (string-append "v" version))))
-       (file-name (string-append name "-" version ".tar.gz"))
+       (file-name (git-file-name name version))
        (sha256
         (base32
          "1wi70r56pd5z0x4dp4m58p9asq03j74kdm4fi9vai83vsl2z9amq"))))

From a379ddaff4aaba107ceba66204cdc1021b7e800b Mon Sep 17 00:00:00 2001
From: Tobias Geerinckx-Rice 
Date: Tue, 22 Oct 2019 23:21:09 +0200
Subject: [PATCH 0324/1112] Revert "gnu: Add weasyprint."

This reverts commit 73f0ed8dbfde97341716fd8b156907e4ef800873.
The missing patch file breaks evaluation.
---
 gnu/packages/pdf.scm | 81 --------------------------------------------
 1 file changed, 81 deletions(-)

diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm
index 0fd385d5d61..7118afce4de 100644
--- a/gnu/packages/pdf.scm
+++ b/gnu/packages/pdf.scm
@@ -16,7 +16,6 @@
 ;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice 
 ;;; Copyright © 2019 Alex Griffin 
 ;;; Copyright © 2019 Ben Sturmfels 
-;;; Copyright © 2019 Hartmut Goebel 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -67,7 +66,6 @@
   #:use-module (gnu packages imagemagick)
   #:use-module (gnu packages javascript)
   #:use-module (gnu packages lesstif)
-  #:use-module (gnu packages libffi)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages lua)
   #:use-module (gnu packages pcre)
@@ -75,8 +73,6 @@
   #:use-module (gnu packages photo)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages python)
-  #:use-module (gnu packages python-check)
-  #:use-module (gnu packages python-web)
   #:use-module (gnu packages python-xyz)
   #:use-module (gnu packages qt)
   #:use-module (gnu packages sdl)
@@ -1204,80 +1200,3 @@ manipulating PDF documents from the command line.  It supports
 @item displaying the mapping between logical and physical page numbers
 @end itemize")
     (license license:bsd-3)))
-
-(define-public weasyprint
-  (package
-    (name "weasyprint")
-    (version "50")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (pypi-uri "WeasyPrint" version))
-       (sha256
-        (base32 "0invs96zvmcr6wh5klj52jrcnr9qg150v9wpmbhcsf3vv1d1hbcw"))
-       (patches (search-patches "weasyprint-library-paths.patch"))))
-    (build-system python-build-system)
-    (arguments
-     `(#:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'patch-library-paths
-           (lambda* (#:key inputs #:allow-other-keys)
-             (let ((fontconfig (assoc-ref inputs "fontconfig"))
-                   (glib (assoc-ref inputs "glib"))
-                   (pango (assoc-ref inputs "pango"))
-                   (pangoft2 (assoc-ref inputs "pangoft2")))
-               (substitute* "weasyprint/fonts.py"
-                 (("@fontconfig@")
-                  (string-append fontconfig "/lib/libfontconfig.so"))
-                 (("@pangoft2@")
-                  (string-append pango "/lib/libpangoft2-1.0.so")))
-               (substitute* "weasyprint/text.py"
-                 (("@gobject@")
-                  (string-append glib "/lib/libgobject-2.0.so"))
-                 (("@pango@")
-                  (string-append pango "/lib/libpango-1.0.so"))
-                 (("@pangocairo@")
-                  (string-append pango "/lib/libpangocairo-1.0.so"))))))
-         (add-after 'unpack 'remove-pytest-options
-           (lambda _
-             (substitute* "setup.cfg"
-               ;; flake8 and isort syntax checks fail, which is not our
-               ;; business
-               (("addopts = --flake8 --isort") ""))))
-         (replace 'check
-           (lambda _
-             ;; run pytest, excluding one failing test
-             (invoke "pytest" "-k" "not test_flex_column_wrap_reverse"))))))
-    (inputs
-     `(("fontconfig" ,fontconfig)
-       ("glib" ,glib)
-       ("pango" ,pango)))
-    (propagated-inputs
-     `(("gdk-pixbuf" ,gdk-pixbuf)
-       ("python-cairocffi" ,python-cairocffi)
-       ("python-cairosvg" ,python-cairosvg)
-       ("python-cffi" ,python-cffi)
-       ("python-cssselect2" ,python-cssselect2)
-       ("python-html5lib" ,python-html5lib)
-       ("python-pyphen" ,python-pyphen)
-       ("python-tinycss2" ,python-tinycss2)))
-    (native-inputs
-     `(("python-pytest-cov" ,python-pytest-cov)
-       ("python-pytest-runner" ,python-pytest-runner)))
-    (home-page "https://weasyprint.org/")
-    (synopsis "Document factory for creating PDF files from HTML")
-    (description "WeasyPrint helps web developers to create PDF documents.  It
-turns simple HTML pages into gorgeous statistical reports, invoices, tickets,
-etc.
-
-From a technical point of view, WeasyPrint is a visual rendering engine for
-HTML and CSS that can export to PDF and PNG.  It aims to support web standards
-for printing.
-
-It is based on various libraries but not on a full rendering engine like
-WebKit or Gecko.  The CSS layout engine is written in Python, designed for
-pagination, and meant to be easy to hack on.  Weasyprint can also be used as a
-python library.
-
-Keywords: html2pdf, htmltopdf")
-    (license license:bsd-3)))

From 353f5f7aa7ea575f9f04d3a0b277bbb8012b942d Mon Sep 17 00:00:00 2001
From: Christopher Baines 
Date: Mon, 21 Oct 2019 18:32:11 +0100
Subject: [PATCH 0325/1112] gnu: guix-data-service: Enable build time tests.

Previously the tests were not run, as PostgreSQL wasn't running at build
time. Now there's a new target, check-with-tmp-database that uses ephemeralpg
to run the tests without relying on an externally managed PostgreSQL service.

* gnu/packages/web.scm (guix-data-service)[arguments]: Remove #:tests? #f, and
set #:test-target to "check-with-tmp-database".
[native-inputs]: Add ephemeralpg.
---
 gnu/packages/web.scm | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
index 3548c524118..af694b58d53 100644
--- a/gnu/packages/web.scm
+++ b/gnu/packages/web.scm
@@ -4044,11 +4044,11 @@ CDF, Atom 0.3, and Atom 1.0 feeds.")
                   "0awfvps7k9bpg3gpgc93y401g7pjabx7mr9960vigad8vddhixqi"))))
       (build-system gnu-build-system)
       (arguments
-       '(#:tests? #f                    ; TODO Tests require PostgreSQL
-         #:modules ((guix build utils)
+       '(#:modules ((guix build utils)
                     (guix build gnu-build-system)
                     (ice-9 rdelim)
                     (ice-9 popen))
+         #:test-target "check-with-tmp-database"
          #:phases
          (modify-phases %standard-phases
            (add-after 'set-paths 'set-GUIX_ENVIRONMENT
@@ -4106,6 +4106,7 @@ CDF, Atom 0.3, and Atom 1.0 feeds.")
        `(("guile" ,guile-2.2)
          ("autoconf" ,autoconf)
          ("automake" ,automake)
+         ("ephemeralpg" ,ephemeralpg)
          ("emacs-with-modules" ,(directory-union
                                  "emacs-union"
                                  (list emacs-no-x

From 7f81cce3c2fd3b11404042621a37d7c82c15443c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= 
Date: Wed, 23 Oct 2019 00:43:49 +0200
Subject: [PATCH 0326/1112] gnu: guile-json: Export.

This is a followup to 84af1e74029fd4c43636f7d8d3e6f82ddab9ce82.

* gnu/packages/guile.scm (guile-json): Export.
---
 gnu/packages/guile.scm | 1 +
 1 file changed, 1 insertion(+)

diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm
index 5fa149a189c..4419c48d1aa 100644
--- a/gnu/packages/guile.scm
+++ b/gnu/packages/guile.scm
@@ -451,6 +451,7 @@ specification.  These are the main features:
 (define-deprecated guile-json
   guile-json-1
   guile-json-1)
+(export guile-json)
 
 (define-public guile2.0-json
   (package-for-guile-2.0 guile-json-1))

From f3fd5f4bca2d81e2b8a031e4c2744f9da18ca5fb Mon Sep 17 00:00:00 2001
From: Brian Leung 
Date: Tue, 22 Oct 2019 16:50:13 -0700
Subject: [PATCH 0327/1112] gnu: Add emacs-evil-args.

* gnu/packages/emacs-xyz.scm (emacs-evil-args): New variable.
---
 gnu/packages/emacs-xyz.scm | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index d244e694d40..a1a0cf7300b 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -7541,6 +7541,31 @@ end of a line and increment or decrement it.")
 a popup window for previewing candidates.")
       (license license:gpl3+))))
 
+(define-public emacs-evil-args
+  (let ((commit "758ad5ae54ad34202064fec192c88151c08cb387")
+        (revision "1"))
+    (package
+      (name "emacs-evil-args")
+      (version (git-version "1.0" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/wcsmith/evil-args.git")
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32
+           "0k35glgsirc3cph8v5hhjrqfh4ndwh8a28qbr03y3jl8s453xcj7"))))
+      (build-system emacs-build-system)
+      (propagated-inputs `(("emacs-evil" ,emacs-evil)))
+      (home-page "https://github.com/wcsmith/evil-args")
+      (synopsis "Motions and text objects for delimited arguments in Evil")
+      (description
+       "This package provides motions and text objects for delimited
+arguments, such as arguments separated by commas and semicolons.")
+      (license license:expat))))
+
 (define-public emacs-evil-exchange
   (let ((commit "47691537815150715e64e6f6ec79be7746c96120")
         (version "0.41")

From e99fbcad344367d8b6acee13f1f6dfbbcb8a1377 Mon Sep 17 00:00:00 2001
From: Efraim Flashner 
Date: Wed, 23 Oct 2019 09:39:28 +0300
Subject: [PATCH 0328/1112] gnu: Add rust-ansi-term-0.11.

* gnu/packages/rust-cbindgen.scm (rust-ansi-term-0.11): New file, new
hidden variable.
* gnu/local.mk (GNU_SYSTEM_MODULES): Register it.
---
 gnu/local.mk                   |  1 +
 gnu/packages/rust-cbindgen.scm | 44 ++++++++++++++++++++++++++++++++++
 2 files changed, 45 insertions(+)
 create mode 100644 gnu/packages/rust-cbindgen.scm

diff --git a/gnu/local.mk b/gnu/local.mk
index 9b9a2159131..d563ecc99eb 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -425,6 +425,7 @@ GNU_SYSTEM_MODULES =				\
   %D%/packages/ruby.scm				\
   %D%/packages/rush.scm				\
   %D%/packages/rust.scm				\
+  %D%/packages/rust-cbindgen.scm		\
   %D%/packages/samba.scm			\
   %D%/packages/sagemath.scm			\
   %D%/packages/sawfish.scm			\
diff --git a/gnu/packages/rust-cbindgen.scm b/gnu/packages/rust-cbindgen.scm
new file mode 100644
index 00000000000..aab4a81f5ce
--- /dev/null
+++ b/gnu/packages/rust-cbindgen.scm
@@ -0,0 +1,44 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2019 Efraim Flashner 
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix.  If not, see .
+
+(define-module (gnu packages rust-cbindgen)
+  #:use-module ((guix licenses) #:prefix license:)
+  #:use-module (guix packages)
+  #:use-module (guix download)
+  #:use-module (guix build-system cargo))
+
+(define rust-ansi-term-0.11
+  (package
+    (name "rust-ansi-term")
+    (version "0.11.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "ansi_term" version))
+        (file-name (string-append name "-" version ".crate"))
+        (sha256
+         (base32
+          "16wpvrghvd0353584i1idnsgm0r3vchg8fyrm0x8ayv1rgvbljgf"))))
+    (build-system cargo-build-system)
+    (home-page "https://github.com/ogham/rust-ansi-term")
+    (synopsis "Library for ANSI terminal colours and styles")
+    (description
+     "This is a library for controlling colours and formatting, such as red bold
+text or blue underlined text, on ANSI terminals.")
+    (properties '((hidden? . #t)))
+    (license license:expat)))

From 00f5b065b5159aa3987731850a56dd067a070f60 Mon Sep 17 00:00:00 2001
From: Efraim Flashner 
Date: Wed, 23 Oct 2019 09:42:01 +0300
Subject: [PATCH 0329/1112] gnu: Add rust-atty-0.2.

* gnu/packages/rust-cbindgen.scm (rust-atty-0.2): New hidden variable.
---
 gnu/packages/rust-cbindgen.scm | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/gnu/packages/rust-cbindgen.scm b/gnu/packages/rust-cbindgen.scm
index aab4a81f5ce..c37b80ecc68 100644
--- a/gnu/packages/rust-cbindgen.scm
+++ b/gnu/packages/rust-cbindgen.scm
@@ -42,3 +42,23 @@
 text or blue underlined text, on ANSI terminals.")
     (properties '((hidden? . #t)))
     (license license:expat)))
+
+(define rust-atty-0.2
+  (package
+    (name "rust-atty")
+    (version "0.2.13")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "atty" version))
+        (file-name (string-append name "-" version ".crate"))
+        (sha256
+         (base32
+          "140sswp1bwqwc4zk80bxkbnfb3g936hgrb77g9g0k1zcld3wc0qq"))))
+    (build-system cargo-build-system)
+    (home-page "https://github.com/softprops/atty")
+    (synopsis "A simple interface for querying atty")
+    (description
+     "This package provides a simple interface for querying atty.")
+    (properties '((hidden? . #t)))
+    (license license:expat)))

From c5050528ea7c52daad7697afa538a954163e5ec1 Mon Sep 17 00:00:00 2001
From: Efraim Flashner 
Date: Wed, 23 Oct 2019 09:42:47 +0300
Subject: [PATCH 0330/1112] gnu: Add rust-autocfg-0.1.

* gnu/packages/rust-cbindgen.scm (rust-autocfg-0.1): New hidden
variable.
---
 gnu/packages/rust-cbindgen.scm | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/gnu/packages/rust-cbindgen.scm b/gnu/packages/rust-cbindgen.scm
index c37b80ecc68..35bc6b04df7 100644
--- a/gnu/packages/rust-cbindgen.scm
+++ b/gnu/packages/rust-cbindgen.scm
@@ -62,3 +62,26 @@ text or blue underlined text, on ANSI terminals.")
      "This package provides a simple interface for querying atty.")
     (properties '((hidden? . #t)))
     (license license:expat)))
+
+(define rust-autocfg-0.1
+  (package
+    (name "rust-autocfg")
+    (version "0.1.7")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "autocfg" version))
+        (file-name (string-append name "-" version ".crate"))
+        (sha256
+         (base32
+          "1chwgimpx5z7xbag7krr9d8asxfqbh683qhgl9kn3hxk2l0djj8x"))))
+    (build-system cargo-build-system)
+    (home-page "https://github.com/cuviper/autocfg")
+    (synopsis "Automatic cfg for Rust compiler features")
+    (description "Rust library for build scripts to automatically configure
+code based on compiler support.  Code snippets are dynamically tested to see
+if the @code{rustc} will accept them, rather than hard-coding specific version
+support.")
+    (properties '((hidden? . #t)))
+    (license (list license:asl2.0
+                   license:expat))))

From b249da1ddf78366002b45ef3e748156617301526 Mon Sep 17 00:00:00 2001
From: Efraim Flashner 
Date: Wed, 23 Oct 2019 09:43:56 +0300
Subject: [PATCH 0331/1112] gnu: Add rust-bitflags-1.1.

* gnu/packages/rust-cbindgen.scm (rust-bitflags-1.1): New hidden
variable.
---
 gnu/packages/rust-cbindgen.scm | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/gnu/packages/rust-cbindgen.scm b/gnu/packages/rust-cbindgen.scm
index 35bc6b04df7..6cc5882007c 100644
--- a/gnu/packages/rust-cbindgen.scm
+++ b/gnu/packages/rust-cbindgen.scm
@@ -85,3 +85,24 @@ support.")
     (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
+
+(define rust-bitflags-1.1
+  (package
+    (name "rust-bitflags")
+    (version "1.1.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "bitflags" version))
+        (file-name (string-append name "-" version ".crate"))
+        (sha256
+         (base32
+          "1zc1qb1hwsnl2d8rhzicsv9kqd5b2hwbrscrcfw5as4sfr35659x"))))
+    (build-system cargo-build-system)
+    (home-page "https://github.com/bitflags/bitflags")
+    (synopsis "Macro to generate structures which behave like bitflags")
+    (description "This package provides a macro to generate structures which
+behave like a set of bitflags.")
+    (properties '((hidden? . #t)))
+    (license (list license:asl2.0
+                   license:expat))))

From df2252674025d9699f2a6ebd93f6e249ee8a3d92 Mon Sep 17 00:00:00 2001
From: Efraim Flashner 
Date: Wed, 23 Oct 2019 09:44:40 +0300
Subject: [PATCH 0332/1112] gnu: Add rust-cfg-if-0.1.

* gnu/packages/rust-cbindgen.scm (rust-cfg-if-0.1): New hidden variable.
---
 gnu/packages/rust-cbindgen.scm | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/gnu/packages/rust-cbindgen.scm b/gnu/packages/rust-cbindgen.scm
index 6cc5882007c..0a5e50e1ec1 100644
--- a/gnu/packages/rust-cbindgen.scm
+++ b/gnu/packages/rust-cbindgen.scm
@@ -106,3 +106,25 @@ behave like a set of bitflags.")
     (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
+
+(define rust-cfg-if-0.1
+  (package
+    (name "rust-cfg-if")
+    (version "0.1.10")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "cfg-if" version))
+        (file-name (string-append name "-" version ".crate"))
+        (sha256
+         (base32
+          "08h80ihs74jcyp24cd75wwabygbbdgl05k6p5dmq8akbr78vv1a7"))))
+    (build-system cargo-build-system)
+    (home-page "https://github.com/alexcrichton/cfg-if")
+    (synopsis "Define an item depending on parameters")
+    (description "This package provides a macro to ergonomically define an item
+depending on a large number of #[cfg] parameters.  Structured like an
+@code{if-else} chain, the first matching branch is the item that gets emitted.")
+    (properties '((hidden? . #t)))
+    (license (list license:asl2.0
+                   license:expat))))

From 26be7f23f8cc2fea01d06e251535fc40f23726e4 Mon Sep 17 00:00:00 2001
From: Efraim Flashner 
Date: Wed, 23 Oct 2019 09:45:09 +0300
Subject: [PATCH 0333/1112] gnu: Add rust-clap-2.

* gnu/packages/rust-cbindgen.scm (rust-clap-2): New hidden variable.
---
 gnu/packages/rust-cbindgen.scm | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/gnu/packages/rust-cbindgen.scm b/gnu/packages/rust-cbindgen.scm
index 0a5e50e1ec1..c7d3133489e 100644
--- a/gnu/packages/rust-cbindgen.scm
+++ b/gnu/packages/rust-cbindgen.scm
@@ -128,3 +128,24 @@ depending on a large number of #[cfg] parameters.  Structured like an
     (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
+
+(define rust-clap-2
+  (package
+    (name "rust-clap")
+    (version "2.33.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "clap" version))
+        (file-name (string-append name "-" version ".crate"))
+        (sha256
+         (base32
+          "1nf6ld3bims1n5vfzhkvcb55pdzh04bbhzf8nil5vvw05nxzarsh"))))
+    (build-system cargo-build-system)
+    (home-page "https://clap.rs/")
+    (synopsis "Command Line Argument Parser")
+    (description
+     "This package provides a simple to use, efficient, and full-featured
+Command Line Argument Parser.")
+    (properties '((hidden? . #t)))
+    (license license:expat)))

From 71d111f5410f1b558c34491013fbb4378d87828a Mon Sep 17 00:00:00 2001
From: Efraim Flashner 
Date: Wed, 23 Oct 2019 09:45:50 +0300
Subject: [PATCH 0334/1112] gnu: Add rust-cloudabi-0.0.

* gnu/packages/rust-cbindgen.scm (rust-cloudabi-0.0): New hidden
variable.
---
 gnu/packages/rust-cbindgen.scm | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/gnu/packages/rust-cbindgen.scm b/gnu/packages/rust-cbindgen.scm
index c7d3133489e..36d4b5e8d30 100644
--- a/gnu/packages/rust-cbindgen.scm
+++ b/gnu/packages/rust-cbindgen.scm
@@ -149,3 +149,23 @@ depending on a large number of #[cfg] parameters.  Structured like an
 Command Line Argument Parser.")
     (properties '((hidden? . #t)))
     (license license:expat)))
+
+(define rust-cloudabi-0.0
+  (package
+    (name "rust-cloudabi")
+    (version "0.0.3")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "cloudabi" version))
+        (file-name (string-append name "-" version ".crate"))
+        (sha256
+         (base32
+          "0kxcg83jlihy0phnd2g8c2c303px3l2p3pkjz357ll6llnd5pz6x"))))
+    (build-system cargo-build-system)
+    (home-page "https://nuxi.nl/cloudabi/")
+    (synopsis "Low level interface to CloudABI")
+    (description
+     "Low level interface to CloudABI.  Contains all syscalls and related types.")
+    (properties '((hidden? . #t)))
+    (license license:bsd-2)))

From 795835aa44cf17749522552aae6610bfa03e9b3b Mon Sep 17 00:00:00 2001
From: Efraim Flashner 
Date: Wed, 23 Oct 2019 09:46:31 +0300
Subject: [PATCH 0335/1112] gnu: Add rust-fuchsia-cprng-0.1.

* gnu/packages/rust-cbindgen.scm (rust-fucshia-cprng-0.1): New hidden
variable.
---
 gnu/packages/rust-cbindgen.scm | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/gnu/packages/rust-cbindgen.scm b/gnu/packages/rust-cbindgen.scm
index 36d4b5e8d30..043889ed3ba 100644
--- a/gnu/packages/rust-cbindgen.scm
+++ b/gnu/packages/rust-cbindgen.scm
@@ -169,3 +169,23 @@ Command Line Argument Parser.")
      "Low level interface to CloudABI.  Contains all syscalls and related types.")
     (properties '((hidden? . #t)))
     (license license:bsd-2)))
+
+(define rust-fuchsia-cprng-0.1
+  (package
+    (name "rust-fuchsia-cprng")
+    (version "0.1.1")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "fuchsia-cprng" version))
+        (file-name (string-append name "-" version ".crate"))
+        (sha256
+         (base32
+          "1fnkqrbz7ixxzsb04bsz9p0zzazanma8znfdqjvh39n14vapfvx0"))))
+    (build-system cargo-build-system)
+    (home-page "https://fuchsia.googlesource.com/fuchsia/+/master/garnet/public/rust/fuchsia-cprng")
+    (synopsis "Fuchsia cryptographically secure pseudorandom number generator")
+    (description "Thix package provides a rust crate for the Fuchsia
+cryptographically secure pseudorandom number generator.")
+    (properties '((hidden? . #t)))
+    (license license:bsd-3)))

From 372a6bf0caaea253df995eb08afaf1b9f7843ea9 Mon Sep 17 00:00:00 2001
From: Efraim Flashner 
Date: Wed, 23 Oct 2019 09:47:03 +0300
Subject: [PATCH 0336/1112] gnu: Add rust-itoa-0.4.

* gnu/packages/rust-cbindgen.scm (rust-itoa-0.4): New hidden variable.
---
 gnu/packages/rust-cbindgen.scm | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/gnu/packages/rust-cbindgen.scm b/gnu/packages/rust-cbindgen.scm
index 043889ed3ba..2f8fe40cd09 100644
--- a/gnu/packages/rust-cbindgen.scm
+++ b/gnu/packages/rust-cbindgen.scm
@@ -189,3 +189,24 @@ Command Line Argument Parser.")
 cryptographically secure pseudorandom number generator.")
     (properties '((hidden? . #t)))
     (license license:bsd-3)))
+
+(define rust-itoa-0.4
+  (package
+    (name "rust-itoa")
+    (version "0.4.4")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "itoa" version))
+        (file-name (string-append name "-" version ".crate"))
+        (sha256
+         (base32
+          "0zvg2d9qv3avhf3d8ggglh6fdyw8kkwqg3r4622ly5yhxnvnc4jh"))))
+    (build-system cargo-build-system)
+    (home-page "https://github.com/dtolnay/itoa")
+    (synopsis "Fast functions for printing integer primitives")
+    (description "This crate provides fast functions for printing integer
+primitives to an @code{io::Write}.")
+    (properties '((hidden? . #t)))
+    (license (list license:asl2.0
+                   license:expat))))

From 5fafb361c94f3029820314457a7134a429df8404 Mon Sep 17 00:00:00 2001
From: Efraim Flashner 
Date: Wed, 23 Oct 2019 09:47:40 +0300
Subject: [PATCH 0337/1112] gnu: Add rust-libc-0.2.

* gnu/packages/rust-cbindgen.scm (rust-libc-0.2): New hidden variable.
---
 gnu/packages/rust-cbindgen.scm | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/gnu/packages/rust-cbindgen.scm b/gnu/packages/rust-cbindgen.scm
index 2f8fe40cd09..e02a023eb1e 100644
--- a/gnu/packages/rust-cbindgen.scm
+++ b/gnu/packages/rust-cbindgen.scm
@@ -210,3 +210,32 @@ primitives to an @code{io::Write}.")
     (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
+
+(define rust-libc-0.2
+  (package
+    (name "rust-libc")
+    (version "0.2.65")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "libc" version))
+       (file-name (string-append name "-" version ".crate"))
+       (sha256
+        (base32
+         "1s14bjxnz6haw0gr1h3j4sr7s2s407hpgm8dxhwnl7yzgxia0c8s"))))
+    (build-system cargo-build-system)
+    (home-page "https://github.com/rust-lang/libc")
+    (synopsis "Raw FFI bindings to platform libraries like libc")
+    (description
+     "libc provides all of the definitions necessary to easily
+interoperate with C code (or \"C-like\" code) on each of the platforms
+that Rust supports. This includes type definitions (e.g., c_int),
+constants (e.g., EINVAL) as well as function headers (e.g., malloc).
+
+This crate exports all underlying platform types, functions, and
+constants under the crate root, so all items are accessible as
+@samp{libc::foo}.  The types and values of all the exported APIs match
+the platform that libc is compiled for.")
+    (properties '((hidden? . #t)))
+    (license (list license:expat
+                   license:asl2.0))))

From f38fb019ed9e385ec3270e6394c7a3227aa8f4bb Mon Sep 17 00:00:00 2001
From: Efraim Flashner 
Date: Wed, 23 Oct 2019 09:48:25 +0300
Subject: [PATCH 0338/1112] gnu: Add rust-log-0.4.

* gnu/packages/rust-cbindgen.scm (rust-log-0.4): New hidden variable.
---
 gnu/packages/rust-cbindgen.scm | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/gnu/packages/rust-cbindgen.scm b/gnu/packages/rust-cbindgen.scm
index e02a023eb1e..42f3a7470b9 100644
--- a/gnu/packages/rust-cbindgen.scm
+++ b/gnu/packages/rust-cbindgen.scm
@@ -239,3 +239,23 @@ the platform that libc is compiled for.")
     (properties '((hidden? . #t)))
     (license (list license:expat
                    license:asl2.0))))
+
+(define rust-log-0.4
+  (package
+    (name "rust-log")
+    (version "0.4.8")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "log" version))
+        (file-name (string-append name "-" version ".crate"))
+        (sha256
+         (base32
+          "1xz18ixccl5c6np4linv3ypc7hpmmgpc5zzd2ymp2ssfx0mhbdhl"))))
+    (build-system cargo-build-system)
+    (home-page "https://github.com/rust-lang/log")
+    (synopsis "Lightweight logging facade for Rust")
+    (description
+     "This package provides a lightweight logging facade for Rust.")
+    (properties '((hidden? . #t)))
+    (license (list license:expat license:asl2.0))))

From b5a9cb71b0c207a9c73f6a248d2f2e059b5aec08 Mon Sep 17 00:00:00 2001
From: Efraim Flashner 
Date: Wed, 23 Oct 2019 09:48:57 +0300
Subject: [PATCH 0339/1112] gnu: Add rust-numtoa-0.1.

* gnu/packages/rust-cbindgen.scm (rust-numtoa-0.1): New hidden variable.
---
 gnu/packages/rust-cbindgen.scm | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/gnu/packages/rust-cbindgen.scm b/gnu/packages/rust-cbindgen.scm
index 42f3a7470b9..a0bb7caee82 100644
--- a/gnu/packages/rust-cbindgen.scm
+++ b/gnu/packages/rust-cbindgen.scm
@@ -259,3 +259,23 @@ the platform that libc is compiled for.")
      "This package provides a lightweight logging facade for Rust.")
     (properties '((hidden? . #t)))
     (license (list license:expat license:asl2.0))))
+
+(define rust-numtoa-0.1
+  (package
+    (name "rust-numtoa")
+    (version "0.1.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "numtoa" version))
+        (file-name (string-append name "-" version ".crate"))
+        (sha256
+         (base32
+          "1vs9rhggqbql1p26x8nkha1j06wawwgb2jp5fs88b5gi7prvvy5q"))))
+    (build-system cargo-build-system)
+    (home-page "https://gitlab.com/mmstick/numtoa")
+    (synopsis "Convert numbers into stack-allocated byte arrays")
+    (description
+     "This package can convert numbers into stack-allocated byte arrays.")
+    (properties '((hidden? . #t)))
+    (license (list license:expat license:asl2.0))))

From 88ce4ef9190a5ceb18b9ed50bbabb3328999a1a5 Mon Sep 17 00:00:00 2001
From: Efraim Flashner 
Date: Wed, 23 Oct 2019 09:49:32 +0300
Subject: [PATCH 0340/1112] gnu: Add rust-proc-macro2-1.0.

* gnu/packages/rust-cbindgen.scm (rust-proc-macro2-1.0): New hidden
variable.
---
 gnu/packages/rust-cbindgen.scm | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/gnu/packages/rust-cbindgen.scm b/gnu/packages/rust-cbindgen.scm
index a0bb7caee82..92364ad4851 100644
--- a/gnu/packages/rust-cbindgen.scm
+++ b/gnu/packages/rust-cbindgen.scm
@@ -279,3 +279,24 @@ the platform that libc is compiled for.")
      "This package can convert numbers into stack-allocated byte arrays.")
     (properties '((hidden? . #t)))
     (license (list license:expat license:asl2.0))))
+
+(define rust-proc-macro2-1.0
+  (package
+    (name "rust-proc-macro2")
+    (version "1.0.6")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "proc-macro2" version))
+        (file-name (string-append name "-" version ".crate"))
+        (sha256
+         (base32
+          "09rgb5ab0jgw39kyad0lgqs4nb9yaf7mwcrgxqnsxbn4il54g7lw"))))
+    (build-system cargo-build-system)
+    (home-page "https://github.com/alexcrichton/proc-macro2")
+    (synopsis "Stable implementation of the upcoming new `proc_macro` API")
+    (description "This package provides a stable implementation of the upcoming new
+`proc_macro` API.  Comes with an option, off by default, to also reimplement itself
+in terms of the upstream unstable API.")
+    (properties '((hidden? . #t)))
+    (license (list license:expat license:asl2.0))))

From e8a28c89641599f6408eb939a50e3a1dbaced906 Mon Sep 17 00:00:00 2001
From: Efraim Flashner 
Date: Wed, 23 Oct 2019 09:50:03 +0300
Subject: [PATCH 0341/1112] gnu: Add rust-quote-1.0.

* gnu/packages/rust-cbindgen.scm (rust-quote-1.0): New hidden variable.
---
 gnu/packages/rust-cbindgen.scm | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git a/gnu/packages/rust-cbindgen.scm b/gnu/packages/rust-cbindgen.scm
index 92364ad4851..8471830f8af 100644
--- a/gnu/packages/rust-cbindgen.scm
+++ b/gnu/packages/rust-cbindgen.scm
@@ -300,3 +300,22 @@ the platform that libc is compiled for.")
 in terms of the upstream unstable API.")
     (properties '((hidden? . #t)))
     (license (list license:expat license:asl2.0))))
+
+(define rust-quote-1.0
+  (package
+    (name "rust-quote")
+    (version "1.0.2")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "quote" version))
+        (file-name (string-append name "-" version ".crate"))
+        (sha256
+         (base32
+          "1zkc46ryacf2jdkc6krsy2z615xbk1x8kp1830rcxz3irj5qqfh5"))))
+    (build-system cargo-build-system)
+    (home-page "https://github.com/dtolnay/quote")
+    (synopsis "Quasi-quoting macro quote!(...)")
+    (description "Quasi-quoting macro quote!(...)")
+    (properties '((hidden? . #t)))
+    (license (list license:expat license:asl2.0))))

From 054fd40cc610e6c3fec1ef8e4940da05f2a4a4a1 Mon Sep 17 00:00:00 2001
From: Efraim Flashner 
Date: Wed, 23 Oct 2019 09:50:42 +0300
Subject: [PATCH 0342/1112] gnu: Add rust-rand-0.6.

* gnu/packages/rust-cbindgen.scm (rust-rand-0.6): New hidden variable.
---
 gnu/packages/rust-cbindgen.scm | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/gnu/packages/rust-cbindgen.scm b/gnu/packages/rust-cbindgen.scm
index 8471830f8af..72800785555 100644
--- a/gnu/packages/rust-cbindgen.scm
+++ b/gnu/packages/rust-cbindgen.scm
@@ -319,3 +319,25 @@ in terms of the upstream unstable API.")
     (description "Quasi-quoting macro quote!(...)")
     (properties '((hidden? . #t)))
     (license (list license:expat license:asl2.0))))
+
+(define rust-rand-0.6
+  (package
+    (name "rust-rand")
+    (version "0.6.5")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "rand" version))
+        (file-name (string-append name "-" version ".crate"))
+        (sha256
+         (base32
+          "1jl4449jcl4wgmzld6ffwqj5gwxrp8zvx8w573g1z368qg6xlwbd"))))
+    (build-system cargo-build-system)
+    (home-page "https://crates.io/crates/rand")
+    (synopsis "Random number generators and other randomness functionality")
+    (description
+     "This package contains random number generators and other randomness
+functionality.")
+    (properties '((hidden? . #t)))
+    (license (list license:asl2.0
+                   license:expat))))

From 800bc0fbc35e64236f3b044083080a663c1b2e3f Mon Sep 17 00:00:00 2001
From: Efraim Flashner 
Date: Wed, 23 Oct 2019 10:42:06 +0300
Subject: [PATCH 0343/1112] gnu: Add rust-rand-chacha-0.1.

* gnu/packages/rust-cbindgen.scm (rust-rand-chacha-0.1): New hidden
variable.
---
 gnu/packages/rust-cbindgen.scm | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/gnu/packages/rust-cbindgen.scm b/gnu/packages/rust-cbindgen.scm
index 72800785555..e63448cdb84 100644
--- a/gnu/packages/rust-cbindgen.scm
+++ b/gnu/packages/rust-cbindgen.scm
@@ -341,3 +341,23 @@ functionality.")
     (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
+
+(define rust-rand-chacha-0.1
+  (package
+    (name "rust-rand-chacha")
+    (version "0.1.1")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "rand_chacha" version))
+        (file-name (string-append name "-" version ".crate"))
+        (sha256
+         (base32
+          "1vxwyzs4fy1ffjc8l00fsyygpiss135irjf7nyxgq2v0lqf3lvam"))))
+    (build-system cargo-build-system)
+    (home-page "https://crates.io/crates/rand_chacha")
+    (synopsis "ChaCha random number generator")
+    (description "ChaCha random number generator")
+    (properties '((hidden? . #t)))
+    (license (list license:asl2.0
+                   license:expat))))

From 235d82dfc093dc7b261892cb4a7138b3c74874e7 Mon Sep 17 00:00:00 2001
From: Efraim Flashner 
Date: Wed, 23 Oct 2019 09:51:51 +0300
Subject: [PATCH 0344/1112] gnu: Add rust-rand-core-0.4.

* gnu/packages/rust-cbindgen.scm (rust-rand-core-0.4): New hidden
variable.
---
 gnu/packages/rust-cbindgen.scm | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/gnu/packages/rust-cbindgen.scm b/gnu/packages/rust-cbindgen.scm
index e63448cdb84..4f15d33eefa 100644
--- a/gnu/packages/rust-cbindgen.scm
+++ b/gnu/packages/rust-cbindgen.scm
@@ -361,3 +361,25 @@ functionality.")
     (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
+
+(define rust-rand-core-0.4
+  (package
+    (name "rust-rand-core")
+    (version "0.4.2")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "rand_core" version))
+        (file-name (string-append name "-" version ".crate"))
+        (sha256
+         (base32
+          "1p09ynysrq1vcdlmcqnapq4qakl2yd1ng3kxh3qscpx09k2a6cww"))))
+    (build-system cargo-build-system)
+    (home-page "https://crates.io/crates/rand_core")
+    (synopsis
+      "Core random number generator traits and tools for implementation.")
+    (description
+      "Core random number generator traits and tools for implementation.")
+    (properties '((hidden? . #t)))
+    (license (list license:asl2.0
+                   license:expat))))

From a41ea6dc73a9b796d4789fd95e854c1e715a8fc6 Mon Sep 17 00:00:00 2001
From: Efraim Flashner 
Date: Wed, 23 Oct 2019 09:52:23 +0300
Subject: [PATCH 0345/1112] gnu: Add rust-rand-core-0.3.

* gnu/packages/rust-cbindgen.scm (rust-rand-core-0.3): New hidden
variable.
---
 gnu/packages/rust-cbindgen.scm | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

diff --git a/gnu/packages/rust-cbindgen.scm b/gnu/packages/rust-cbindgen.scm
index 4f15d33eefa..c8fd57f925e 100644
--- a/gnu/packages/rust-cbindgen.scm
+++ b/gnu/packages/rust-cbindgen.scm
@@ -383,3 +383,20 @@ functionality.")
     (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
+
+(define rust-rand-core-0.3
+  (package
+    (inherit rust-rand-core-0.4)
+    (name "rust-rand-core")
+    (version "0.3.1")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "rand_core" version))
+        (file-name (string-append name "-" version ".crate"))
+        (sha256
+         (base32
+          "0jzdgszfa4bliigiy4hi66k7fs3gfwi2qxn8vik84ph77fwdwvvs"))))
+    ;; This version is a 0.3 API wrapper around the 0.4 version.
+    (arguments
+     `(#:cargo-inputs (("rand-core" ,rust-rand-core-0.4))))))

From 56fed052cfcaa82ae42e0b58a2107e5615334c17 Mon Sep 17 00:00:00 2001
From: Efraim Flashner 
Date: Wed, 23 Oct 2019 09:56:25 +0300
Subject: [PATCH 0346/1112] gnu: Add rust-rand-hc-0.1.

* gnu/packages/rust-cbindgen.scm (rust-rand-hc-0.1): New hidden
variable.
---
 gnu/packages/rust-cbindgen.scm | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/gnu/packages/rust-cbindgen.scm b/gnu/packages/rust-cbindgen.scm
index c8fd57f925e..a4504a7cdcb 100644
--- a/gnu/packages/rust-cbindgen.scm
+++ b/gnu/packages/rust-cbindgen.scm
@@ -400,3 +400,23 @@ functionality.")
     ;; This version is a 0.3 API wrapper around the 0.4 version.
     (arguments
      `(#:cargo-inputs (("rand-core" ,rust-rand-core-0.4))))))
+
+(define rust-rand-hc-0.1
+  (package
+    (name "rust-rand-hc")
+    (version "0.1.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "rand_hc" version))
+        (file-name (string-append name "-" version ".crate"))
+        (sha256
+         (base32
+          "1i0vl8q5ddvvy0x8hf1zxny393miyzxkwqnw31ifg6p0gdy6fh3v"))))
+    (build-system cargo-build-system)
+    (home-page "https://crates.io/crates/rand_hc")
+    (synopsis "HC128 random number generator")
+    (description "HC128 random number generator")
+    (properties '((hidden? . #t)))
+    (license (list license:asl2.0
+                   license:expat))))

From 300ec64cf3a4fc11875fc9d4289297b564bc9289 Mon Sep 17 00:00:00 2001
From: Efraim Flashner 
Date: Wed, 23 Oct 2019 09:57:02 +0300
Subject: [PATCH 0347/1112] gnu: Add rust-rand-isaac-0.1.

* gnu/packages/rust-cbindgen.scm (rust-rand-isaac-0.1): New hidden
variable.
---
 gnu/packages/rust-cbindgen.scm | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/gnu/packages/rust-cbindgen.scm b/gnu/packages/rust-cbindgen.scm
index a4504a7cdcb..085e66041bd 100644
--- a/gnu/packages/rust-cbindgen.scm
+++ b/gnu/packages/rust-cbindgen.scm
@@ -420,3 +420,23 @@ functionality.")
     (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
+
+(define rust-rand-isaac-0.1
+  (package
+    (name "rust-rand-isaac")
+    (version "0.1.1")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "rand_isaac" version))
+        (file-name (string-append name "-" version ".crate"))
+        (sha256
+         (base32
+          "027flpjr4znx2csxk7gxb7vrf9c7y5mydmvg5az2afgisp4rgnfy"))))
+    (build-system cargo-build-system)
+    (home-page "https://crates.io/crates/rand_isaac")
+    (synopsis "ISAAC random number generator")
+    (description "ISAAC random number generator")
+    (properties '((hidden? . #t)))
+    (license (list license:asl2.0
+                   license:expat))))

From 9c2838617cc9e9444ba14ead17e872848efc86bb Mon Sep 17 00:00:00 2001
From: Efraim Flashner 
Date: Wed, 23 Oct 2019 09:57:37 +0300
Subject: [PATCH 0348/1112] gnu: Add rust-rand-jitter-0.1.

* gnu/packages/rust-cbindgen.scm (rust-rand-jitter-0.1): New hidden
variable.
---
 gnu/packages/rust-cbindgen.scm | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/gnu/packages/rust-cbindgen.scm b/gnu/packages/rust-cbindgen.scm
index 085e66041bd..d6ec6403581 100644
--- a/gnu/packages/rust-cbindgen.scm
+++ b/gnu/packages/rust-cbindgen.scm
@@ -440,3 +440,25 @@ functionality.")
     (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
+
+(define rust-rand-jitter-0.1
+  (package
+    (name "rust-rand-jitter")
+    (version "0.1.4")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "rand_jitter" version))
+        (file-name (string-append name "-" version ".crate"))
+        (sha256
+         (base32
+          "16z387y46bfz3csc42zxbjq89vcr1axqacncvv8qhyy93p4xarhi"))))
+    (build-system cargo-build-system)
+    (home-page "https://github.com/rust-random/rand")
+    (synopsis
+      "Random number generator based on timing jitter")
+    (description
+      "Random number generator based on timing jitter")
+    (properties '((hidden? . #t)))
+    (license (list license:asl2.0
+                   license:expat))))

From 9ad71c4aec2c0e3e9b24e1938d7a4e731bad98ab Mon Sep 17 00:00:00 2001
From: Efraim Flashner 
Date: Wed, 23 Oct 2019 09:58:16 +0300
Subject: [PATCH 0349/1112] gnu: Add rust-rand-os-0.1.

* gnu/packages/rust-cbindgen.scm (rust-rand-os-0.1): New hidden
variable.
---
 gnu/packages/rust-cbindgen.scm | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/gnu/packages/rust-cbindgen.scm b/gnu/packages/rust-cbindgen.scm
index d6ec6403581..208e5f39bab 100644
--- a/gnu/packages/rust-cbindgen.scm
+++ b/gnu/packages/rust-cbindgen.scm
@@ -462,3 +462,23 @@ functionality.")
     (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
+
+(define rust-rand-os-0.1
+  (package
+    (name "rust-rand-os")
+    (version "0.1.3")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "rand_os" version))
+        (file-name (string-append name "-" version ".crate"))
+        (sha256
+         (base32
+          "0wahppm0s64gkr2vmhcgwc0lij37in1lgfxg5rbgqlz0l5vgcxbv"))))
+    (build-system cargo-build-system)
+    (home-page "https://crates.io/crates/rand_os")
+    (synopsis "OS backed Random Number Generator")
+    (description "OS backed Random Number Generator")
+    (properties '((hidden? . #t)))
+    (license (list license:asl2.0
+                   license:expat))))

From 1e956eb02bb6cce64d805ddee92fee4b567d64fb Mon Sep 17 00:00:00 2001
From: Efraim Flashner 
Date: Wed, 23 Oct 2019 09:58:56 +0300
Subject: [PATCH 0350/1112] gnu: Add rust-rand-pcg-0.1.

* gnu/packages/rust-cbindgen.scm (rust-rand-pcg-0.1): New hidden
variable.
---
 gnu/packages/rust-cbindgen.scm | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/gnu/packages/rust-cbindgen.scm b/gnu/packages/rust-cbindgen.scm
index 208e5f39bab..d3c75eef9cf 100644
--- a/gnu/packages/rust-cbindgen.scm
+++ b/gnu/packages/rust-cbindgen.scm
@@ -482,3 +482,25 @@ functionality.")
     (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
+
+(define rust-rand-pcg-0.1
+  (package
+    (name "rust-rand-pcg")
+    (version "0.1.2")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "rand_pcg" version))
+        (file-name (string-append name "-" version ".crate"))
+        (sha256
+         (base32
+          "0i0bdla18a8x4jn1w0fxsbs3jg7ajllz6azmch1zw33r06dv1ydb"))))
+    (build-system cargo-build-system)
+    (home-page "https://crates.io/crates/rand_pcg")
+    (synopsis
+      "Selected PCG random number generators")
+    (description
+      "Selected PCG random number generators")
+    (properties '((hidden? . #t)))
+    (license (list license:asl2.0
+                   license:expat))))

From 308480c3d6eeada2f0d2ff3648acb4b204748dfc Mon Sep 17 00:00:00 2001
From: Efraim Flashner 
Date: Wed, 23 Oct 2019 09:59:30 +0300
Subject: [PATCH 0351/1112] gnu: Add rust-rand-xorshift-0.1.

* gnu/packages/rust-cbindgen.scm (rust-rand-xorshift-0.1): New hidden
variable.
---
 gnu/packages/rust-cbindgen.scm | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/gnu/packages/rust-cbindgen.scm b/gnu/packages/rust-cbindgen.scm
index d3c75eef9cf..c259a7317bf 100644
--- a/gnu/packages/rust-cbindgen.scm
+++ b/gnu/packages/rust-cbindgen.scm
@@ -504,3 +504,24 @@ functionality.")
     (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
+
+(define rust-rand-xorshift-0.1
+  (package
+    (name "rust-rand-xorshift")
+    (version "0.1.1")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "rand_xorshift" version))
+        (file-name (string-append name "-" version ".crate"))
+        (sha256
+         (base32
+          "0p2x8nr00hricpi2m6ca5vysiha7ybnghz79yqhhx6sl4gkfkxyb"))))
+    (build-system cargo-build-system)
+    (home-page "https://crates.io/crates/rand_xorshift")
+    (synopsis "Xorshift random number generator")
+    (description
+      "Xorshift random number generator")
+    (properties '((hidden? . #t)))
+    (license (list license:asl2.0
+                   license:expat))))

From 847172e44f501a0537a682473c2fa8727b10879d Mon Sep 17 00:00:00 2001
From: Efraim Flashner 
Date: Wed, 23 Oct 2019 10:00:05 +0300
Subject: [PATCH 0352/1112] gnu: Add rust-rdrand-0.4.

* gnu/packages/rust-cbindgen.scm (rust-rdrand-0.4): New hidden variable.
---
 gnu/packages/rust-cbindgen.scm | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/gnu/packages/rust-cbindgen.scm b/gnu/packages/rust-cbindgen.scm
index c259a7317bf..3ffa3f6d482 100644
--- a/gnu/packages/rust-cbindgen.scm
+++ b/gnu/packages/rust-cbindgen.scm
@@ -525,3 +525,24 @@ functionality.")
     (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
+
+(define rust-rdrand-0.4
+  (package
+    (name "rust-rdrand")
+    (version "0.4.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "rdrand" version))
+        (file-name (string-append name "-" version ".crate"))
+        (sha256
+         (base32
+          "1cjq0kwx1bk7jx3kzyciiish5gqsj7620dm43dc52sr8fzmm9037"))))
+    (build-system cargo-build-system)
+    (home-page "https://github.com/nagisa/rust_rdrand/")
+    (synopsis "Random number generator")
+    (description
+     "This package is an implementation of random number generator based on
+@code{rdrand} and @cpde{rdseed} instructions")
+    (properties '((hidden? . #t)))
+    (license license:isc)))

From 3f03cb20d6525d85578912f2894b9559ef53bff9 Mon Sep 17 00:00:00 2001
From: Efraim Flashner 
Date: Wed, 23 Oct 2019 10:00:38 +0300
Subject: [PATCH 0353/1112] gnu: Add rust-redox-syscall-0.1.

* gnu/packages/rust-cbindgen.scm (rust-redox-syscall-0.1): New hidden
variable.
---
 gnu/packages/rust-cbindgen.scm | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/gnu/packages/rust-cbindgen.scm b/gnu/packages/rust-cbindgen.scm
index 3ffa3f6d482..012b977b366 100644
--- a/gnu/packages/rust-cbindgen.scm
+++ b/gnu/packages/rust-cbindgen.scm
@@ -546,3 +546,23 @@ functionality.")
 @code{rdrand} and @cpde{rdseed} instructions")
     (properties '((hidden? . #t)))
     (license license:isc)))
+
+(define rust-redox-syscall-0.1
+  (package
+    (name "rust-redox-syscall")
+    (version "0.1.56")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "redox_syscall" version))
+        (file-name (string-append name "-" version ".crate"))
+        (sha256
+         (base32
+          "110y7dyfm2vci4x5vk7gr0q551dvp31npl99fnsx2fb17wzwcf94"))))
+    (build-system cargo-build-system)
+    (home-page "https://gitlab.redox-os.org/redox-os/syscall")
+    (synopsis "Rust library to access raw Redox system calls")
+    (description "This package provides a Rust library to access raw Redox
+system calls.")
+    (properties '((hidden? . #t)))
+    (license license:expat)))

From a8c86afaa52d3c6237e4085ac4e18ea91c8ba14d Mon Sep 17 00:00:00 2001
From: Efraim Flashner 
Date: Wed, 23 Oct 2019 10:01:14 +0300
Subject: [PATCH 0354/1112] gnu: Add rust-redox-termios-0.1.

* gnu/packages/rust-cbindgen.scm (rust-redox-termios-0.1): New hidden
variable.
---
 gnu/packages/rust-cbindgen.scm | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/gnu/packages/rust-cbindgen.scm b/gnu/packages/rust-cbindgen.scm
index 012b977b366..fcb57ca1304 100644
--- a/gnu/packages/rust-cbindgen.scm
+++ b/gnu/packages/rust-cbindgen.scm
@@ -566,3 +566,23 @@ functionality.")
 system calls.")
     (properties '((hidden? . #t)))
     (license license:expat)))
+
+(define rust-redox-termios-0.1
+  (package
+    (name "rust-redox-termios")
+    (version "0.1.1")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "redox-termios" version))
+        (file-name (string-append name "-" version ".crate"))
+        (sha256
+         (base32
+          "0xhgvdh62mymgdl3jqrngl8hr4i8xwpnbsxnldq0l47993z1r2by"))))
+    (build-system cargo-build-system)
+    (home-page "https://github.com/redox-os/termios")
+    (synopsis "Rust library to access Redox termios functions")
+    (description
+     "This package provides a Rust library to access Redox termios functions.")
+    (properties '((hidden? . #t)))
+    (license license:expat)))

From 4b359565de1022577c8c04ebf1517a6cacfe56ec Mon Sep 17 00:00:00 2001
From: Efraim Flashner 
Date: Wed, 23 Oct 2019 10:01:45 +0300
Subject: [PATCH 0355/1112] gnu: Add rust-remove-dir-all-0.5.

* gnu/packages/rust-cbindgen.scm (rust-remove-dir-all-0.5): New hidden
variable.
---
 gnu/packages/rust-cbindgen.scm | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/gnu/packages/rust-cbindgen.scm b/gnu/packages/rust-cbindgen.scm
index fcb57ca1304..8a507a0587c 100644
--- a/gnu/packages/rust-cbindgen.scm
+++ b/gnu/packages/rust-cbindgen.scm
@@ -586,3 +586,25 @@ system calls.")
      "This package provides a Rust library to access Redox termios functions.")
     (properties '((hidden? . #t)))
     (license license:expat)))
+
+(define rust-remove-dir-all-0.5
+  (package
+    (name "rust-remove-dir-all")
+    (version "0.5.2")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "remove-dir-all" version))
+        (file-name (string-append name "-" version ".crate"))
+        (sha256
+         (base32
+          "0bkrlyg26mgizpiy1yb2hhpgscxcag8r5fnckqsvk25608vzm0sa"))))
+    (build-system cargo-build-system)
+    (home-page "https://github.com/XAMPPRocky/remove_dir_all.git")
+    (synopsis "Implementation of remove_dir_all for Windows")
+    (description
+     "This package provides a safe, reliable implementation of remove_dir_all
+for Windows.")
+    (properties '((hidden? . #t)))
+    (license (list license:asl2.0
+                   license:expat))))

From df9a615640f99bbcf413ac2f42ae681882d6e1d9 Mon Sep 17 00:00:00 2001
From: Efraim Flashner 
Date: Wed, 23 Oct 2019 10:02:30 +0300
Subject: [PATCH 0356/1112] gnu: Add rust-ryu-1.0.

* gnu/packages/rust-cbindgen.scm (rust-ryu-1.0): New hidden variable.
---
 gnu/packages/rust-cbindgen.scm | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/gnu/packages/rust-cbindgen.scm b/gnu/packages/rust-cbindgen.scm
index 8a507a0587c..ecefb7e4575 100644
--- a/gnu/packages/rust-cbindgen.scm
+++ b/gnu/packages/rust-cbindgen.scm
@@ -608,3 +608,24 @@ for Windows.")
     (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
+
+(define rust-ryu-1.0
+  (package
+    (name "rust-ryu")
+    (version "1.0.2")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "ryu" version))
+        (file-name (string-append name "-" version ".crate"))
+        (sha256
+         (base32
+          "1j0h74f1xqf9hjkhanp8i20mqc1aw35kr1iq9i79q7713mn51a5z"))))
+    (build-system cargo-build-system)
+    (home-page "https://github.com/dtolnay/ryu")
+    (synopsis
+      "Fast floating point to string conversion")
+    (description
+      "Fast floating point to string conversion")
+    (properties '((hidden? . #t)))
+    (license (list license:asl2.0 license:boost1.0))))

From 582630a1256939d5dc8a614386f5f0848644c8dc Mon Sep 17 00:00:00 2001
From: Efraim Flashner 
Date: Wed, 23 Oct 2019 10:03:03 +0300
Subject: [PATCH 0357/1112] gnu: Add rust-serde-1.0.

* gnu/packages/rust-cbindgen.scm (rust-serde-1.0): New hidden variable.
---
 gnu/packages/rust-cbindgen.scm | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/gnu/packages/rust-cbindgen.scm b/gnu/packages/rust-cbindgen.scm
index ecefb7e4575..d72bd6d291d 100644
--- a/gnu/packages/rust-cbindgen.scm
+++ b/gnu/packages/rust-cbindgen.scm
@@ -629,3 +629,23 @@ for Windows.")
       "Fast floating point to string conversion")
     (properties '((hidden? . #t)))
     (license (list license:asl2.0 license:boost1.0))))
+
+(define rust-serde-1.0
+  (package
+    (name "rust-serde")
+    (version "1.0.101")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "serde" version))
+        (file-name (string-append name "-" version ".crate"))
+        (sha256
+         (base32
+          "1p8r24hagcsrl92w5z32nfrg9040qkgqf8iwwnf7mzigpavwk5lp"))))
+    (build-system cargo-build-system)
+    (home-page "https://serde.rs")
+    (synopsis "Generic serialization/deserialization framework")
+    (description
+     "This package provides a generic serialization/deserialization framework.")
+    (properties '((hidden? . #t)))
+    (license (list license:expat license:asl2.0))))

From 199d800546b6e97d9368f400b9b7a6cd0cc4c386 Mon Sep 17 00:00:00 2001
From: Efraim Flashner 
Date: Wed, 23 Oct 2019 10:03:34 +0300
Subject: [PATCH 0358/1112] gnu: Add rust-serde-derive-1.0.

* gnu/packages/rust-cbindgen.scm (rust-serde-derive-1.0): New hidden
variable.
---
 gnu/packages/rust-cbindgen.scm | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/gnu/packages/rust-cbindgen.scm b/gnu/packages/rust-cbindgen.scm
index d72bd6d291d..7ed9c0eef33 100644
--- a/gnu/packages/rust-cbindgen.scm
+++ b/gnu/packages/rust-cbindgen.scm
@@ -649,3 +649,24 @@ for Windows.")
      "This package provides a generic serialization/deserialization framework.")
     (properties '((hidden? . #t)))
     (license (list license:expat license:asl2.0))))
+
+(define rust-serde-derive-1.0
+  (package
+    (name "rust-serde-derive")
+    (version "1.0.101")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "serde-derive" version))
+        (file-name (string-append name "-" version ".crate"))
+        (sha256
+         (base32
+          "0bn0wz3j48248187mfmypyqnh73mq734snxxhr05vmgcl51kl4sb"))))
+    (build-system cargo-build-system)
+    (home-page "https://serde.rs")
+    (synopsis
+      "Macros 1.1 implementation of #[derive(Serialize, Deserialize)]")
+    (description
+      "Macros 1.1 implementation of #[derive(Serialize, Deserialize)]")
+    (properties '((hidden? . #t)))
+    (license (list license:expat license:asl2.0))))

From 1a7e2aa8edfdf7967ec864f17d9e2500dc289065 Mon Sep 17 00:00:00 2001
From: Efraim Flashner 
Date: Wed, 23 Oct 2019 10:04:00 +0300
Subject: [PATCH 0359/1112] gnu: Add rust-serde-json-1.0.

* gnu/packages/rust-cbindgen.scm (rust-serde-json-1.0): New hidden
variable.
---
 gnu/packages/rust-cbindgen.scm | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/gnu/packages/rust-cbindgen.scm b/gnu/packages/rust-cbindgen.scm
index 7ed9c0eef33..dacc33c5347 100644
--- a/gnu/packages/rust-cbindgen.scm
+++ b/gnu/packages/rust-cbindgen.scm
@@ -670,3 +670,23 @@ for Windows.")
       "Macros 1.1 implementation of #[derive(Serialize, Deserialize)]")
     (properties '((hidden? . #t)))
     (license (list license:expat license:asl2.0))))
+
+(define rust-serde-json-1.0
+  (package
+    (name "rust-serde-json")
+    (version "1.0.41")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "serde-json" version))
+        (file-name (string-append name "-" version ".crate"))
+        (sha256
+         (base32
+          "1hipk84x40454mf599752mi7l08wb8qakz8vd6d3zp57d0mfnwig"))))
+    (build-system cargo-build-system)
+    (home-page "https://github.com/serde-rs/json")
+    (synopsis "A JSON serialization file format")
+    (description
+     "This package provides a JSON serialization file format.")
+    (properties '((hidden? . #t)))
+    (license (list license:expat license:asl2.0))))

From 10eeb2362c1e84aac53b79d6bcd19e156d7d2b5d Mon Sep 17 00:00:00 2001
From: Efraim Flashner 
Date: Wed, 23 Oct 2019 10:04:29 +0300
Subject: [PATCH 0360/1112] gnu: Add rust-strsim-0.8.

* gnu/packages/rust-cbindgen.scm (rust-strsim-0.8): New hidden variable.
---
 gnu/packages/rust-cbindgen.scm | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/gnu/packages/rust-cbindgen.scm b/gnu/packages/rust-cbindgen.scm
index dacc33c5347..3f76eaa9a6c 100644
--- a/gnu/packages/rust-cbindgen.scm
+++ b/gnu/packages/rust-cbindgen.scm
@@ -690,3 +690,24 @@ for Windows.")
      "This package provides a JSON serialization file format.")
     (properties '((hidden? . #t)))
     (license (list license:expat license:asl2.0))))
+
+(define rust-strsim-0.8
+  (package
+    (name "rust-strsim")
+    (version "0.8.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "strsim" version))
+        (file-name (string-append name "-" version ".crate"))
+        (sha256
+         (base32
+          "0sjsm7hrvjdifz661pjxq5w4hf190hx53fra8dfvamacvff139cf"))))
+    (build-system cargo-build-system)
+    (home-page "https://github.com/dguo/strsim-rs")
+    (synopsis "Rust implementations of string similarity metrics")
+    (description "This crate includes implementations of string similarity
+metrics.  It includes Hamming, Levenshtein, OSA, Damerau-Levenshtein, Jaro,
+and Jaro-Winkler.")
+    (properties '((hidden? . #t)))
+    (license license:expat)))

From b62f74a656424a251c808561948b23f76773b9f7 Mon Sep 17 00:00:00 2001
From: Efraim Flashner 
Date: Wed, 23 Oct 2019 10:04:56 +0300
Subject: [PATCH 0361/1112] gnu: Add rust-syn-1.0.

* gnu/packages/rust-cbindgen.scm (rust-syn-1.0): New hidden variable.
---
 gnu/packages/rust-cbindgen.scm | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git a/gnu/packages/rust-cbindgen.scm b/gnu/packages/rust-cbindgen.scm
index 3f76eaa9a6c..7c93e401e75 100644
--- a/gnu/packages/rust-cbindgen.scm
+++ b/gnu/packages/rust-cbindgen.scm
@@ -711,3 +711,22 @@ metrics.  It includes Hamming, Levenshtein, OSA, Damerau-Levenshtein, Jaro,
 and Jaro-Winkler.")
     (properties '((hidden? . #t)))
     (license license:expat)))
+
+(define rust-syn-1.0
+  (package
+    (name "rust-syn")
+    (version "1.0.5")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "syn" version))
+        (file-name (string-append name "-" version ".crate"))
+        (sha256
+         (base32
+          "1gw03w7lzrlqmp2vislcybikgl5wkhrqi6sy70w93xss2abhx1b6"))))
+    (build-system cargo-build-system)
+    (home-page "https://github.com/dtolnay/syn")
+    (synopsis "Parser for Rust source code")
+    (description "Parser for Rust source code")
+    (properties '((hidden? . #t)))
+    (license (list license:expat license:asl2.0))))

From a2f821e74b3bb3a44860c3a23e7b7fdebf1a65c5 Mon Sep 17 00:00:00 2001
From: Efraim Flashner 
Date: Wed, 23 Oct 2019 10:05:31 +0300
Subject: [PATCH 0362/1112] gnu: Add rust-tempfile-3.0.

* gnu/packages/rust-cbindgen.scm (rust-tempfile-3.0): New hidden
variable.
---
 gnu/packages/rust-cbindgen.scm | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/gnu/packages/rust-cbindgen.scm b/gnu/packages/rust-cbindgen.scm
index 7c93e401e75..57e80de9feb 100644
--- a/gnu/packages/rust-cbindgen.scm
+++ b/gnu/packages/rust-cbindgen.scm
@@ -730,3 +730,24 @@ and Jaro-Winkler.")
     (description "Parser for Rust source code")
     (properties '((hidden? . #t)))
     (license (list license:expat license:asl2.0))))
+
+(define rust-tempfile-3.0
+  (package
+    (name "rust-tempfile")
+    (version "3.0.8")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "tempfile" version))
+        (file-name (string-append name "-" version ".crate"))
+        (sha256
+         (base32
+          "1vqk7aq2l04my2r3jiyyxirnf8f90nzcvjasvrajivb85s7p7i3x"))))
+    (build-system cargo-build-system)
+    (home-page "http://stebalien.com/projects/tempfile-rs")
+    (synopsis "Library for managing temporary files and directories")
+    (description
+     "This package provides a library for managing temporary files and
+directories.")
+    (properties '((hidden? . #t)))
+    (license (list license:expat license:asl2.0))))

From 438a9173b9beea9949422d375b91e3e31b601b6e Mon Sep 17 00:00:00 2001
From: Efraim Flashner 
Date: Wed, 23 Oct 2019 10:06:01 +0300
Subject: [PATCH 0363/1112] gnu: Add rust-termion-1.5.

* gnu/packages/rust-cbindgen.scm (rust-termion-1.5): New hidden
variable.
---
 gnu/packages/rust-cbindgen.scm | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/gnu/packages/rust-cbindgen.scm b/gnu/packages/rust-cbindgen.scm
index 57e80de9feb..7bed4a012f9 100644
--- a/gnu/packages/rust-cbindgen.scm
+++ b/gnu/packages/rust-cbindgen.scm
@@ -751,3 +751,23 @@ and Jaro-Winkler.")
 directories.")
     (properties '((hidden? . #t)))
     (license (list license:expat license:asl2.0))))
+
+(define rust-termion-1.5
+  (package
+    (name "rust-termion")
+    (version "1.5.3")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "termion" version))
+        (file-name (string-append name "-" version ".crate"))
+        (sha256
+         (base32
+          "0c634rg520zjjfhwnxrc2jbfjz7db0rcpsjs1qici0nyghpv53va"))))
+    (build-system cargo-build-system)
+    (home-page "https://gitlab.redox-os.org/redox-os/termion")
+    (synopsis "Library for manipulating terminals")
+    (description
+     "This package provides a bindless library for manipulating terminals.")
+    (properties '((hidden? . #t)))
+    (license license:expat)))

From da6a445a4055a2594b2bb79b9155880afa0bb997 Mon Sep 17 00:00:00 2001
From: Efraim Flashner 
Date: Wed, 23 Oct 2019 10:06:33 +0300
Subject: [PATCH 0364/1112] gnu: Add rust-textwrap-0.11.

* gnu/packages/rust-cbindgen.scm (rust-textwrap-0.11): New hidden
variable.
---
 gnu/packages/rust-cbindgen.scm | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/gnu/packages/rust-cbindgen.scm b/gnu/packages/rust-cbindgen.scm
index 7bed4a012f9..bc9f21544a9 100644
--- a/gnu/packages/rust-cbindgen.scm
+++ b/gnu/packages/rust-cbindgen.scm
@@ -771,3 +771,26 @@ directories.")
      "This package provides a bindless library for manipulating terminals.")
     (properties '((hidden? . #t)))
     (license license:expat)))
+
+(define rust-textwrap-0.11
+  (package
+    (name "rust-textwrap")
+    (version "0.11.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "textwrap" version))
+        (file-name (string-append name "-" version ".crate"))
+        (sha256
+         (base32
+          "0q5hky03ik3y50s9sz25r438bc4nwhqc6dqwynv4wylc807n29nk"))))
+    (build-system cargo-build-system)
+    (home-page "https://github.com/mgeisler/textwrap")
+    (synopsis "Library for word wrapping, indenting, and dedenting strings")
+    (description
+     "Textwrap is a small library for word wrapping, indenting, and dedenting
+strings.  You can use it to format strings (such as help and error messages)
+for display in commandline applications.  It is designed to be efficient and
+handle Unicode characters correctly.")
+    (properties '((hidden? . #t)))
+    (license license:expat)))

From 5cf89cec6c8daeb9c77dc06f9a93a7bbac6651c4 Mon Sep 17 00:00:00 2001
From: Efraim Flashner 
Date: Wed, 23 Oct 2019 10:07:02 +0300
Subject: [PATCH 0365/1112] gnu: Add rust-toml-0.5.

* gnu/packages/rust-cbindgen.scm (rust-toml-0.5): New hidden variable.
---
 gnu/packages/rust-cbindgen.scm | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/gnu/packages/rust-cbindgen.scm b/gnu/packages/rust-cbindgen.scm
index bc9f21544a9..51eb647453d 100644
--- a/gnu/packages/rust-cbindgen.scm
+++ b/gnu/packages/rust-cbindgen.scm
@@ -794,3 +794,27 @@ for display in commandline applications.  It is designed to be efficient and
 handle Unicode characters correctly.")
     (properties '((hidden? . #t)))
     (license license:expat)))
+
+(define rust-toml-0.5
+  (package
+    (name "rust-toml")
+    (version "0.5.3")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "toml" version))
+        (file-name (string-append name "-" version ".crate"))
+        (sha256
+         (base32
+          "093p48vpqm4bb8q3514xsij0dkljxlr3jp9ypxr4p48xjisvxan7"))))
+    (build-system cargo-build-system)
+    (home-page "https://github.com/alexcrichton/toml-rs")
+    (synopsis "Rust encoder and decoder of TOML-formatted files and streams")
+    (description
+     "This package provides a native Rust encoder and decoder of TOML-formatted
+files and streams.  Provides implementations of the standard
+Serialize/Deserialize traits for TOML data to facilitate deserializing and
+serializing Rust structures.")
+    (properties '((hidden? . #t)))
+    (license (list license:asl2.0
+                   license:expat))))

From 21bd039800b209b9d68b2074be7f4258f092a7b0 Mon Sep 17 00:00:00 2001
From: Efraim Flashner 
Date: Wed, 23 Oct 2019 10:07:38 +0300
Subject: [PATCH 0366/1112] gnu: Add rust-unicode-width-0.1.

* gnu/packages/rust-cbindgen.scm (rust-unicode-width-0.1): New hidden
variable.
---
 gnu/packages/rust-cbindgen.scm | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/gnu/packages/rust-cbindgen.scm b/gnu/packages/rust-cbindgen.scm
index 51eb647453d..b0b771ec624 100644
--- a/gnu/packages/rust-cbindgen.scm
+++ b/gnu/packages/rust-cbindgen.scm
@@ -818,3 +818,24 @@ serializing Rust structures.")
     (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
+
+(define rust-unicode-width-0.1
+  (package
+    (name "rust-unicode-width")
+    (version "0.1.6")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "unicode-width" version))
+        (file-name (string-append name "-" version ".crate"))
+        (sha256
+         (base32
+          "082f9hv1r3gcd1xl33whjhrm18p0w9i77zhhhkiccb5r47adn1vh"))))
+    (build-system cargo-build-system)
+    (home-page "https://github.com/unicode-rs/unicode-width")
+    (synopsis "Determine displayed width according to Unicode rules")
+    (description "This crate allows you to determine displayed width of
+@code{char} and @code{str} types according to Unicode Standard Annex #11 rules.")
+    (properties '((hidden? . #t)))
+    (license (list license:asl2.0
+                   license:expat))))

From 0f48c1fed88a21478f5357ba4e8214a3884cc8c2 Mon Sep 17 00:00:00 2001
From: Efraim Flashner 
Date: Wed, 23 Oct 2019 10:08:11 +0300
Subject: [PATCH 0367/1112] gnu: Add rust-unicode-xid-0.2.

* gnu/packages/rust-cbindgen.scm (rust-unicode-xid-0.2): New hidden
variable.
---
 gnu/packages/rust-cbindgen.scm | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/gnu/packages/rust-cbindgen.scm b/gnu/packages/rust-cbindgen.scm
index b0b771ec624..22621d5f7e5 100644
--- a/gnu/packages/rust-cbindgen.scm
+++ b/gnu/packages/rust-cbindgen.scm
@@ -839,3 +839,23 @@ serializing Rust structures.")
     (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
+
+(define rust-unicode-xid-0.2
+  (package
+    (name "rust-unicode-xid")
+    (version "0.2.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "unicode-xid" version))
+        (file-name (string-append name "-" version ".crate"))
+        (sha256
+         (base32
+          "0z09fn515xm7zyr0mmdyxa9mx2f7azcpv74pqmg611iralwpcvl2"))))
+    (build-system cargo-build-system)
+    (home-page "https://github.com/unicode-rs/unicode-xid")
+    (synopsis "Determine Unicode XID related properties")
+    (description "Determine whether characters have the XID_Start
+or XID_Continue properties according to Unicode Standard Annex #31.")
+    (properties '((hidden? . #t)))
+    (license (list license:asl2.0 license:expat))))

From e92a94390d6263514531d216069f62e2a6964ad3 Mon Sep 17 00:00:00 2001
From: Efraim Flashner 
Date: Wed, 23 Oct 2019 10:08:43 +0300
Subject: [PATCH 0368/1112] gnu: Add rust-vec-map-0.8.

* gnu/packages/rust-cbindgen.scm (rust-vec-map-0.8): New hidden
variable.
---
 gnu/packages/rust-cbindgen.scm | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/gnu/packages/rust-cbindgen.scm b/gnu/packages/rust-cbindgen.scm
index 22621d5f7e5..34570d94188 100644
--- a/gnu/packages/rust-cbindgen.scm
+++ b/gnu/packages/rust-cbindgen.scm
@@ -859,3 +859,24 @@ serializing Rust structures.")
 or XID_Continue properties according to Unicode Standard Annex #31.")
     (properties '((hidden? . #t)))
     (license (list license:asl2.0 license:expat))))
+
+(define rust-vec-map-0.8
+  (package
+    (name "rust-vec-map")
+    (version "0.8.1")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "vec_map" version))
+        (file-name (string-append name "-" version ".crate"))
+        (sha256
+         (base32
+          "06n8hw4hlbcz328a3gbpvmy0ma46vg1lc0r5wf55900szf3qdiq5"))))
+    (build-system cargo-build-system)
+    (home-page "https://github.com/contain-rs/vec-map")
+    (synopsis "Simple map based on a vector for small integer keys")
+    (description
+     "This package provides a simple map based on a vector for small integer keys.")
+    (properties '((hidden? . #t)))
+    (license (list license:asl2.0
+                   license:expat))))

From 55777a29221efbaaac24a88e50b8e001e9e7bb59 Mon Sep 17 00:00:00 2001
From: Efraim Flashner 
Date: Wed, 23 Oct 2019 10:10:04 +0300
Subject: [PATCH 0369/1112] gnu: Add rust-winapi-i686-pc-windows-gnu-0.4.

* gnu/packages/rust-cbindgen.scm (rust-winapi-i686-pc-windows-gnu-0.4):
New hidden variable.
---
 gnu/packages/rust-cbindgen.scm | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/gnu/packages/rust-cbindgen.scm b/gnu/packages/rust-cbindgen.scm
index 34570d94188..57f22ef0f89 100644
--- a/gnu/packages/rust-cbindgen.scm
+++ b/gnu/packages/rust-cbindgen.scm
@@ -880,3 +880,25 @@ or XID_Continue properties according to Unicode Standard Annex #31.")
     (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
+
+(define-public rust-winapi-i686-pc-windows-gnu-0.4
+  (package
+    (name "rust-winapi-i686-pc-windows-gnu")
+    (version "0.4.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "winapi-i686-pc-windows-gnu" version))
+        (file-name (string-append name "-" version ".crate"))
+        (sha256
+         (base32
+          "1dmpa6mvcvzz16zg6d5vrfy4bxgg541wxrcip7cnshi06v38ffxc"))))
+    (build-system cargo-build-system)
+    (home-page "https://github.com/retep998/winapi-rs")
+    (synopsis "Import libraries for the i686-pc-windows-gnu target")
+    (description "This crate provides import libraries for the
+i686-pc-windows-gnu target.  Please don't use this crate directly, depend on
+@code{winapi} instead.")
+    (properties '((hidden? . #t)))
+    (license (list license:asl2.0
+                   license:expat))))

From e08ba87e6c56cc14729cc31b109a27ae3d53a71f Mon Sep 17 00:00:00 2001
From: Efraim Flashner 
Date: Wed, 23 Oct 2019 10:10:55 +0300
Subject: [PATCH 0370/1112] gnu: Add rust-winapi-x86-64-pc-windows-gnu-0.4.

* gnu/packages/rust-cbindgen.scm (rust-winapi-x86-64-pc-windows-gnu-0.4):
New hidden variable.
---
 gnu/packages/rust-cbindgen.scm | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/gnu/packages/rust-cbindgen.scm b/gnu/packages/rust-cbindgen.scm
index 57f22ef0f89..438407b1551 100644
--- a/gnu/packages/rust-cbindgen.scm
+++ b/gnu/packages/rust-cbindgen.scm
@@ -902,3 +902,25 @@ i686-pc-windows-gnu target.  Please don't use this crate directly, depend on
     (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
+
+(define rust-winapi-x86-64-pc-windows-gnu-0.4
+  (package
+    (name "rust-winapi-x86-64-pc-windows-gnu")
+    (version "0.4.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "winapi-x86_64-pc-windows-gnu" version))
+        (file-name (string-append name "-" version ".crate"))
+        (sha256
+         (base32
+          "0gqq64czqb64kskjryj8isp62m2sgvx25yyj3kpc2myh85w24bki"))))
+    (build-system cargo-build-system)
+    (home-page "https://github.com/retep998/winapi-rs")
+    (synopsis "Import libraries for the x86_64-pc-windows-gnu target")
+    (description "This package provides import libraries for the
+x86_64-pc-windows-gnu target.  Please don't use this crate directly, depend on
+@code{winapi} instead.")
+    (properties '((hidden? . #t)))
+    (license (list license:asl2.0
+                   license:expat))))

From cec27a23fe9c37aaf415b2ebcf3d912e7d257020 Mon Sep 17 00:00:00 2001
From: Efraim Flashner 
Date: Wed, 23 Oct 2019 10:39:38 +0300
Subject: [PATCH 0371/1112] gnu: Add rust-winapi-0.3.

* gnu/packages/rust-cbindgen.scm (rust-winapi-0.3): New hidden variable.
---
 gnu/packages/rust-cbindgen.scm | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/gnu/packages/rust-cbindgen.scm b/gnu/packages/rust-cbindgen.scm
index 438407b1551..13e32cc5d43 100644
--- a/gnu/packages/rust-cbindgen.scm
+++ b/gnu/packages/rust-cbindgen.scm
@@ -881,6 +881,32 @@ or XID_Continue properties according to Unicode Standard Annex #31.")
     (license (list license:asl2.0
                    license:expat))))
 
+(define rust-winapi-0.3
+  (package
+    (name "rust-winapi")
+    (version "0.3.8")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "winapi" version))
+        (file-name (string-append name "-" version ".crate"))
+        (sha256
+         (base32
+          "1ii9j9lzrhwri0902652awifzx9fpayimbp6hfhhc296xcg0k4w0"))))
+    (build-system cargo-build-system)
+    ;; This package depends unconditionally on these two crates.
+    (arguments
+     `(#:cargo-inputs
+       (("winapi-i686-pc-windows-gnu" ,rust-winapi-i686-pc-windows-gnu-0.4)
+        ("winapi-x86-64-pc-windows-gnu" ,rust-winapi-x86-64-pc-windows-gnu-0.4))))
+    (home-page "https://github.com/retep998/winapi-rs")
+    (synopsis "Raw FFI bindings for all of Windows API")
+    (description
+     "This package contains raw FFI bindings for all of Windows API.")
+    (properties '((hidden? . #t)))
+    (license (list license:asl2.0
+                   license:expat))))
+
 (define-public rust-winapi-i686-pc-windows-gnu-0.4
   (package
     (name "rust-winapi-i686-pc-windows-gnu")

From 221012ec2d415d4306515b28e8e18db83c14fe62 Mon Sep 17 00:00:00 2001
From: Efraim Flashner 
Date: Wed, 23 Oct 2019 10:16:14 +0300
Subject: [PATCH 0372/1112] gnu: Add rust-cbindgen.

* gnu/packages/rust-cbindgen.scm (rust-cbindgen): New variable.
---
 gnu/packages/rust-cbindgen.scm | 67 ++++++++++++++++++++++++++++++++++
 1 file changed, 67 insertions(+)

diff --git a/gnu/packages/rust-cbindgen.scm b/gnu/packages/rust-cbindgen.scm
index 13e32cc5d43..9d20310346a 100644
--- a/gnu/packages/rust-cbindgen.scm
+++ b/gnu/packages/rust-cbindgen.scm
@@ -22,6 +22,73 @@
   #:use-module (guix download)
   #:use-module (guix build-system cargo))
 
+(define-public rust-cbindgen
+  (package
+    (name "rust-cbindgen")
+    (version "0.9.1")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "cbindgen" version))
+        (file-name (string-append name "-" version ".crate"))
+        (sha256
+         (base32
+          "1zgamxahlxmg4warzivaa8m1f8d6b45mhznm7n6d7p5l18acdblx"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("clap" ,rust-clap-2)
+        ("log" ,rust-log-0.4)
+        ("proc-macro2" ,rust-proc-macro2-1.0)
+        ("quote" ,rust-quote-1.0)
+        ("serde" ,rust-serde-1.0)
+        ("serde-json" ,rust-serde-json-1.0)
+        ("syn" ,rust-syn-1.0)
+        ("tempfile" ,rust-tempfile-3.0)
+        ("toml" ,rust-toml-0.5))
+       #:cargo-development-inputs
+       (("ansi-term" ,rust-ansi-term-0.11)
+        ("atty" ,rust-atty-0.2)
+        ("autocfg" ,rust-autocfg-0.1)
+        ("bitflags" ,rust-bitflags-1.1)
+        ("cfg-if" ,rust-cfg-if-0.1)
+        ("cloudabi" ,rust-cloudabi-0.0)
+        ("fuchsia-cprng" ,rust-fuchsia-cprng-0.1)
+        ("itoa" ,rust-itoa-0.4)
+        ("libc" ,rust-libc-0.2)
+        ("numtoa" ,rust-numtoa-0.1)
+        ("rand" ,rust-rand-0.6)
+        ("rand-chacha" ,rust-rand-chacha-0.1)
+        ("rand-core" ,rust-rand-core-0.3)
+        ("rand-hc" ,rust-rand-hc-0.1)
+        ("rand-isaac" ,rust-rand-isaac-0.1)
+        ("rand-jitter" ,rust-rand-jitter-0.1)
+        ("rand-os" ,rust-rand-os-0.1)
+        ("rand-pcg" ,rust-rand-pcg-0.1)
+        ("rand-xorshift" ,rust-rand-xorshift-0.1)
+        ("rdrand" ,rust-rdrand-0.4)
+        ("redox-syscall" ,rust-redox-syscall-0.1)
+        ("redox-termios" ,rust-redox-termios-0.1)
+        ("remove-dir-all" ,rust-remove-dir-all-0.5)
+        ("ryu" ,rust-ryu-1.0)
+        ("serde-derive" ,rust-serde-derive-1.0)
+        ("strsim" ,rust-strsim-0.8)
+        ("termion" ,rust-termion-1.5)
+        ("textwrap" ,rust-textwrap-0.11)
+        ("unicode-width" ,rust-unicode-width-0.1)
+        ("unicode-xid" ,rust-unicode-xid-0.2)
+        ("vec-map" ,rust-vec-map-0.8)
+        ("winapi" ,rust-winapi-0.3))))
+    (home-page "https://github.com/eqrion/cbindgen/")
+    (synopsis "Tool for generating C bindings to Rust code")
+    (description
+     "This package provides a tool for generating C/C++ bindings to Rust code.")
+    (license license:mpl2.0)))
+
+;;;
+;;;^L
+;;;
+
 (define rust-ansi-term-0.11
   (package
     (name "rust-ansi-term")

From 77e0cebcadc8b96613832e1554e326d48e20f72f Mon Sep 17 00:00:00 2001
From: Hartmut Goebel 
Date: Mon, 30 Sep 2019 21:09:49 +0200
Subject: [PATCH 0373/1112] gnu: Add weasyprint.

Now includs the patch file missed in
73f0ed8dbfde97341716fd8b156907e4ef800873.

* gnu/packages/pdf.scm (weasyprint): New variable.
* gnu/packages/patches/weasyprint-library-paths.patch: New file.
* gnu/local.mk: Add it.
---
 gnu/local.mk                                  |  1 +
 .../patches/weasyprint-library-paths.patch    | 38 +++++++++
 gnu/packages/pdf.scm                          | 81 +++++++++++++++++++
 3 files changed, 120 insertions(+)
 create mode 100644 gnu/packages/patches/weasyprint-library-paths.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index d563ecc99eb..a8138a945ca 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1420,6 +1420,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/wavpack-CVE-2018-6767.patch		\
   %D%/packages/patches/wavpack-CVE-2018-7253.patch		\
   %D%/packages/patches/wavpack-CVE-2018-7254.patch		\
+  %D%/packages/patches/weasyprint-library-paths.patch		\
   %D%/packages/patches/wicd-bitrate-none-fix.patch		\
   %D%/packages/patches/wicd-get-selected-profile-fix.patch	\
   %D%/packages/patches/wicd-urwid-1.3.patch			\
diff --git a/gnu/packages/patches/weasyprint-library-paths.patch b/gnu/packages/patches/weasyprint-library-paths.patch
new file mode 100644
index 00000000000..eabbdbdcd6e
--- /dev/null
+++ b/gnu/packages/patches/weasyprint-library-paths.patch
@@ -0,0 +1,38 @@
+diff --git a/weasyprint/fonts.py b/weasyprint/fonts.py
+index 377716c1..2016e01c 100644
+--- a/weasyprint/fonts.py
++++ b/weasyprint/fonts.py
+@@ -48,11 +48,8 @@ else:
+     # with OSError: dlopen() failed to load a library: cairo / cairo-2
+     # So let's hope we find the same file as cairo already did ;)
+     # Same applies to pangocairo requiring pangoft2
+-    fontconfig = dlopen(ffi, 'fontconfig', 'libfontconfig',
+-                        'libfontconfig-1.dll',
+-                        'libfontconfig.so.1', 'libfontconfig-1.dylib')
+-    pangoft2 = dlopen(ffi, 'pangoft2-1.0', 'libpangoft2-1.0-0',
+-                      'libpangoft2-1.0.so', 'libpangoft2-1.0.dylib')
++    fontconfig = dlopen(ffi, '@fontconfig@')
++    pangoft2 = dlopen(ffi, '@pangoft2@')
+ 
+     ffi.cdef('''
+         // FontConfig
+diff --git a/weasyprint/text.py b/weasyprint/text.py
+index 035074e9..08e40395 100644
+--- a/weasyprint/text.py
++++ b/weasyprint/text.py
+@@ -243,12 +243,9 @@ def dlopen(ffi, *names):
+     return ffi.dlopen(names[0])  # pragma: no cover
+ 
+ 
+-gobject = dlopen(ffi, 'gobject-2.0', 'libgobject-2.0-0', 'libgobject-2.0.so',
+-                 'libgobject-2.0.dylib')
+-pango = dlopen(ffi, 'pango-1.0', 'libpango-1.0-0', 'libpango-1.0.so',
+-               'libpango-1.0.dylib')
+-pangocairo = dlopen(ffi, 'pangocairo-1.0', 'libpangocairo-1.0-0',
+-                    'libpangocairo-1.0.so', 'libpangocairo-1.0.dylib')
++gobject = dlopen(ffi, '@gobject@')
++pango = dlopen(ffi, '@pango@')
++pangocairo = dlopen(ffi, '@pangocairo@')
+ 
+ gobject.g_type_init()
+ 
diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm
index 7118afce4de..0fd385d5d61 100644
--- a/gnu/packages/pdf.scm
+++ b/gnu/packages/pdf.scm
@@ -16,6 +16,7 @@
 ;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice 
 ;;; Copyright © 2019 Alex Griffin 
 ;;; Copyright © 2019 Ben Sturmfels 
+;;; Copyright © 2019 Hartmut Goebel 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -66,6 +67,7 @@
   #:use-module (gnu packages imagemagick)
   #:use-module (gnu packages javascript)
   #:use-module (gnu packages lesstif)
+  #:use-module (gnu packages libffi)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages lua)
   #:use-module (gnu packages pcre)
@@ -73,6 +75,8 @@
   #:use-module (gnu packages photo)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages python)
+  #:use-module (gnu packages python-check)
+  #:use-module (gnu packages python-web)
   #:use-module (gnu packages python-xyz)
   #:use-module (gnu packages qt)
   #:use-module (gnu packages sdl)
@@ -1200,3 +1204,80 @@ manipulating PDF documents from the command line.  It supports
 @item displaying the mapping between logical and physical page numbers
 @end itemize")
     (license license:bsd-3)))
+
+(define-public weasyprint
+  (package
+    (name "weasyprint")
+    (version "50")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "WeasyPrint" version))
+       (sha256
+        (base32 "0invs96zvmcr6wh5klj52jrcnr9qg150v9wpmbhcsf3vv1d1hbcw"))
+       (patches (search-patches "weasyprint-library-paths.patch"))))
+    (build-system python-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch-library-paths
+           (lambda* (#:key inputs #:allow-other-keys)
+             (let ((fontconfig (assoc-ref inputs "fontconfig"))
+                   (glib (assoc-ref inputs "glib"))
+                   (pango (assoc-ref inputs "pango"))
+                   (pangoft2 (assoc-ref inputs "pangoft2")))
+               (substitute* "weasyprint/fonts.py"
+                 (("@fontconfig@")
+                  (string-append fontconfig "/lib/libfontconfig.so"))
+                 (("@pangoft2@")
+                  (string-append pango "/lib/libpangoft2-1.0.so")))
+               (substitute* "weasyprint/text.py"
+                 (("@gobject@")
+                  (string-append glib "/lib/libgobject-2.0.so"))
+                 (("@pango@")
+                  (string-append pango "/lib/libpango-1.0.so"))
+                 (("@pangocairo@")
+                  (string-append pango "/lib/libpangocairo-1.0.so"))))))
+         (add-after 'unpack 'remove-pytest-options
+           (lambda _
+             (substitute* "setup.cfg"
+               ;; flake8 and isort syntax checks fail, which is not our
+               ;; business
+               (("addopts = --flake8 --isort") ""))))
+         (replace 'check
+           (lambda _
+             ;; run pytest, excluding one failing test
+             (invoke "pytest" "-k" "not test_flex_column_wrap_reverse"))))))
+    (inputs
+     `(("fontconfig" ,fontconfig)
+       ("glib" ,glib)
+       ("pango" ,pango)))
+    (propagated-inputs
+     `(("gdk-pixbuf" ,gdk-pixbuf)
+       ("python-cairocffi" ,python-cairocffi)
+       ("python-cairosvg" ,python-cairosvg)
+       ("python-cffi" ,python-cffi)
+       ("python-cssselect2" ,python-cssselect2)
+       ("python-html5lib" ,python-html5lib)
+       ("python-pyphen" ,python-pyphen)
+       ("python-tinycss2" ,python-tinycss2)))
+    (native-inputs
+     `(("python-pytest-cov" ,python-pytest-cov)
+       ("python-pytest-runner" ,python-pytest-runner)))
+    (home-page "https://weasyprint.org/")
+    (synopsis "Document factory for creating PDF files from HTML")
+    (description "WeasyPrint helps web developers to create PDF documents.  It
+turns simple HTML pages into gorgeous statistical reports, invoices, tickets,
+etc.
+
+From a technical point of view, WeasyPrint is a visual rendering engine for
+HTML and CSS that can export to PDF and PNG.  It aims to support web standards
+for printing.
+
+It is based on various libraries but not on a full rendering engine like
+WebKit or Gecko.  The CSS layout engine is written in Python, designed for
+pagination, and meant to be easy to hack on.  Weasyprint can also be used as a
+python library.
+
+Keywords: html2pdf, htmltopdf")
+    (license license:bsd-3)))

From 59d452da401c375e7bd18d2260c2e42ee0d05b72 Mon Sep 17 00:00:00 2001
From: Efraim Flashner 
Date: Wed, 23 Oct 2019 11:24:51 +0300
Subject: [PATCH 0374/1112] gnu: enlightenment: Hardcode 'bc' location.

* gnu/packages/enlightenment.scm (enlightenment)[arguments]: In custom
'set-system-actions phase hardcode location of 'bc' binary.
[inputs]: Add bc.
---
 gnu/packages/enlightenment.scm | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/gnu/packages/enlightenment.scm b/gnu/packages/enlightenment.scm
index 32a1e60bf0a..c49e6cf66be 100644
--- a/gnu/packages/enlightenment.scm
+++ b/gnu/packages/enlightenment.scm
@@ -30,6 +30,7 @@
   #:use-module (guix build-system meson)
   #:use-module (guix build-system python)
   #:use-module (gnu packages)
+  #:use-module (gnu packages algebra)
   #:use-module (gnu packages avahi)
   #:use-module (gnu packages bash)
   #:use-module (gnu packages check)
@@ -311,6 +312,7 @@ Libraries with some extra bells and whistles.")
                    (utils     (assoc-ref inputs "util-linux"))
                    (libc      (assoc-ref inputs "libc"))
                    (bluez     (assoc-ref inputs "bluez"))
+                   (bc        (assoc-ref inputs "bc"))
                    (efl       (assoc-ref inputs "efl")))
                ;; We need to patch the path to 'base.lst' to be able
                ;; to switch the keyboard layout in E.
@@ -331,6 +333,8 @@ Libraries with some extra bells and whistles.")
                   (string-append efl "/bin/edje_cc -v %s %s %s\"")))
                (substitute* "src/modules/everything/evry_plug_apps.c"
                  (("/usr/bin/") ""))
+               (substitute* "src/modules/everything/evry_plug_calc.c"
+                 (("bc -l") (string-append bc "/bin/bc -l")))
                (substitute* "data/etc/meson.build"
                  (("/bin/mount") (string-append utils "/bin/mount"))
                  (("/bin/umount") (string-append utils "/bin/umount"))
@@ -348,6 +352,7 @@ Libraries with some extra bells and whistles.")
        ("util-linux" ,util-linux)))
     (inputs
      `(("alsa-lib" ,alsa-lib)
+       ("bc" ,bc)
        ("bluez" ,bluez)
        ("dbus" ,dbus)
        ("efl" ,efl)

From 74afaa37d5dec1a9d1b83951529ba69d8947fb07 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= 
Date: Sun, 20 Oct 2019 22:10:00 +0200
Subject: [PATCH 0375/1112] cve: Rewrite to read the JSON feed instead of the
 XML feed.

The XML feed was discontinued on Oct. 16th, 2019:

  

* guix/cve.scm (string->date*): New procedure.
(, , ): New record types.
(cpe-match->cve-configuration, configuration-data->cve-configurations)
(json->cve-items, version-matches?): New procedures.
(yearly-feed-uri): Change URL to refer to JSON feed.
(cpe->product-alist, %parse-vulnerability-feed)
(xml->vulnerabilities): Remove.
(cve-configuration->package-list, merge-package-lists)
(cve-item->vulnerability, json->vulnerabilities): New procedures.
(write-cache): Use 'json->vulnerabilities' instead of
'xml->vulnerabilities', and remove 'parameterize'.
(vulnerabilities->lookup-proc): Use 'version-matches?' when VERSION is
true.
* tests/cve.scm (%sample): Use 'tests/cve-sample.json'.
(%expected-vulnerabilities): Rewrite accordingly.
("json->cve-items", "cve-item-published-date")
("json->vulnerabilities"): New tests.
("xml->vulnerabilities"): Remove.
("vulnerabilities->lookup-proc"): Adjust to new vulnerabilities.
* tests/cve-sample.json: New file.
* tests/cve-sample.xml: Remove.
* Makefile.am (EXTRA_DIST): Adjust accordingly.
* doc/guix.texi (Invoking guix lint): Update nist.gov URLs.
---
 Makefile.am           |    2 +-
 doc/guix.texi         |    4 +-
 guix/cve.scm          |  376 ++++++++----
 tests/cve-sample.json | 1279 +++++++++++++++++++++++++++++++++++++++++
 tests/cve-sample.xml  |  616 --------------------
 tests/cve.scm         |   83 ++-
 6 files changed, 1605 insertions(+), 755 deletions(-)
 create mode 100644 tests/cve-sample.json
 delete mode 100644 tests/cve-sample.xml

diff --git a/Makefile.am b/Makefile.am
index 36767c2f47e..b1f33946c54 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -564,7 +564,7 @@ EXTRA_DIST +=						\
   tests/test.drv					\
   tests/signing-key.pub					\
   tests/signing-key.sec					\
-  tests/cve-sample.xml					\
+  tests/cve-sample.json					\
   build-aux/config.rpath				\
   bootstrap						\
   doc/build.scm						\
diff --git a/doc/guix.texi b/doc/guix.texi
index cb004d034df..746561ed97d 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -9484,7 +9484,7 @@ that limit has been reset.
 @cindex CVE, Common Vulnerabilities and Exposures
 Report known vulnerabilities found in the Common Vulnerabilities and
 Exposures (CVE) databases of the current and past year
-@uref{https://nvd.nist.gov/download.cfm#CVE_FEED, published by the US
+@uref{https://nvd.nist.gov/vuln/data-feeds, published by the US
 NIST}.
 
 To view information about a particular vulnerability, visit pages such as:
@@ -9501,7 +9501,7 @@ where @code{CVE-YYYY-ABCD} is the CVE identifier---e.g.,
 @code{CVE-2015-7554}.
 
 Package developers can specify in package recipes the
-@uref{https://nvd.nist.gov/cpe.cfm,Common Platform Enumeration (CPE)}
+@uref{https://nvd.nist.gov/products/cpe,Common Platform Enumeration (CPE)}
 name and version of the package when they differ from the name or version
 that Guix uses, as in this example:
 
diff --git a/guix/cve.scm b/guix/cve.scm
index 99754fa1f6e..903d94a8a61 100644
--- a/guix/cve.scm
+++ b/guix/cve.scm
@@ -1,5 +1,5 @@
 ;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2015, 2016, 2017, 2018 Ludovic Courtès 
+;;; Copyright © 2015, 2016, 2017, 2018, 2019 Ludovic Courtès 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -19,21 +19,43 @@
 (define-module (guix cve)
   #:use-module (guix utils)
   #:use-module (guix http-client)
-  #:use-module (sxml ssax)
+  #:use-module (guix json)
+  #:use-module (guix i18n)
+  #:use-module (json)
   #:use-module (web uri)
   #:use-module (srfi srfi-1)
   #:use-module (srfi srfi-9)
   #:use-module (srfi srfi-11)
   #:use-module (srfi srfi-19)
   #:use-module (srfi srfi-26)
+  #:use-module (srfi srfi-34)
+  #:use-module (srfi srfi-35)
   #:use-module (ice-9 match)
   #:use-module (ice-9 regex)
   #:use-module (ice-9 vlist)
-  #:export (vulnerability?
+  #:export (json->cve-items
+
+            cve-item?
+            cve-item-cve
+            cve-item-configurations
+            cve-item-published-date
+            cve-item-last-modified-date
+
+            cve?
+            cve-id
+            cve-data-type
+            cve-data-format
+            cvs-references
+
+            cve-reference?
+            cve-reference-url
+            cve-reference-tags
+
+            vulnerability?
             vulnerability-id
             vulnerability-packages
 
-            xml->vulnerabilities
+            json->vulnerabilities
             current-vulnerabilities
             vulnerabilities->lookup-proc))
 
@@ -41,15 +63,174 @@
 ;;;
 ;;; This modules provides the tools to fetch, parse, and digest part of the
 ;;; Common Vulnerabilities and Exposures (CVE) feeds provided by the US NIST
-;;; at .
+;;; at .
 ;;;
 ;;; Code:
 
-(define-record-type 
-  (vulnerability id packages)
-  vulnerability?
-  (id         vulnerability-id)                   ;string
-  (packages   vulnerability-packages))            ;((p1 v1 v2 v3) (p2 v1) ...)
+(define (string->date* str)
+  (string->date str "~Y-~m-~dT~H:~M~z"))
+
+(define-json-mapping  cve-item cve-item?
+  json->cve-item
+  (cve            cve-item-cve "cve" json->cve)   ;
+  (configurations cve-item-configurations         ;list of sexps
+                  "configurations" configuration-data->cve-configurations)
+  (published-date cve-item-published-date
+                  "publishedDate" string->date*)
+  (last-modified-date cve-item-last-modified-date
+                      "lastModifiedDate" string->date*))
+
+(define-json-mapping  cve cve?
+  json->cve
+  (id             cve-id "CVE_data_meta"          ;string
+                  (cut assoc-ref <> "ID"))
+  (data-type      cve-data-type                   ;'CVE
+                  "data_type" string->symbol)
+  (data-format    cve-data-format                 ;'MITRE
+                  "data_format" string->symbol)
+  (references     cve-item-references             ;list of 
+                  "references" reference-data->cve-references))
+
+(define-json-mapping  cve-reference cve-reference?
+  json->cve-reference
+  (url            cve-reference-url)              ;string
+  (tags           cve-reference-tags              ;list of strings
+                  "tags" vector->list))
+
+(define (reference-data->cve-references alist)
+  (map json->cve-reference
+       (vector->list (assoc-ref alist "reference_data"))))
+
+(define %cpe-package-rx
+  ;; For applications: "cpe:2.3:a:VENDOR:PACKAGE:VERSION", or sometimes
+  ;; "cpe:2.3:a:VENDOR:PACKAGE:VERSION:PATCH-LEVEL".
+  (make-regexp "^cpe:2\\.3:a:([^:]+):([^:]+):([^:]+):([^:]+):"))
+
+(define (cpe->package-name cpe)
+  "Converts the Common Platform Enumeration (CPE) string CPE to a package
+name, in a very naive way.  Return two values: the package name, and its
+version string.  Return #f and #f if CPE does not look like an application CPE
+string."
+  (cond ((regexp-exec %cpe-package-rx cpe)
+         =>
+         (lambda (matches)
+           (values (match:substring matches 2)
+                   (match (match:substring matches 3)
+                     ("*" '_)
+                     (version
+                      (string-append version
+                                     (match (match:substring matches 4)
+                                       ("" "")
+                                       (patch-level
+                                        ;; Drop the colon from things like
+                                        ;; "cpe:2.3:a:openbsd:openssh:6.8:p1".
+                                        (string-drop patch-level 1)))))))))
+        (else
+         (values #f #f))))
+
+(define (cpe-match->cve-configuration alist)
+  "Convert ALIST, a \"cpe_match\" alist, into an sexp representing the package
+and versions matched.  Return #f if ALIST doesn't correspond to an application
+package."
+  (let ((cpe    (assoc-ref alist "cpe23Uri"))
+        (starti (assoc-ref alist "versionStartIncluding"))
+        (starte (assoc-ref alist "versionStartExcluding"))
+        (endi   (assoc-ref alist "versionEndIncluding"))
+        (ende   (assoc-ref alist "versionEndExcluding")))
+    (let-values (((package version) (cpe->package-name cpe)))
+      (and package
+           `(,package
+              ,(cond ((and (or starti starte) (or endi ende))
+                      `(and ,(if starti `(>= ,starti) `(> ,starte))
+                            ,(if endi `(<= ,endi) `(< ,ende))))
+                     (starti `(>= ,starti))
+                     (starte `(> ,starte))
+                     (endi   `(<= ,endi))
+                     (ende   `(< ,ende))
+                     (else   version)))))))
+
+(define (configuration-data->cve-configurations alist)
+  "Given ALIST, a JSON dictionary for the baroque \"configurations\"
+element found in CVEs, return an sexp such as (\"binutils\" (<
+\"2.31\")) that represents matching configurations."
+  (define string->operator
+    (match-lambda
+      ("OR" 'or)
+      ("AND" 'and)))
+
+  (define (node->configuration node)
+    (let ((operator (string->operator (assoc-ref node "operator"))))
+      (cond
+       ((assoc-ref node "cpe_match")
+        =>
+        (lambda (matches)
+          (let ((matches (vector->list matches)))
+            (match (filter-map cpe-match->cve-configuration
+                               matches)
+              (()    #f)
+              ((one) one)
+              (lst   (cons operator lst))))))
+       ((assoc-ref node "children")               ;typically for 'and'
+        =>
+        (lambda (children)
+          (match (filter-map node->configuration (vector->list children))
+            (()    #f)
+            ((one) one)
+            (lst   (cons operator lst)))))
+       (else
+        #f))))
+
+  (let ((nodes (vector->list (assoc-ref alist "nodes"))))
+    (filter-map node->configuration nodes)))
+
+(define (json->cve-items json)
+  "Parse JSON, an input port or a string, and return a list of 
+records."
+  (let* ((alist   (json->scm json))
+         (type    (assoc-ref alist "CVE_data_type"))
+         (format  (assoc-ref alist "CVE_data_format"))
+         (version (assoc-ref alist "CVE_data_version")))
+    (unless (equal? type "CVE")
+      (raise (condition (&message
+                         (message "invalid CVE feed")))))
+    (unless (equal? format "MITRE")
+      (raise (condition
+              (&message
+               (message (format #f (G_ "unsupported CVE format: '~a'")
+                                format))))))
+    (unless (equal? version "4.0")
+      (raise (condition
+              (&message
+               (message (format #f (G_ "unsupported CVE data version: '~a'")
+                                version))))))
+
+    (map json->cve-item
+         (vector->list (assoc-ref alist "CVE_Items")))))
+
+(define (version-matches? version sexp)
+  "Return true if VERSION, a string, matches SEXP."
+  (match sexp
+    ('_
+     #t)
+    ((? string? expected)
+     (version-prefix? expected version))
+    (('or sexps ...)
+     (any (cut version-matches? version <>) sexps))
+    (('and sexps ...)
+     (every (cut version-matches? version <>) sexps))
+    (('< max)
+     (version>? max version))
+    (('<= max)
+     (version>=? max version))
+    (('> min)
+     (version>? version min))
+    (('>= min)
+     (version>=? version min))))
+
+
+;;;
+;;; High-level interface.
+;;;
 
 (define %now
   (current-date))
@@ -61,8 +242,8 @@
 (define (yearly-feed-uri year)
   "Return the URI for the CVE feed for YEAR."
   (string->uri
-   (string-append "https://nvd.nist.gov/feeds/xml/cve/nvdcve-2.0-"
-                  (number->string year) ".xml.gz")))
+   (string-append "https://nvd.nist.gov/feeds/json/cve/1.1/nvdcve-1.1-"
+                  (number->string year) ".json.gz")))
 
 (define %current-year-ttl
   ;; According to , feeds are
@@ -73,102 +254,11 @@
   ;; Update the previous year's database more and more infrequently.
   (* 3600 24 (date-month %now)))
 
-(define %cpe-package-rx
-  ;; For applications: "cpe:/a:VENDOR:PACKAGE:VERSION", or sometimes
-  ;; "cpe/a:VENDOR:PACKAGE:VERSION:PATCH-LEVEL".
-  (make-regexp "^cpe:/a:([^:]+):([^:]+):([^:]+)((:.+)?)"))
-
-(define (cpe->package-name cpe)
-  "Converts the Common Platform Enumeration (CPE) string CPE to a package
-name, in a very naive way.  Return two values: the package name, and its
-version string.  Return #f and #f if CPE does not look like an application CPE
-string."
-  (cond ((regexp-exec %cpe-package-rx (string-trim-both cpe))
-         =>
-         (lambda (matches)
-           (values (match:substring matches 2)
-                   (string-append (match:substring matches 3)
-                                  (match (match:substring matches 4)
-                                    ("" "")
-                                    (patch-level
-                                     ;; Drop the colon from things like
-                                     ;; "cpe:/a:openbsd:openssh:6.8:p1".
-                                     (string-drop patch-level 1)))))))
-        (else
-         (values #f #f))))
-
-(define (cpe->product-alist products)
-  "Given PRODUCTS, a list of CPE names, return the subset limited to the
-applications listed in PRODUCTS, with names converted to package names:
-
-  (cpe->product-alist
-    '(\"cpe:/a:gnu:libtasn1:4.7\" \"cpe:/a:gnu:libtasn1:4.6\" \"cpe:/a:gnu:cpio:2.11\"))
-  => ((\"libtasn1\" \"4.7\" \"4.6\") (\"cpio\" \"2.11\"))
-"
-  (fold (lambda (product result)
-          (let-values (((name version) (cpe->package-name product)))
-            (if name
-                (match result
-                  (((previous . versions) . tail)
-                   ;; Attempt to coalesce NAME and PREVIOUS.
-                   (if (string=? name previous)
-                       (alist-cons name (cons version versions) tail)
-                       (alist-cons name (list version) result)))
-                  (()
-                   (alist-cons name (list version) result)))
-                result)))
-        '()
-        (sort products string and return a list of
-  ;; vulnerability objects.
-  (ssax:make-parser NEW-LEVEL-SEED
-                    (lambda (elem-gi attributes namespaces expected-content
-                                     seed)
-                      (match elem-gi
-                        ((name-space . 'entry)
-                         (cons (assoc-ref attributes 'id) seed))
-                        ((name-space . 'vulnerable-software-list)
-                         (cons '() seed))
-                        ((name-space . 'product)
-                         (cons 'product seed))
-                        (x seed)))
-
-                    FINISH-ELEMENT
-                    (lambda (elem-gi attributes namespaces parent-seed
-                                     seed)
-                      (match elem-gi
-                        ((name-space . 'entry)
-                         (match seed
-                           (((? string? id) . rest)
-                            ;; Some entries have no vulnerable-software-list.
-                            rest)
-                           ((products id . rest)
-                            (match (cpe->product-alist products)
-                              (()
-                               ;; No application among PRODUCTS.
-                               rest)
-                              (packages
-                               (cons (vulnerability id packages)
-                                     rest))))))
-                        (x
-                         seed)))
-
-                    CHAR-DATA-HANDLER
-                    (lambda (str _ seed)
-                      (match seed
-                        (('product software-list . rest)
-                         ;; Add STR to the vulnerable software list this
-                         ;;  tag is part of.
-                         (cons (cons str software-list) rest))
-                        (x x)))))
-
-(define (xml->vulnerabilities port)
-  "Read from PORT an XML feed of vulnerabilities and return a list of
-vulnerability objects."
-  (reverse (%parse-vulnerability-feed port '())))
+(define-record-type 
+  (vulnerability id packages)
+  vulnerability?
+  (id         vulnerability-id)             ;string
+  (packages   vulnerability-packages))      ;((p1 sexp1) (p2 sexp2) ...)
 
 (define vulnerability->sexp
   (match-lambda
@@ -180,16 +270,70 @@ vulnerability objects."
     (('v id (packages ...))
      (vulnerability id packages))))
 
+(define (cve-configuration->package-list config)
+  "Parse CONFIG, a config sexp, and return a list of the form (P SEXP)
+where P is a package name and SEXP expresses constraints on the matching
+versions."
+  (let loop ((config config)
+             (packages '()))
+    (match config
+      (('or configs ...)
+       (fold loop packages configs))
+      (('and config _ ...)                        ;XXX
+       (loop config packages))
+      (((? string? package) '_)                   ;any version
+       (cons `(,package _)
+             (alist-delete package packages)))
+      (((? string? package) sexp)
+       (let ((previous (assoc-ref packages package)))
+         (if previous
+             (cons `(,package (or ,sexp ,@previous))
+                   (alist-delete package packages))
+             (cons `(,package ,sexp) packages)))))))
+
+(define (merge-package-lists lst)
+  "Merge the list in LST, each of which has the form (p sexp), where P
+is the name of a package and SEXP is an sexp that constrains matching
+versions."
+  (fold (lambda (plist result)                    ;XXX: quadratic
+          (fold (match-lambda*
+                  (((package version) result)
+                   (match (assoc-ref result package)
+                     (#f
+                      (cons `(,package ,version) result))
+                     ((previous)
+                      (cons `(,package (or ,version ,previous))
+                            (alist-delete package result))))))
+                result
+                plist))
+        '()
+        lst))
+
+(define (cve-item->vulnerability item)
+  "Return a  corresponding to ITEM, a  record;
+return #f if ITEM does not list any configuration or if it does not list
+any \"a\" (application) configuration."
+  (let ((id (cve-id (cve-item-cve item))))
+    (match (cve-item-configurations item)
+      (()                                         ;no configurations
+       #f)
+      ((configs ...)
+       (vulnerability id
+                      (merge-package-lists
+                       (map cve-configuration->package-list configs)))))))
+
+(define (json->vulnerabilities json)
+  "Parse JSON, an input port or a string, and return the list of
+vulnerabilities found therein."
+  (filter-map cve-item->vulnerability (json->cve-items json)))
+
 (define (write-cache input cache)
-  "Read vulnerabilities as gzipped XML from INPUT, and write it as a compact
+  "Read vulnerabilities as gzipped JSON from INPUT, and write it as a compact
 sexp to CACHE."
   (call-with-decompressed-port 'gzip input
     (lambda (input)
-      ;; XXX: The SSAX "error port" is used to send pointless warnings such as
-      ;; "warning: Skipping PI".  Turn that off.
       (define vulns
-        (parameterize ((current-ssax-error-port (%make-void-port "w")))
-          (xml->vulnerabilities input)))
+        (json->vulnerabilities input))
 
       (write `(vulnerabilities
                1                                  ;format version
@@ -215,7 +359,7 @@ the given TTL (fetch from the NIST web site when TTL has expired)."
         (lambda ()
           (read-options options)))))
 
-  ;; Note: We used to keep the original XML files in cache but parsing it
+  ;; Note: We used to keep the original JSON files in cache but parsing it
   ;; would take typically ~15s for a year of data.  Thus, we instead store a
   ;; summarized version thereof as an sexp, which can be parsed in 1s or so.
   (let* ((port (http-fetch/cached (yearly-feed-uri year)
@@ -269,8 +413,8 @@ vulnerabilities affecting the given package version."
     (vhash-fold* (if version
                      (lambda (pair result)
                        (match pair
-                         ((vuln . versions)
-                          (if (member version versions)
+                         ((vuln sexp)
+                          (if (version-matches? version sexp)
                               (cons vuln result)
                               result))))
                      (lambda (pair result)
diff --git a/tests/cve-sample.json b/tests/cve-sample.json
new file mode 100644
index 00000000000..39816f9dd47
--- /dev/null
+++ b/tests/cve-sample.json
@@ -0,0 +1,1279 @@
+{
+  "CVE_data_type" : "CVE",
+  "CVE_data_format" : "MITRE",
+  "CVE_data_version" : "4.0",
+  "CVE_data_numberOfCVEs" : "9826",
+  "CVE_data_timestamp" : "2019-10-17T07:00Z",
+  "CVE_Items" : [ {
+    "cve" : {
+      "data_type" : "CVE",
+      "data_format" : "MITRE",
+      "data_version" : "4.0",
+      "CVE_data_meta" : {
+        "ID" : "CVE-2019-0001",
+        "ASSIGNER" : "cve@mitre.org"
+      },
+      "problemtype" : {
+        "problemtype_data" : [ {
+          "description" : [ {
+            "lang" : "en",
+            "value" : "CWE-400"
+          } ]
+        } ]
+      },
+      "references" : {
+        "reference_data" : [ {
+          "url" : "http://www.securityfocus.com/bid/106541",
+          "name" : "106541",
+          "refsource" : "BID",
+          "tags" : [ "Third Party Advisory", "VDB Entry" ]
+        }, {
+          "url" : "https://kb.juniper.net/JSA10900",
+          "name" : "https://kb.juniper.net/JSA10900",
+          "refsource" : "CONFIRM",
+          "tags" : [ "Vendor Advisory" ]
+        } ]
+      },
+      "description" : {
+        "description_data" : [ {
+          "lang" : "en",
+          "value" : "Receipt of a malformed packet on MX Series devices with dynamic vlan configuration can trigger an uncontrolled recursion loop in the Broadband Edge subscriber management daemon (bbe-smgd), and lead to high CPU usage and a crash of the bbe-smgd service. Repeated receipt of the same packet can result in an extended denial of service condition for the device. Affected releases are Juniper Networks Junos OS: 16.1 versions prior to 16.1R7-S1; 16.2 versions prior to 16.2R2-S7; 17.1 versions prior to 17.1R2-S10, 17.1R3; 17.2 versions prior to 17.2R3; 17.3 versions prior to 17.3R3-S1; 17.4 versions prior to 17.4R2; 18.1 versions prior to 18.1R3; 18.2 versions prior to 18.2R2."
+        } ]
+      }
+    },
+    "configurations" : {
+      "CVE_data_version" : "4.0",
+      "nodes" : [ {
+        "operator" : "OR",
+        "cpe_match" : [ {
+          "vulnerable" : true,
+          "cpe23Uri" : "cpe:2.3:o:juniper:junos:16.1:*:*:*:*:*:*:*"
+        } ]
+      } {
+        "operator" : "OR",
+        "cpe_match" : [ {
+          "vulnerable" : true,
+          "cpe23Uri" : "cpe:2.3:o:juniper:junos:16.2:*:*:*:*:*:*:*"
+        }  ]
+      }, {
+        "operator" : "OR",
+        "cpe_match" : [ {
+          "vulnerable" : true,
+          "cpe23Uri" : "cpe:2.3:o:juniper:junos:17.1:*:*:*:*:*:*:*"
+        }, {
+          "vulnerable" : true,
+          "cpe23Uri" : "cpe:2.3:o:juniper:junos:17.1:r1:*:*:*:*:*:*"
+        }, {
+          "vulnerable" : true,
+          "cpe23Uri" : "cpe:2.3:o:juniper:junos:17.1:r2:*:*:*:*:*:*"
+        } ]
+      }, {
+        "operator" : "OR",
+        "cpe_match" : [ {
+          "vulnerable" : true,
+          "cpe23Uri" : "cpe:2.3:a:juniper:junos:18.2:*:*:*:*:*:*:*"
+        }, {
+          "vulnerable" : true,
+          "cpe23Uri" : "cpe:2.3:a:juniper:junos:18.2:r1-s3:*:*:*:*:*:*"
+        }, {
+          "vulnerable" : true,
+          "cpe23Uri" : "cpe:2.3:a:juniper:junos:18.2:r1-s4:*:*:*:*:*:*"
+        } ]
+      } ]
+    },
+    "impact" : {
+      "baseMetricV3" : {
+        "cvssV3" : {
+          "version" : "3.0",
+          "vectorString" : "CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H",
+          "attackVector" : "NETWORK",
+          "attackComplexity" : "HIGH",
+          "privilegesRequired" : "NONE",
+          "userInteraction" : "NONE",
+          "scope" : "UNCHANGED",
+          "confidentialityImpact" : "NONE",
+          "integrityImpact" : "NONE",
+          "availabilityImpact" : "HIGH",
+          "baseScore" : 5.9,
+          "baseSeverity" : "MEDIUM"
+        },
+        "exploitabilityScore" : 2.2,
+        "impactScore" : 3.6
+      },
+      "baseMetricV2" : {
+        "cvssV2" : {
+          "version" : "2.0",
+          "vectorString" : "AV:N/AC:M/Au:N/C:N/I:N/A:C",
+          "accessVector" : "NETWORK",
+          "accessComplexity" : "MEDIUM",
+          "authentication" : "NONE",
+          "confidentialityImpact" : "NONE",
+          "integrityImpact" : "NONE",
+          "availabilityImpact" : "COMPLETE",
+          "baseScore" : 7.1
+        },
+        "severity" : "HIGH",
+        "exploitabilityScore" : 8.6,
+        "impactScore" : 6.9,
+        "acInsufInfo" : false,
+        "obtainAllPrivilege" : false,
+        "obtainUserPrivilege" : false,
+        "obtainOtherPrivilege" : false,
+        "userInteractionRequired" : false
+      }
+    },
+    "publishedDate" : "2019-01-15T21:29Z",
+    "lastModifiedDate" : "2019-10-09T23:43Z"
+  }, {
+    "cve" : {
+      "data_type" : "CVE",
+      "data_format" : "MITRE",
+      "data_version" : "4.0",
+      "CVE_data_meta" : {
+        "ID" : "CVE-2019-0005",
+        "ASSIGNER" : "cve@mitre.org"
+      },
+      "problemtype" : {
+        "problemtype_data" : [ {
+          "description" : [ {
+            "lang" : "en",
+            "value" : "CWE-400"
+          } ]
+        } ]
+      },
+      "references" : {
+        "reference_data" : [ {
+          "url" : "http://www.securityfocus.com/bid/106665",
+          "name" : "106665",
+          "refsource" : "BID",
+          "tags" : [ "Third Party Advisory" ]
+        }, {
+          "url" : "https://kb.juniper.net/JSA10905",
+          "name" : "https://kb.juniper.net/JSA10905",
+          "refsource" : "CONFIRM",
+          "tags" : [ "Vendor Advisory" ]
+        } ]
+      },
+      "description" : {
+        "description_data" : [ {
+          "lang" : "en",
+          "value" : "On EX2300, EX3400, EX4600, QFX3K and QFX5K series, firewall filter configuration cannot perform packet matching on any IPv6 extension headers. This issue may allow IPv6 packets that should have been blocked to be forwarded. IPv4 packet filtering is unaffected by this vulnerability. Affected releases are Juniper Networks Junos OS on EX and QFX series;: 14.1X53 versions prior to 14.1X53-D47; 15.1 versions prior to 15.1R7; 15.1X53 versions prior to 15.1X53-D234 on QFX5200/QFX5110 series; 15.1X53 versions prior to 15.1X53-D591 on EX2300/EX3400 series; 16.1 versions prior to 16.1R7; 17.1 versions prior to 17.1R2-S10, 17.1R3; 17.2 versions prior to 17.2R3; 17.3 versions prior to 17.3R3; 17.4 versions prior to 17.4R2; 18.1 versions prior to 18.1R2."
+        } ]
+      }
+    },
+    "configurations" : {
+      "CVE_data_version" : "4.0",
+      "nodes" : [ {
+        "operator" : "AND",
+        "children" : [ {
+          "operator" : "OR",
+          "cpe_match" : [ {
+            "vulnerable" : true,
+            "cpe23Uri" : "cpe:2.3:o:juniper:junos:14.1x53:*:*:*:*:*:*:*"
+          }, {
+            "vulnerable" : true,
+            "cpe23Uri" : "cpe:2.3:o:juniper:junos:14.1x53:d10:*:*:*:*:*:*"
+          }, {
+            "vulnerable" : true,
+            "cpe23Uri" : "cpe:2.3:o:juniper:junos:14.1x53:d15:*:*:*:*:*:*"
+          }, {
+            "vulnerable" : true,
+            "cpe23Uri" : "cpe:2.3:o:juniper:junos:14.1x53:d16:*:*:*:*:*:*"
+          }, {
+            "vulnerable" : true,
+            "cpe23Uri" : "cpe:2.3:o:juniper:junos:14.1x53:d25:*:*:*:*:*:*"
+          }, {
+            "vulnerable" : true,
+            "cpe23Uri" : "cpe:2.3:o:juniper:junos:14.1x53:d26:*:*:*:*:*:*"
+          }, {
+            "vulnerable" : true,
+            "cpe23Uri" : "cpe:2.3:o:juniper:junos:14.1x53:d27:*:*:*:*:*:*"
+          }, {
+            "vulnerable" : true,
+            "cpe23Uri" : "cpe:2.3:o:juniper:junos:14.1x53:d30:*:*:*:*:*:*"
+          }, {
+            "vulnerable" : true,
+            "cpe23Uri" : "cpe:2.3:o:juniper:junos:14.1x53:d35:*:*:*:*:*:*"
+          }, {
+            "vulnerable" : true,
+            "cpe23Uri" : "cpe:2.3:o:juniper:junos:14.1x53:d40:*:*:*:*:*:*"
+          }, {
+            "vulnerable" : true,
+            "cpe23Uri" : "cpe:2.3:o:juniper:junos:14.1x53:d42:*:*:*:*:*:*"
+          }, {
+            "vulnerable" : true,
+            "cpe23Uri" : "cpe:2.3:o:juniper:junos:14.1x53:d43:*:*:*:*:*:*"
+          }, {
+            "vulnerable" : true,
+            "cpe23Uri" : "cpe:2.3:o:juniper:junos:14.1x53:d44:*:*:*:*:*:*"
+          }, {
+            "vulnerable" : true,
+            "cpe23Uri" : "cpe:2.3:o:juniper:junos:14.1x53:d45:*:*:*:*:*:*"
+          }, {
+            "vulnerable" : true,
+            "cpe23Uri" : "cpe:2.3:o:juniper:junos:14.1x53:d46:*:*:*:*:*:*"
+          } ]
+        }, {
+          "operator" : "OR",
+          "cpe_match" : [ {
+            "vulnerable" : false,
+            "cpe23Uri" : "cpe:2.3:h:juniper:ex2300:-:*:*:*:*:*:*:*"
+          }, {
+            "vulnerable" : false,
+            "cpe23Uri" : "cpe:2.3:h:juniper:ex2300-c:-:*:*:*:*:*:*:*"
+          }, {
+            "vulnerable" : false,
+            "cpe23Uri" : "cpe:2.3:h:juniper:ex3400:-:*:*:*:*:*:*:*"
+          }, {
+            "vulnerable" : false,
+            "cpe23Uri" : "cpe:2.3:h:juniper:ex4600:-:*:*:*:*:*:*:*"
+          }, {
+            "vulnerable" : false,
+            "cpe23Uri" : "cpe:2.3:h:juniper:ex4650:-:*:*:*:*:*:*:*"
+          }, {
+            "vulnerable" : false,
+            "cpe23Uri" : "cpe:2.3:h:juniper:qfx3500:-:*:*:*:*:*:*:*"
+          }, {
+            "vulnerable" : false,
+            "cpe23Uri" : "cpe:2.3:h:juniper:qfx3600:-:*:*:*:*:*:*:*"
+          }, {
+            "vulnerable" : false,
+            "cpe23Uri" : "cpe:2.3:h:juniper:qfx5100:-:*:*:*:*:*:*:*"
+          }, {
+            "vulnerable" : false,
+            "cpe23Uri" : "cpe:2.3:h:juniper:qfx5110:-:*:*:*:*:*:*:*"
+          }, {
+            "vulnerable" : false,
+            "cpe23Uri" : "cpe:2.3:h:juniper:qfx5120:-:*:*:*:*:*:*:*"
+          }, {
+            "vulnerable" : false,
+            "cpe23Uri" : "cpe:2.3:h:juniper:qfx5200:-:*:*:*:*:*:*:*"
+          }, {
+            "vulnerable" : false,
+            "cpe23Uri" : "cpe:2.3:h:juniper:qfx5210:-:*:*:*:*:*:*:*"
+          } ]
+        } ]
+      }, {
+        "operator" : "AND",
+        "children" : [ {
+          "operator" : "OR",
+          "cpe_match" : [ {
+            "vulnerable" : true,
+            "cpe23Uri" : "cpe:2.3:o:juniper:junos:15.1:*:*:*:*:*:*:*"
+          }, {
+            "vulnerable" : true,
+            "cpe23Uri" : "cpe:2.3:o:juniper:junos:15.1:r1:*:*:*:*:*:*"
+          }, {
+            "vulnerable" : true,
+            "cpe23Uri" : "cpe:2.3:o:juniper:junos:15.1:r2:*:*:*:*:*:*"
+          }, {
+            "vulnerable" : true,
+            "cpe23Uri" : "cpe:2.3:o:juniper:junos:15.1:r3:*:*:*:*:*:*"
+          }, {
+            "vulnerable" : true,
+            "cpe23Uri" : "cpe:2.3:o:juniper:junos:15.1:r4:*:*:*:*:*:*"
+          }, {
+            "vulnerable" : true,
+            "cpe23Uri" : "cpe:2.3:o:juniper:junos:15.1:r5:*:*:*:*:*:*"
+          }, {
+            "vulnerable" : true,
+            "cpe23Uri" : "cpe:2.3:o:juniper:junos:15.1:r6:*:*:*:*:*:*"
+          } ]
+        }, {
+          "operator" : "OR",
+          "cpe_match" : [ {
+            "vulnerable" : false,
+            "cpe23Uri" : "cpe:2.3:h:juniper:ex2300:-:*:*:*:*:*:*:*"
+          }, {
+            "vulnerable" : false,
+            "cpe23Uri" : "cpe:2.3:h:juniper:ex2300-c:-:*:*:*:*:*:*:*"
+          }, {
+            "vulnerable" : false,
+            "cpe23Uri" : "cpe:2.3:h:juniper:ex3400:-:*:*:*:*:*:*:*"
+          }, {
+            "vulnerable" : false,
+            "cpe23Uri" : "cpe:2.3:h:juniper:ex4600:-:*:*:*:*:*:*:*"
+          }, {
+            "vulnerable" : false,
+            "cpe23Uri" : "cpe:2.3:h:juniper:ex4650:-:*:*:*:*:*:*:*"
+          }, {
+            "vulnerable" : false,
+            "cpe23Uri" : "cpe:2.3:h:juniper:qfx3500:-:*:*:*:*:*:*:*"
+          }, {
+            "vulnerable" : false,
+            "cpe23Uri" : "cpe:2.3:h:juniper:qfx3600:-:*:*:*:*:*:*:*"
+          }, {
+            "vulnerable" : false,
+            "cpe23Uri" : "cpe:2.3:h:juniper:qfx5100:-:*:*:*:*:*:*:*"
+          }, {
+            "vulnerable" : false,
+            "cpe23Uri" : "cpe:2.3:h:juniper:qfx5110:-:*:*:*:*:*:*:*"
+          }, {
+            "vulnerable" : false,
+            "cpe23Uri" : "cpe:2.3:h:juniper:qfx5120:-:*:*:*:*:*:*:*"
+          }, {
+            "vulnerable" : false,
+            "cpe23Uri" : "cpe:2.3:h:juniper:qfx5200:-:*:*:*:*:*:*:*"
+          }, {
+            "vulnerable" : false,
+            "cpe23Uri" : "cpe:2.3:h:juniper:qfx5210:-:*:*:*:*:*:*:*"
+          } ]
+        } ]
+      }, {
+        "operator" : "AND",
+        "children" : [ {
+          "operator" : "OR",
+          "cpe_match" : [ {
+            "vulnerable" : true,
+            "cpe23Uri" : "cpe:2.3:o:juniper:junos:15.1x53:*:*:*:*:*:*:*"
+          }, {
+            "vulnerable" : true,
+            "cpe23Uri" : "cpe:2.3:o:juniper:junos:15.1x53:d20:*:*:*:*:*:*"
+          }, {
+            "vulnerable" : true,
+            "cpe23Uri" : "cpe:2.3:o:juniper:junos:15.1x53:d21:*:*:*:*:*:*"
+          }, {
+            "vulnerable" : true,
+            "cpe23Uri" : "cpe:2.3:o:juniper:junos:15.1x53:d30:*:*:*:*:*:*"
+          }, {
+            "vulnerable" : true,
+            "cpe23Uri" : "cpe:2.3:o:juniper:junos:15.1x53:d32:*:*:*:*:*:*"
+          }, {
+            "vulnerable" : true,
+            "cpe23Uri" : "cpe:2.3:o:juniper:junos:15.1x53:d33:*:*:*:*:*:*"
+          }, {
+            "vulnerable" : true,
+            "cpe23Uri" : "cpe:2.3:o:juniper:junos:15.1x53:d34:*:*:*:*:*:*"
+          }, {
+            "vulnerable" : true,
+            "cpe23Uri" : "cpe:2.3:o:juniper:junos:15.1x53:d50:*:*:*:*:*:*"
+          }, {
+            "vulnerable" : true,
+            "cpe23Uri" : "cpe:2.3:o:juniper:junos:15.1x53:d51:*:*:*:*:*:*"
+          }, {
+            "vulnerable" : true,
+            "cpe23Uri" : "cpe:2.3:o:juniper:junos:15.1x53:d52:*:*:*:*:*:*"
+          } ]
+        }, {
+          "operator" : "OR",
+          "cpe_match" : [ {
+            "vulnerable" : false,
+            "cpe23Uri" : "cpe:2.3:h:juniper:qfx5110:-:*:*:*:*:*:*:*"
+          }, {
+            "vulnerable" : false,
+            "cpe23Uri" : "cpe:2.3:h:juniper:qfx5200:-:*:*:*:*:*:*:*"
+          } ]
+        } ]
+      }, {
+        "operator" : "AND",
+        "children" : [ {
+          "operator" : "OR",
+          "cpe_match" : [ {
+            "vulnerable" : true,
+            "cpe23Uri" : "cpe:2.3:o:juniper:junos:15.1x53:*:*:*:*:*:*:*"
+          }, {
+            "vulnerable" : true,
+            "cpe23Uri" : "cpe:2.3:o:juniper:junos:15.1x53:d20:*:*:*:*:*:*"
+          }, {
+            "vulnerable" : true,
+            "cpe23Uri" : "cpe:2.3:o:juniper:junos:15.1x53:d21:*:*:*:*:*:*"
+          }, {
+            "vulnerable" : true,
+            "cpe23Uri" : "cpe:2.3:o:juniper:junos:15.1x53:d210:*:*:*:*:*:*"
+          }, {
+            "vulnerable" : true,
+            "cpe23Uri" : "cpe:2.3:o:juniper:junos:15.1x53:d230:*:*:*:*:*:*"
+          }, {
+            "vulnerable" : true,
+            "cpe23Uri" : "cpe:2.3:o:juniper:junos:15.1x53:d234:*:*:*:*:*:*"
+          }, {
+            "vulnerable" : true,
+            "cpe23Uri" : "cpe:2.3:o:juniper:junos:15.1x53:d30:*:*:*:*:*:*"
+          }, {
+            "vulnerable" : true,
+            "cpe23Uri" : "cpe:2.3:o:juniper:junos:15.1x53:d32:*:*:*:*:*:*"
+          }, {
+            "vulnerable" : true,
+            "cpe23Uri" : "cpe:2.3:o:juniper:junos:15.1x53:d33:*:*:*:*:*:*"
+          }, {
+            "vulnerable" : true,
+            "cpe23Uri" : "cpe:2.3:o:juniper:junos:15.1x53:d34:*:*:*:*:*:*"
+          }, {
+            "vulnerable" : true,
+            "cpe23Uri" : "cpe:2.3:o:juniper:junos:15.1x53:d50:*:*:*:*:*:*"
+          }, {
+            "vulnerable" : true,
+            "cpe23Uri" : "cpe:2.3:o:juniper:junos:15.1x53:d51:*:*:*:*:*:*"
+          }, {
+            "vulnerable" : true,
+            "cpe23Uri" : "cpe:2.3:o:juniper:junos:15.1x53:d52:*:*:*:*:*:*"
+          }, {
+            "vulnerable" : true,
+            "cpe23Uri" : "cpe:2.3:o:juniper:junos:15.1x53:d55:*:*:*:*:*:*"
+          }, {
+            "vulnerable" : true,
+            "cpe23Uri" : "cpe:2.3:o:juniper:junos:15.1x53:d57:*:*:*:*:*:*"
+          }, {
+            "vulnerable" : true,
+            "cpe23Uri" : "cpe:2.3:o:juniper:junos:15.1x53:d58:*:*:*:*:*:*"
+          }, {
+            "vulnerable" : true,
+            "cpe23Uri" : "cpe:2.3:o:juniper:junos:15.1x53:d59:*:*:*:*:*:*"
+          }, {
+            "vulnerable" : true,
+            "cpe23Uri" : "cpe:2.3:o:juniper:junos:15.1x53:d590:*:*:*:*:*:*"
+          } ]
+        }, {
+          "operator" : "OR",
+          "cpe_match" : [ {
+            "vulnerable" : false,
+            "cpe23Uri" : "cpe:2.3:h:juniper:qfx5110:-:*:*:*:*:*:*:*"
+          }, {
+            "vulnerable" : false,
+            "cpe23Uri" : "cpe:2.3:h:juniper:qfx5200:-:*:*:*:*:*:*:*"
+          } ]
+        } ]
+      }, {
+        "operator" : "AND",
+        "children" : [ {
+          "operator" : "OR",
+          "cpe_match" : [ {
+            "vulnerable" : true,
+            "cpe23Uri" : "cpe:2.3:o:juniper:junos:16.1:*:*:*:*:*:*:*"
+          }, {
+            "vulnerable" : true,
+            "cpe23Uri" : "cpe:2.3:o:juniper:junos:16.1:r1:*:*:*:*:*:*"
+          }, {
+            "vulnerable" : true,
+            "cpe23Uri" : "cpe:2.3:o:juniper:junos:16.1:r2:*:*:*:*:*:*"
+          }, {
+            "vulnerable" : true,
+            "cpe23Uri" : "cpe:2.3:o:juniper:junos:16.1:r3:*:*:*:*:*:*"
+          }, {
+            "vulnerable" : true,
+            "cpe23Uri" : "cpe:2.3:o:juniper:junos:16.1:r3-s10:*:*:*:*:*:*"
+          }, {
+            "vulnerable" : true,
+            "cpe23Uri" : "cpe:2.3:o:juniper:junos:16.1:r4:*:*:*:*:*:*"
+          }, {
+            "vulnerable" : true,
+            "cpe23Uri" : "cpe:2.3:o:juniper:junos:16.1:r5:*:*:*:*:*:*"
+          }, {
+            "vulnerable" : true,
+            "cpe23Uri" : "cpe:2.3:o:juniper:junos:16.1:r6:*:*:*:*:*:*"
+          }, {
+            "vulnerable" : true,
+            "cpe23Uri" : "cpe:2.3:o:juniper:junos:16.1:r6-s6:*:*:*:*:*:*"
+          }, {
+            "vulnerable" : true,
+            "cpe23Uri" : "cpe:2.3:o:juniper:junos:16.1:r7:*:*:*:*:*:*"
+          } ]
+        }, {
+          "operator" : "OR",
+          "cpe_match" : [ {
+            "vulnerable" : false,
+            "cpe23Uri" : "cpe:2.3:h:juniper:ex2300:-:*:*:*:*:*:*:*"
+          }, {
+            "vulnerable" : false,
+            "cpe23Uri" : "cpe:2.3:h:juniper:ex2300-c:-:*:*:*:*:*:*:*"
+          }, {
+            "vulnerable" : false,
+            "cpe23Uri" : "cpe:2.3:h:juniper:ex3400:-:*:*:*:*:*:*:*"
+          }, {
+            "vulnerable" : false,
+            "cpe23Uri" : "cpe:2.3:h:juniper:ex4600:-:*:*:*:*:*:*:*"
+          }, {
+            "vulnerable" : false,
+            "cpe23Uri" : "cpe:2.3:h:juniper:ex4650:-:*:*:*:*:*:*:*"
+          }, {
+            "vulnerable" : false,
+            "cpe23Uri" : "cpe:2.3:h:juniper:qfx3500:-:*:*:*:*:*:*:*"
+          }, {
+            "vulnerable" : false,
+            "cpe23Uri" : "cpe:2.3:h:juniper:qfx3600:-:*:*:*:*:*:*:*"
+          }, {
+            "vulnerable" : false,
+            "cpe23Uri" : "cpe:2.3:h:juniper:qfx5100:-:*:*:*:*:*:*:*"
+          }, {
+            "vulnerable" : false,
+            "cpe23Uri" : "cpe:2.3:h:juniper:qfx5110:-:*:*:*:*:*:*:*"
+          }, {
+            "vulnerable" : false,
+            "cpe23Uri" : "cpe:2.3:h:juniper:qfx5120:-:*:*:*:*:*:*:*"
+          }, {
+            "vulnerable" : false,
+            "cpe23Uri" : "cpe:2.3:h:juniper:qfx5200:-:*:*:*:*:*:*:*"
+          }, {
+            "vulnerable" : false,
+            "cpe23Uri" : "cpe:2.3:h:juniper:qfx5210:-:*:*:*:*:*:*:*"
+          } ]
+        } ]
+      }, {
+        "operator" : "AND",
+        "children" : [ {
+          "operator" : "OR",
+          "cpe_match" : [ {
+            "vulnerable" : true,
+            "cpe23Uri" : "cpe:2.3:o:juniper:junos:17.1:*:*:*:*:*:*:*"
+          }, {
+            "vulnerable" : true,
+            "cpe23Uri" : "cpe:2.3:o:juniper:junos:17.1:r1:*:*:*:*:*:*"
+          } ]
+        }, {
+          "operator" : "OR",
+          "cpe_match" : [ {
+            "vulnerable" : false,
+            "cpe23Uri" : "cpe:2.3:h:juniper:ex2300:-:*:*:*:*:*:*:*"
+          }, {
+            "vulnerable" : false,
+            "cpe23Uri" : "cpe:2.3:h:juniper:ex2300-c:-:*:*:*:*:*:*:*"
+          }, {
+            "vulnerable" : false,
+            "cpe23Uri" : "cpe:2.3:h:juniper:ex3400:-:*:*:*:*:*:*:*"
+          }, {
+            "vulnerable" : false,
+            "cpe23Uri" : "cpe:2.3:h:juniper:ex4600:-:*:*:*:*:*:*:*"
+          }, {
+            "vulnerable" : false,
+            "cpe23Uri" : "cpe:2.3:h:juniper:ex4650:-:*:*:*:*:*:*:*"
+          }, {
+            "vulnerable" : false,
+            "cpe23Uri" : "cpe:2.3:h:juniper:qfx3500:-:*:*:*:*:*:*:*"
+          }, {
+            "vulnerable" : false,
+            "cpe23Uri" : "cpe:2.3:h:juniper:qfx3600:-:*:*:*:*:*:*:*"
+          }, {
+            "vulnerable" : false,
+            "cpe23Uri" : "cpe:2.3:h:juniper:qfx5100:-:*:*:*:*:*:*:*"
+          }, {
+            "vulnerable" : false,
+            "cpe23Uri" : "cpe:2.3:h:juniper:qfx5110:-:*:*:*:*:*:*:*"
+          }, {
+            "vulnerable" : false,
+            "cpe23Uri" : "cpe:2.3:h:juniper:qfx5120:-:*:*:*:*:*:*:*"
+          }, {
+            "vulnerable" : false,
+            "cpe23Uri" : "cpe:2.3:h:juniper:qfx5200:-:*:*:*:*:*:*:*"
+          }, {
+            "vulnerable" : false,
+            "cpe23Uri" : "cpe:2.3:h:juniper:qfx5210:-:*:*:*:*:*:*:*"
+          } ]
+        } ]
+      }, {
+        "operator" : "AND",
+        "children" : [ {
+          "operator" : "OR",
+          "cpe_match" : [ {
+            "vulnerable" : true,
+            "cpe23Uri" : "cpe:2.3:o:juniper:junos:17.2:*:*:*:*:*:*:*"
+          }, {
+            "vulnerable" : true,
+            "cpe23Uri" : "cpe:2.3:o:juniper:junos:17.2:r1:*:*:*:*:*:*"
+          }, {
+            "vulnerable" : true,
+            "cpe23Uri" : "cpe:2.3:o:juniper:junos:17.2:r1-s7:*:*:*:*:*:*"
+          }, {
+            "vulnerable" : true,
+            "cpe23Uri" : "cpe:2.3:o:juniper:junos:17.2:r2:*:*:*:*:*:*"
+          } ]
+        }, {
+          "operator" : "OR",
+          "cpe_match" : [ {
+            "vulnerable" : false,
+            "cpe23Uri" : "cpe:2.3:h:juniper:ex2300:-:*:*:*:*:*:*:*"
+          }, {
+            "vulnerable" : false,
+            "cpe23Uri" : "cpe:2.3:h:juniper:ex2300-c:-:*:*:*:*:*:*:*"
+          }, {
+            "vulnerable" : false,
+            "cpe23Uri" : "cpe:2.3:h:juniper:ex3400:-:*:*:*:*:*:*:*"
+          }, {
+            "vulnerable" : false,
+            "cpe23Uri" : "cpe:2.3:h:juniper:ex4600:-:*:*:*:*:*:*:*"
+          }, {
+            "vulnerable" : false,
+            "cpe23Uri" : "cpe:2.3:h:juniper:ex4650:-:*:*:*:*:*:*:*"
+          }, {
+            "vulnerable" : false,
+            "cpe23Uri" : "cpe:2.3:h:juniper:qfx3500:-:*:*:*:*:*:*:*"
+          }, {
+            "vulnerable" : false,
+            "cpe23Uri" : "cpe:2.3:h:juniper:qfx3600:-:*:*:*:*:*:*:*"
+          }, {
+            "vulnerable" : false,
+            "cpe23Uri" : "cpe:2.3:h:juniper:qfx5100:-:*:*:*:*:*:*:*"
+          }, {
+            "vulnerable" : false,
+            "cpe23Uri" : "cpe:2.3:h:juniper:qfx5110:-:*:*:*:*:*:*:*"
+          }, {
+            "vulnerable" : false,
+            "cpe23Uri" : "cpe:2.3:h:juniper:qfx5120:-:*:*:*:*:*:*:*"
+          }, {
+            "vulnerable" : false,
+            "cpe23Uri" : "cpe:2.3:h:juniper:qfx5200:-:*:*:*:*:*:*:*"
+          }, {
+            "vulnerable" : false,
+            "cpe23Uri" : "cpe:2.3:h:juniper:qfx5210:-:*:*:*:*:*:*:*"
+          } ]
+        } ]
+      }, {
+        "operator" : "AND",
+        "children" : [ {
+          "operator" : "OR",
+          "cpe_match" : [ {
+            "vulnerable" : true,
+            "cpe23Uri" : "cpe:2.3:o:juniper:junos:17.3:*:*:*:*:*:*:*"
+          }, {
+            "vulnerable" : true,
+            "cpe23Uri" : "cpe:2.3:o:juniper:junos:17.3:r1:*:*:*:*:*:*"
+          }, {
+            "vulnerable" : true,
+            "cpe23Uri" : "cpe:2.3:o:juniper:junos:17.3:r2:*:*:*:*:*:*"
+          } ]
+        }, {
+          "operator" : "OR",
+          "cpe_match" : [ {
+            "vulnerable" : false,
+            "cpe23Uri" : "cpe:2.3:h:juniper:ex2300:-:*:*:*:*:*:*:*"
+          }, {
+            "vulnerable" : false,
+            "cpe23Uri" : "cpe:2.3:h:juniper:ex2300-c:-:*:*:*:*:*:*:*"
+          }, {
+            "vulnerable" : false,
+            "cpe23Uri" : "cpe:2.3:h:juniper:ex3400:-:*:*:*:*:*:*:*"
+          }, {
+            "vulnerable" : false,
+            "cpe23Uri" : "cpe:2.3:h:juniper:ex4600:-:*:*:*:*:*:*:*"
+          }, {
+            "vulnerable" : false,
+            "cpe23Uri" : "cpe:2.3:h:juniper:ex4650:-:*:*:*:*:*:*:*"
+          }, {
+            "vulnerable" : false,
+            "cpe23Uri" : "cpe:2.3:h:juniper:gfx3600:-:*:*:*:*:*:*:*"
+          }, {
+            "vulnerable" : false,
+            "cpe23Uri" : "cpe:2.3:h:juniper:qfx3500:-:*:*:*:*:*:*:*"
+          }, {
+            "vulnerable" : false,
+            "cpe23Uri" : "cpe:2.3:h:juniper:qfx5100:-:*:*:*:*:*:*:*"
+          }, {
+            "vulnerable" : false,
+            "cpe23Uri" : "cpe:2.3:h:juniper:qfx5110:-:*:*:*:*:*:*:*"
+          }, {
+            "vulnerable" : false,
+            "cpe23Uri" : "cpe:2.3:h:juniper:qfx5120:-:*:*:*:*:*:*:*"
+          }, {
+            "vulnerable" : false,
+            "cpe23Uri" : "cpe:2.3:h:juniper:qfx5200:-:*:*:*:*:*:*:*"
+          }, {
+            "vulnerable" : false,
+            "cpe23Uri" : "cpe:2.3:h:juniper:qfx5210:-:*:*:*:*:*:*:*"
+          } ]
+        } ]
+      }, {
+        "operator" : "AND",
+        "children" : [ {
+          "operator" : "OR",
+          "cpe_match" : [ {
+            "vulnerable" : true,
+            "cpe23Uri" : "cpe:2.3:o:juniper:junos:17.4:*:*:*:*:*:*:*"
+          }, {
+            "vulnerable" : true,
+            "cpe23Uri" : "cpe:2.3:o:juniper:junos:17.4:r1:*:*:*:*:*:*"
+          } ]
+        }, {
+          "operator" : "OR",
+          "cpe_match" : [ {
+            "vulnerable" : false,
+            "cpe23Uri" : "cpe:2.3:h:juniper:ex2300:-:*:*:*:*:*:*:*"
+          }, {
+            "vulnerable" : false,
+            "cpe23Uri" : "cpe:2.3:h:juniper:ex2300-c:-:*:*:*:*:*:*:*"
+          }, {
+            "vulnerable" : false,
+            "cpe23Uri" : "cpe:2.3:h:juniper:ex3400:-:*:*:*:*:*:*:*"
+          }, {
+            "vulnerable" : false,
+            "cpe23Uri" : "cpe:2.3:h:juniper:ex4600:-:*:*:*:*:*:*:*"
+          }, {
+            "vulnerable" : false,
+            "cpe23Uri" : "cpe:2.3:h:juniper:ex4650:-:*:*:*:*:*:*:*"
+          }, {
+            "vulnerable" : false,
+            "cpe23Uri" : "cpe:2.3:h:juniper:qfx3500:-:*:*:*:*:*:*:*"
+          }, {
+            "vulnerable" : false,
+            "cpe23Uri" : "cpe:2.3:h:juniper:qfx3600:-:*:*:*:*:*:*:*"
+          }, {
+            "vulnerable" : false,
+            "cpe23Uri" : "cpe:2.3:h:juniper:qfx5100:-:*:*:*:*:*:*:*"
+          }, {
+            "vulnerable" : false,
+            "cpe23Uri" : "cpe:2.3:h:juniper:qfx5110:-:*:*:*:*:*:*:*"
+          }, {
+            "vulnerable" : false,
+            "cpe23Uri" : "cpe:2.3:h:juniper:qfx5120:-:*:*:*:*:*:*:*"
+          }, {
+            "vulnerable" : false,
+            "cpe23Uri" : "cpe:2.3:h:juniper:qfx5200:-:*:*:*:*:*:*:*"
+          }, {
+            "vulnerable" : false,
+            "cpe23Uri" : "cpe:2.3:h:juniper:qfx5210:-:*:*:*:*:*:*:*"
+          } ]
+        } ]
+      }, {
+        "operator" : "AND",
+        "children" : [ {
+          "operator" : "OR",
+          "cpe_match" : [ {
+            "vulnerable" : true,
+            "cpe23Uri" : "cpe:2.3:a:juniper:junos:18.1:*:*:*:*:*:*:*"
+          }, {
+            "vulnerable" : true,
+            "cpe23Uri" : "cpe:2.3:a:juniper:junos:18.1:r1:*:*:*:*:*:*"
+          } ]
+        }, {
+          "operator" : "OR",
+          "cpe_match" : [ {
+            "vulnerable" : false,
+            "cpe23Uri" : "cpe:2.3:h:juniper:ex2300:-:*:*:*:*:*:*:*"
+          }, {
+            "vulnerable" : false,
+            "cpe23Uri" : "cpe:2.3:h:juniper:ex2300-c:-:*:*:*:*:*:*:*"
+          }, {
+            "vulnerable" : false,
+            "cpe23Uri" : "cpe:2.3:h:juniper:ex3400:-:*:*:*:*:*:*:*"
+          }, {
+            "vulnerable" : false,
+            "cpe23Uri" : "cpe:2.3:h:juniper:ex4600:-:*:*:*:*:*:*:*"
+          }, {
+            "vulnerable" : false,
+            "cpe23Uri" : "cpe:2.3:h:juniper:ex4650:-:*:*:*:*:*:*:*"
+          }, {
+            "vulnerable" : false,
+            "cpe23Uri" : "cpe:2.3:h:juniper:qfx3500:-:*:*:*:*:*:*:*"
+          }, {
+            "vulnerable" : false,
+            "cpe23Uri" : "cpe:2.3:h:juniper:qfx3600:-:*:*:*:*:*:*:*"
+          }, {
+            "vulnerable" : false,
+            "cpe23Uri" : "cpe:2.3:h:juniper:qfx5100:-:*:*:*:*:*:*:*"
+          }, {
+            "vulnerable" : false,
+            "cpe23Uri" : "cpe:2.3:h:juniper:qfx5110:-:*:*:*:*:*:*:*"
+          }, {
+            "vulnerable" : false,
+            "cpe23Uri" : "cpe:2.3:h:juniper:qfx5120:-:*:*:*:*:*:*:*"
+          }, {
+            "vulnerable" : false,
+            "cpe23Uri" : "cpe:2.3:h:juniper:qfx5200:-:*:*:*:*:*:*:*"
+          }, {
+            "vulnerable" : false,
+            "cpe23Uri" : "cpe:2.3:h:juniper:qfx5210:-:*:*:*:*:*:*:*"
+          } ]
+        } ]
+      } ]
+    },
+    "impact" : {
+      "baseMetricV3" : {
+        "cvssV3" : {
+          "version" : "3.0",
+          "vectorString" : "CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N",
+          "attackVector" : "NETWORK",
+          "attackComplexity" : "LOW",
+          "privilegesRequired" : "NONE",
+          "userInteraction" : "NONE",
+          "scope" : "UNCHANGED",
+          "confidentialityImpact" : "NONE",
+          "integrityImpact" : "LOW",
+          "availabilityImpact" : "NONE",
+          "baseScore" : 5.3,
+          "baseSeverity" : "MEDIUM"
+        },
+        "exploitabilityScore" : 3.9,
+        "impactScore" : 1.4
+      },
+      "baseMetricV2" : {
+        "cvssV2" : {
+          "version" : "2.0",
+          "vectorString" : "AV:N/AC:L/Au:N/C:N/I:P/A:N",
+          "accessVector" : "NETWORK",
+          "accessComplexity" : "LOW",
+          "authentication" : "NONE",
+          "confidentialityImpact" : "NONE",
+          "integrityImpact" : "PARTIAL",
+          "availabilityImpact" : "NONE",
+          "baseScore" : 5.0
+        },
+        "severity" : "MEDIUM",
+        "exploitabilityScore" : 10.0,
+        "impactScore" : 2.9,
+        "acInsufInfo" : false,
+        "obtainAllPrivilege" : false,
+        "obtainUserPrivilege" : false,
+        "obtainOtherPrivilege" : false,
+        "userInteractionRequired" : false
+      }
+    },
+    "publishedDate" : "2019-01-15T21:29Z",
+    "lastModifiedDate" : "2019-02-14T18:40Z"
+  }, {
+    "cve" : {
+      "data_type" : "CVE",
+      "data_format" : "MITRE",
+      "data_version" : "4.0",
+      "CVE_data_meta" : {
+        "ID" : "CVE-2019-14811",
+        "ASSIGNER" : "cve@mitre.org"
+      },
+      "problemtype" : {
+        "problemtype_data" : [ {
+          "description" : [ {
+            "lang" : "en",
+            "value" : "CWE-264"
+          } ]
+        } ]
+      },
+      "references" : {
+        "reference_data" : [ {
+          "url" : "http://lists.opensuse.org/opensuse-security-announce/2019-09/msg00088.html",
+          "name" : "openSUSE-SU-2019:2223",
+          "refsource" : "SUSE",
+          "tags" : [ ]
+        }, {
+          "url" : "http://lists.opensuse.org/opensuse-security-announce/2019-09/msg00090.html",
+          "name" : "openSUSE-SU-2019:2222",
+          "refsource" : "SUSE",
+          "tags" : [ ]
+        }, {
+          "url" : "https://access.redhat.com/errata/RHBA-2019:2824",
+          "name" : "RHBA-2019:2824",
+          "refsource" : "REDHAT",
+          "tags" : [ ]
+        }, {
+          "url" : "https://access.redhat.com/errata/RHSA-2019:2594",
+          "name" : "RHSA-2019:2594",
+          "refsource" : "REDHAT",
+          "tags" : [ ]
+        }, {
+          "url" : "https://bugzilla.redhat.com/show_bug.cgi?id=CVE-2019-14811",
+          "name" : "https://bugzilla.redhat.com/show_bug.cgi?id=CVE-2019-14811",
+          "refsource" : "CONFIRM",
+          "tags" : [ "Exploit", "Issue Tracking", "Mitigation", "Patch", "Third Party Advisory" ]
+        }, {
+          "url" : "https://lists.debian.org/debian-lts-announce/2019/09/msg00007.html",
+          "name" : "[debian-lts-announce] 20190909 [SECURITY] [DLA 1915-1] ghostscript security update",
+          "refsource" : "MLIST",
+          "tags" : [ ]
+        }, {
+          "url" : "https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/6AATIHU32MYKUOXQDJQU4X4DDVL7NAY3/",
+          "name" : "FEDORA-2019-ebd6c4f15a",
+          "refsource" : "FEDORA",
+          "tags" : [ ]
+        }, {
+          "url" : "https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/LBUC4DBBJTRFNCR3IODBV4IXB2C2HI3V/",
+          "name" : "FEDORA-2019-0a9d525d71",
+          "refsource" : "FEDORA",
+          "tags" : [ ]
+        }, {
+          "url" : "https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/ZP34D27RKYV2POJ3NJLSVCHUA5V5C45A/",
+          "name" : "FEDORA-2019-953fc0f16d",
+          "refsource" : "FEDORA",
+          "tags" : [ ]
+        }, {
+          "url" : "https://seclists.org/bugtraq/2019/Sep/15",
+          "name" : "20190910 [SECURITY] [DSA 4518-1] ghostscript security update",
+          "refsource" : "BUGTRAQ",
+          "tags" : [ ]
+        }, {
+          "url" : "https://www.debian.org/security/2019/dsa-4518",
+          "name" : "DSA-4518",
+          "refsource" : "DEBIAN",
+          "tags" : [ ]
+        } ]
+      },
+      "description" : {
+        "description_data" : [ {
+          "lang" : "en",
+          "value" : "A flaw was found in, ghostscript versions prior to 9.28, in the .pdf_hook_DSC_Creator procedure where it did not properly secure its privileged calls, enabling scripts to bypass `-dSAFER` restrictions. A specially crafted PostScript file could disable security protection and then have access to the file system, or execute arbitrary commands."
+        } ]
+      }
+    },
+    "configurations" : {
+      "CVE_data_version" : "4.0",
+      "nodes" : [ {
+        "operator" : "OR",
+        "cpe_match" : [ {
+          "vulnerable" : true,
+          "cpe23Uri" : "cpe:2.3:a:artifex:ghostscript:*:*:*:*:*:*:*:*",
+          "versionEndExcluding" : "9.28"
+        } ]
+      } ]
+    },
+    "impact" : {
+      "baseMetricV3" : {
+        "cvssV3" : {
+          "version" : "3.0",
+          "vectorString" : "CVSS:3.0/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H",
+          "attackVector" : "LOCAL",
+          "attackComplexity" : "LOW",
+          "privilegesRequired" : "NONE",
+          "userInteraction" : "REQUIRED",
+          "scope" : "UNCHANGED",
+          "confidentialityImpact" : "HIGH",
+          "integrityImpact" : "HIGH",
+          "availabilityImpact" : "HIGH",
+          "baseScore" : 7.8,
+          "baseSeverity" : "HIGH"
+        },
+        "exploitabilityScore" : 1.8,
+        "impactScore" : 5.9
+      },
+      "baseMetricV2" : {
+        "cvssV2" : {
+          "version" : "2.0",
+          "vectorString" : "AV:N/AC:M/Au:N/C:P/I:P/A:P",
+          "accessVector" : "NETWORK",
+          "accessComplexity" : "MEDIUM",
+          "authentication" : "NONE",
+          "confidentialityImpact" : "PARTIAL",
+          "integrityImpact" : "PARTIAL",
+          "availabilityImpact" : "PARTIAL",
+          "baseScore" : 6.8
+        },
+        "severity" : "MEDIUM",
+        "exploitabilityScore" : 8.6,
+        "impactScore" : 6.4,
+        "acInsufInfo" : false,
+        "obtainAllPrivilege" : false,
+        "obtainUserPrivilege" : false,
+        "obtainOtherPrivilege" : false,
+        "userInteractionRequired" : true
+      }
+    },
+    "publishedDate" : "2019-09-03T16:15Z",
+    "lastModifiedDate" : "2019-09-10T03:15Z"
+  }, {
+    "cve" : {
+      "data_type" : "CVE",
+      "data_format" : "MITRE",
+      "data_version" : "4.0",
+      "CVE_data_meta" : {
+        "ID" : "CVE-2019-17365",
+        "ASSIGNER" : "cve@mitre.org"
+      },
+      "problemtype" : {
+        "problemtype_data" : [ {
+          "description" : [ {
+            "lang" : "en",
+            "value" : "CWE-276"
+          } ]
+        } ]
+      },
+      "references" : {
+        "reference_data" : [ {
+          "url" : "http://www.openwall.com/lists/oss-security/2019/10/09/4",
+          "name" : "http://www.openwall.com/lists/oss-security/2019/10/09/4",
+          "refsource" : "MISC",
+          "tags" : [ "Exploit", "Mailing List", "Third Party Advisory" ]
+        }, {
+          "url" : "http://www.openwall.com/lists/oss-security/2019/10/10/1",
+          "name" : "[oss-security] 20191010 Re: CVE-2019-17365: Nix per-user profile directory hijack",
+          "refsource" : "MLIST",
+          "tags" : [ "Third Party Advisory" ]
+        } ]
+      },
+      "description" : {
+        "description_data" : [ {
+          "lang" : "en",
+          "value" : "Nix through 2.3 allows local users to gain access to an arbitrary user's account because the parent directory of the user-profile directories is world writable."
+        } ]
+      }
+    },
+    "configurations" : {
+      "CVE_data_version" : "4.0",
+      "nodes" : [ {
+        "operator" : "OR",
+        "cpe_match" : [ {
+          "vulnerable" : true,
+          "cpe23Uri" : "cpe:2.3:a:nixos:nix:*:*:*:*:*:*:*:*",
+          "versionEndIncluding" : "2.3"
+        } ]
+      } ]
+    },
+    "impact" : {
+      "baseMetricV3" : {
+        "cvssV3" : {
+          "version" : "3.1",
+          "vectorString" : "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H",
+          "attackVector" : "LOCAL",
+          "attackComplexity" : "LOW",
+          "privilegesRequired" : "LOW",
+          "userInteraction" : "NONE",
+          "scope" : "UNCHANGED",
+          "confidentialityImpact" : "HIGH",
+          "integrityImpact" : "HIGH",
+          "availabilityImpact" : "HIGH",
+          "baseScore" : 7.8,
+          "baseSeverity" : "HIGH"
+        },
+        "exploitabilityScore" : 1.8,
+        "impactScore" : 5.9
+      },
+      "baseMetricV2" : {
+        "cvssV2" : {
+          "version" : "2.0",
+          "vectorString" : "AV:L/AC:L/Au:N/C:P/I:P/A:P",
+          "accessVector" : "LOCAL",
+          "accessComplexity" : "LOW",
+          "authentication" : "NONE",
+          "confidentialityImpact" : "PARTIAL",
+          "integrityImpact" : "PARTIAL",
+          "availabilityImpact" : "PARTIAL",
+          "baseScore" : 4.6
+        },
+        "severity" : "MEDIUM",
+        "exploitabilityScore" : 3.9,
+        "impactScore" : 6.4,
+        "acInsufInfo" : false,
+        "obtainAllPrivilege" : false,
+        "obtainUserPrivilege" : false,
+        "obtainOtherPrivilege" : false,
+        "userInteractionRequired" : false
+      }
+    },
+    "publishedDate" : "2019-10-09T22:15Z",
+    "lastModifiedDate" : "2019-10-11T13:19Z"
+  }, {
+    "cve" : {
+      "data_type" : "CVE",
+      "data_format" : "MITRE",
+      "data_version" : "4.0",
+      "CVE_data_meta" : {
+        "ID" : "CVE-2019-1010180",
+        "ASSIGNER" : "cve@mitre.org"
+      },
+      "problemtype" : {
+        "problemtype_data" : [ {
+          "description" : [ {
+            "lang" : "en",
+            "value" : "CWE-119"
+          } ]
+        } ]
+      },
+      "references" : {
+        "reference_data" : [ {
+          "url" : "http://www.securityfocus.com/bid/109367",
+          "name" : "109367",
+          "refsource" : "BID",
+          "tags" : [ "Third Party Advisory", "VDB Entry" ]
+        }, {
+          "url" : "https://sourceware.org/bugzilla/show_bug.cgi?id=23657",
+          "name" : "https://sourceware.org/bugzilla/show_bug.cgi?id=23657",
+          "refsource" : "MISC",
+          "tags" : [ "Exploit", "Issue Tracking", "Third Party Advisory" ]
+        } ]
+      },
+      "description" : {
+        "description_data" : [ {
+          "lang" : "en",
+          "value" : "GNU gdb All versions is affected by: Buffer Overflow - Out of bound memory access. The impact is: Deny of Service, Memory Disclosure, and Possible Code Execution. The component is: The main gdb module. The attack vector is: Open an ELF for debugging. The fixed version is: Not fixed yet."
+        } ]
+      }
+    },
+    "configurations" : {
+      "CVE_data_version" : "4.0",
+      "nodes" : [ {
+        "operator" : "OR",
+        "cpe_match" : [ {
+          "vulnerable" : true,
+          "cpe23Uri" : "cpe:2.3:a:gnu:gdb:*:*:*:*:*:*:*:*"
+        } ]
+      } ]
+    },
+    "impact" : {
+      "baseMetricV3" : {
+        "cvssV3" : {
+          "version" : "3.0",
+          "vectorString" : "CVSS:3.0/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H",
+          "attackVector" : "LOCAL",
+          "attackComplexity" : "LOW",
+          "privilegesRequired" : "NONE",
+          "userInteraction" : "REQUIRED",
+          "scope" : "UNCHANGED",
+          "confidentialityImpact" : "HIGH",
+          "integrityImpact" : "HIGH",
+          "availabilityImpact" : "HIGH",
+          "baseScore" : 7.8,
+          "baseSeverity" : "HIGH"
+        },
+        "exploitabilityScore" : 1.8,
+        "impactScore" : 5.9
+      },
+      "baseMetricV2" : {
+        "cvssV2" : {
+          "version" : "2.0",
+          "vectorString" : "AV:N/AC:M/Au:N/C:P/I:P/A:P",
+          "accessVector" : "NETWORK",
+          "accessComplexity" : "MEDIUM",
+          "authentication" : "NONE",
+          "confidentialityImpact" : "PARTIAL",
+          "integrityImpact" : "PARTIAL",
+          "availabilityImpact" : "PARTIAL",
+          "baseScore" : 6.8
+        },
+        "severity" : "MEDIUM",
+        "exploitabilityScore" : 8.6,
+        "impactScore" : 6.4,
+        "acInsufInfo" : false,
+        "obtainAllPrivilege" : false,
+        "obtainUserPrivilege" : false,
+        "obtainOtherPrivilege" : false,
+        "userInteractionRequired" : true
+      }
+    },
+    "publishedDate" : "2019-07-24T13:15Z",
+    "lastModifiedDate" : "2019-08-01T15:39Z"
+  }, {
+    "cve" : {
+      "data_type" : "CVE",
+      "data_format" : "MITRE",
+      "data_version" : "4.0",
+      "CVE_data_meta" : {
+        "ID" : "CVE-2019-1010204",
+        "ASSIGNER" : "cve@mitre.org"
+      },
+      "problemtype" : {
+        "problemtype_data" : [ {
+          "description" : [ {
+            "lang" : "en",
+            "value" : "CWE-125"
+          }, {
+            "lang" : "en",
+            "value" : "CWE-20"
+          } ]
+        } ]
+      },
+      "references" : {
+        "reference_data" : [ {
+          "url" : "https://security.netapp.com/advisory/ntap-20190822-0001/",
+          "name" : "https://security.netapp.com/advisory/ntap-20190822-0001/",
+          "refsource" : "CONFIRM",
+          "tags" : [ ]
+        }, {
+          "url" : "https://sourceware.org/bugzilla/show_bug.cgi?id=23765",
+          "name" : "https://sourceware.org/bugzilla/show_bug.cgi?id=23765",
+          "refsource" : "MISC",
+          "tags" : [ "Issue Tracking", "Third Party Advisory" ]
+        } ]
+      },
+      "description" : {
+        "description_data" : [ {
+          "lang" : "en",
+          "value" : "GNU binutils gold gold v1.11-v1.16 (GNU binutils v2.21-v2.31.1) is affected by: Improper Input Validation, Signed/Unsigned Comparison, Out-of-bounds Read. The impact is: Denial of service. The component is: gold/fileread.cc:497, elfcpp/elfcpp_file.h:644. The attack vector is: An ELF file with an invalid e_shoff header field must be opened."
+        } ]
+      }
+    },
+    "configurations" : {
+      "CVE_data_version" : "4.0",
+      "nodes" : [ {
+        "operator" : "OR",
+        "cpe_match" : [ {
+          "vulnerable" : true,
+          "cpe23Uri" : "cpe:2.3:a:gnu:binutils:*:*:*:*:*:*:*:*",
+          "versionStartIncluding" : "2.21",
+          "versionEndIncluding" : "2.31.1"
+        }, {
+          "vulnerable" : true,
+          "cpe23Uri" : "cpe:2.3:a:gnu:binutils_gold:*:*:*:*:*:*:*:*",
+          "versionStartIncluding" : "1.11",
+          "versionEndIncluding" : "1.16"
+        } ]
+      } ]
+    },
+    "impact" : {
+      "baseMetricV3" : {
+        "cvssV3" : {
+          "version" : "3.0",
+          "vectorString" : "CVSS:3.0/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H",
+          "attackVector" : "LOCAL",
+          "attackComplexity" : "LOW",
+          "privilegesRequired" : "NONE",
+          "userInteraction" : "REQUIRED",
+          "scope" : "UNCHANGED",
+          "confidentialityImpact" : "NONE",
+          "integrityImpact" : "NONE",
+          "availabilityImpact" : "HIGH",
+          "baseScore" : 5.5,
+          "baseSeverity" : "MEDIUM"
+        },
+        "exploitabilityScore" : 1.8,
+        "impactScore" : 3.6
+      },
+      "baseMetricV2" : {
+        "cvssV2" : {
+          "version" : "2.0",
+          "vectorString" : "AV:N/AC:M/Au:N/C:N/I:N/A:P",
+          "accessVector" : "NETWORK",
+          "accessComplexity" : "MEDIUM",
+          "authentication" : "NONE",
+          "confidentialityImpact" : "NONE",
+          "integrityImpact" : "NONE",
+          "availabilityImpact" : "PARTIAL",
+          "baseScore" : 4.3
+        },
+        "severity" : "MEDIUM",
+        "exploitabilityScore" : 8.6,
+        "impactScore" : 2.9,
+        "acInsufInfo" : false,
+        "obtainAllPrivilege" : false,
+        "obtainUserPrivilege" : false,
+        "obtainOtherPrivilege" : false,
+        "userInteractionRequired" : true
+      }
+    },
+    "publishedDate" : "2019-07-23T14:15Z",
+    "lastModifiedDate" : "2019-08-22T07:15Z"
+  }, {
+    "cve" : {
+      "data_type" : "CVE",
+      "data_format" : "MITRE",
+      "data_version" : "4.0",
+      "CVE_data_meta" : {
+        "ID" : "CVE-2019-18192",
+        "ASSIGNER" : "cve@mitre.org"
+      },
+      "problemtype" : {
+        "problemtype_data" : [ {
+          "description" : [ ]
+        } ]
+      },
+      "references" : {
+        "reference_data" : [ {
+          "url" : "http://www.openwall.com/lists/oss-security/2019/10/17/3",
+          "name" : "[oss-security] 20191017 CVE-2019-18192: Insecure permissions on Guix profile directory",
+          "refsource" : "MLIST",
+          "tags" : [ ]
+        }, {
+          "url" : "https://issues.guix.gnu.org/issue/37744",
+          "name" : "https://issues.guix.gnu.org/issue/37744",
+          "refsource" : "MISC",
+          "tags" : [ ]
+        } ]
+      },
+      "description" : {
+        "description_data" : [ {
+          "lang" : "en",
+          "value" : "GNU Guix 1.0.1 allows local users to gain access to an arbitrary user's account because the parent directory of the user-profile directories is world writable, a similar issue to CVE-2019-17365."
+        } ]
+      }
+    },
+    "configurations" : {
+      "CVE_data_version" : "4.0",
+      "nodes" : [ ]
+    },
+    "impact" : { },
+    "publishedDate" : "2019-10-17T20:15Z",
+    "lastModifiedDate" : "2019-10-17T20:29Z"
+  } ]
+}
diff --git a/tests/cve-sample.xml b/tests/cve-sample.xml
deleted file mode 100644
index ce158490f14..00000000000
--- a/tests/cve-sample.xml
+++ /dev/null
@@ -1,616 +0,0 @@
-
-
-  
-    
-      
-        
-        
-        
-        
-        
-        
-        
-        
-        
-        
-        
-        
-        
-        
-        
-        
-        
-        
-        
-        
-        
-        
-        
-        
-        
-        
-        
-        
-        
-        
-        
-        
-        
-        
-        
-        
-        
-        
-        
-        
-        
-        
-        
-        
-        
-        
-      
-    
-    
-      cpe:/o:microsoft:windows_2000::sp2:professional
-      cpe:/o:linux:linux_kernel:2.4.4
-      cpe:/o:microsoft:windows_2000_terminal_services::sp1
-      cpe:/o:microsoft:windows_2000::sp1:advanced_server
-      cpe:/o:linux:linux_kernel:2.4.19
-      cpe:/o:microsoft:windows_2000::sp2:advanced_server
-      cpe:/o:microsoft:windows_2000_terminal_services
-      cpe:/o:microsoft:windows_2000:::advanced_server
-      cpe:/o:linux:linux_kernel:2.4.20
-      cpe:/o:netbsd:netbsd:1.5.1
-      cpe:/o:microsoft:windows_2000_terminal_services::sp2
-      cpe:/o:netbsd:netbsd:1.5.3
-      cpe:/o:netbsd:netbsd:1.5.2
-      cpe:/o:linux:linux_kernel:2.4.6
-      cpe:/o:linux:linux_kernel:2.4.9
-      cpe:/o:microsoft:windows_2000:::datacenter_server
-      cpe:/o:netbsd:netbsd:1.6
-      cpe:/o:netbsd:netbsd:1.5
-      cpe:/o:linux:linux_kernel:2.4.7
-      cpe:/o:linux:linux_kernel:2.4.8
-      cpe:/o:microsoft:windows_2000::sp1:datacenter_server
-      cpe:/o:microsoft:windows_2000::sp2:datacenter_server
-      cpe:/o:freebsd:freebsd:4.3
-      cpe:/o:linux:linux_kernel:2.4.10
-      cpe:/o:microsoft:windows_2000::sp1:server
-      cpe:/o:freebsd:freebsd:4.5
-      cpe:/o:linux:linux_kernel:2.4.12
-      cpe:/o:freebsd:freebsd:4.2
-      cpe:/o:freebsd:freebsd:4.7
-      cpe:/o:freebsd:freebsd:4.4
-      cpe:/o:freebsd:freebsd:4.6
-      cpe:/o:microsoft:windows_2000::sp2:server
-      cpe:/o:linux:linux_kernel:2.4.18
-      cpe:/o:linux:linux_kernel:2.4.1
-      cpe:/o:linux:linux_kernel:2.4.15
-      cpe:/o:microsoft:windows_2000:::server
-      cpe:/o:linux:linux_kernel:2.4.17
-      cpe:/o:linux:linux_kernel:2.4.14
-      cpe:/o:linux:linux_kernel:2.4.2
-      cpe:/o:microsoft:windows_2000:::professional
-      cpe:/o:linux:linux_kernel:2.4.11
-      cpe:/o:linux:linux_kernel:2.4.5
-      cpe:/o:linux:linux_kernel:2.4.16
-      cpe:/o:microsoft:windows_2000::sp1:professional
-      cpe:/o:linux:linux_kernel:2.4.13
-      cpe:/o:linux:linux_kernel:2.4.3
-    
-    CVE-2003-0001
-    2003-01-17T00:00:00.000-05:00
-    2015-11-24T13:05:47.073-05:00
-    
-      
-        5.0
-        NETWORK
-        LOW
-        NONE
-        PARTIAL
-        NONE
-        NONE
-        http://nvd.nist.gov
-        2015-11-24T12:23:33.593-05:00
-      
-    
-    
-    
-    
-      CERT-VN
-      VU#412115
-    
-    
-      BUGTRAQ
-      20150402 NEW : VMSA-2015-0003 VMware product updates address critical information disclosure issue in JRE
-    
-    
-      BUGTRAQ
-      20030117 Re: More information regarding Etherleak
-    
-    
-      BUGTRAQ
-      20030106 Etherleak: Ethernet frame padding information leakage (A010603-1)
-    
-    
-      REDHAT
-      RHSA-2003:088
-    
-    
-      REDHAT
-      RHSA-2003:025
-    
-    
-      OSVDB
-      9962
-    
-    
-      CONFIRM
-      http://www.oracle.com/technetwork/topics/security/cpujan2015-1972971.html
-    
-    
-      MISC
-      http://www.atstake.com/research/advisories/2003/atstake_etherleak_report.pdf
-    
-    
-      ATSTAKE
-      A010603-1
-    
-    
-      FULLDISC
-      20150402 NEW : VMSA-2015-0003 VMware product updates address critical information disclosure issue in JRE
-    
-    
-      MISC
-      http://packetstormsecurity.com/files/131271/VMware-Security-Advisory-2015-0003.html
-    
-    
-      BUGTRAQ
-      20030110 More information regarding Etherleak
-    
-    
-      VULNWATCH
-      20030110 More information regarding Etherleak
-    
-    
-      
-    
-    Multiple ethernet Network Interface Card (NIC) device drivers do not pad frames with null bytes, which allows remote attackers to obtain information from previous packets or kernel memory by using malformed packets, as demonstrated by Etherleak.
-  
-  
-    
-      
-        
-      
-    
-    
-      cpe:/a:tcp:tcp
-    
-    CVE-2004-0230
-    2004-08-18T00:00:00.000-04:00
-    2015-11-24T13:06:40.597-05:00
-    
-      
-        5.0
-        NETWORK
-        LOW
-        NONE
-        NONE
-        NONE
-        PARTIAL
-        http://nvd.nist.gov
-        2015-11-24T12:17:30.930-05:00
-      
-    
-    
-    
-    
-    
-    
-    
-      CERT
-      TA04-111A
-    
-    
-      CERT-VN
-      VU#415294
-    
-    
-      CONFIRM
-      https://kc.mcafee.com/corporate/index?page=content&id=SB10053
-    
-    
-      XF
-      tcp-rst-dos(15886)
-    
-    
-      VUPEN
-      ADV-2006-3983
-    
-    
-      MISC
-      http://www.uniras.gov.uk/vuls/2004/236929/index.htm
-    
-    
-      BID
-      10183
-    
-    
-      BUGTRAQ
-      20150402 NEW : VMSA-2015-0003 VMware product updates address critical information disclosure issue in JRE
-    
-    
-      HP
-      SSRT061264
-    
-    
-      OSVDB
-      4030
-    
-    
-      CONFIRM
-      http://www.oracle.com/technetwork/topics/security/cpujan2015-1972971.html
-    
-    
-      MS
-      MS06-064
-    
-    
-      MS
-      MS05-019
-    
-    
-      CISCO
-      20040420 TCP Vulnerabilities in Multiple IOS-Based Cisco Products
-    
-    
-      FULLDISC
-      20150402 NEW : VMSA-2015-0003 VMware product updates address critical information disclosure issue in JRE
-    
-    
-      MISC
-      http://packetstormsecurity.com/files/131271/VMware-Security-Advisory-2015-0003.html
-    
-    
-      HP
-      SSRT4696
-    
-    
-      BUGTRAQ
-      20040425 Perl code exploting TCP not checking RST ACK.
-    
-    
-      CONFIRM
-      http://kb.juniper.net/JSA10638
-    
-    
-      SGI
-      20040403-01-A
-    
-    
-      SCO
-      SCOSA-2005.14
-    
-    
-      SCO
-      SCOSA-2005.9
-    
-    
-      SCO
-      SCOSA-2005.3
-    
-    
-      NETBSD
-      NetBSD-SA2004-006
-    
-    
-      
-    
-    
-      
-    
-    
-      
-    
-    
-      
-    
-    
-      
-    
-    TCP, when using a large Window Size, makes it easier for remote attackers to guess sequence numbers and cause a denial of service (connection loss) to persistent TCP connections by repeatedly injecting a TCP RST packet, especially in protocols that use long-lived connections, such as BGP.
-  
-  
-    
-      
-        
-        
-      
-    
-    
-      cpe:/a:vastal:phpvid:1.1
-      cpe:/a:vastal:phpvid:1.2
-    
-    CVE-2008-2335
-    2008-05-19T09:20:00.000-04:00
-    2015-11-24T11:45:25.057-05:00
-    
-      
-        4.3
-        NETWORK
-        MEDIUM
-        NONE
-        NONE
-        PARTIAL
-        NONE
-        http://nvd.nist.gov
-        2015-11-24T10:50:05.737-05:00
-      
-    
-    
-    
-      XF
-      phpvid-query-xss(42450)
-    
-    
-      VUPEN
-      ADV-2008-2552
-    
-    
-      BID
-      29238
-    
-    
-      MILW0RM
-      6422
-    
-    
-      EXPLOIT-DB
-      27519
-    
-    
-      MISC
-      http://tetraph.com/security/xss-vulnerability/vastal-i-tech-phpvid-1-2-3-multiple-xss-cross-site-scripting-security-vulnerabilities/
-    
-    
-      FULLDISC
-      20150310 Vastal I-tech phpVID 1.2.3 Multiple XSS (Cross-site Scripting) Security Vulnerabilities
-    
-    
-      MISC
-      http://packetstormsecurity.com/files/130755/Vastal-I-tech-phpVID-1.2.3-Cross-Site-Scripting.html
-    
-    
-      MISC
-      http://packetstormsecurity.com/files/122746/PHP-VID-XSS-SQL-Injection-CRLF-Injection.html
-    
-    
-      OSVDB
-      45171
-    
-    
-      MISC
-      http://holisticinfosec.org/content/view/65/45/
-    
-    Cross-site scripting (XSS) vulnerability in search_results.php in Vastal I-Tech phpVID 1.1 and 1.2 allows remote attackers to inject arbitrary web script or HTML via the query parameter.  NOTE: some of these details are obtained from third party information.  NOTE: it was later reported that 1.2.3 is also affected.
-  
-  
-    
-      
-        
-      
-    
-    
-      
-        
-      
-    
-    
-      cpe:/a:redhat:enterprise_virtualization:3.5
-      cpe:/a:jasper_project:jasper:1.900.1
-    
-    CVE-2008-3522
-    2008-10-02T14:18:05.790-04:00
-    2015-11-24T11:46:04.933-05:00
-    
-      
-        10.0
-        NETWORK
-        LOW
-        NONE
-        COMPLETE
-        COMPLETE
-        COMPLETE
-        http://nvd.nist.gov
-        2015-11-24T10:05:46.467-05:00
-      
-    
-    ALLOWS_ADMIN_ACCESS
-    
-    
-      XF
-      jasper-jasstreamprintf-bo(45623)
-    
-    
-      UBUNTU
-      USN-742-1
-    
-    
-      BID
-      31470
-    
-    
-      MANDRIVA
-      MDVSA-2009:164
-    
-    
-      MANDRIVA
-      MDVSA-2009:144
-    
-    
-      MANDRIVA
-      MDVSA-2009:142
-    
-    
-      GENTOO
-      GLSA-200812-18
-    
-    
-      REDHAT
-      RHSA-2015:0698
-    
-    
-      MISC
-      http://bugs.gentoo.org/show_bug.cgi?id=222819
-    
-    
-      MISC
-      http://bugs.gentoo.org/attachment.cgi?id=163282&action=view
-    
-    Buffer overflow in the jas_stream_printf function in libjasper/base/jas_stream.c in JasPer 1.900.1 might allow context-dependent attackers to have an unknown impact via vectors related to the mif_hdr_put function and use of vsprintf.
-  
-  
-    
-      
-        
-        
-        
-        
-        
-        
-        
-        
-        
-        
-        
-        
-        
-        
-        
-        
-      
-    
-    
-      
-        
-        
-        
-        
-      
-    
-    
-      cpe:/o:canonical:ubuntu_linux:10.04::~~lts~~~
-      cpe:/o:canonical:ubuntu_linux:8.04:-:lts
-      cpe:/o:canonical:ubuntu_linux:10.10
-      cpe:/a:sun:openoffice.org:2.1.0
-      cpe:/a:sun:openoffice.org:2.3.0
-      cpe:/a:sun:openoffice.org:2.2.1
-      
-    
-    CVE-2009-3301
-    2010-02-16T14:30:00.533-05:00
-    2015-11-17T10:59:44.723-05:00
-    
-      
-        9.3
-        NETWORK
-        MEDIUM
-        NONE
-        COMPLETE
-        COMPLETE
-        COMPLETE
-        http://nvd.nist.gov
-        2015-11-17T10:02:50.097-05:00
-      
-    
-    
-    
-    
-      CERT
-      TA10-287A
-    
-    
-      CONFIRM
-      https://bugzilla.redhat.com/show_bug.cgi?id=533038
-    
-    
-      XF
-      openoffice-word-sprmtdeftable-bo(56240)
-    
-    
-      VUPEN
-      ADV-2010-2905
-    
-    
-      VUPEN
-      ADV-2010-0635
-    
-    
-      VUPEN
-      ADV-2010-0366
-    
-    
-      UBUNTU
-      USN-903-1
-    
-    
-      BID
-      38218
-    
-    
-      REDHAT
-      RHSA-2010:0101
-    
-    
-      CONFIRM
-      http://www.oracle.com/technetwork/topics/security/cpuoct2010-175626.html
-    
-    
-      CONFIRM
-      http://www.openoffice.org/security/cves/CVE-2009-3301-3302.html
-    
-    
-      CONFIRM
-      http://www.openoffice.org/security/bulletin.html
-    
-    
-      MANDRIVA
-      MDVSA-2010:221
-    
-    
-      GENTOO
-      GLSA-201408-19
-    
-    
-      DEBIAN
-      DSA-1995
-    
-    
-      SECTRACK
-      1023591
-    
-    
-      SUSE
-      SUSE-SA:2010:017
-    
-    
-      
-    
-    Integer underflow in filter/ww8/ww8par2.cxx in OpenOffice.org (OOo) before 3.2 allows remote attackers to cause a denial of service (application crash) or possibly execute arbitrary code via a crafted sprmTDefTable table property modifier in a Word document.
-  
-  
-    CVE-2015-8330
-    2015-11-24T15:59:25.897-05:00
-    2015-11-24T15:59:26.930-05:00
-    
-      MISC
-      https://www.onapsis.com/blog/analyzing-sap-security-notes-november-2015
-    
-    
-      MISC
-      http://erpscan.com/advisories/erpscan-15-032-sap-pco-agent-dos-vulnerability/
-    
-    The PCo agent in SAP Plant Connectivity (PCo) allows remote attackers to cause a denial of service (memory corruption and agent crash) via crafted xMII requests, aka SAP Security Note 2238619.
-  
-
diff --git a/tests/cve.scm b/tests/cve.scm
index e95b21c0732..b69da0e1204 100644
--- a/tests/cve.scm
+++ b/tests/cve.scm
@@ -1,5 +1,5 @@
 ;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2015, 2016 Ludovic Courtès 
+;;; Copyright © 2015, 2016, 2019 Ludovic Courtès 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -19,10 +19,11 @@
 (define-module (test-cve)
   #:use-module (guix cve)
   #:use-module (srfi srfi-1)
+  #:use-module (srfi srfi-19)
   #:use-module (srfi srfi-64))
 
 (define %sample
-  (search-path %load-path "tests/cve-sample.xml"))
+  (search-path %load-path "tests/cve-sample.json"))
 
 (define (vulnerability id packages)
   (make-struct/no-tail (@@ (guix cve) ) id packages))
@@ -30,34 +31,76 @@
 (define %expected-vulnerabilities
   ;; What we should get when reading %SAMPLE.
   (list
-   ;; CVE-2003-0001 has no "/a" in its product list so it is omitted.
-   ;; CVE-2004-0230 lists "tcp" as an application, but lacks a version number.
-   (vulnerability "CVE-2008-2335" '(("phpvid" "1.2" "1.1")))
-   (vulnerability "CVE-2008-3522" '(("enterprise_virtualization" "3.5")
-                                    ("jasper" "1.900.1")))
-   (vulnerability "CVE-2009-3301" '(("openoffice.org" "2.3.0" "2.2.1" "2.1.0")))
-   ;; CVE-2015-8330 has no software list.
+   (vulnerability "CVE-2019-0001"
+                  ;; Only the "a" CPE configurations are kept; the "o"
+                  ;; configurations are discarded.
+                  '(("junos" (or "18.21-s4" (or "18.21-s3" "18.2")))))
+   (vulnerability "CVE-2019-0005"
+                  '(("junos" (or "18.11" "18.1"))))
+   ;; CVE-2019-0005 has no "a" configurations.
+   (vulnerability "CVE-2019-14811"
+                  '(("ghostscript" (< "9.28"))))
+   (vulnerability "CVE-2019-17365"
+                  '(("nix" (<= "2.3"))))
+   (vulnerability "CVE-2019-1010180"
+                  '(("gdb" _)))                   ;any version
+   (vulnerability "CVE-2019-1010204"
+                  '(("binutils" (and (>= "2.21") (<= "2.31.1")))
+                    ("binutils_gold" (and (>= "1.11") (<= "1.16")))))
+   ;; CVE-2019-18192 has no associated configurations.
    ))
 
 
 (test-begin "cve")
 
-(test-equal "xml->vulnerabilities"
+(test-equal "json->cve-items"
+  '("CVE-2019-0001"
+    "CVE-2019-0005"
+    "CVE-2019-14811"
+    "CVE-2019-17365"
+    "CVE-2019-1010180"
+    "CVE-2019-1010204"
+    "CVE-2019-18192")
+  (map (compose cve-id cve-item-cve)
+       (call-with-input-file %sample json->cve-items)))
+
+(test-equal "cve-item-published-date"
+  '(2019)
+  (delete-duplicates
+   (map (compose date-year cve-item-published-date)
+        (call-with-input-file %sample json->cve-items))))
+
+(test-equal "json->vulnerabilities"
   %expected-vulnerabilities
-  (call-with-input-file %sample xml->vulnerabilities))
+  (call-with-input-file %sample json->vulnerabilities))
 
 (test-equal "vulnerabilities->lookup-proc"
-  (list (list (first %expected-vulnerabilities))
+  (list (list (third %expected-vulnerabilities))  ;ghostscript
+        (list (third %expected-vulnerabilities))
         '()
+
+        (list (fifth %expected-vulnerabilities))  ;gdb
+        (list (fifth %expected-vulnerabilities))
+
+        (list (fourth %expected-vulnerabilities)) ;nix
         '()
-        (list (second %expected-vulnerabilities))
-        (list (third %expected-vulnerabilities)))
-  (let* ((vulns  (call-with-input-file %sample xml->vulnerabilities))
+
+        (list (sixth %expected-vulnerabilities))  ;binutils
+        '()
+        (list (sixth %expected-vulnerabilities))
+        '())
+  (let* ((vulns  (call-with-input-file %sample json->vulnerabilities))
          (lookup (vulnerabilities->lookup-proc vulns)))
-    (list (lookup "phpvid")
-          (lookup "jasper" "2.0")
-          (lookup "foobar")
-          (lookup "jasper" "1.900.1")
-          (lookup "openoffice.org" "2.3.0"))))
+    (list (lookup "ghostscript")
+          (lookup "ghostscript" "9.27")
+          (lookup "ghostscript" "9.28")
+          (lookup "gdb")
+          (lookup "gdb" "42.0")
+          (lookup "nix")
+          (lookup "nix" "2.4")
+          (lookup "binutils" "2.31.1")
+          (lookup "binutils" "2.10")
+          (lookup "binutils_gold" "1.11")
+          (lookup "binutils" "2.32"))))
 
 (test-end "cve")

From 9efa2c28a4f842b7ca1977e084299de441842856 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= 
Date: Sun, 20 Oct 2019 22:17:59 +0200
Subject: [PATCH 0376/1112] lint: Re-enable CVE checker.

This reverts d7fcd9c565812919109ae88049f5d8bf4c56f9bd.

* guix/lint.scm (%network-dependent-checkers): Re-enable 'cve checker.
---
 guix/lint.scm | 16 +++++-----------
 1 file changed, 5 insertions(+), 11 deletions(-)

diff --git a/guix/lint.scm b/guix/lint.scm
index 6336cf4e3bf..03a8e882259 100644
--- a/guix/lint.scm
+++ b/guix/lint.scm
@@ -1319,17 +1319,11 @@ or a list thereof")
      (name        'github-url)
      (description "Suggest GitHub URLs")
      (check       check-github-url))
-
-   ;; FIXME: Commented out as a consequence of the XML CVE feed retirement:
-   ;; .
-   ;; Reinstate it once the JSON feed is supported.
-
- ;;   (lint-checker
- ;;     (name        'cve)
- ;;     (description "Check the Common Vulnerabilities and Exposures\
- ;; (CVE) database")
- ;;     (check       check-vulnerabilities))
-
+   (lint-checker
+     (name        'cve)
+     (description "Check the Common Vulnerabilities and Exposures\
+ (CVE) database")
+     (check       check-vulnerabilities))
    (lint-checker
      (name        'refresh)
      (description "Check the package for new upstream releases")

From 3da6bd5f2c0aaf215a3c357b837968e6344b3a26 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= 
Date: Wed, 23 Oct 2019 16:43:54 +0200
Subject: [PATCH 0377/1112] gnu: cuirass: Update to 80b6e89.

* gnu/packages/ci.scm (cuirass): Update to 80b6e89.
---
 gnu/packages/ci.scm | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/ci.scm b/gnu/packages/ci.scm
index 5807c8b68c9..f9dae5fd66e 100644
--- a/gnu/packages/ci.scm
+++ b/gnu/packages/ci.scm
@@ -47,8 +47,8 @@
   #:use-module (guix build-system gnu))
 
 (define-public cuirass
-  (let ((commit "d27ff21e430cd38b02bd70a0dc8d60c9c2736f83")
-        (revision "24"))
+  (let ((commit "80b6e89a7b2e9a6f9dee26dcf22277970930039f")
+        (revision "25"))
     (package
       (name "cuirass")
       (version (string-append "0.0.1-" revision "." (string-take commit 7)))
@@ -60,7 +60,7 @@
                 (file-name (string-append name "-" version))
                 (sha256
                  (base32
-                  "166xl9zfy7dm645fk2ln45bvw0y0gy0xw8fb7mprbjz8v95dh27p"))))
+                  "0m7g7wqa1l8gab8pcyi43a6w6rxhaqbpsrwlnadwsds1b95x9bka"))))
       (build-system gnu-build-system)
       (arguments
        '(#:modules ((guix build utils)

From ee42e9f9fd16868c23b2aa656cccbb72d886ba19 Mon Sep 17 00:00:00 2001
From: Tobias Geerinckx-Rice 
Date: Wed, 23 Oct 2019 16:55:42 +0200
Subject: [PATCH 0378/1112] gnu: wine-staging: Update to 4.18.

* gnu/packages/wine.scm (wine-staging-patchset-data): Update to 4.18.
(wine-staging): Update hash.
---
 gnu/packages/wine.scm | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/gnu/packages/wine.scm b/gnu/packages/wine.scm
index d1c27a65a7d..e73432ba3a0 100644
--- a/gnu/packages/wine.scm
+++ b/gnu/packages/wine.scm
@@ -318,7 +318,7 @@ integrate Windows applications into your desktop.")
 (define-public wine-staging-patchset-data
   (package
     (name "wine-staging-patchset-data")
-    (version "4.16")
+    (version "4.18")
     (source
      (origin
        (method git-fetch)
@@ -327,8 +327,7 @@ integrate Windows applications into your desktop.")
              (commit (string-append "v" version))))
        (file-name (git-file-name name version))
        (sha256
-        (base32
-         "0zkvwl6rxr6xcqk4a3h43cak67w6bcyqqnajz6azif07ir3z1c61"))))
+        (base32 "03z0haf47mpm2aj9cji3wma4jy6j12wz10kkbgmbgrkkrc5lcqc2"))))
     (build-system trivial-build-system)
     (native-inputs
      `(("bash" ,bash)
@@ -374,7 +373,7 @@ integrate Windows applications into your desktop.")
               (file-name (string-append name "-" version ".tar.xz"))
               (sha256
                (base32
-                "17qxbddv23ibbayw1ai984m0dlq63cgplms2jhsc09incjhafywd"))))
+                "0chf6vdy41kg75liibkb862442zwi8dbjzf6l5arcy2z4580a2yi"))))
     (inputs `(("autoconf" ,autoconf) ; for autoreconf
               ("faudio" ,faudio)
               ("ffmpeg" ,ffmpeg)

From dff0eedb04ac7c61fc1e2ddd4cd577f83f5eb89a Mon Sep 17 00:00:00 2001
From: Tobias Geerinckx-Rice 
Date: Wed, 23 Oct 2019 17:50:31 +0200
Subject: [PATCH 0379/1112] gnu: simple-scan: Update home page.

* gnu/packages/gnome.scm (simple-scan)[home-page]: Update.
---
 gnu/packages/gnome.scm | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 6ce3b1cf371..870c4be4ab4 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -4366,7 +4366,7 @@ USB transfers with your high-level application or system daemon.")
                       ;; one breaks the build by referring to a
                       ;; non-existent header (packagekit.h)
                       (delete-file "src/ui.c"))))))
-    (home-page "https://launchpad.net/simple-scan")
+    (home-page "https://gitlab.gnome.org/GNOME/simple-scan")
     (synopsis "Document and image scanner")
     (description "Simple Scan is an easy-to-use application, designed to let
 users connect their scanner and quickly have the image/document in an

From 3f4ea9a62b5fa68d57724b2f83c35a191e33b7c8 Mon Sep 17 00:00:00 2001
From: Tobias Geerinckx-Rice 
Date: Wed, 23 Oct 2019 19:43:02 +0200
Subject: [PATCH 0380/1112] gnu: avahi: Fix CVE-2018-1000845 and duplicate
 CVE-2017-6519.

* gnu/packages/avahi.scm (avahi/fixed): New variable.
(avahi)[replacement]: Use it.
* gnu/packages/patches/avahi-CVE-2018-1000845.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
---
 gnu/local.mk                                  |  1 +
 gnu/packages/avahi.scm                        | 11 +++++
 .../patches/avahi-CVE-2018-1000845.patch      | 42 +++++++++++++++++++
 3 files changed, 54 insertions(+)
 create mode 100644 gnu/packages/patches/avahi-CVE-2018-1000845.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index a8138a945ca..50bcab514a0 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -706,6 +706,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/ath9k-htc-firmware-objcopy.patch		\
   %D%/packages/patches/audacity-build-with-system-portaudio.patch \
   %D%/packages/patches/automake-skip-amhello-tests.patch	\
+  %D%/packages/patches/avahi-CVE-2018-1000845.patch		\
   %D%/packages/patches/avahi-localstatedir.patch		\
   %D%/packages/patches/avogadro-boost148.patch			\
   %D%/packages/patches/avogadro-eigen3-update.patch		\
diff --git a/gnu/packages/avahi.scm b/gnu/packages/avahi.scm
index e71ffc29823..408be8ed57f 100644
--- a/gnu/packages/avahi.scm
+++ b/gnu/packages/avahi.scm
@@ -35,6 +35,7 @@
   (package
     (name "avahi")
     (version "0.7")
+    (replacement avahi/fixed)
     (home-page "http://avahi.org")
     (source (origin
              (method url-fetch)
@@ -74,6 +75,16 @@ network.  It is an implementation of the mDNS (for \"Multicast DNS\") and
 DNS-SD (for \"DNS-Based Service Discovery\") protocols.")
     (license lgpl2.1+)))
 
+(define avahi/fixed
+  (package/inherit avahi
+    (source (origin
+              (inherit (package-source avahi))
+              (patches
+               (append (search-patches "avahi-CVE-2018-1000845.patch")
+                       (origin-patches (package-source avahi))))))
+    ;; Hide a duplicate of the CVE fixed above.
+    (properties `((lint-hidden-cve . ("CVE-2017-6519"))))))
+
 (define-public nss-mdns
   (package
     (name "nss-mdns")
diff --git a/gnu/packages/patches/avahi-CVE-2018-1000845.patch b/gnu/packages/patches/avahi-CVE-2018-1000845.patch
new file mode 100644
index 00000000000..e5b13e0beec
--- /dev/null
+++ b/gnu/packages/patches/avahi-CVE-2018-1000845.patch
@@ -0,0 +1,42 @@
+From e111def44a7df4624a4aa3f85fe98054bffb6b4f Mon Sep 17 00:00:00 2001
+From: Trent Lloyd 
+Date: Sat, 22 Dec 2018 09:06:07 +0800
+Subject: [PATCH] Drop legacy unicast queries from address not on local link
+
+When handling legacy unicast queries, ensure that the source IP is
+inside a subnet on the local link, otherwise drop the packet.
+
+Fixes #145
+Fixes #203
+CVE-2017-6519
+CVE-2018-100084
+---
+ avahi-core/server.c | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+diff --git a/avahi-core/server.c b/avahi-core/server.c
+index a2cb19a8..a2580e38 100644
+--- a/avahi-core/server.c
++++ b/avahi-core/server.c
+@@ -930,6 +930,7 @@ static void dispatch_packet(AvahiServer *s, AvahiDnsPacket *p, const AvahiAddres
+ 
+     if (avahi_dns_packet_is_query(p)) {
+         int legacy_unicast = 0;
++        char t[AVAHI_ADDRESS_STR_MAX];
+ 
+         /* For queries EDNS0 might allow ARCOUNT != 0. We ignore the
+          * AR section completely here, so far. Until the day we add
+@@ -947,6 +948,13 @@ static void dispatch_packet(AvahiServer *s, AvahiDnsPacket *p, const AvahiAddres
+             legacy_unicast = 1;
+         }
+ 
++        if (!is_mdns_mcast_address(dst_address) &&
++            !avahi_interface_address_on_link(i, src_address)) {
++
++            avahi_log_debug("Received non-local unicast query from host %s on interface '%s.%i'.", avahi_address_snprint(t, sizeof(t), src_address), i->hardware->name, i->protocol);
++            return;
++        }
++
+         if (legacy_unicast)
+             reflect_legacy_unicast_query_packet(s, p, i, src_address, port);
+ 

From 4163b6d855a4e655852029625762fccb077a196d Mon Sep 17 00:00:00 2001
From: Tobias Geerinckx-Rice 
Date: Wed, 23 Oct 2019 20:38:29 +0200
Subject: [PATCH 0381/1112] gnu: avahi: Don't use package/inherit.
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Thanks to Mark H Weaver .

* gnu/packages/avahi.scm (avahi): Use (package (inherit …)) instead of
package/inherit.
---
 gnu/packages/avahi.scm | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/avahi.scm b/gnu/packages/avahi.scm
index 408be8ed57f..e84fed6a71e 100644
--- a/gnu/packages/avahi.scm
+++ b/gnu/packages/avahi.scm
@@ -76,7 +76,8 @@ DNS-SD (for \"DNS-Based Service Discovery\") protocols.")
     (license lgpl2.1+)))
 
 (define avahi/fixed
-  (package/inherit avahi
+  (package
+    (inherit avahi)
     (source (origin
               (inherit (package-source avahi))
               (patches

From 134a2c4ad8e58035876131eb3946bc137fe32d54 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= 
Date: Wed, 23 Oct 2019 21:36:27 +0200
Subject: [PATCH 0382/1112] gnu: cuirass: Pass "--localstatedir=/var".

* gnu/packages/ci.scm (cuirass)[arguments]: Add #:configure-flags.
---
 gnu/packages/ci.scm | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/gnu/packages/ci.scm b/gnu/packages/ci.scm
index f9dae5fd66e..964980ef881 100644
--- a/gnu/packages/ci.scm
+++ b/gnu/packages/ci.scm
@@ -68,6 +68,8 @@
                     (ice-9 rdelim)
                     (ice-9 popen))
 
+         #:configure-flags '("--localstatedir=/var") ;for /var/log/cuirass
+
          #:phases
          (modify-phases %standard-phases
            (add-after 'unpack 'disable-repo-tests

From b40f4a5995cff00077aa60881737d0d0f6871982 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= 
Date: Wed, 23 Oct 2019 21:48:08 +0200
Subject: [PATCH 0383/1112] services: cuirass: Create /var/log/cuirass during
 activation.

* gnu/services/cuirass.scm (cuirass-activation): Create "/var/log/cuirass".
---
 gnu/services/cuirass.scm | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/gnu/services/cuirass.scm b/gnu/services/cuirass.scm
index 914a0d337f3..d92421762a7 100644
--- a/gnu/services/cuirass.scm
+++ b/gnu/services/cuirass.scm
@@ -164,6 +164,7 @@
   (let ((cache (cuirass-configuration-cache-directory config))
         (db    (dirname (cuirass-configuration-database config)))
         (user  (cuirass-configuration-user config))
+        (log   "/var/log/cuirass")
         (group (cuirass-configuration-group config)))
     (with-imported-modules '((guix build utils))
       #~(begin
@@ -171,11 +172,13 @@
 
           (mkdir-p #$cache)
           (mkdir-p #$db)
+          (mkdir-p #$log)
 
           (let ((uid (passwd:uid (getpw #$user)))
                 (gid (group:gid (getgr #$group))))
             (chown #$cache uid gid)
-            (chown #$db uid gid))))))
+            (chown #$db uid gid)
+            (chown #$log uid gid))))))
 
 (define (cuirass-log-rotations config)
   "Return the list of log rotations that corresponds to CONFIG."

From 51395c84fdbf8daed6392951a973ad750cf3eefa Mon Sep 17 00:00:00 2001
From: Julien Lepiller 
Date: Mon, 21 Oct 2019 21:48:31 +0200
Subject: [PATCH 0384/1112] guix: svn: Allow dropping externals.

* guix/build/svn.scm (svn-fetch): Allow to ignore externals.
* guix/svn-download.scm (svn-reference, svn-multi-reference): Add
recursive? field.
---
 guix/build/svn.scm    |  4 ++++
 guix/svn-download.scm | 15 +++++++++++----
 2 files changed, 15 insertions(+), 4 deletions(-)

diff --git a/guix/build/svn.scm b/guix/build/svn.scm
index e3188add3e4..33783f3056b 100644
--- a/guix/build/svn.scm
+++ b/guix/build/svn.scm
@@ -31,6 +31,7 @@
 
 (define* (svn-fetch url revision directory
                     #:key (svn-command "svn")
+                    (recursive? #t)
                     (user-name #f)
                     (password #f))
   "Fetch REVISION from URL into DIRECTORY.  REVISION must be an integer, and a
@@ -45,6 +46,9 @@ valid Subversion revision.  Return #t on success, #f otherwise."
                  (list (string-append "--username=" user-name)
                        (string-append "--password=" password))
                  '())
+           ,@(if recursive?
+                 '()
+                 (list "--ignore-externals"))
            ,url ,directory))
   #t)
 
diff --git a/guix/svn-download.scm b/guix/svn-download.scm
index 4139cbc2e28..d912474aa2f 100644
--- a/guix/svn-download.scm
+++ b/guix/svn-download.scm
@@ -31,6 +31,7 @@
             svn-reference?
             svn-reference-url
             svn-reference-revision
+            svn-reference-recursive?
             svn-fetch
             download-svn-to-store
 
@@ -39,6 +40,7 @@
             svn-multi-reference-url
             svn-multi-reference-revision
             svn-multi-reference-locations
+            svn-multi-reference-recursive?
             svn-multi-fetch))
 
 ;;; Commentary:
@@ -52,10 +54,11 @@
 (define-record-type* 
   svn-reference make-svn-reference
   svn-reference?
-  (url       svn-reference-url)                    ; string
-  (revision  svn-reference-revision)               ; number
-  (user-name svn-reference-user-name (default #f))
-  (password  svn-reference-password (default #f)))
+  (url        svn-reference-url)                    ; string
+  (revision   svn-reference-revision)               ; number
+  (recursive? svn-reference-recursive? (default #t))
+  (user-name  svn-reference-user-name (default #f))
+  (password   svn-reference-password (default #f)))
 
 (define (subversion-package)
   "Return the default Subversion package."
@@ -78,6 +81,7 @@ HASH-ALGO (a symbol).  Use NAME as the file name, or a generic name if #f."
                      '#$(svn-reference-revision ref)
                      #$output
                      #:svn-command (string-append #+svn "/bin/svn")
+                     #:recursive? #$(svn-reference-recursive? ref)
                      #:user-name #$(svn-reference-user-name ref)
                      #:password #$(svn-reference-password ref)))))
 
@@ -96,6 +100,7 @@ HASH-ALGO (a symbol).  Use NAME as the file name, or a generic name if #f."
   (url        svn-multi-reference-url)                 ; string
   (revision   svn-multi-reference-revision)            ; number
   (locations  svn-multi-reference-locations)           ; list of strings
+  (recursive? svn-multi-reference-recursive? (default #t))
   (user-name  svn-multi-reference-user-name (default #f))
   (password   svn-multi-reference-password (default #f)))
 
@@ -125,6 +130,8 @@ HASH-ALGO (a symbol).  Use NAME as the file name, or a generic name if #f."
                                   (string-append #$output "/" location)
                                   (string-append #$output "/" (dirname location)))
                               #:svn-command (string-append #+svn "/bin/svn")
+                              #:recursive?
+                              #$(svn-reference-recursive? ref)
                               #:user-name #$(svn-multi-reference-user-name ref)
                               #:password #$(svn-multi-reference-password ref)))
                  '#$(svn-multi-reference-locations ref)))))

From d21778aa86babe4649be01266ffc49cf0152bc94 Mon Sep 17 00:00:00 2001
From: Tobias Geerinckx-Rice 
Date: Wed, 23 Oct 2019 22:58:01 +0200
Subject: [PATCH 0385/1112] gnu: colord: Don't use NAME in source URI.

* gnu/packages/gnome.scm (colord)[source]: Hard-code NAME.
---
 gnu/packages/gnome.scm | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 870c4be4ab4..0e2c6eb68d0 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -3028,7 +3028,7 @@ keyboard shortcuts.")
      (origin
        (method url-fetch)
        (uri (string-append "https://www.freedesktop.org/software/colord/releases/"
-                           name "-" version ".tar.xz"))
+                           "colord-" version ".tar.xz"))
        (sha256
         (base32
          "1xwxahg9mgmapc16xkb4kgmc40zpadrwav33xqmn6cgaw6g6d3ls"))))

From f98be942e314d9add540a71b987fc5510d1981e1 Mon Sep 17 00:00:00 2001
From: Tobias Geerinckx-Rice 
Date: Wed, 23 Oct 2019 23:20:49 +0200
Subject: [PATCH 0386/1112] gnu: colord: Update to 1.4.4.

* gnu/packages/gnome.scm (colord): Update to 1.4.4.
---
 gnu/packages/gnome.scm | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 0e2c6eb68d0..a541648b735 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -3023,15 +3023,14 @@ keyboard shortcuts.")
 (define-public colord
   (package
     (name "colord")
-    (version "1.4.3")
+    (version "1.4.4")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "https://www.freedesktop.org/software/colord/releases/"
                            "colord-" version ".tar.xz"))
        (sha256
-        (base32
-         "1xwxahg9mgmapc16xkb4kgmc40zpadrwav33xqmn6cgaw6g6d3ls"))))
+        (base32 "19f0938fr7nvvm3jr263dlknaq7md40zrac2npfyz25zc00yh3ws"))))
     (build-system meson-build-system)
     (arguments
      '(;; FIXME: One test fails:

From 8a2b23178274127dac07e1163267d623790ce36a Mon Sep 17 00:00:00 2001
From: Tobias Geerinckx-Rice 
Date: Thu, 24 Oct 2019 00:57:23 +0200
Subject: [PATCH 0387/1112] Revert "guix: svn: Allow dropping externals."

This reverts commit 51395c84fdbf8daed6392951a973ad750cf3eefa,
fixing .

Reported by .
---
 guix/build/svn.scm    |  4 ----
 guix/svn-download.scm | 15 ++++-----------
 2 files changed, 4 insertions(+), 15 deletions(-)

diff --git a/guix/build/svn.scm b/guix/build/svn.scm
index 33783f3056b..e3188add3e4 100644
--- a/guix/build/svn.scm
+++ b/guix/build/svn.scm
@@ -31,7 +31,6 @@
 
 (define* (svn-fetch url revision directory
                     #:key (svn-command "svn")
-                    (recursive? #t)
                     (user-name #f)
                     (password #f))
   "Fetch REVISION from URL into DIRECTORY.  REVISION must be an integer, and a
@@ -46,9 +45,6 @@ valid Subversion revision.  Return #t on success, #f otherwise."
                  (list (string-append "--username=" user-name)
                        (string-append "--password=" password))
                  '())
-           ,@(if recursive?
-                 '()
-                 (list "--ignore-externals"))
            ,url ,directory))
   #t)
 
diff --git a/guix/svn-download.scm b/guix/svn-download.scm
index d912474aa2f..4139cbc2e28 100644
--- a/guix/svn-download.scm
+++ b/guix/svn-download.scm
@@ -31,7 +31,6 @@
             svn-reference?
             svn-reference-url
             svn-reference-revision
-            svn-reference-recursive?
             svn-fetch
             download-svn-to-store
 
@@ -40,7 +39,6 @@
             svn-multi-reference-url
             svn-multi-reference-revision
             svn-multi-reference-locations
-            svn-multi-reference-recursive?
             svn-multi-fetch))
 
 ;;; Commentary:
@@ -54,11 +52,10 @@
 (define-record-type* 
   svn-reference make-svn-reference
   svn-reference?
-  (url        svn-reference-url)                    ; string
-  (revision   svn-reference-revision)               ; number
-  (recursive? svn-reference-recursive? (default #t))
-  (user-name  svn-reference-user-name (default #f))
-  (password   svn-reference-password (default #f)))
+  (url       svn-reference-url)                    ; string
+  (revision  svn-reference-revision)               ; number
+  (user-name svn-reference-user-name (default #f))
+  (password  svn-reference-password (default #f)))
 
 (define (subversion-package)
   "Return the default Subversion package."
@@ -81,7 +78,6 @@ HASH-ALGO (a symbol).  Use NAME as the file name, or a generic name if #f."
                      '#$(svn-reference-revision ref)
                      #$output
                      #:svn-command (string-append #+svn "/bin/svn")
-                     #:recursive? #$(svn-reference-recursive? ref)
                      #:user-name #$(svn-reference-user-name ref)
                      #:password #$(svn-reference-password ref)))))
 
@@ -100,7 +96,6 @@ HASH-ALGO (a symbol).  Use NAME as the file name, or a generic name if #f."
   (url        svn-multi-reference-url)                 ; string
   (revision   svn-multi-reference-revision)            ; number
   (locations  svn-multi-reference-locations)           ; list of strings
-  (recursive? svn-multi-reference-recursive? (default #t))
   (user-name  svn-multi-reference-user-name (default #f))
   (password   svn-multi-reference-password (default #f)))
 
@@ -130,8 +125,6 @@ HASH-ALGO (a symbol).  Use NAME as the file name, or a generic name if #f."
                                   (string-append #$output "/" location)
                                   (string-append #$output "/" (dirname location)))
                               #:svn-command (string-append #+svn "/bin/svn")
-                              #:recursive?
-                              #$(svn-reference-recursive? ref)
                               #:user-name #$(svn-multi-reference-user-name ref)
                               #:password #$(svn-multi-reference-password ref)))
                  '#$(svn-multi-reference-locations ref)))))

From 6f20e2dc907c2e70c5da123fcf672250877f078e Mon Sep 17 00:00:00 2001
From: Tobias Geerinckx-Rice 
Date: Thu, 24 Oct 2019 04:08:09 +0200
Subject: [PATCH 0388/1112] gnu: colord: Clean up.

* gnu/packages/gnome.scm (colord)[arguments]: Remove unnecessary
configure flag (and outdated colord-gtk comment).
[native-inputs, propagated-inputs, inputs]: Order alphabetically.
---
 gnu/packages/gnome.scm | 18 ++++++++----------
 1 file changed, 8 insertions(+), 10 deletions(-)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index a541648b735..faaf0a589bb 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -3045,13 +3045,11 @@ keyboard shortcuts.")
                                ;; Wants to install to global completion dir;
                                ;; punt.
                                "-Dbash_completion=false"
-                               ;; colord-gtk not packaged yet.
-                               "-Dsession_example=false"
                                "-Ddaemon_user=colord"
                                "-Dsane=true"
-                               ;; Requires spotread
+                               ;; Requires spotread.
                                "-Dargyllcms_sensor=false"
-                               ;; TODO: Requires docbook2x
+                               ;; TODO: Requires docbook2x.
                                "-Dman=false")
        #:phases
        (modify-phases %standard-phases
@@ -3062,25 +3060,25 @@ keyboard shortcuts.")
                 (string-append "'" (assoc-ref outputs "out") "/lib/udev'")))
              #t)))))
     (native-inputs
-     `(("pkg-config" ,pkg-config)
-       ("glib:bin" ,glib "bin") ; for glib-compile-resources, etc.
+     `(("glib:bin" ,glib "bin")         ; for glib-compile-resources, etc.
        ("gobject-introspection" ,gobject-introspection)
        ("gtk-doc" ,gtk-doc)
+       ("intltool" ,intltool)
        ("libtool" ,libtool)
-       ("intltool" ,intltool)))
+       ("pkg-config" ,pkg-config)))
     (propagated-inputs
      ;; colord.pc refers to all these.
      `(("glib" ,glib)
-       ("udev" ,eudev)
-       ("lcms" ,lcms)))
+       ("lcms" ,lcms)
+       ("udev" ,eudev)))
     (inputs
      `(("dbus-glib" ,dbus-glib)
        ("gusb" ,gusb)
        ("libgudev" ,libgudev)
        ("libusb" ,libusb)
-       ("sqlite" ,sqlite)
        ("polkit" ,polkit)
        ("python" ,python-wrapper)
+       ("sqlite" ,sqlite)
        ("sane-backends" ,sane-backends)))
     (home-page "https://www.freedesktop.org/software/colord/")
     (synopsis "Color management service")

From dac26e22f8123e5515583a4cc2462e2a9c7a5a81 Mon Sep 17 00:00:00 2001
From: Tobias Geerinckx-Rice 
Date: Thu, 24 Oct 2019 04:52:15 +0200
Subject: [PATCH 0389/1112] gnu: colord: Install vapi files.

* gnu/packages/gnome.scm (colord)[arguments]: Enable vapi.
[native-inputs]: Add vala.
---
 gnu/packages/gnome.scm | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index faaf0a589bb..241982807bf 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -3047,6 +3047,7 @@ keyboard shortcuts.")
                                "-Dbash_completion=false"
                                "-Ddaemon_user=colord"
                                "-Dsane=true"
+                               "-Dvapi=true"
                                ;; Requires spotread.
                                "-Dargyllcms_sensor=false"
                                ;; TODO: Requires docbook2x.
@@ -3065,7 +3066,8 @@ keyboard shortcuts.")
        ("gtk-doc" ,gtk-doc)
        ("intltool" ,intltool)
        ("libtool" ,libtool)
-       ("pkg-config" ,pkg-config)))
+       ("pkg-config" ,pkg-config)
+       ("vala" ,vala)))
     (propagated-inputs
      ;; colord.pc refers to all these.
      `(("glib" ,glib)

From c501f59235445344fb01edfdd005d818380db1f7 Mon Sep 17 00:00:00 2001
From: Tobias Geerinckx-Rice 
Date: Thu, 24 Oct 2019 05:49:02 +0200
Subject: [PATCH 0390/1112] gnu: simple-scan: Make colord input non-native.
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

* gnu/packages/gnome.scm (simple-scan)[inputs]: Move colord here…
[native-inputs]: …from here.
---
 gnu/packages/gnome.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 241982807bf..bba842b8ddb 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -4339,14 +4339,14 @@ USB transfers with your high-level application or system daemon.")
      `(("gtk" ,gtk+)
        ("zlib" ,zlib)
        ("cairo" ,cairo)
+       ("colord" ,colord)
        ("gdk-pixbuf" ,gdk-pixbuf)
        ("gusb" ,gusb)
        ("libsane" ,sane-backends)))
     (native-inputs
      `(("gettext" ,gettext-minimal)
        ("itstool" ,itstool)
-       ("colord" ,colord)
-       ("glib" ,glib "bin")                       ; glib-compile-schemas, etc.
+       ("glib" ,glib "bin")             ; glib-compile-schemas, etc.
        ("pkg-config" ,pkg-config)
        ("vala" ,vala)
        ("xmllint" ,libxml2)))

From d9f6d587aea396de4e922cf8dfe87e47c9d3e776 Mon Sep 17 00:00:00 2001
From: Tobias Geerinckx-Rice 
Date: Thu, 24 Oct 2019 05:50:35 +0200
Subject: [PATCH 0391/1112] gnu: simple-scan: Update to 3.34.1.

* gnu/packages/gnome.scm (simple-scan): Update to 3.34.1.
[build-system]: Switch to Meson.
[arguments]: Remove custom #:configure-flags and #:phases.
Use #:glib-or-gtk.
[description]: Adapt to new upstream name and blurb.
---
 gnu/packages/gnome.scm | 49 ++++++++++++++++--------------------------
 1 file changed, 18 insertions(+), 31 deletions(-)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index bba842b8ddb..8bb891bfb3a 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -4324,17 +4324,19 @@ USB transfers with your high-level application or system daemon.")
 (define-public simple-scan
   (package
     (name "simple-scan")
-    (version "3.24.1")
-    (source (origin
-              (method url-fetch)
-              (uri (string-append "https://launchpad.net/simple-scan/"
-                                  (version-major+minor version) "/"
-                                  version "/+download/simple-scan-"
-                                  version ".tar.xz"))
-              (sha256
-               (base32
-                "1czg21cdbd2fgqylxfnzfhhzy69gycf816d5bbaq6hb62hmq7bjy"))))
-    (build-system glib-or-gtk-build-system)
+    (version "3.34.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "mirror://gnome/sources/simple-scan/"
+                           (version-major+minor version) "/"
+                           "simple-scan-" version ".tar.xz"))
+       (sha256
+        (base32 "0glzskxdc7p9z7nwcakqc7qzij4l79adlvvb2cj5fmis731zw9yq"))))
+    (build-system meson-build-system)
+    ;; TODO: Fix icons in home screen, About dialogue, and scan menu.
+    (arguments
+     '(#:glib-or-gtk? #t))
     (inputs
      `(("gtk" ,gtk+)
        ("zlib" ,zlib)
@@ -4350,28 +4352,13 @@ USB transfers with your high-level application or system daemon.")
        ("pkg-config" ,pkg-config)
        ("vala" ,vala)
        ("xmllint" ,libxml2)))
-    (arguments
-     '(#:configure-flags '("--disable-packagekit")
-       #:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'clean
-                    (lambda _
-                      ;; Remove a left-over reference to PackageKit.
-
-                      ;; https://bugs.launchpad.net/simple-scan/+bug/1462769
-
-                      ;; There are some generated C files erroneously
-                      ;; included in the source distribution, and this
-                      ;; one breaks the build by referring to a
-                      ;; non-existent header (packagekit.h)
-                      (delete-file "src/ui.c"))))))
     (home-page "https://gitlab.gnome.org/GNOME/simple-scan")
     (synopsis "Document and image scanner")
-    (description "Simple Scan is an easy-to-use application, designed to let
-users connect their scanner and quickly have the image/document in an
-appropriate format.  Simple Scan is basically a frontend for SANE - which is
-the same backend as XSANE uses. This means that all existing scanners will
-work and the interface is well tested.")
+    (description
+     "Document Scanner is an easy-to-use application that lets you connect your
+scanner and quickly capture images and documents in an appropriate format.  It
+supports any scanner for which a suitable SANE driver is available, which is
+almost all of them.")
     (license license:gpl3+)))
 
 (define-public eolie

From d195f623aa48f1534b57bb613bdc9a15ac3395e0 Mon Sep 17 00:00:00 2001
From: Tobias Geerinckx-Rice 
Date: Thu, 24 Oct 2019 05:51:50 +0200
Subject: [PATCH 0392/1112] gnu: perl-test-mockmodule: Update to 0.171.0.

* gnu/packages/perl-check.scm (perl-test-mockmodule): Update to 0.171.0.
---
 gnu/packages/perl-check.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/perl-check.scm b/gnu/packages/perl-check.scm
index 2d2a24b6b0e..0e1a0d653bf 100644
--- a/gnu/packages/perl-check.scm
+++ b/gnu/packages/perl-check.scm
@@ -805,14 +805,14 @@ memory_cycle_ok( $object );
 (define-public perl-test-mockmodule
   (package
     (name "perl-test-mockmodule")
-    (version "0.170.0")
+    (version "0.171.0")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "mirror://cpan/authors/id/G/GF/GFRANKS/"
                            "Test-MockModule-v" version ".tar.gz"))
        (sha256
-        (base32 "0pggwrlqj6k44qayhbpjqkzry1r626iy2vf30zlf2jdhbjbvlycz"))))
+        (base32 "1arqgb1773zym5dqlwm6kz48bfrccjhb5bjfsif0vkalwq2gvm7b"))))
     (build-system perl-build-system)
     (native-inputs
      `(("perl-module-build" ,perl-module-build)

From 08d0a35578854c8db774178628c2dd818828cb0c Mon Sep 17 00:00:00 2001
From: Tobias Geerinckx-Rice 
Date: Tue, 22 Oct 2019 23:40:51 +0200
Subject: [PATCH 0393/1112] gnu: python-ipykernel: Update to 5.1.3.

* gnu/packages/python-xyz.scm (python-ipykernel): Update to 5.1.3.
[native-inputs]: Add python-flaky.
---
 gnu/packages/python-xyz.scm | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index c07ac53566f..e69a17a463a 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -5438,13 +5438,13 @@ installing @code{kernelspec}s for use with Jupyter frontends.")
 (define-public python-ipykernel
   (package
     (name "python-ipykernel")
-    (version "5.1.1")
+    (version "5.1.3")
     (source
      (origin
       (method url-fetch)
       (uri (pypi-uri "ipykernel" version))
       (sha256
-       (base32 "173nm29g85w8cac3fg40b27qaq26g41wgg6qn79ql1hq4w2n5sgh"))))
+       (base32 "1a08y677lpn80qzvv7z0smgggmr5m5ayf0bs6vds47xpxl9sss5k"))))
     (build-system python-build-system)
     (arguments
      `(#:phases
@@ -5469,8 +5469,9 @@ installing @code{kernelspec}s for use with Jupyter frontends.")
        ;; imported at runtime during connect
        ("python-jupyter-client" ,python-jupyter-client)))
     (native-inputs
-     `(("python-pytest" ,python-pytest)
-       ("python-nose" ,python-nose)))
+     `(("python-flaky" ,python-flaky)
+       ("python-nose" ,python-nose)
+       ("python-pytest" ,python-pytest)))
     (home-page "https://ipython.org")
     (synopsis "IPython Kernel for Jupyter")
     (description

From faf2843b86d1658aa03d55fdc170648fd87bcf31 Mon Sep 17 00:00:00 2001
From: Efraim Flashner 
Date: Thu, 24 Oct 2019 10:13:03 +0300
Subject: [PATCH 0394/1112] gnu: lynx: Ignore CVE-2016-9179.

This was fixed in a dev release two years prior to our packaged version.

* gnu/packages/web-browsers.scm (lynx)[properties]: New field.
---
 gnu/packages/web-browsers.scm | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/gnu/packages/web-browsers.scm b/gnu/packages/web-browsers.scm
index 6a1eb9324ed..1b41aec8745 100644
--- a/gnu/packages/web-browsers.scm
+++ b/gnu/packages/web-browsers.scm
@@ -265,6 +265,8 @@ nntp, finger, or cso/ph/qi servers.  Lynx can be used to access information on
 the WWW, or to build information systems intended primarily for local
 access.")
     (home-page "https://lynx.invisible-island.net/")
+    ;; This was fixed in 2.8.9dev.10.
+    (properties `((lint-hidden-cve . ("CVE-2016-9179"))))
     (license license:gpl2)))
 
 (define-public qutebrowser

From 4c463569b7af3ee064d323691bc0284155f9a85d Mon Sep 17 00:00:00 2001
From: Pierre Neidhardt 
Date: Thu, 24 Oct 2019 11:14:23 +0200
Subject: [PATCH 0395/1112] doc: Add "Guix Profiles in Practice" to the
 cookbook.

* doc/guix-cookbook.texi (Advanced package management): New chapter.
* doc/guix-cookbook.texi (Guix Profiles in Practice): New section.
---
 doc/guix-cookbook.texi | 389 +++++++++++++++++++++++++++++++++++++++++
 1 file changed, 389 insertions(+)

diff --git a/doc/guix-cookbook.texi b/doc/guix-cookbook.texi
index 66f94a0fe7c..3fee6b270ea 100644
--- a/doc/guix-cookbook.texi
+++ b/doc/guix-cookbook.texi
@@ -58,6 +58,7 @@ Translation Project}.
 * Scheme tutorials::            Meet your new favorite language!
 * Packaging::                   Packaging tutorials
 * System Configuration::        Customizing the GNU System
+* Advanced package management:: Power to the users!
 
 * Acknowledgments::             Thanks!
 * GNU Free Documentation License::  The license of this document.
@@ -778,6 +779,394 @@ likely that you'll need to modify the initrd on a machine using a custom
 kernel, since certain modules which are expected to be built may not be
 available for inclusion into the initrd.
 
+@c *********************************************************************
+@node Advanced package management
+@chapter Advanced package management
+
+Guix is a functional package manager that offers many features beyond
+what more traditional package managers can do.  To the uninitiated,
+those features might not have obvious use cases at first.  The purpose
+of this chapter is to demonstrate some advanced package management
+concepts.
+
+@pxref{Package Management,,, guix, GNU Guix Reference Manual} for a complete
+reference.
+
+@menu
+* Guix Profiles in Practice::     Strategies for multiple profiles and manifests.
+@end menu
+
+@node Guix Profiles in Practice
+@section Guix Profiles in Practice
+
+Guix provides a very useful feature that may be quite foreign to newcomers:
+@emph{profiles}.  They are a way to group package installations together and all users
+on a same system are free to use as many profiles as they want.
+
+Whether you're a developer or not, you may find that multiple profiles bring you
+great power and flexibility.  While they shift the paradigm somewhat compared to
+@emph{traditional package managers}, they are very convenient to use once you've
+understood how to set them up.
+
+If you are familiar with Python's @samp{virtualenv}, you can think of a profile as a
+kind of universal @samp{virtualenv} that can hold any kind of software whatsoever, not
+just Python software.  Furthermore, profiles are self-sufficient: they capture
+all the runtime dependencies which guarantees that all programs within a profile
+will always work at any point in time.
+
+Multiple profiles have many benefits:
+
+@itemize
+@item
+Clean semantic separation of the various packages a user needs for different contexts.
+
+@item
+Multiple profiles can be made available into the environment either on login
+or within a dedicated shell.
+
+@item
+Profiles can be loaded on demand.  For instance, the user can use multiple
+shells, each of them running different profiles.
+
+@item
+Isolation: Programs from one profile will not use programs from the other, and
+they user can even install different versions of the same programs to the two
+profiles without conflict.
+
+@item
+Deduplication: Profiles share dependencies that happens to be the exact same.
+This makes multiple profiles storage-efficient.
+
+@item
+Reproducible: when used with declarative manifests, a profile can be fully
+specified by the Guix commit that was active when it was set up.  This means
+that the exact same profile can be @uref{https://guix.gnu.org/blog/2018/multi-dimensional-transactions-and-rollbacks-oh-my/, set up anywhere, anytime}, with just the
+commit information.  See the section on @ref{Reproducible profiles}.
+
+@item
+Easier upgrades and maintenance: Multiple profiles make it easy to keep
+package listings at hand and make upgrades completely friction-less.
+@end itemize
+
+Concretely, here follows some typical profiles:
+
+@itemize
+@item
+The dependencies of a project you are working on.
+
+@item
+Your favourite programming language libraries.
+
+@item
+Laptop-specific programs (like @samp{powertop}) that you don't need on a desktop.
+
+@item
+@TeX{}live (this one can be really useful when you need to install just one
+package for this one document you've just received over email).
+
+@item
+Games.
+@end itemize
+
+Let's dive in the set up!
+
+@node Basic setup with manifests
+@subsection Basic setup with manifests
+
+A Guix profile can be set up @emph{via} a so-called @emph{manifest specification} that looks like
+this:
+
+@example
+(specifications->manifest
+  '("package-1"
+    ;; Version 1.3 of package-2.
+    "package-2@@1.3"
+    ;; The "lib" output of package-3.
+    "package-3:lib"
+    ; ...
+    "package-N"))
+@end example
+
+See @pxref{Invoking guix package,,, guix, GNU Guix Reference Manual} for
+the syntax details.
+
+We can create a manifest specification per profile and install them this way:
+
+@example
+GUIX_EXTRA_PROFILES=$HOME/.guix-extra-profiles
+mkdir -p "$GUIX_EXTRA_PROFILES"/my-project # if it does not exist yet
+guix package --manifest=/path/to/guix-my-project-manifest.scm --profile="$GUIX_EXTRA_PROFILES"/my-project/my-project
+@end example
+
+Here we set an arbitrary variable @samp{GUIX_EXTRA_PROFILES} to point to the directory
+where we will store our profiles in the rest of this article.
+
+Placing all your profiles in a single directory, with each profile getting its
+own sub-directory, is somewhat cleaner.  This way, each sub-directory will
+contain all the symlinks for precisely one profile.  Besides, "looping over
+profiles" becomes obvious from any programming language (e.g. a shell script) by
+simply looping over the sub-directories of @samp{$GUIX_EXTRA_PROFILES}.
+
+Note that it's also possible to loop over the output of
+
+@example
+guix package --list-profiles
+@end example
+
+although you'll probably have to filter out @samp{~/.config/guix/current}.
+
+To enable all profiles on login, add this to your @samp{~/.bash_profile} (or similar):
+
+@example
+for i in $GUIX_EXTRA_PROFILES/*; do
+  profile=$i/$(basename "$i")
+  if [ -f "$profile"/etc/profile ]; then
+    GUIX_PROFILE="$profile"
+    . "$GUIX_PROFILE"/etc/profile
+  fi
+  unset profile
+done
+@end example
+
+Note to Guix System users: the above reflects how your default profile
+@samp{~/.guix-profile} is activated from @samp{/etc/profile}, that latter being loaded by
+@samp{~/.bashrc} by default.
+
+You can obviously choose to only enable a subset of them:
+
+@example
+for i in "$GUIX_EXTRA_PROFILES"/my-project-1 "$GUIX_EXTRA_PROFILES"/my-project-2; do
+  profile=$i/$(basename "$i")
+  if [ -f "$profile"/etc/profile ]; then
+    GUIX_PROFILE="$profile"
+    . "$GUIX_PROFILE"/etc/profile
+  fi
+  unset profile
+done
+@end example
+
+When a profile is off, it's straightforward to enable it for an individual shell
+without "polluting" the rest of the user session:
+
+@example
+GUIX_PROFILE="path/to/my-project" ; . "$GUIX_PROFILE"/etc/profile
+@end example
+
+The key to enabling a profile is to @emph{source} its @samp{etc/profile} file.  This file
+contains shell code that exports the right environment variables necessary to
+activate the software contained in the profile.  It is built automatically by
+Guix and meant to be sourced.
+It contains the same variables you would get if you ran:
+
+@example
+guix package --search-paths=prefix --profile=$my_profile"
+@end example
+
+Once again, see (@pxref{Invoking guix package,,, guix, GNU Guix Reference Manual})
+for the command line options.
+
+To upgrade a profile, simply install the manifest again:
+
+@example
+guix package -m /path/to/guix-my-project-manifest.scm -p "$GUIX_EXTRA_PROFILES"/my-project/my-project
+@end example
+
+To upgrade all profiles, it's easy enough to loop over them.  For instance,
+assuming your manifest specifications are stored in
+@samp{~/.guix-manifests/guix-$profile-manifest.scm}, with @samp{$profile} being the name
+of the profile (e.g. "project1"), you could do the following in Bourne shell:
+
+@example
+for profile in "$GUIX_EXTRA_PROFILES"/*; do
+  guix package --profile="$profile" --manifest="$HOME/.guix-manifests/guix-$profile-manifest.scm"
+done
+@end example
+
+Each profile has its own generations:
+
+@example
+guix package -p "$GUIX_EXTRA_PROFILES"/my-project/my-project --list-generations
+@end example
+
+You can roll-back to any generation of a given profile:
+
+@example
+guix package -p "$GUIX_EXTRA_PROFILES"/my-project/my-project --switch-generations=17
+@end example
+
+@node Required packages
+@subsection Required packages
+
+Activating a profile essentially boils down to exporting a bunch of
+environmental variables.  This is the role of the @samp{etc/profile} within the
+profile.
+
+@emph{Note: Only the environmental variables of the packages that consume them will
+be set.}
+
+For instance, @samp{MANPATH} won't be set if there is no consumer application for man
+pages within the profile.  So if you need to transparently access man pages once
+the profile is loaded, you've got two options:
+
+@itemize
+@item
+Either export the variable manually, e.g.
+@example
+export MANPATH=/path/to/profile$@{MANPATH:+:@}$MANPATH"
+@end example
+
+@item
+Or include @samp{man-db} to the profile manifest.
+@end itemize
+
+The same is true for @samp{INFOPATH} (you can install @samp{info-reader}),
+@samp{PKG_CONFIG_PATH} (install @samp{pkg-config}), etc.
+
+@node Default profile
+@subsection Default profile
+
+What about the default profile that Guix keeps in @samp{~/.guix-profile}?
+
+You can assign it the role you want.  Typically you would install the manifest
+of the packages you want to use all the time.
+
+Alternatively, you could keep it "manifest-less" for throw-away packages
+that you would just use for a couple of days.
+This way makes it convenient to run
+
+@example
+guix install package-foo
+guix upgrade package-bar
+@end example
+
+without having to specify the path to a profile.
+
+@node The benefits of manifests
+@subsection The benefits of manifests
+
+Manifests are a convenient way to keep your package lists around and, say,
+to synchronize them across multiple machines using a version control system.
+
+A common complaint about manifests is that they can be slow to install when they
+contain large number of packages.  This is especially cumbersome when you just
+want get an upgrade for one package within a big manifest.
+
+This is one more reason to use multiple profiles, which happen to be just
+perfect to break down manifests into multiple sets of semantically connected
+packages.  Using multiple, small profiles provides more flexibility and
+usability.
+
+Manifests come with multiple benefits.  In particular, they ease maintenance:
+
+@itemize
+@item
+When a profile is set up from a manifest, the manifest itself is
+self-sufficient to keep a "package listing" around and reinstall the profile
+later or on a different system.  For ad-hoc profiles, we would need to
+generate a manifest specification manually and maintain the package versions
+for the packages that don't use the default version.
+
+@item
+@code{guix package --upgrade} always tries to update the packages that have
+propagated inputs, even if there is nothing to do.  Guix manifests remove this
+problem.
+
+@item
+When partially upgrading a profile, conflicts may arise (due to diverging
+dependencies between the updated and the non-updated packages) and they can be
+annoying to resolve manually.  Manifests remove this problem altogether since
+all packages are always upgraded at once.
+
+@item
+As mentioned above, manifests allow for reproducible profiles, while the
+imperative @code{guix install}, @code{guix upgrade}, etc. do not, since they produce
+different profiles every time even when they hold the same packages.  See
+@uref{https://issues.guix.gnu.org/issue/33285, the related discussion on the matter}.
+
+@item
+Manifest specifications are usable by other @samp{guix} commands.  For example, you
+can run @code{guix weather -m manifest.scm} to see how many substitutes are
+available, which can help you decide whether you want to try upgrading today
+or wait a while.  Another example: you can run @code{guix pack -m manifest.scm} to
+create a pack containing all the packages in the manifest (and their
+transitive references).
+
+@item
+Finally, manifests have a Scheme representation, the @samp{} record type.
+They can be manipulated in Scheme and passed to the various Guix @uref{https://en.wikipedia.org/wiki/Api, APIs}.
+@end itemize
+
+It's important to understand that while manifests can be used to declare
+profiles, they are not strictly equivalent: profiles have the side effect that
+they "pin" packages in the store, which prevents them from being
+garbage-collected (@pxref{Invoking guix gc,,, guix, GNU Guix Reference Manual})
+and ensures that they will still be available at any point in
+the future.
+
+Let's take an example:
+
+@enumerate
+@item
+We have an environment for hacking on a project for which there isn't a Guix
+package yet.  We build the environment using a manifest, and then run @code{guix
+   environment -m manifest.scm}.  So far so good.
+
+@item
+Many weeks pass and we have run a couple of @code{guix pull} in the mean time.
+Maybe a dependency from our manifest has been updated; or we may have run
+@code{guix gc} and some packages needed by our manifest have been
+garbage-collected.
+
+@item
+Eventually, we set to work on that project again, so we run @code{guix environment
+   -m manifest.scm}.  But now we have to wait for Guix to build and install
+stuff!
+@end enumerate
+
+Ideally, we could spare the rebuild time.  And indeed we can, all we need is to
+install the manifest to a profile and use @code{GUIX_PROFILE=/the/profile;
+. "$GUIX_PROFILE"/etc/profile} as explained above: this guarantees that our
+hacking environment will be available at all times.
+
+@emph{Security warning:} While keeping old profiles around can be convenient, keep in
+mind that outdated packages may not have received the latest security fixes.
+
+@node Reproducible profiles
+@subsection Reproducible profiles
+
+To reproduce a profile bit-for-bit, we need two pieces of information:
+
+@itemize
+@item
+a manifest,
+@item
+a Guix channel specification.
+@end itemize
+
+Indeed, manifests alone might not be enough: different Guix versions (or
+different channels) can produce different outputs for a given manifest.
+
+You can output the Guix channel specification with @samp{guix describe
+--format=channels}.
+Save this to a file, say @samp{channel-specs.scm}.
+
+On another computer, you can use the channel specification file and the manifest
+to reproduce the exact same profile:
+
+@example
+GUIX_EXTRA_PROFILES=$HOME/.guix-extra-profiles
+GUIX_EXTRA=$HOME/.guix-extra
+
+mkdir "$GUIX_EXTRA"/my-project
+guix pull --channels=channel-specs.scm --profile "$GUIX_EXTRA/my-project/guix"
+
+mkdir -p "$GUIX_EXTRA_PROFILES/my-project"
+"$GUIX_EXTRA"/my-project/guix/bin/guix package --manifest=/path/to/guix-my-project-manifest.scm --profile="$GUIX_EXTRA_PROFILES"/my-project/my-project
+@end example
+
+It's safe to delete the Guix channel profile you've just installed with the
+channel specification, the project profile does not depend on it.
+
 @c *********************************************************************
 @node Acknowledgments
 @chapter Acknowledgments

From c8b06cdfc851f2dc67fb0d8848c9d97ab05c96bd Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Cl=C3=A9ment=20Lassieur?= 
Date: Thu, 24 Oct 2019 14:21:44 +0200
Subject: [PATCH 0396/1112] gnu: emacs-ag: Update to 0.48.

* gnu/packages/emacs-xyz.scm (emacs-ag): Update to 0.48.
---
 gnu/packages/emacs-xyz.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index a1a0cf7300b..688206452e6 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -1511,7 +1511,7 @@ links.")
 (define-public emacs-ag
   (package
     (name "emacs-ag")
-    (version "0.47")
+    (version "0.48")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -1520,7 +1520,7 @@ links.")
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "15kp99vwyi7hb1jkq3lwvqzw3v62ycixsq6y4pd1x0nn2v5p5m5r"))))
+                "1p918y24vcn2pdliaymd210xp9fvhd4a1srqbv2lfiqrh59yjidx"))))
     (build-system emacs-build-system)
     (arguments
      `(#:phases

From 70a4fb6f983f05b5630cf8c7d85c3143b6d5523b Mon Sep 17 00:00:00 2001
From: Tobias Geerinckx-Rice 
Date: Thu, 24 Oct 2019 18:15:57 +0200
Subject: [PATCH 0397/1112] gnu: psmisc: Update hash.

Apart from translation (po/*) updates, the following code changes were
made in-place: .

* gnu/packages/linux.scm (psmisc)[source]: Update hash.
---
 gnu/packages/linux.scm | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 0a7f431a405..2768020581f 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -1022,13 +1022,11 @@ at login.  Local and dynamic reconfiguration are its key features.")
       (uri (string-append "mirror://sourceforge/psmisc/psmisc devel/psmisc-"
                           version ".tar.xz"))
       (sha256
-       (base32
-        "0s1kjhrik0wzqbm7hv4gkhywhjrwhp9ajw0ad05fwharikk6ah49"))))
+       (base32 "103qp3f8jvz07x8r8zgsqwyw84g5g92w6pdq97d78d1pr7yvyz2b"))))
     (build-system gnu-build-system)
     (inputs `(("ncurses" ,ncurses)))
     (home-page "https://gitlab.com/psmisc/psmisc")
-    (synopsis
-     "Small utilities that use the proc file system")
+    (synopsis "Small utilities that use the proc file system")
     (description
      "This PSmisc package is a set of some small useful utilities that
 use the proc file system.  We're not about changing the world, but

From 571ed9fd2bb942b8130e65b0cfdf77af6b1ed208 Mon Sep 17 00:00:00 2001
From: Julien Lepiller 
Date: Thu, 24 Oct 2019 20:37:20 +0200
Subject: [PATCH 0398/1112] gnu: php: Update to 7.3.11.

* gnu/packages/php.scm (php): Update to 7.3.11.
---
 gnu/packages/php.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/php.scm b/gnu/packages/php.scm
index ca7f0ee8926..b144a6b26ab 100644
--- a/gnu/packages/php.scm
+++ b/gnu/packages/php.scm
@@ -58,7 +58,7 @@
 (define-public php
   (package
     (name "php")
-    (version "7.3.8")
+    (version "7.3.11")
     (home-page "https://secure.php.net/")
     (source (origin
               (method url-fetch)
@@ -66,7 +66,7 @@
                                   "php-" version ".tar.xz"))
               (sha256
                (base32
-                "19fm990yl97fq538lkp0m1imbp30qrx7785x211w1n15wqm6n17n"))
+                "088hl1gyjr7a8ipdzylwy00c4xmvywn7mh2r1i4yja5c9d3gcz35"))
               (modules '((guix build utils)))
               (snippet
                '(with-directory-excursion "ext"

From d1e3d792e48a63ec2e13cdd6b44b1ab5a538215c Mon Sep 17 00:00:00 2001
From: Oleg Pykhalov 
Date: Thu, 24 Oct 2019 23:15:01 +0300
Subject: [PATCH 0399/1112] gnu: tome4: Update to 1.6.0.

* gnu/packages/games.scm (tome4): Update to 1.6.0.
---
 gnu/packages/games.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index a5b8ee9dd41..3e85449fac1 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -5158,7 +5158,7 @@ Crowther & Woods, its original authors, in 1995.  It has been known as
 (define-public tome4
   (package
     (name "tome4")
-    (version "1.5.10")
+    (version "1.6.0")
     (synopsis "Single-player, RPG roguelike game set in the world of Eyal")
     (source
      (origin
@@ -5167,7 +5167,7 @@ Crowther & Woods, its original authors, in 1995.  It has been known as
                            version ".tar.bz2"))
        (sha256
         (base32
-         "0mc5dgh2x9nbili7gy6srjhb23ckalf08wqq2amyjr5rq392jvd7"))
+         "1z1w4ycgl5wbm0sv7577vcdfwwf4k7vaf2njzyb21rvqjizpbkwr"))
        (modules '((guix build utils)))
        (snippet
         '(begin

From 80095bd35cb5434947bc74ca80b853d439b2ce8b Mon Sep 17 00:00:00 2001
From: Tobias Geerinckx-Rice 
Date: Thu, 24 Oct 2019 18:56:44 +0200
Subject: [PATCH 0400/1112] gnu: util-linux: Don't use NAME in source URI.

* gnu/packages/linux.scm (util-linux)[source]: Hard-code NAME.
---
 gnu/packages/linux.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 2768020581f..aa23a273c7d 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -1040,8 +1040,8 @@ providing the system administrator with some help in common tasks.")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://kernel.org/linux/utils/"
-                                  name "/v" (version-major+minor version) "/"
-                                  name "-" version ".tar.xz"))
+                                  "util-linux/v" (version-major+minor version) "/"
+                                  "util-linux-" version ".tar.xz"))
               (sha256
                (base32
                 "1db2kydkwjmvgd1glkcba3adhidxw0f1x735dcjdpdjjf869sgvl"))

From 14c630bbb43ba513e7c102626f65fc687e9b5d77 Mon Sep 17 00:00:00 2001
From: Tobias Geerinckx-Rice 
Date: Thu, 24 Oct 2019 19:31:58 +0200
Subject: [PATCH 0401/1112] gnu: btrfs-progs: Update to 5.3.

* gnu/packages/linux.scm (btrfs-progs): Update to 5.3.
---
 gnu/packages/linux.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index aa23a273c7d..3f2ab743682 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -3855,7 +3855,7 @@ and copy/paste text in the console and in xterm.")
 (define-public btrfs-progs
   (package
     (name "btrfs-progs")
-    (version "5.2.2")
+    (version "5.3")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://kernel.org/linux/kernel/"
@@ -3863,7 +3863,7 @@ and copy/paste text in the console and in xterm.")
                                   "btrfs-progs-v" version ".tar.xz"))
               (sha256
                (base32
-                "1imivxjppi8zl27gn472pwpk8bg5dijkbyi340by31vhy7dj24w2"))))
+                "13ivb1b627qkiiqxh2y7zawynarkmgxrnwwpqhx6cci621yyqqqp"))))
     (build-system gnu-build-system)
     (outputs '("out"
                "static"))      ; static versions of the binaries in "out"

From 03113e313eb605dbd87ebf277109dd86462bca9e Mon Sep 17 00:00:00 2001
From: Tobias Geerinckx-Rice 
Date: Thu, 24 Oct 2019 23:18:52 +0200
Subject: [PATCH 0402/1112] gnu: psmisc: Update source URI.

* gnu/packages/linux.scm (psmisc)[source]: Update URI.
---
 gnu/packages/linux.scm | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 3f2ab743682..1249cc5820b 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -1019,7 +1019,7 @@ at login.  Local and dynamic reconfiguration are its key features.")
     (source
      (origin
       (method url-fetch)
-      (uri (string-append "mirror://sourceforge/psmisc/psmisc devel/psmisc-"
+      (uri (string-append "mirror://sourceforge/psmisc/psmisc/psmisc-"
                           version ".tar.xz"))
       (sha256
        (base32 "103qp3f8jvz07x8r8zgsqwyw84g5g92w6pdq97d78d1pr7yvyz2b"))))

From c00181d14aba0fec8bf991f15bde834599613a06 Mon Sep 17 00:00:00 2001
From: Tobias Geerinckx-Rice 
Date: Thu, 24 Oct 2019 20:16:20 +0200
Subject: [PATCH 0403/1112] gnu: libblockdev: Update to 2.23.

* gnu/packages/disk.scm (libblockdev): Update to 2.23.
---
 gnu/packages/disk.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/disk.scm b/gnu/packages/disk.scm
index 84216829248..08ce9eb2d7a 100644
--- a/gnu/packages/disk.scm
+++ b/gnu/packages/disk.scm
@@ -713,7 +713,7 @@ to create devices with respective mappings for the ATARAID sets discovered.")
 (define-public libblockdev
   (package
     (name "libblockdev")
-    (version "2.21")
+    (version "2.23")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://github.com/storaged-project/"
@@ -721,7 +721,7 @@ to create devices with respective mappings for the ATARAID sets discovered.")
                                   version "-1/libblockdev-" version ".tar.gz"))
               (sha256
                (base32
-                "02p13l4194j0vyd2zs7bb9dmyclcpqq8l3qv9289vjfbsvq2awii"))))
+                "15c7g2gbkahmy8c6677pvbvblan5h8jxcqqmn6nlvqwqynq2mkjm"))))
     (build-system gnu-build-system)
     (native-inputs
      `(("pkg-config" ,pkg-config)

From 79b8a2afa2392731590b195c833be27c3d548903 Mon Sep 17 00:00:00 2001
From: Tobias Geerinckx-Rice 
Date: Thu, 24 Oct 2019 20:31:35 +0200
Subject: [PATCH 0404/1112] gnu: packagekit: Update to 1.1.12.

* gnu/packages/freedesktop.scm (packagekit): Update to 1.1.12.
---
 gnu/packages/freedesktop.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm
index 4339f14f354..cb308b77f44 100644
--- a/gnu/packages/freedesktop.scm
+++ b/gnu/packages/freedesktop.scm
@@ -464,7 +464,7 @@ with localed.  This package is extracted from the broader systemd package.")
 (define-public packagekit
   (package
     (name "packagekit")
-    (version "1.1.11")
+    (version "1.1.12")
     (source (origin
              (method url-fetch)
              (uri (string-append
@@ -473,7 +473,7 @@ with localed.  This package is extracted from the broader systemd package.")
                    "PackageKit-" version ".tar.xz"))
              (sha256
               (base32
-               "0fi6wn54y03zh5sn92nmmxkh4cd8yn44cyk0l8phw60ivfwmkh1q"))))
+               "00css16dv3asaxrklvyxy9dyjzhw82wmfrqxqpca9w2xryz58i8z"))))
     (build-system gnu-build-system)
     (arguments
      `(#:tests? #f

From ff1d8ce802e9a6b1023c065ec04e1ea32ee01bff Mon Sep 17 00:00:00 2001
From: Tobias Geerinckx-Rice 
Date: Fri, 25 Oct 2019 06:58:04 +0200
Subject: [PATCH 0405/1112] gnu: giac: Update to 1.5.0-69.

* gnu/packages/algebra.scm (giac): Update to 1.5.0-69.
---
 gnu/packages/algebra.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm
index 02058b24ac7..828a0fc7489 100644
--- a/gnu/packages/algebra.scm
+++ b/gnu/packages/algebra.scm
@@ -344,7 +344,7 @@ precision.")
 (define-public giac
   (package
     (name "giac")
-    (version "1.5.0-65")
+    (version "1.5.0-69")
     (source (origin
               (method url-fetch)
               ;; "~parisse/giac" is not used because the maintainer regularly
@@ -356,7 +356,7 @@ precision.")
                                   "source/giac_" version ".tar.gz"))
               (sha256
                (base32
-                "1g2fp9vgy0gqjmi6mlc3ldfn8ryq3h4mfd7rcq5hs6ry21hblv30"))))
+                "05l1qa2kfmvsbp0iqjmg3ixkcqa3h9ry1mjpcps52bxw05s3k1z9"))))
     (build-system gnu-build-system)
     (arguments
      `(#:modules ((ice-9 ftw)

From 1bd7b0da685def2762f914e3c6dd062d2a147fc8 Mon Sep 17 00:00:00 2001
From: Tobias Geerinckx-Rice 
Date: Fri, 25 Oct 2019 05:03:55 +0200
Subject: [PATCH 0406/1112] gnu: asunder: Update to 2.9.5.

* gnu/packages/cdrom.scm (asunder): Update to 2.9.5.
---
 gnu/packages/cdrom.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/cdrom.scm b/gnu/packages/cdrom.scm
index 1f2c694246a..ef4ce022e44 100644
--- a/gnu/packages/cdrom.scm
+++ b/gnu/packages/cdrom.scm
@@ -671,7 +671,7 @@ information is written to standard error.")
 (define-public asunder
   (package
     (name "asunder")
-    (version "2.9.3")
+    (version "2.9.5")
     (source (origin
               (method url-fetch)
               (uri
@@ -680,7 +680,7 @@ information is written to standard error.")
                               ".tar.bz2"))
               (sha256
                (base32
-                "1630i1df06y840v3fgdf75jxw1s8kwbfn5bhi0686viah0scccw5"))))
+                "069x6az2r3wlb2hd07iz0hxpxwknw7s9h7pyhnkmzv1pw9ci3kk4"))))
     (build-system glib-or-gtk-build-system)
     (arguments
      '(#:out-of-source? #f

From 57ea822c431bafefabb7760f9bfff97b0dd14493 Mon Sep 17 00:00:00 2001
From: Tobias Geerinckx-Rice 
Date: Fri, 25 Oct 2019 05:09:11 +0200
Subject: [PATCH 0407/1112] gnu: youtube-dl: Update to 2019.10.22.

* gnu/packages/video.scm (youtube-dl): Update to 2019.10.22.
---
 gnu/packages/video.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index 5c135006422..f29f0901379 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -1494,7 +1494,7 @@ projects while introducing many more.")
 (define-public youtube-dl
   (package
     (name "youtube-dl")
-    (version "2019.09.28")
+    (version "2019.10.22")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://github.com/ytdl-org/youtube-dl/"
@@ -1502,7 +1502,7 @@ projects while introducing many more.")
                                   version ".tar.gz"))
               (sha256
                (base32
-                "0nrk0bk6lksnmng8lwhcpkc57iibzjjamlqz8rxjpsw6dnzxz82h"))))
+                "06wg6wpyq0fawjxjrhd7zasfjr9b6w9wsk2amiqdl712zqlq2rwb"))))
     (build-system python-build-system)
     (arguments
      ;; The problem here is that the directory for the man page and completion

From 6caa7392d8e51f5ef26e9efaa867ca5f9e1cac91 Mon Sep 17 00:00:00 2001
From: Tobias Geerinckx-Rice 
Date: Fri, 25 Oct 2019 06:39:19 +0200
Subject: [PATCH 0408/1112] gnu: git-annex: Update to 7.20191017.

* gnu/packages/haskell-apps.scm (git-annex): Update to 7.20191017.
---
 gnu/packages/haskell-apps.scm | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/haskell-apps.scm b/gnu/packages/haskell-apps.scm
index 13d228b856f..eb23b9c44da 100644
--- a/gnu/packages/haskell-apps.scm
+++ b/gnu/packages/haskell-apps.scm
@@ -245,15 +245,14 @@ unique algebra of patches called @url{http://darcs.net/Theory,Patchtheory}.
 (define-public git-annex
   (package
     (name "git-annex")
-    (version "7.20191009")
+    (version "7.20191017")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "https://hackage.haskell.org/package/"
                            "git-annex/git-annex-" version ".tar.gz"))
        (sha256
-        (base32
-         "10ycvjl9b3aa81zdz239ngjbbambfjrzds1a23wdlbjkn12nsg4g"))))
+        (base32 "1ydccqqn8v9jns25r6cyz6nd9w80x9wgw85x1v0z6mhv00l2ifp0"))))
     (build-system haskell-build-system)
     (arguments
      `(#:configure-flags

From 258e63bfb43c0b1f5d66794a6a00dc5936ac33c1 Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus 
Date: Fri, 25 Oct 2019 09:34:04 +0200
Subject: [PATCH 0409/1112] gnu: guile-studio: Update to 0.0.1-3.98fbbbd.

* gnu/packages/guile-xyz.scm (guile-studio): Update to 0.0.1-3.98fbbbd.
[arguments]: Add make-flags; remove custom build phase.
[native-inputs]: Add texinfo.
---
 gnu/packages/guile-xyz.scm | 37 ++++++++++++++++++-------------------
 1 file changed, 18 insertions(+), 19 deletions(-)

diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm
index 2e9ba7bc65a..3a55585251b 100644
--- a/gnu/packages/guile-xyz.scm
+++ b/gnu/packages/guile-xyz.scm
@@ -1994,11 +1994,11 @@ The picture values can directly be displayed in Geiser.")
       (license license:lgpl3+))))
 
 (define-public guile-studio
-  (let ((commit "4d63f3d684f61bf83566745e8572496cdf6daad0")
-        (revision "2"))
+  (let ((commit "98fbbbd08de396cd8a0e45f2a4badf1c733a5772")
+        (revision "3"))
     (package
       (name "guile-studio")
-      (version (git-version "0" revision commit))
+      (version (git-version "0.0.1" revision commit))
       (source (origin
                 (method git-fetch)
                 (uri (git-reference
@@ -2006,28 +2006,25 @@ The picture values can directly be displayed in Geiser.")
                       (commit commit)))
                 (sha256
                  (base32
-                  "1d3hhw3c3mk5i87xvfqa643674f08j1jd1rc1pl534gydz529vd5"))))
+                  "0rxl5gv2mavycwkl33lcwyb3z71j2f4zyzk60k7vl3hzszpr08iq"))))
       (build-system gnu-build-system)
       (arguments
        `(#:tests? #f                      ; there are none
+         #:make-flags
+         (list (string-append "ICONS_DIR="
+                              (assoc-ref %build-inputs "adwaita-icon-theme")
+                              "/share/icons/Adwaita/")
+               (string-append "PICT_DIR="
+                              (assoc-ref %build-inputs "guile-picture-language"))
+               (string-append "EMACS_DIR="
+                              (assoc-ref %build-inputs "emacs"))
+               (string-append "GUILE_DIR="
+                              (assoc-ref %build-inputs "guile"))
+               (string-join (cons "INPUTS=" (map cdr %build-inputs)))
+               (string-append "PREFIX=" (assoc-ref %outputs "out")))
          #:phases
          (modify-phases %standard-phases
            (delete 'configure)
-           (replace 'build
-             (lambda* (#:key source inputs outputs #:allow-other-keys)
-               (let* ((out   (assoc-ref outputs "out"))
-                      (bin   (string-append out "/bin/"))
-                      (share (string-append out "/share/")))
-                 (mkdir-p share)
-                 (mkdir-p bin)
-                 (apply invoke "guile" "-s" "guile-studio-configure.scm"
-                        out
-                        (assoc-ref inputs "emacs")
-                        (assoc-ref inputs "guile-picture-language")
-                        (string-append (assoc-ref inputs "adwaita-icon-theme")
-                                       "/share/icons/Adwaita/")
-                        (map cdr inputs))
-                 #t)))
            (delete 'install))))
       (inputs
        `(("guile" ,guile-2.2)
@@ -2039,6 +2036,8 @@ The picture values can directly be displayed in Geiser.")
          ("emacs-smart-mode-line" ,emacs-smart-mode-line)
          ("emacs-paren-face" ,emacs-paren-face)
          ("adwaita-icon-theme" ,adwaita-icon-theme)))
+      (native-inputs
+       `(("texinfo" ,texinfo)))
       (home-page "https://gnu.org/software/guile")
       (synopsis "IDE for Guile")
       (description

From b3673e9917217fc27c743092e58e4eb33d0fdd16 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= 
Date: Thu, 24 Oct 2019 18:15:15 +0200
Subject: [PATCH 0410/1112] guix build: Warn when '--keep-failed' is passed to
 a remote daemon.

* guix/scripts/build.scm (set-build-options-from-command-line): When
OPTS has 'keep-failed?' set, check whether STORE is connected over
AF_UNIX and warn when it's not.
---
 guix/scripts/build.scm | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/guix/scripts/build.scm b/guix/scripts/build.scm
index 3ee0b737fe3..ee1a9a81c15 100644
--- a/guix/scripts/build.scm
+++ b/guix/scripts/build.scm
@@ -523,6 +523,20 @@ options handled by 'set-build-options-from-command-line', and listed in
   "Given OPTS, an alist as returned by 'args-fold' given
 '%standard-build-options', set the corresponding build options on STORE."
   ;; TODO: Add more options.
+
+  ;; '--keep-failed' has no effect when talking to a remote daemon.  Catch the
+  ;; case where GUIX_DAEMON_SOCKET=guix://….
+  (when (and (assoc-ref opts 'keep-failed?)
+             (let* ((socket (store-connection-socket store))
+                    (peer   (catch 'system-error
+                              (lambda ()
+                                (and (file-port? socket)
+                                     (getpeername socket)))
+                              (const #f))))
+               (and peer (not (= AF_UNIX (sockaddr:fam peer))))))
+    (warning (G_ "'--keep-failed' ignored since you are \
+talking to a remote daemon\n")))
+
   (set-build-options store
                      #:keep-failed? (assoc-ref opts 'keep-failed?)
                      #:keep-going? (assoc-ref opts 'keep-going?)

From b1b27f284fa5e9529b1ce2edffff9cce952b8849 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= 
Date: Thu, 24 Oct 2019 19:35:29 +0200
Subject: [PATCH 0411/1112] guix build: Remove obsolete TODO.

* guix/scripts/build.scm (set-build-options-from-command-line): Remove
obsolete TODO comment.
---
 guix/scripts/build.scm | 1 -
 1 file changed, 1 deletion(-)

diff --git a/guix/scripts/build.scm b/guix/scripts/build.scm
index ee1a9a81c15..9ad7379bbeb 100644
--- a/guix/scripts/build.scm
+++ b/guix/scripts/build.scm
@@ -522,7 +522,6 @@ options handled by 'set-build-options-from-command-line', and listed in
 (define (set-build-options-from-command-line store opts)
   "Given OPTS, an alist as returned by 'args-fold' given
 '%standard-build-options', set the corresponding build options on STORE."
-  ;; TODO: Add more options.
 
   ;; '--keep-failed' has no effect when talking to a remote daemon.  Catch the
   ;; case where GUIX_DAEMON_SOCKET=guix://….

From b1eecb5c468afbd24fad04cd5cdfad8dda65f869 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= 
Date: Fri, 25 Oct 2019 12:14:09 +0200
Subject: [PATCH 0412/1112] doc: cookbook: Use "@lisp" for Scheme snippets.

* doc/guix-cookbook.texi: Use @lisp for Scheme snippets instead of
"@example scheme".  This allows for syntax highlighting of the HTML
output.
---
 doc/guix-cookbook.texi | 86 +++++++++++++++++++++---------------------
 1 file changed, 43 insertions(+), 43 deletions(-)

diff --git a/doc/guix-cookbook.texi b/doc/guix-cookbook.texi
index 3fee6b270ea..1b081a820ed 100644
--- a/doc/guix-cookbook.texi
+++ b/doc/guix-cookbook.texi
@@ -125,14 +125,14 @@ and @code{#f} stand for the booleans "true" and "false", respectively.
 
 Examples of valid expressions:
 
-@example scheme
+@lisp
 > "Hello World!"
 "Hello World!"
 > 17
 17
 > (display (string-append "Hello " "Guix" "\n"))
 "Hello Guix!"
-@end example
+@end lisp
 
 @item
 This last example is a function call nested in another function call.  When a
@@ -143,66 +143,66 @@ last evaluated expression as its return value.
 @item
 Anonymous functions are declared with the @code{lambda} term:
 
-@example scheme
+@lisp
 > (lambda (x) (* x x))
 #:24:0 (x)>
-@end example
+@end lisp
 
 The above procedure returns the square of its argument.  Since everything is
 an expression, the @code{lambda} expression returns an anonymous procedure,
 which can in turn be applied to an argument:
 
-@example scheme
+@lisp
 > ((lambda (x) (* x x)) 3)
 9
-@end example
+@end lisp
 
 @item
 Anything can be assigned a global name with @code{define}:
 
-@example scheme
+@lisp
 > (define a 3)
 > (define square (lambda (x) (* x x)))
 > (square a)
 9
-@end example
+@end lisp
 
 @item
 Procedures can be defined more concisely with the following syntax:
 
-@example scheme
+@lisp
 (define (square x) (* x x))
-@end example
+@end lisp
 
 @item
 A list structure can be created with the @code{list} procedure:
 
-@example scheme
+@lisp
 > (list 2 a 5 7)
 (2 3 5 7)
-@end example
+@end lisp
 
 @item
 The @emph{quote} disables evaluation of a parenthesized expression: the first
 term is not called over the other terms.  Thus it effectively returns a list
 of terms.
 
-@example scheme
+@lisp
 > '(display (string-append "Hello " "Guix" "\n"))
 (display (string-append "Hello " "Guix" "\n"))
 > '(2 a 5 7)
 (2 a 5 7)
-@end example
+@end lisp
 
 @item
 The @emph{quasiquote} disables evaluation of a parenthesized expression until
 a comma re-enables it.  Thus it provides us with fine-grained control over
 what is evaluated and what is not.
 
-@example scheme
+@lisp
 > `(2 a 5 7 (2 ,a 5 ,(+ a 4)))
 (2 a 5 7 (2 3 5 7))
-@end example
+@end lisp
 
 Note that the above result is a list of mixed elements: numbers, symbols (here
 @code{a}) and the last element is a list itself.
@@ -210,7 +210,7 @@ Note that the above result is a list of mixed elements: numbers, symbols (here
 @item
 Multiple variables can be named locally with @code{let}:
 
-@example scheme
+@lisp
 > (define x 10)
 > (let ((x 2)
         (y 3))
@@ -220,17 +220,17 @@ Multiple variables can be named locally with @code{let}:
 10
 > y
 ERROR: In procedure module-lookup: Unbound variable: y
-@end example
+@end lisp
 
 Use @code{let*} to allow later variable declarations to refer to earlier
 definitions.
 
-@example scheme
+@lisp
 > (let* ((x 2)
          (y (* x 3)))
     (list x y))
 (2 6)
-@end example
+@end lisp
 
 @item
 The keyword syntax is @code{#:}; it is used to create unique identifiers.
@@ -244,12 +244,12 @@ Scheme treats @code{%} exactly the same as any other letter.
 @item
 Modules are created with @code{define-module}.  For instance
 
-@example scheme
+@lisp
 (define-module (guix build-system ruby)
   #:use-module (guix store)
   #:export (ruby-build
             ruby-build-system))
-@end example
+@end lisp
 
 defines the module @code{guix build-system ruby} which must be located in
 @file{guix/build-system/ruby.scm} somewhere in the Guile load path.  It
@@ -343,7 +343,7 @@ install}).  Guix already provides a package definition which is a perfect
 example to start with.  You can look up its declaration with @code{guix edit
 hello} from the command line.  Let's see how it looks:
 
-@example scheme
+@lisp
 (define-public hello
   (package
     (name "hello")
@@ -363,7 +363,7 @@ serves as an example of standard GNU coding practices.  As such, it supports
 command-line arguments, multiple languages, and so on.")
     (home-page "https://www.gnu.org/software/hello/")
     (license gpl3+)))
-@end example
+@end lisp
 
 As you can see, most of it is rather straightforward.  But let's review the
 fields together:
@@ -423,7 +423,7 @@ setup later; for now we will go the simplest route.
 
 Save the following to a file @file{my-hello.scm}.
 
-@example scheme
+@lisp
 (use-modules (guix packages)
              (guix download)
              (guix build-system gnu)
@@ -447,7 +447,7 @@ serves as an example of standard GNU coding practices.  As such, it supports
 command-line arguments, multiple languages, and so on.")
   (home-page "https://www.gnu.org/software/hello/")
   (license gpl3+))
-@end example
+@end lisp
 
 We will explain the extra code in a moment.
 
@@ -564,7 +564,7 @@ nature of how the package definition is written.
 The @code{linux-libre} kernel package definition is actually a procedure which
 creates a package.
 
-@example scheme
+@lisp
 (define* (make-linux-libre version hash supported-systems
                            #:key
                            ;; A function that takes an arch and a variant.
@@ -575,19 +575,19 @@ creates a package.
                            (extra-options %default-extra-linux-options)
                            (patches (list %boot-logo-patch)))
   ...)
-@end example
+@end lisp
 
 The current @code{linux-libre} package is for the 5.1.x series, and is
 declared like this:
 
-@example scheme
+@lisp
 (define-public linux-libre
   (make-linux-libre %linux-libre-version
                     %linux-libre-hash
                     '("x86_64-linux" "i686-linux" "armhf-linux" "aarch64-linux")
                     #:patches %linux-libre-5.1-patches
                     #:configuration-file kernel-config))
-@end example
+@end lisp
 
 Any keys which are not assigned values inherit their default value from the
 @code{make-linux-libre} definition.  When comparing the two snippets above,
@@ -603,7 +603,7 @@ including an actual @file{.config} file as a native input to our custom
 kernel.  The following is a snippet from the custom @code{'configure} phase of
 the @code{make-linux-libre} package definition:
 
-@example scheme
+@lisp
 (let ((build  (assoc-ref %standard-phases 'build))
       (config (assoc-ref (or native-inputs inputs) "kconfig")))
 
@@ -614,13 +614,13 @@ the @code{make-linux-libre} package definition:
         (copy-file config ".config")
         (chmod ".config" #o666))
       (invoke "make" ,defconfig))
-@end example
+@end lisp
 
 Below is a sample kernel package.  The @code{linux-libre} package is nothing
 special and can be inherited from and have its fields overridden like any
 other package:
 
-@example scheme
+@lisp
 (define-public linux-libre/E2140
   (package
     (inherit linux-libre)
@@ -628,7 +628,7 @@ other package:
      `(("kconfig" ,(local-file "E2140.config"))
       ,@@(alist-delete "kconfig"
                       (package-native-inputs linux-libre))))))
-@end example
+@end lisp
 
 In the same directory as the file defining @code{linux-libre-E2140} is a file
 named @file{E2140.config}, which is an actual kernel configuration file.  The
@@ -641,7 +641,7 @@ The second way to create a custom kernel is to pass a new value to the
 @code{extra-options} keyword works with another function defined right below
 it:
 
-@example scheme
+@lisp
 (define %default-extra-linux-options
   `(;; https://lists.gnu.org/archive/html/guix-devel/2014-04/msg00039.html
    ("CONFIG_DEVPTS_MULTIPLE_INSTANCES" . #t)
@@ -667,11 +667,11 @@ it:
                        (string-append option "=n")))
                     options)
                "\n"))
-@end example
+@end lisp
 
 And in the custom configure script from the `make-linux-libre` package:
 
-@example scheme
+@lisp
 ;; Appending works even when the option wasn't in the
 ;; file.  The last one prevails if duplicated.
 (let ((port (open-file ".config" "a"))
@@ -680,13 +680,13 @@ And in the custom configure script from the `make-linux-libre` package:
   (close-port port))
 
 (invoke "make" "oldconfig"))))
-@end example
+@end lisp
 
 So by not providing a configuration-file the @file{.config} starts blank, and
 then we write into it the collection of flags that we want.  Here's another
 custom kernel:
 
-@example scheme
+@lisp
 (define %macbook41-full-config
   (append %macbook41-config-options
           %filesystems
@@ -703,7 +703,7 @@ custom kernel:
                       #:extra-version "macbook41"
                       #:patches (@@@@ (gnu packages linux) %linux-libre-5.1-patches)
                       #:extra-options %macbook41-config-options))
-@end example
+@end lisp
 
 In the above example @code{%filesystems} is a collection of flags enabling
 different filesystem support, @code{%efi-support} enables EFI support and
@@ -876,7 +876,7 @@ Let's dive in the set up!
 A Guix profile can be set up @emph{via} a so-called @emph{manifest specification} that looks like
 this:
 
-@example
+@lisp
 (specifications->manifest
   '("package-1"
     ;; Version 1.3 of package-2.
@@ -885,9 +885,9 @@ this:
     "package-3:lib"
     ; ...
     "package-N"))
-@end example
+@end lisp
 
-See @pxref{Invoking guix package,,, guix, GNU Guix Reference Manual} for
+@pxref{Invoking guix package,,, guix, GNU Guix Reference Manual}, for
 the syntax details.
 
 We can create a manifest specification per profile and install them this way:

From 0c558aa985161b74b80319dbefccf9eab537ef4e Mon Sep 17 00:00:00 2001
From: Diego Nicola Barbato 
Date: Tue, 1 Oct 2019 16:06:57 +0200
Subject: [PATCH 0413/1112] gnu: Add ruby-wayback-machine-downloader.
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

* gnu/packages/ruby.scm (ruby-wayback-machine-downloader): New variable.

Signed-off-by: Ludovic Courtès 
---
 gnu/packages/ruby.scm | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index d5f7fa59c68..020bb179af0 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -18,6 +18,7 @@
 ;;; Copyright © 2019 Jelle Licht 
 ;;; Copyright © 2019 Brian Leung 
 ;;; Copyright © 2019 Collin J. Doering 
+;;; Copyright © 2019 Diego N. Barbato 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -8965,3 +8966,29 @@ programming: intellisense, diagnostics, inline documentation, and type
 checking.")
     (home-page "https://solargraph.org/")
     (license license:expat)))
+
+(define-public ruby-wayback-machine-downloader
+  (package
+    (name "ruby-wayback-machine-downloader")
+    (version "2.2.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (rubygems-uri
+             "wayback_machine_downloader"
+             version))
+       (sha256
+        (base32
+         "12kb1qmvmmsaihqab1prn6cmynkn6cgb4vf41mgv22wkcgv5wgk2"))))
+    (build-system ruby-build-system)
+    (arguments
+     '(#:tests? #f)) ; no tests
+    (synopsis "Download archived websites from the Wayback Machine")
+    (description
+     "Wayback Machine Downloader is a command line tool for downloading
+websites from the Internet Archive's Wayback Machine (archive.org).
+It allows fine grained control over what to download by specifying
+which snapshots to consider and what files to include.")
+    (home-page
+     "https://github.com/hartator/wayback-machine-downloader")
+    (license license:expat)))

From 7eea1de74e0582b9a074db2b1b43bbc42808621c Mon Sep 17 00:00:00 2001
From: Brice Waegeneire 
Date: Fri, 25 Oct 2019 12:24:03 +0200
Subject: [PATCH 0414/1112] gnu: Add ddcci-driver-linux.

* gnu/packages/linux.scm (ddcci-driver-linux): Add variable.

Signed-off-by: Mathieu Othacehe 
---
 gnu/packages/linux.scm | 46 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 46 insertions(+)

diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 1249cc5820b..32eaef244ef 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -938,6 +938,52 @@ and should be used with caution, especially on untested models.")
 between the CDemu userspace daemon and linux kernel.")
     (license license:gpl2+)))
 
+(define-public ddcci-driver-linux
+  (package
+    (name "ddcci-driver-linux")
+    (version "0.3.3")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://gitlab.com/ddcci-driver-linux/ddcci-driver-linux.git")
+         (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "0vkkja3ykjil783zjpwp0vz7jy2fp9ccazzi3afd4fjk8gldin7f"))))
+    (build-system linux-module-build-system)
+    (arguments
+     `(#:tests? #f                               ; no tests
+       #:phases
+       (modify-phases %standard-phases
+         (replace 'build
+           (lambda args
+             (for-each
+              (lambda (module)
+                (with-directory-excursion module
+                  (apply (assoc-ref %standard-phases 'build) args)))
+              '("ddcci" "ddcci-backlight"))
+             #t))
+         (replace 'install
+           (lambda args
+             (for-each
+              (lambda (module)
+                (with-directory-excursion module
+                  (apply (assoc-ref %standard-phases 'install) args)))
+              '("ddcci" "ddcci-backlight"))
+             #t)))))
+    (home-page "https://gitlab.com/ddcci-driver-linux/ddcci-driver-linux")
+    (synopsis "Pair of Linux kernel drivers for DDC/CI monitors")
+    (description "This package provides two Linux kernel drivers, ddcci and
+ddcci-backlight, that allows the control of DDC/CI monitors through the sysfs
+interface.  The ddcci module creates a character device for each DDC/CI
+monitors in @file{/dev/bus/ddcci/[I²C busnumber]}.  While the ddcci-backlight
+module allows the control of the backlight level or luminance property when
+supported under @file{/sys/class/backlight/}.")
+    (license license:gpl2+)))
+
 
 ;;;
 ;;; Pluggable authentication modules (PAM).

From ba2fa41445e81e9db7ab1789e26bf86cbdb6454c Mon Sep 17 00:00:00 2001
From: Tanguy Le Carrour 
Date: Fri, 25 Oct 2019 15:55:58 +0200
Subject: [PATCH 0415/1112] gnu: profanity: Update to 0.7.1.

* gnu/packages/messaging.scm (profanity): Update to 0.7.1,
[uri]: update source URL to the one provided on the website.

Signed-off-by: Mathieu Othacehe 
---
 gnu/packages/messaging.scm | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index 741b3285e2c..ca51024d2b9 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -15,6 +15,7 @@
 ;;; Copyright © 2017, 2018, 2019 Rutger Helling 
 ;;; Copyright © 2018 Leo Famulari 
 ;;; Copyright © 2018 Pierre-Antoine Rouby 
+;;; Copyright © 2019 Tanguy Le Carrour 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -1617,14 +1618,14 @@ are both supported).")
 (define-public profanity
     (package
         (name "profanity")
-        (version "0.5.1")
+        (version "0.7.1")
         (source (origin
                   (method url-fetch)
-                  (uri (string-append "http://www.profanity.im/profanity-"
+                  (uri (string-append "https://profanity-im.github.io/profanity-"
                                       version ".tar.gz"))
                   (sha256
                    (base32
-                     "1f7ylw3mhhnii52mmk40hyc4kqhpvjdr3hmsplzkdhsfww9kflg3"))))
+                     "0nxh81j8ky0fzv47pip1jb7rs5rrin3jx0f3h632bvpjiya45r1z"))))
         (build-system gnu-build-system)
         (inputs
          `(("curl" ,curl)

From 71adb4228ab43ded5dd3bfcbdc3a368280d51513 Mon Sep 17 00:00:00 2001
From: Tanguy Le Carrour 
Date: Fri, 25 Oct 2019 14:46:52 +0200
Subject: [PATCH 0416/1112] gnu: profanity: Correct indentation.

* gnu/packages/messaging.scm (profanity): Correct indentation.

Signed-off-by: Mathieu Othacehe 
---
 gnu/packages/messaging.scm | 64 +++++++++++++++++++-------------------
 1 file changed, 32 insertions(+), 32 deletions(-)

diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index ca51024d2b9..f890ad8dd5d 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -1616,39 +1616,39 @@ are both supported).")
     (license (list license:gpl3+ license:x11))))
 
 (define-public profanity
-    (package
-        (name "profanity")
-        (version "0.7.1")
-        (source (origin
-                  (method url-fetch)
-                  (uri (string-append "https://profanity-im.github.io/profanity-"
-                                      version ".tar.gz"))
-                  (sha256
-                   (base32
-                     "0nxh81j8ky0fzv47pip1jb7rs5rrin3jx0f3h632bvpjiya45r1z"))))
-        (build-system gnu-build-system)
-        (inputs
-         `(("curl" ,curl)
-           ("expat" ,expat)
-           ("glib" ,glib)
-           ("gpgme" ,gpgme)
-           ("libmesode" ,libmesode)
-           ("libotr" ,libotr)
-           ("ncurses" ,ncurses)
-           ("openssl" ,openssl)
-           ("readline" ,readline)))
-        (native-inputs
-         `(("autoconf" ,autoconf)
-           ("autoconf-archive" ,autoconf-archive)
-           ("automake" ,automake)
-           ("cmocka" ,cmocka)
-           ("libtool" ,libtool)
-           ("pkg-config" ,pkg-config)))
-        (synopsis "Console-based XMPP client")
-        (description "Profanity is a console based XMPP client written in C
+  (package
+    (name "profanity")
+    (version "0.7.1")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://profanity-im.github.io/profanity-"
+                                  version ".tar.gz"))
+              (sha256
+               (base32
+                "0nxh81j8ky0fzv47pip1jb7rs5rrin3jx0f3h632bvpjiya45r1z"))))
+    (build-system gnu-build-system)
+    (inputs
+     `(("curl" ,curl)
+       ("expat" ,expat)
+       ("glib" ,glib)
+       ("gpgme" ,gpgme)
+       ("libmesode" ,libmesode)
+       ("libotr" ,libotr)
+       ("ncurses" ,ncurses)
+       ("openssl" ,openssl)
+       ("readline" ,readline)))
+    (native-inputs
+     `(("autoconf" ,autoconf)
+       ("autoconf-archive" ,autoconf-archive)
+       ("automake" ,automake)
+       ("cmocka" ,cmocka)
+       ("libtool" ,libtool)
+       ("pkg-config" ,pkg-config)))
+    (synopsis "Console-based XMPP client")
+    (description "Profanity is a console based XMPP client written in C
 using ncurses and libmesode, inspired by Irssi.")
-        (home-page "http://www.profanity.im")
-        (license license:gpl3+)))
+    (home-page "http://www.profanity.im")
+    (license license:gpl3+)))
 
 (define-public libircclient
   (package

From 78bd9c52ad3f353bcfd8c31ee9577f6adf4cbecc Mon Sep 17 00:00:00 2001
From: Tobias Geerinckx-Rice 
Date: Fri, 25 Oct 2019 17:46:21 +0200
Subject: [PATCH 0417/1112] gnu: rss-bridge: Update to 2019-09-12.

* gnu/packages/web.scm (rss-bridge): Update to 2019-09-12.
---
 gnu/packages/web.scm | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
index af694b58d53..cee95fc2218 100644
--- a/gnu/packages/web.scm
+++ b/gnu/packages/web.scm
@@ -5568,7 +5568,7 @@ snippets on @url{https://commandlinefu.com}.")
 (define-public rss-bridge
   (package
     (name "rss-bridge")
-    (version "2019-07-06")
+    (version "2019-09-12")
     (source
      (origin
        (method git-fetch)
@@ -5577,8 +5577,7 @@ snippets on @url{https://commandlinefu.com}.")
              (commit version)))
        (file-name (git-file-name name version))
        (sha256
-        (base32
-         "0zd0c9xzvpx55mvj8xrafakfkvafnwkkvhw9b1j0bf897xdkfsyb"))))
+        (base32 "1mx7f3l45nqhcrng531l4cq8kpzm164hhbwn26g5akb2pamdlnra"))))
     (build-system trivial-build-system)
     (arguments
      '(#:modules ((guix build utils))
@@ -5597,7 +5596,7 @@ snippets on @url{https://commandlinefu.com}.")
 websites lacking feeds.  Supported websites include Facebook, Twitter,
 Instagram and YouTube.")
     (license (list license:public-domain
-                   license:expat)))) ;; vendor/simplehtmldom/simple_html_dom.php
+                   license:expat))))    ; vendor/simplehtmldom/simple_html_dom.php
 
 (define-public linkchecker
   (package

From f2817ce50bc8365ab7f243aab6334829b64900c1 Mon Sep 17 00:00:00 2001
From: Tobias Geerinckx-Rice 
Date: Fri, 25 Oct 2019 17:47:36 +0200
Subject: [PATCH 0418/1112] gnu: qbittorrent: Update to 4.1.8.

* gnu/packages/bittorrent.scm (qbittorrent): Update to 4.1.8.
---
 gnu/packages/bittorrent.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/bittorrent.scm b/gnu/packages/bittorrent.scm
index 43712d4bcfb..416186409c1 100644
--- a/gnu/packages/bittorrent.scm
+++ b/gnu/packages/bittorrent.scm
@@ -416,7 +416,7 @@ desktops.")
 (define-public qbittorrent
   (package
     (name "qbittorrent")
-    (version "4.1.6")
+    (version "4.1.8")
     (source
      (origin
        (method git-fetch)
@@ -425,7 +425,7 @@ desktops.")
              (commit (string-append "release-" version))))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "1y9kv84sy5fg64wbl4xpm8qh0hjba7ibk045cazp0m736rjmxk8c"))))
+        (base32 "1mx59mazfmd5yaqdgb6cm8hr5sbp2xgzz3y3yipq1fwq85dj3r5w"))))
     (build-system gnu-build-system)
     (arguments
      `(#:configure-flags

From fb2f07d096770bddda5841e22df6f2016ede2f16 Mon Sep 17 00:00:00 2001
From: Tobias Geerinckx-Rice 
Date: Fri, 25 Oct 2019 17:48:24 +0200
Subject: [PATCH 0419/1112] gnu: perl-net-dns-native: Update to 0.21.

* gnu/packages/perl.scm (perl-net-dns-native): Update to 0.21.
---
 gnu/packages/perl.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm
index 33d0f107d6e..97d754d4057 100644
--- a/gnu/packages/perl.scm
+++ b/gnu/packages/perl.scm
@@ -6549,7 +6549,7 @@ name, but they won't show up as methods on your class or instances.")
 (define-public perl-net-dns-native
   (package
     (name "perl-net-dns-native")
-    (version "0.20")
+    (version "0.21")
     (source
      (origin
        (method url-fetch)
@@ -6557,7 +6557,7 @@ name, but they won't show up as methods on your class or instances.")
              "mirror://cpan/authors/id/O/OL/OLEG/Net-DNS-Native-"
              version ".tar.gz"))
        (sha256
-        (base32 "0whm9l30frgzcfmlzqrsx3q5rdi8y6dhz33r4msgxrch8h97i8cb"))))
+        (base32 "0jjcgzmgas7k5rwalirrmbnlj4ihdxyydajc18qviwg863qjannl"))))
     (build-system perl-build-system)
     (home-page "https://metacpan.org/release/Net-DNS-Native")
     (synopsis "Non-blocking system DNS resolver")

From c9fc03a3aa01a0058b202ef2f34be0e9e8474f22 Mon Sep 17 00:00:00 2001
From: Tobias Geerinckx-Rice 
Date: Fri, 25 Oct 2019 18:06:52 +0200
Subject: [PATCH 0420/1112] gnu: varnish: Update to 6.3.1 [security fixes].

Fixes .

* gnu/packages/web.scm (varnish): Update to 6.3.1.
---
 gnu/packages/web.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
index cee95fc2218..3697b9eec10 100644
--- a/gnu/packages/web.scm
+++ b/gnu/packages/web.scm
@@ -5076,13 +5076,13 @@ deployments.")
   (package
     (name "varnish")
     (home-page "https://varnish-cache.org/")
-    (version "6.3.0")
+    (version "6.3.1")
     (source (origin
               (method url-fetch)
               (uri (string-append home-page "_downloads/varnish-" version ".tgz"))
               (sha256
                (base32
-                "0zwlffdd1m0ih33nq40xf2wwdyvr4czmns2fs90qpfnwy72xxk4m"))))
+                "0xa14pd68zpi5hxcax3arl14rcmh5d1cdwa8gv4l5f23mmynr8ni"))))
     (build-system gnu-build-system)
     (arguments
      `(#:configure-flags (list (string-append "LDFLAGS=-Wl,-rpath=" %output "/lib")

From cb9744f5de89faf4d710a37ae0cb4b34f573a52c Mon Sep 17 00:00:00 2001
From: Tobias Geerinckx-Rice 
Date: Fri, 25 Oct 2019 21:42:25 +0200
Subject: [PATCH 0421/1112] gnu: neomutt: Don't use unstable tarball.

* gnu/packages/mail.scm (neomutt)[source]: Use GIT-FETCH and
GIT-FILE-NAME.
---
 gnu/packages/mail.scm | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
index 578a5c07fa7..21d270252f7 100644
--- a/gnu/packages/mail.scm
+++ b/gnu/packages/mail.scm
@@ -395,12 +395,13 @@ operating systems.")
     (version "20180716")
     (source
      (origin
-       (method url-fetch)
-       (uri (string-append "https://github.com/" name "/" name
-                           "/archive/" name "-" version ".tar.gz"))
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/neomutt/neomutt.git")
+             (commit (string-append "neomutt-" version))))
+       (file-name (git-file-name name version))
        (sha256
-        (base32
-         "0072in2d6znwqq461shsaxlf40r4zr7w3j9848qvm4xlh1lq52dx"))))
+        (base32 "0im2kkahkr04q04irvcimfawxi531ld6wrsa92r2m7l10gmijkl8"))))
     (build-system gnu-build-system)
     (inputs
      `(("cyrus-sasl" ,cyrus-sasl)

From 5cc96489ae20f3141edfa4d7de08f929991ad477 Mon Sep 17 00:00:00 2001
From: Tobias Geerinckx-Rice 
Date: Fri, 25 Oct 2019 23:13:06 +0200
Subject: [PATCH 0422/1112] gnu: neomutt: Update to 20191025.
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

* gnu/packages/mail.scm (neomutt): Update to 20191025.
[inputs]: Use libidn2 instead of libidn.
[arguments]: Adjust #:configure-flags accordingly.
Enable tests.  Remove ‘fix-sasl-test’ phase.
---
 gnu/packages/mail.scm | 177 +++++++++++++++++++++---------------------
 1 file changed, 87 insertions(+), 90 deletions(-)

diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
index 21d270252f7..9e8b778c73f 100644
--- a/gnu/packages/mail.scm
+++ b/gnu/packages/mail.scm
@@ -390,104 +390,101 @@ operating systems.")
     (license gpl2+)))
 
 (define-public neomutt
-  (package
-    (name "neomutt")
-    (version "20180716")
-    (source
-     (origin
-       (method git-fetch)
-       (uri (git-reference
-             (url "https://github.com/neomutt/neomutt.git")
-             (commit (string-append "neomutt-" version))))
-       (file-name (git-file-name name version))
-       (sha256
-        (base32 "0im2kkahkr04q04irvcimfawxi531ld6wrsa92r2m7l10gmijkl8"))))
-    (build-system gnu-build-system)
-    (inputs
-     `(("cyrus-sasl" ,cyrus-sasl)
-       ("gdbm" ,gdbm)
-       ("gpgme" ,gpgme)
-       ("ncurses" ,ncurses)
-       ("gnutls" ,gnutls)
-       ("openssl" ,openssl) ;For smime
-       ("perl" ,perl)
-       ("kyotocabinet" ,kyotocabinet)
-       ("libxslt" ,libxslt)
-       ("libidn" ,libidn)
-       ("libxml2" ,libxml2)
-       ("lmdb" ,lmdb)
-       ("notmuch" ,notmuch)))
-    (native-inputs
-     `(("automake" ,automake)
-       ("gettext-minimal" ,gettext-minimal)
-       ("pkg-config" ,pkg-config)
-       ("docbook-xsl" ,docbook-xsl)
-       ("docbook-xml" ,docbook-xml-4.2)
-       ("w3m" ,w3m)
-       ("tcl" ,tcl)))
-    (arguments
-     `(#:tests? #f
-       #:configure-flags
-       (list "--gpgme"
+  (let ((tag "2019-10-25"))
+    (package
+      (name "neomutt")
+      ;; Upstream now uses YYYY-MM-DD instead of YYYYMMDD, but we're forever
+      ;; wed to the latter through ‘guix upgrade’.
+      (version (apply string-append (string-split tag #\-)))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/neomutt/neomutt.git")
+               (commit tag)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32 "0hy6rxgm3acjqxpf4ss7391kps4g06fbjhbpgv1jdrj1y9kv0rm1"))))
+      (build-system gnu-build-system)
+      (inputs
+       `(("cyrus-sasl" ,cyrus-sasl)
+         ("gdbm" ,gdbm)
+         ("gpgme" ,gpgme)
+         ("ncurses" ,ncurses)
+         ("gnutls" ,gnutls)
+         ("openssl" ,openssl)           ; for S/MIME
+         ("perl" ,perl)
+         ("kyotocabinet" ,kyotocabinet)
+         ("libxslt" ,libxslt)
+         ("libidn2" ,libidn2)
+         ("libxml2" ,libxml2)
+         ("lmdb" ,lmdb)
+         ("notmuch" ,notmuch)))
+      (native-inputs
+       `(("automake" ,automake)
+         ("gettext-minimal" ,gettext-minimal)
+         ("pkg-config" ,pkg-config)
+         ("docbook-xsl" ,docbook-xsl)
+         ("docbook-xml" ,docbook-xml-4.2)
+         ("w3m" ,w3m)
+         ("tcl" ,tcl)))
+      (arguments
+       `(#:test-target "test"
+         #:configure-flags
+         (list "--gpgme"
 
-             ;; database, implies header caching
-             "--disable-tokyocabinet"
-             "--disable-qdbm"
-             "--disable-bdb"
-             "--lmdb"
-             "--kyotocabinet"
+               ;; Database, implies header caching.
+               "--disable-tokyocabinet"
+               "--disable-qdbm"
+               "--disable-bdb"
+               "--lmdb"
+               "--kyotocabinet"
 
-             "--gdbm"
+               "--gdbm"
 
-             "--gnutls"
-             "--disable-ssl"
-             "--sasl"
-             (string-append "--with-sasl="
-                            (assoc-ref %build-inputs "cyrus-sasl"))
+               "--gnutls"
+               "--disable-ssl"
+               "--sasl"
+               (string-append "--with-sasl="
+                              (assoc-ref %build-inputs "cyrus-sasl"))
 
 
-             "--smime"
-             "--notmuch"
-             "--idn"
+               "--smime"
+               "--notmuch"
+               "--disable-idn"
+               "--idn2"
 
-             ;; If we do not set this, neomutt wants to check
-             ;; whether the path exists, which it does not
-             ;; in the chroot. The workaround is this.
-             "--with-mailpath=/var/mail"
+               ;; If we do not set this, neomutt wants to check
+               ;; whether the path exists, which it does not
+               ;; in the chroot.
+               "--with-mailpath=/var/mail"
 
-             "--with-ui=ncurses"
-             (string-append "--with-ncurses="
-                            (assoc-ref %build-inputs "ncurses"))
-             (string-append "--prefix="
-                            (assoc-ref %outputs "out"))
-             "--debug")
-       #:phases
-       (modify-phases %standard-phases
-         ;; TODO: autosetup is meant to be included in the source,
-         ;; but we should package autosetup and use our own version of it.
-         (add-before 'configure 'fix-sasl-test
-           (lambda _
-             ;; Upstream suggestion to fix the failing sasl autosetup test.
-             (substitute* "auto.def"
-               (("cc-with \\[list -cflags -I\\$prefix/include -libs")
-                "cc-with [list -includes stddef.h -cflags -I$prefix/include -libs"))
-             #t))
-         (replace 'configure
-           (lambda* (#:key outputs inputs configure-flags #:allow-other-keys)
-             (let* ((out (assoc-ref outputs "out"))
-                    (flags `(,@configure-flags))
-                    (bash (which "bash")))
-               (setenv "SHELL" bash)
-               (setenv "CONFIG_SHELL" bash)
-               (apply invoke bash
-                      (string-append (getcwd) "/configure")
-                      flags)))))))
-    (home-page "https://www.neomutt.org/")
-    (synopsis "Command-line mail reader based on Mutt")
-    (description
-     "NeoMutt is a command-line mail reader which is based on mutt.
+               "--with-ui=ncurses"
+               (string-append "--with-ncurses="
+                              (assoc-ref %build-inputs "ncurses"))
+               (string-append "--prefix="
+                              (assoc-ref %outputs "out"))
+               "--debug")
+         #:phases
+         (modify-phases %standard-phases
+           ;; TODO: autosetup is meant to be included in the source,
+           ;; but we should package autosetup and use our own version of it.
+           (replace 'configure
+             (lambda* (#:key outputs inputs configure-flags #:allow-other-keys)
+               (let* ((out (assoc-ref outputs "out"))
+                      (flags `(,@configure-flags))
+                      (bash (which "bash")))
+                 (setenv "SHELL" bash)
+                 (setenv "CONFIG_SHELL" bash)
+                 (apply invoke bash
+                        (string-append (getcwd) "/configure")
+                        flags)))))))
+      (home-page "https://www.neomutt.org/")
+      (synopsis "Command-line mail reader based on Mutt")
+      (description
+       "NeoMutt is a command-line mail reader which is based on mutt.
 It adds a large amount of new and improved features to mutt.")
-    (license gpl2+)))
+      (license gpl2+))))
 
 (define-public gmime
   (package

From b704e9ed108bc154ae8277182904e4739aaad35c Mon Sep 17 00:00:00 2001
From: Tobias Geerinckx-Rice 
Date: Fri, 25 Oct 2019 23:42:12 +0200
Subject: [PATCH 0423/1112] gnu: retroarch: Update to 1.7.9.2.

* gnu/packages/emulators.scm (retroarch): Update to 1.7.9.2.
---
 gnu/packages/emulators.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/emulators.scm b/gnu/packages/emulators.scm
index 8095d3c44dd..604214ecbdf 100644
--- a/gnu/packages/emulators.scm
+++ b/gnu/packages/emulators.scm
@@ -1053,7 +1053,7 @@ emulation community.  It provides highly accurate emulation.")
 (define-public retroarch
   (package
     (name "retroarch")
-    (version "1.7.8.4")
+    (version "1.7.9.2")
     (source
      (origin
        (method git-fetch)
@@ -1062,7 +1062,7 @@ emulation community.  It provides highly accurate emulation.")
              (commit (string-append "v" version))))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "1i3i23xwvmck8k2fpalr49np7xjzfg507243mybqrljawlnbxvph"))))
+        (base32 "14kay5g9rnm79mly7b4x5jwkidjaki8qqkpf21hnj1r2z1q7bp5b"))))
     (build-system gnu-build-system)
     (arguments
      `(#:tests? #f                      ; no tests

From 04b919324de9bc26b2093e4fdb5481917a7ec675 Mon Sep 17 00:00:00 2001
From: Tobias Geerinckx-Rice 
Date: Fri, 25 Oct 2019 23:47:24 +0200
Subject: [PATCH 0424/1112] gnu: man-db: Update to 2.9.0.

* gnu/packages/man.scm (man-db): Update to 2.9.0.
---
 gnu/packages/man.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/man.scm b/gnu/packages/man.scm
index de2377a14e4..86efe64e523 100644
--- a/gnu/packages/man.scm
+++ b/gnu/packages/man.scm
@@ -60,14 +60,14 @@ a flexible and convenient way.")
 (define-public man-db
   (package
     (name "man-db")
-    (version "2.8.5")
+    (version "2.9.0")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://savannah/man-db/man-db-"
                                   version ".tar.xz"))
               (sha256
                (base32
-                "1hgnfcgbllmws8cs6zaxklq8b69i05zynxi87f3zxw9lfms54kdn"))))
+                "0qg2sdn8mayya0ril484iz1r7hi46l68d2d80cr6lvc7x3csqjjx"))))
     (build-system gnu-build-system)
     (arguments
      `(#:phases

From 5a17f5e1cb5c6c8c7b5acb04d80e7ca039ff4b98 Mon Sep 17 00:00:00 2001
From: Tobias Geerinckx-Rice 
Date: Sat, 26 Oct 2019 00:38:09 +0200
Subject: [PATCH 0425/1112] gnu: git-annex: Update to 7.20191024.

* gnu/packages/haskell-apps.scm (git-annex): Update to 7.20191024.
---
 gnu/packages/haskell-apps.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/haskell-apps.scm b/gnu/packages/haskell-apps.scm
index eb23b9c44da..c5e1cd6c643 100644
--- a/gnu/packages/haskell-apps.scm
+++ b/gnu/packages/haskell-apps.scm
@@ -245,14 +245,14 @@ unique algebra of patches called @url{http://darcs.net/Theory,Patchtheory}.
 (define-public git-annex
   (package
     (name "git-annex")
-    (version "7.20191017")
+    (version "7.20191024")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "https://hackage.haskell.org/package/"
                            "git-annex/git-annex-" version ".tar.gz"))
        (sha256
-        (base32 "1ydccqqn8v9jns25r6cyz6nd9w80x9wgw85x1v0z6mhv00l2ifp0"))))
+        (base32 "11n0wvw7i1rgrsmm2wkv01rfa0azgaw1ib7jbmy4fyg9pw0s27y1"))))
     (build-system haskell-build-system)
     (arguments
      `(#:configure-flags

From b8fb4d24cb63d1af49023d0f58dca55afcbb556e Mon Sep 17 00:00:00 2001
From: Pierre Neidhardt 
Date: Sat, 26 Oct 2019 18:12:37 +0200
Subject: [PATCH 0426/1112] gnu: sbcl: Update to 1.5.8.

* gnu/packages/lisp.scm (sbcl): Update to 1.5.8.
---
 gnu/packages/lisp.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm
index 4a7527344f7..fdde7f744c3 100644
--- a/gnu/packages/lisp.scm
+++ b/gnu/packages/lisp.scm
@@ -328,14 +328,14 @@ an interpreter, a compiler, a debugger, and much more.")
 (define-public sbcl
   (package
     (name "sbcl")
-    (version "1.5.7")
+    (version "1.5.8")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "mirror://sourceforge/sbcl/sbcl/" version "/sbcl-"
                            version "-source.tar.bz2"))
        (sha256
-        (base32 "11cl839512898shxcgjmnn1178pwc8vcfaypmzxm1wzkwasjyx2l"))
+        (base32 "0k7zjrky8r2krkd8780cph214hiihg9nh5rxn4nrhg6i6f8jymw4"))
        (modules '((guix build utils)))
        (snippet
         ;; Add sbcl-bundle-systems to 'default-system-source-registry'.

From 88f95687c79d33442bcc04062b17bfe946d7d109 Mon Sep 17 00:00:00 2001
From: Timothy Sample 
Date: Wed, 23 Oct 2019 21:57:52 -0400
Subject: [PATCH 0427/1112] services: gdm: Add 'debug?' configuration field.

* gnu/services/xorg.scm ()[debug?]: New field.
(gdm-configuration-file): Use it.
* doc/guix.texi: Document it.
---
 doc/guix.texi         | 3 +++
 gnu/services/xorg.scm | 5 ++++-
 2 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/doc/guix.texi b/doc/guix.texi
index 746561ed97d..a934626e5a1 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -13988,6 +13988,9 @@ When @code{auto-login?} is false, GDM presents a log-in screen.
 When @code{auto-login?} is true, GDM logs in directly as
 @code{default-user}.
 
+@item @code{debug?} (default: @code{#f})
+When true, GDM writes debug messages to its log.
+
 @item @code{gnome-shell-assets} (default: ...)
 List of GNOME Shell assets needed by GDM: icon theme, fonts, etc.
 
diff --git a/gnu/services/xorg.scm b/gnu/services/xorg.scm
index 1d55e388a1f..9c84f7413fe 100644
--- a/gnu/services/xorg.scm
+++ b/gnu/services/xorg.scm
@@ -835,6 +835,7 @@ the GNOME desktop environment.")
   (allow-empty-passwords? gdm-configuration-allow-empty-passwords? (default #t))
   (auto-login? gdm-configuration-auto-login? (default #f))
   (dbus-daemon gdm-configuration-dbus-daemon (default dbus-daemon-wrapper))
+  (debug? gdm-configuration-debug? (default #f))
   (default-user gdm-configuration-default-user (default #f))
   (gnome-shell-assets gdm-configuration-gnome-shell-assets
                       (default (list adwaita-icon-theme font-cantarell)))
@@ -866,7 +867,9 @@ the GNOME desktop environment.")
                    "WaylandEnable=false\n"
                    "\n"
                    "[debug]\n"
-                   "#Enable=true\n"
+                   "Enable=" (if (gdm-configuration-debug? config)
+                                 "true"
+                                 "false") "\n"
                    "\n"
                    "[security]\n"
                    "#DisallowTCP=true\n"

From ad21d767df29f6808b4291a10c0b32bd34b6b5d4 Mon Sep 17 00:00:00 2001
From: Mark H Weaver 
Date: Mon, 21 Oct 2019 04:55:12 -0400
Subject: [PATCH 0428/1112] gnu: icecat: Update to 68.2.0-guix0-preview1
 [security fixes].

Fixes CVE-2019-11757, CVE-2019-11759, CVE-2019-11760, CVE-2019-11761,
CVE-2019-11762, CVE-2019-11763, CVE-2019-11764, and CVE-2019-15903.

Note: IceCat 68 has not yet been released by the IceCat project.  This is a
      work-in-progress, and does not currently meet the privacy-respecting
      standards of the IceCat project.

* gnu/packages/patches/icecat-default-search-ddg.patch,
gnu/packages/patches/icecat-disable-sync.patch: New files.
* gnu/local.mk (dist_patch_DATA): Add them.
* gnu/packages/gnuzilla.scm (%icecat-version): Update.
(mozilla-compare-locales, all-mozilla-locales): New variables.
(mozilla-locale): New procedure.
(mozilla-locales): New macro.
(icecat-source): Add code to populate the l10n directory.  Remove the code
that copied the l10n directory from an older IceCat source tarball.
(icecat)[inputs]: Remove hunspell.
[native-inputs]: Comment out previous Guix-specific patches for now.  Use the
newest rust, cargo, llvm, and clang.  Add rust-cbindgen, node, nasm, python 3,
icecat-default-search-ddg.patch and icecat-disable-sync.patch.
[arguments]: In configure flags: remove "--disable-maintenance-service" and
"--enable-system-hunspell", and comment out flags to use system libraries
instead of bundled libraries for libevent, libogg, libvorbis, libvpx,
harfbuzz, graphite2, and sqlite.  Add srfi-34 and srfi-35 to modules.  Delete
fewer bundled libraries.  Adapt the 'patch-source-shebangs' phase.  Add a
custom 'build' phase that tries the standard 'build' phase up to 5 times.
In the 'wrap-program' phase, set MOZ_LEGACY_PROFILES=1 in the environment,
and add 'pulseaudio' to the front of LD_LIBRARY_PATH.
[description]: Add a warning that this is only a preview release.
* gnu/packages/patches/icecat-makeicecat.patch: Adapt.
---
 gnu/local.mk                                  |    2 +
 gnu/packages/gnuzilla.scm                     |  303 +++--
 .../patches/icecat-default-search-ddg.patch   | 1108 +++++++++++++++++
 .../patches/icecat-disable-sync.patch         |    9 +
 gnu/packages/patches/icecat-makeicecat.patch  |   33 +-
 5 files changed, 1373 insertions(+), 82 deletions(-)
 create mode 100644 gnu/packages/patches/icecat-default-search-ddg.patch
 create mode 100644 gnu/packages/patches/icecat-disable-sync.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index 50bcab514a0..8befd568d64 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -977,6 +977,8 @@ dist_patch_DATA =						\
   %D%/packages/patches/hplip-remove-imageprocessor.patch	\
   %D%/packages/patches/hydra-disable-darcs-test.patch		\
   %D%/packages/patches/icecat-makeicecat.patch			\
+  %D%/packages/patches/icecat-default-search-ddg.patch		\
+  %D%/packages/patches/icecat-disable-sync.patch		\
   %D%/packages/patches/icecat-avoid-bundled-libraries.patch	\
   %D%/packages/patches/icecat-use-system-graphite2+harfbuzz.patch	\
   %D%/packages/patches/icecat-use-system-media-libs.patch	\
diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm
index 9ee9ca2f039..db7106c4dab 100644
--- a/gnu/packages/gnuzilla.scm
+++ b/gnu/packages/gnuzilla.scm
@@ -34,6 +34,7 @@
   #:use-module (guix packages)
   #:use-module (guix download)
   #:use-module (guix git-download)
+  #:use-module (guix hg-download)
   #:use-module (guix gexp)
   #:use-module (guix store)
   #:use-module (guix monads)
@@ -64,10 +65,12 @@
   #:use-module (gnu packages pulseaudio)
   #:use-module (gnu packages python)
   #:use-module (gnu packages python-xyz)
+  #:use-module (gnu packages node)
   #:use-module (gnu packages xorg)
   #:use-module (gnu packages gl)
   #:use-module (gnu packages assembly)
   #:use-module (gnu packages rust)
+  #:use-module (gnu packages rust-cbindgen)
   #:use-module (gnu packages llvm)
   #:use-module (gnu packages nss)
   #:use-module (gnu packages icu4c)
@@ -404,6 +407,127 @@ in C/C++.")
        ("pkg-config" ,pkg-config)
        ("python" ,python-2)))))
 
+(define mozilla-compare-locales
+  (origin
+    (method hg-fetch)
+    (uri (hg-reference
+          (url "https://hg.mozilla.org/l10n/compare-locales/")
+          (changeset "RELEASE_3_3_0")))
+    (file-name "mozilla-compare-locales")
+    (sha256 (base32 "0biazbq7vbi99b99rfn4szwyx032dkpi09c9z4zs6f1br0f86iy1"))))
+
+(define (mozilla-locale locale changeset hash-string)
+  (origin
+    (method hg-fetch)
+    (uri (hg-reference
+          (url (string-append "https://hg.mozilla.org/l10n-central/"
+                              locale))
+          (changeset changeset)))
+    (file-name (string-append "mozilla-locale-" locale))
+    (sha256 (base32 hash-string))))
+
+(define-syntax-rule (mozilla-locales (hash-string changeset locale) ...)
+  (list (mozilla-locale locale changeset hash-string)
+        ...))
+
+(define all-mozilla-locales
+  (mozilla-locales
+   ;;                      sha256                            changeset    locale
+   ;;---------------------------------------------------------------------------
+   ("0pybx6j2ycbrr1xmv0spv19sd8a1dyzcs8kf6pzn71w8y6kiagcf" "35959cf2343c" "ach")
+   ("0dixmkha738w7fkx20nx95xkfyrqb9vczpy6m03qnqfvb76xaxj5" "e8dc1010f909" "af")
+   ("124j09va25gwfxdzyfixrli0skxv53c7niagjyp7g3a3kcv2lbhc" "4c67f6b96a7b" "an")
+   ("0flgqll3xx0ym0zj0w9j2jw3fmhs6h9m4l5da6m0bpnk5ff80r06" "34cbea5f44a5" "ar")
+   ("0kdb1yqfbfz508f4p77z3p1v6fwy190vs5ipj58hgdixjgbxkqay" "b4790b27633c" "ast")
+   ("1vm5xw6wg12pygswd3p0qpkaxyryah6nif5n15chb4sb42c1gqcm" "96d341bf49d4" "az")
+   ("1j2qrrws51qij6haz5b77n5vzqhsxgs1ppqqw4mdrkacwvz4ciwh" "4adaede00646" "be")
+   ("0ydr8f9lbd51prgcbjb5yacb461j8va0s5bqfs0rnglkvhmk6ard" "d1140972aefe" "bg")
+   ("0wyw90zjp8kpd1gljng00in9wr2cf59ww6z002lgx5k4gibnqcfd" "2b3ce92c2310" "bn")
+   ("0kkq621h1qdmimyrmms9g5p70m54z2ddw4cd962nqbkrnmabq9vn" "426896350893" "br")
+   ("0vibhnb3cbpbgf10db04g6vm372kb9i27p0jkwif019f7qprswd8" "7463f339ce07" "bs")
+   ("1l8cn2fqfvx7bswzfy9vavv8cd32ha9ygdxxdbxi64wcgw0f80bf" "dab3f05125e4" "ca")
+   ("0fik17y8zyg9w82lq501ic73a53c0q9r8v4zgn9bnzgsygig8qpq" "ebb9d989275a" "cak")
+   ("0sj29v6144h39wzb4rvxph3cwgvs4gzkgpr0463d3fcs6jdi0kjs" "522352780348" "cs")
+   ("1nz8jlx62l69jcdi59hlk8jysm15sh3d1cxqginjmx7w351wsidm" "0791b954c333" "cy")
+   ("1vc01q1vlq26xm1vm1x0119jawxxp975p9k8ashmiwncl1bvqb48" "121f5f876f4c" "da")
+   ("1iqny61rg57banfbbskc2y3pr6d35fabnxmynv7vxm9jd86pndz3" "95fb3e99a2bc" "de")
+   ("06v9j8acx5h8za7m65v6qm0wjbkx6vm46m8sigcp69phyg3fjc96" "90e681b74587" "dsb")
+   ("0lbk90x2dxdbh63fycqxspx6jqq2zlzys6grg45balw8yyvzqrkz" "58ba4c13fd42" "el")
+   ("0c2ypvy0z8g78s5158v6h9khckq1xps34r5wbiiciix289m43dgl" "8953d8c98a30" "en-CA")
+   ("0z3riz3w2z6p710p90ridmwwam4snnz5mn90gd4jc1h2n7vc9mr0" "5a2b9bca3f52" "en-GB")
+   ("102gn3h4ap8c3x1p7vfc88vapkfiz6264y6byhxy1axxjk3x3a77" "e87cb1c61d6e" "eo")
+   ("148wj6wsx0aq7cpaxk8njj7cb1wfjr2m96dgxq6b3qcv781ldvjn" "5db15fdf95d5" "es-AR")
+   ("0r11d8vzvbyz17n371byvkrnszcv1zhr7rg64i58xra3y6d7is7n" "ce2ee0e51a92" "es-CL")
+   ("1xmqa8p7lpqvkgg879hfnmf6kxcpawjk8z31cdzfp1hrdlmxg8n7" "7346617620f3" "es-ES")
+   ("0jxv3jh2018lnybr9mzqrffvwmr87yab9bh8lxqjj294fxw1hrxm" "687f05eb0c58" "es-MX")
+   ("1rpgv7pajv4xldsn1xxsia5j72vn3x8zl5wmbzkyw56lvn9fckvf" "839a5029c496" "et")
+   ("0hxp4fr3y05rkpamdb1hlmybn6d3bv3rcawjm3axbpqxbyfdpfzc" "54e8d87230c9" "eu")
+   ("1y50knymnmcihw8bhvahicc386mjm6dx4hx0j6fv8sl23wzx2h9m" "c5ffca960f9c" "fa")
+   ("0pj9zgi0c3yl3myhvb5afiijayp2lqzhlk630ahxn5hgjgkz0lx7" "75c000a8538d" "ff")
+   ("199jg0zv7wp1cq0ik2hf84j99jx5vq2jwac0gaayvjzkh2z83jqr" "f11b2e689e7b" "fi")
+   ("1vxkiwwni7470ywy99arxxa56ljkhjrhxslsp1l1l61g6gdbbspr" "49ec4f791806" "fr")
+   ("0d8gwdcj0jpjv03nhjds8jrg86pg371xpylaibwri76wlyl7m54i" "faa761a5cfdc" "fy-NL")
+   ("0nipbxx11a2sjadzhbi88vgknw5hzr4nqy2722q3kc1212jbi754" "5bd9466f9f9d" "ga-IE")
+   ("0bay8mrm65cvmnvqpwqgzr0h3cb18ifzg5kbsbxcvdfm9xv0zi9g" "a4f6a47e82dd" "gd")
+   ("00kn5w3nnpw1pxg6hhrn9asf9hgpjd6ia4038iwzcqs68w887qcy" "6c2aa01ada4e" "gl")
+   ("0jj13i0ach85c975vaz2rr83mibs29ipssa7qsjkb0y2ch6xya1k" "c2d607e36cb5" "gn")
+   ("1nhqbgzilcb0pr7941dxkhg079bf8v7ldikp1s5xli34wf9sabm2" "f34465d6ac1c" "gu-IN")
+   ("11bh0541d996cfin1zy72l66753q94i4idgv2waf0h40h9g3z1bm" "c2ecb2762274" "he")
+   ("1lslji7hh5lx5ig1xgfjh4cdindsgh3n2a7qlvzwz96gda43lvv4" "94d2bb10ee03" "hi-IN")
+   ("1nx5yw00l25i3m3grdm29mi9mi7h0cy5qx02pypir754pk3hiwcc" "08df0d94edd5" "hr")
+   ("19yc9dk2pwqycynmx58d1ik6x4mnyfxscgr6sg676dpl613xd7nq" "21b614e77025" "hsb")
+   ("0l3z64jlx6b6ivk1b5hwqyx9hm1m5721ywnb2m4zmg3g9fw4vn7f" "f82cad7170af" "hu")
+   ("1sn0dxbbf2zwcpybwcw77qb4p0hf6fxapnsnn4avaab5g55dlgz4" "d94c30920396" "hy-AM")
+   ("0c92cqxrhv4317kirmhpjk7mrq44yn6fp3v6syxnhz7xwxnhshjm" "6a5f176b0626" "ia")
+   ("03gyg9gqsd6pwb9nydglhm46fi2wk2p2qygmhmrf8hnav3ba7n0r" "94e4302e0f85" "id")
+   ("0ky8aaps92mn56rvkwn0i13wg8av8hzi1fvr0ahqhjcpj5sfgdwq" "eca348a59888" "is")
+   ("01py0sfg7nljcsgpivryrvai4p4wzbcvhgc2ymr19r579nv1vw7g" "d541a6197359" "it")
+   ("0iv7vmj43njmi7g1gjzsv68ax4j502d2wnkvbfz1rx11lrqs7yw1" "a5ab3a1d95b7" "ja")
+   ("1sr9ccshcw6agbj4hbnpblxixb1jz0m36glas6f9ahxmi7m605si" "63763ffa5a94" "ja-JP-mac")
+   ("1as33pzcsdkynrj16dv7w642vl6plbhk650am4l5djwm64f2rgms" "aa83e8555ddc" "ka")
+   ("1jwaqb5qps3i5y9iw8l2hrwa0n8lfnx1k9x0p54y3jkh6p3q3fzc" "0e0e25c26247" "kab")
+   ("0cjfiwv0q5i8d7fpwb4m2w5ahq687dqjlwlicgpa443yi2zsxr4s" "33117723ceb1" "kk")
+   ("0k5b56cv39aaxf9r0p9c27f3fp6yq2ffd4w6qmd0ibpl69sm629d" "aff7b2a7825e" "km")
+   ("1a0zg96jgq4zn9cz0h2qwc0vv1fbkfzs5qrgabg62wqgz286jvvv" "ea91638cb1dd" "kn")
+   ("0jhmv2n3yx55r6fg3myg7j1c1nhsv25g016m6lh2j023xbr723gp" "88821009b5b3" "ko")
+   ("06bybgv4m4i7r9p0qld65j31vbrnljhsdj649dl93msv2r69ilif" "88685d5f07b3" "lij")
+   ("1bzjf8smw6ngi88j5g3fawrg54m8fifbhshwjbgkpj7rnrpjgh4w" "e046c7ffa7d0" "lt")
+   ("18dmzmpavijb7fwzffas0j5nb6byqp8h6ki7hhf6qb35diqgfq6n" "c520ef4f576c" "lv")
+   ("055zf7xj5h1h8mzxj1cjzhngpcvg2p5vs2dmffsa5zfprj02d0dm" "9e43723f18ad" "mk")
+   ("1496fbyyzcl075gzcd3xy50h9jyhnzgb544k1scji56yhyfajacb" "ce615fef92c1" "mr")
+   ("1wc1q8ksry181pvnysqsq4dhhsg5adw5vgqafmmq5sf6i2bwn2z0" "4fefe88cfaee" "ms")
+   ("0awf6mrdwdhy2yvxynssvp1zg1nc2fqbmg2d2bhjcib69zx944xw" "3987a06866fd" "my")
+   ("1hycvz7i4jd40hfs5abx6sgfdkafg0jhdgqih9b7lb08aqcl35pj" "2b3b8997d9a1" "nb-NO")
+   ("048z1ib46izwryyy8l1x71kq4775n7l2ilbskhsyrbxqryma13k8" "f25324281615" "ne-NP")
+   ("1qkxqpyr4la9bn1bqsgc2h9869arglh9n2kwpkq6722jzdbynkz2" "04c7d32c57f6" "nl")
+   ("08gnmdll55dbqj7qs63gq1kljbvg24nzns6q4m0av3sszsic0jv5" "5587520e5019" "nn-NO")
+   ("1yh2p4ipj5p2b7gh0xxj0n7ndvwn5bw2773ibrh7vz932mkzhhjn" "499386b02695" "oc")
+   ("0kjbnixjzv9hvyba4ll20gs76vx84pviy134fvpjp9lfjpnpib55" "31c01c325675" "pa-IN")
+   ("0g61imvr4639bbydyi0kwc1il7l1gzlfij4ywx7hdcmq2x6vgb9v" "fb5f3b8dea09" "pl")
+   ("13n68d7z94d7943m6fwl4kizbqm3wp82xz69vng4w9vyqlvv7d41" "9a541cbdc748" "pt-BR")
+   ("1j8afvrl1afmj2zixrp91rrhag5w4xw90raca1ic6mxyih9kvdi4" "edc959a685c2" "pt-PT")
+   ("0wf4a6q9nvcmam2g8ksbymjdnrz59pdr5nirfpjprfhifjmxx4nn" "d2699db715cd" "rm")
+   ("1k9qalir5pbh490w1mxyq31yhy9hbxsyrrk11hwlwlgn6syp9nvp" "b5460a9017bc" "ro")
+   ("1avy6wyfa5lbvy36wai6mwhhh6x1y8a0jyjk8hvjn52yfxj1gypk" "59ffa8ad047a" "ru")
+   ("1cakhm4jxcw1ij0l1vhxw74hsp5wg68i3319dkdncyyc5a2s1qv9" "8b3c8a7ebdfa" "si")
+   ("0s534r09bqdfvw3q17y9b1035kzzlafjv656v73mqhyz3fkffsx5" "cb39dc77980e" "sk")
+   ("1s58vgmnb9aiaiaqwwcivq3iyzpzj527w2aqh2nrh6xmaw7f43sr" "17d7969b1d9a" "sl")
+   ("147qm7x5z8rkf24jpqvkdlqg0fjz1l3zwnaxvkh9y2jpzv7m0x7z" "c55b0e9ff99d" "son")
+   ("0nn4r1rxi8cy7x9nmn5ljd8gcsn2rjl2ma2j7waxkafkm4rs6n20" "2bb3808072da" "sq")
+   ("0jsb01b94z7qbm59yaj56nb7yx7a6hpgw8v6nzwhbvmnmcsird4p" "c323c0d02d61" "sr")
+   ("1n7vv9y4sk3gig56rgfd2jk8jr2160grxk31bd1wkm7fvbndd259" "4220ce487cbc" "sv-SE")
+   ("06270mq7gajxfrsb8gqd25v2dac68ask5vvlh6kkkp3hrgy02vid" "6a1dbc2fe1d3" "ta")
+   ("10az7pd3npa7n8wq0qywvsj2qrx9592i2wffs3rnc1fviv1i1q0y" "028505b5ecd1" "te")
+   ("0yj0c3iyibb3jyypvyiyhbr9asxa48v0nq21kcf9gphi8fnyp5if" "e44d38b6a67b" "th")
+   ("1qc4nvhw834lx7p304fxma0fjdr4xfj4lf69dhh6biqz795lx45p" "1e0771d95708" "tr")
+   ("1g4y2yq5xp61ncy7c08j7fqqr1jc0m1hjxmbg5659wzif3b3dkg4" "e3c96943e98f" "uk")
+   ("1zbi28z1c3p5il7ndixyjsv4nrimzq36zjvlmq10am38ycqr9df8" "f35da1b02691" "ur")
+   ("1jrxjjj8k771y0wljqbadxdj4pasg0771jmg4l3hvpgs929i3j9g" "6fd2084b3efe" "uz")
+   ("1f8sqgxzgqmw6vzjv3f49lg43q09i3j62f471864vr71815agl8n" "33b5dfd0cd63" "vi")
+   ("0ssnsbxw3q5k88fa081gkn1mbqn4j7bm6vb7yvz6h44j214xkz9x" "2d87c0740715" "xh")
+   ("0kd3mrvvgczhsmw4rvpxxxc71bb469ayr8r4azf7gc0y5nmlm950" "a2b6625688d3" "zh-CN")
+   ("0qy1asyfplkyc89z3g3gfm7b32aka92350b3ayv9d9dcgwxmfdwz" "4d6e959a13d1" "zh-TW")))
+
 (define (mozilla-patch file-name changeset hash)
   "Return an origin for CHANGESET from the mozilla-esr60 repository."
   (origin
@@ -426,7 +550,7 @@ from forcing GEXP-PROMISE."
                       #:system system
                       #:guile-for-build guile)))
 
-(define %icecat-version "60.9.0-guix1")
+(define %icecat-version "68.2.0-guix0-preview1")
 
 ;; 'icecat-source' is a "computed" origin that generates an IceCat tarball
 ;; from the corresponding upstream Firefox ESR tarball, using the 'makeicecat'
@@ -448,24 +572,11 @@ from forcing GEXP-PROMISE."
                   "firefox-" upstream-firefox-version ".source.tar.xz"))
             (sha256
              (base32
-              "0gy5x2rnnbkqmjd9sq93s3q5na9nkba68xwpizild7k6qn63qicz"))))
+              "0f3gf5gwhxabm6xs29nlxmfqdw3fs7v458vq1fydrglfyvmc5wc5"))))
 
-         (upstream-icecat-base-version "60.7.0") ; maybe older than base-version
-         (upstream-icecat-gnu-version "1")
-         (upstream-icecat-version (string-append upstream-icecat-base-version
-                                                 "-gnu"
-                                                 upstream-icecat-gnu-version))
-         (upstream-icecat-source
-          (origin
-            (method url-fetch)
-            (uri (string-append
-                  "mirror://gnu/gnuzilla/" upstream-icecat-base-version
-                  "/icecat-" upstream-icecat-version ".tar.bz2"))
-            (sha256
-             (base32
-              "09xqdfd8rwbn2n6m7n059qf1psbrj5v5kfzm7gg5xng22ddxawv8"))))
-
-         (gnuzilla-commit (string-append "v" upstream-icecat-base-version))
+         (upstream-icecat-base-version "68.1.0") ; maybe older than base-version
+         ;;(gnuzilla-commit (string-append "v" upstream-icecat-base-version))
+         (gnuzilla-commit "395cc0798600cde44a30abaa3f5d08ce8b68f782")
          (gnuzilla-source
           (origin
             (method git-fetch)
@@ -475,7 +586,7 @@ from forcing GEXP-PROMISE."
             (file-name (git-file-name "gnuzilla" upstream-icecat-base-version))
             (sha256
              (base32
-              "1vqhb0py28hnwcynbaad304ziciz1kn5bv1qg2q4f7g13js3b1hf"))))
+              "1ll3j2kpsfp1f9dxy67fay1cidsng02l8a3a23wdjqkxgrg1cf4g"))))
 
          (makeicecat-patch
           (local-file (search-patch "icecat-makeicecat.patch"))))
@@ -492,9 +603,7 @@ from forcing GEXP-PROMISE."
               (let ((firefox-dir
                      (string-append "firefox-" #$base-version))
                     (icecat-dir
-                     (string-append "icecat-" #$%icecat-version))
-                    (old-icecat-dir
-                     (string-append "icecat-" #$upstream-icecat-base-version)))
+                     (string-append "icecat-" #$%icecat-version)))
 
                 (mkdir "/tmp/bin")
                 (set-path-environment-variable
@@ -540,9 +649,6 @@ from forcing GEXP-PROMISE."
                      (string-append "FFMINOR=" #$minor-version "\n"))
                     (("^FFSUB=.*")
                      (string-append "FFSUB=" #$sub-version "\n"))
-                    (("^GNUVERSION=.*")
-                     (string-append "GNUVERSION="
-                                    #$upstream-icecat-gnu-version "\n"))
                     (("^DATA=.*")
                      "DATA=/tmp/gnuzilla/data\n")
                     (("^find extensions/gnu/ ")
@@ -556,19 +662,39 @@ from forcing GEXP-PROMISE."
                 (rename-file firefox-dir icecat-dir)
 
                 (with-directory-excursion icecat-dir
+                  (format #t "Populating l10n directory...~%")
+                  (force-output)
                   (mkdir "l10n")
+                  (with-directory-excursion "l10n"
+                    (for-each
+                     (lambda (locale-dir)
+                       (let ((locale
+                              (string-drop (basename locale-dir)
+                                           (+ 32  ; length of hash
+                                              (string-length "-mozilla-locale-")))))
+                         (format #t "  ~a~%" locale)
+                         (force-output)
+                         (copy-recursively locale-dir locale
+                                           #:log (%make-void-port "w"))
+                         (for-each make-file-writable (find-files locale))
+                         (with-directory-excursion locale
+                           (when (file-exists? ".hgtags")
+                             (delete-file ".hgtags"))
+                           (mkdir-p "browser/chrome/browser/preferences")
+                           (call-with-output-file
+                               "browser/chrome/browser/preferences/advanced-scripts.dtd"
+                             (lambda (port) #f)))))
+                     '#+all-mozilla-locales)
+                    (copy-recursively #+mozilla-compare-locales
+                                      "compare-locales"
+                                      #:log (%make-void-port "w"))
+                    (delete-file "compare-locales/.gitignore")
+                    (delete-file "compare-locales/.hgignore")
+                    (delete-file "compare-locales/.hgtags"))
+
                   (format #t "Running makeicecat script...~%")
                   (force-output)
-                  (invoke "bash" "/tmp/gnuzilla/makeicecat")
-                  (delete-file-recursively "l10n"))
-
-                (format #t (string-append "Unpacking l10n/* from"
-                                          " upstream IceCat tarball...~%"))
-                (force-output)
-                (unless (string=? icecat-dir old-icecat-dir)
-                  (symlink icecat-dir old-icecat-dir))
-                (invoke "tar" "xf" #+upstream-icecat-source
-                        (string-append old-icecat-dir "/l10n"))
+                  (invoke "bash" "/tmp/gnuzilla/makeicecat"))
 
                 (format #t "Packing new IceCat tarball...~%")
                 (force-output)
@@ -605,7 +731,6 @@ from forcing GEXP-PROMISE."
        ("pango" ,pango)
        ("freetype" ,freetype)
        ("harfbuzz" ,harfbuzz)
-       ("hunspell" ,hunspell)
        ("libcanberra" ,libcanberra)
        ("libgnome" ,libgnome)
        ("libjpeg-turbo" ,libjpeg-turbo)
@@ -640,24 +765,32 @@ from forcing GEXP-PROMISE."
      ;; and therefore we prefer to leave them out of 'source', which should be
      ;; a tarball suitable for compilation on any system that IceCat supports.
      ;; (Bug fixes and security fixes, however, should go in 'source').
-     `(("icecat-avoid-bundled-libraries.patch"
-        ,(search-patch "icecat-avoid-bundled-libraries.patch"))
-       ("icecat-use-system-graphite2+harfbuzz.patch"
-        ,(search-patch "icecat-use-system-graphite2+harfbuzz.patch"))
-       ("icecat-use-system-media-libs.patch"
-        ,(search-patch "icecat-use-system-media-libs.patch"))
+     `(;; XXX TODO: Adapt these patches to IceCat 68.
+       ;; ("icecat-avoid-bundled-libraries.patch"
+       ;;  ,(search-patch "icecat-avoid-bundled-libraries.patch"))
+       ;; ("icecat-use-system-graphite2+harfbuzz.patch"
+       ;;  ,(search-patch "icecat-use-system-graphite2+harfbuzz.patch"))
+       ;; ("icecat-use-system-media-libs.patch"
+       ;;  ,(search-patch "icecat-use-system-media-libs.patch"))
+       ("icecat-default-search-ddg.patch"
+        ,(search-patch "icecat-default-search-ddg.patch"))
+       ("icecat-disable-sync.patch"
+        ,(search-patch "icecat-disable-sync.patch"))
 
        ("patch" ,(canonical-package patch))
 
-       ;; Icecat 60 checks for rust>=1.24
-       ("rust" ,rust-1.24)
-       ("cargo" ,rust-1.24 "cargo")
-       ("llvm" ,llvm-3.9.1)
-       ("clang" ,clang-3.9.1)
+       ("rust" ,rust)
+       ("cargo" ,rust "cargo")
+       ("rust-cbindgen" ,rust-cbindgen)
+       ("llvm" ,llvm)
+       ("clang" ,clang)
        ("perl" ,perl)
-       ("python" ,python-2) ; Python 3 not supported
+       ("node" ,node)
+       ("python" ,python)
+       ("python-2" ,python-2)
        ("python2-pysqlite" ,python2-pysqlite)
        ("yasm" ,yasm)
+       ("nasm" ,nasm)  ; XXX FIXME: only needed on x86_64 and i686
        ("pkg-config" ,pkg-config)
        ("autoconf" ,autoconf-2.13)
        ("which" ,which)))
@@ -681,7 +814,6 @@ from forcing GEXP-PROMISE."
                            "--disable-tests"
                            "--disable-updater"
                            "--disable-crashreporter"
-                           "--disable-maintenance-service"
                            "--disable-eme"
                            "--disable-gconf"
 
@@ -712,11 +844,11 @@ from forcing GEXP-PROMISE."
                            "--with-system-zlib"
                            "--with-system-bz2"
                            "--with-system-jpeg"        ; must be libjpeg-turbo
-                           "--with-system-libevent"
-                           "--with-system-ogg"
-                           "--with-system-vorbis"
-                           ;; "--with-system-theora" ; wants theora-1.2, not yet released
-                           "--with-system-libvpx"
+                           ;; UNBUNDLE-ME! "--with-system-libevent"
+                           ;; UNBUNDLE-ME! "--with-system-ogg"
+                           ;; UNBUNDLE-ME! "--with-system-vorbis"
+                           ;; UNBUNDLE-ME! "--with-system-theora" ; wants theora-1.2, not yet released
+                           ;; UNBUNDLE-ME! "--with-system-libvpx"
                            "--with-system-icu"
                            
                            ;; See 
@@ -725,12 +857,11 @@ from forcing GEXP-PROMISE."
                            ;; UNBUNDLE-ME! "--with-system-nspr"
                            ;; UNBUNDLE-ME! "--with-system-nss"
                            
-                           "--with-system-harfbuzz"
-                           "--with-system-graphite2"
+                           ;; UNBUNDLE-ME! "--with-system-harfbuzz"
+                           ;; UNBUNDLE-ME! "--with-system-graphite2"
                            "--enable-system-pixman"
                            "--enable-system-ffi"
-                           "--enable-system-hunspell"
-                           "--enable-system-sqlite"
+                           ;; UNBUNDLE-ME! "--enable-system-sqlite"
 
                            ;; Fails with "--with-system-png won't work because
                            ;; the system's libpng doesn't have APNG support".
@@ -748,6 +879,8 @@ from forcing GEXP-PROMISE."
        #:modules ((ice-9 ftw)
                   (ice-9 rdelim)
                   (ice-9 match)
+                  (srfi srfi-34)
+                  (srfi srfi-35)
                   ,@%gnu-build-system-modules)
        #:phases
        (modify-phases %standard-phases
@@ -802,18 +935,18 @@ from forcing GEXP-PROMISE."
                          ;;
                          "modules/freetype2"
                          "modules/zlib"
-                         "modules/libbz2"
-                         "ipc/chromium/src/third_party/libevent"
-                         "media/libjpeg"
-                         "media/libvpx"
-                         "media/libogg"
-                         "media/libvorbis"
-                         ;; "media/libtheora" ; wants theora-1.2, not yet released
-                         "media/libtremor"
-                         "gfx/harfbuzz"
-                         "gfx/graphite2"
+                         ;; "media/libjpeg"  ; needed for now, because media/libjpeg/moz.build is referenced from config/external/moz.build
+                         ;; UNBUNDLE-ME! "ipc/chromium/src/third_party/libevent"
+                         ;; UNBUNDLE-ME! "media/libvpx"
+                         ;; UNBUNDLE-ME! "media/libogg"
+                         ;; UNBUNDLE-ME! "media/libvorbis"
+                         ;; UNBUNDLE-ME! "media/libtheora" ; wants theora-1.2, not yet released
+                         ;; UNBUNDLE-ME! "media/libtremor"
+                         ;; UNBUNDLE-ME! "gfx/harfbuzz"
+                         ;; UNBUNDLE-ME! "gfx/graphite2"
                          "js/src/ctypes/libffi"
-                         "db/sqlite3"))
+                         ;; UNBUNDLE-ME! "db/sqlite3"
+                         ))
              #t))
          (add-after 'remove-bundled-libraries 'link-libxul-with-libraries
            (lambda _
@@ -840,7 +973,7 @@ from forcing GEXP-PROMISE."
            (lambda _
              (use-modules (guix build cargo-utils))
              (let ((null-hash "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"))
-               (substitute* '("Cargo.lock" "servo/Cargo.lock")
+               (substitute* '("Cargo.lock" "gfx/wr/Cargo.lock")
                  (("(\"checksum .* = )\".*\"" all name)
                   (string-append name "\"" null-hash "\"")))
                (for-each
@@ -890,6 +1023,22 @@ from forcing GEXP-PROMISE."
                (apply invoke bash
                       (string-append srcdir "/configure")
                       flags))))
+         (replace 'build
+           ;; The build system often spuriously fails.  See
+           ;; .  To
+           ;; work around this, we try the standard 'build' phase up
+           ;; to 5 times.
+           (lambda args
+             (let ((build (assoc-ref %standard-phases 'build)))
+               (let retry ((remaining-attempts 5))
+                 (if (= remaining-attempts 1)
+                     (apply build args)
+                     (guard (c ((invoke-error? c)
+                                (format #t "~%Retrying build! (~a attempts remaining)~%~%"
+                                        (- remaining-attempts 1))
+                                (force-output)
+                                (retry (- remaining-attempts 1))))
+                       (apply build args)))))))
          (add-before 'configure 'install-desktop-entry
            (lambda* (#:key outputs #:allow-other-keys)
              ;; Install the '.desktop' file.
@@ -925,16 +1074,24 @@ from forcing GEXP-PROMISE."
              (let* ((out (assoc-ref outputs "out"))
                     (lib (string-append out "/lib"))
                     (gtk (assoc-ref inputs "gtk+"))
-                    (gtk-share (string-append gtk "/share")))
+                    (gtk-share (string-append gtk "/share"))
+                    (pulseaudio (assoc-ref inputs "pulseaudio"))
+                    (pulseaudio-lib (string-append pulseaudio "/lib")))
                (wrap-program (car (find-files lib "^icecat$"))
-                 `("XDG_DATA_DIRS" ":" prefix (,gtk-share)))
+                 `("XDG_DATA_DIRS" prefix (,gtk-share))
+                 `("LD_LIBRARY_PATH" prefix (,pulseaudio-lib))
+                 `("MOZ_LEGACY_PROFILES" = ("1")))
                #t))))))
     (home-page "https://www.gnu.org/software/gnuzilla/")
     (synopsis "Entirely free browser derived from Mozilla Firefox")
     (description
      "IceCat is the GNU version of the Firefox browser.  It is entirely free
 software, which does not recommend non-free plugins and addons.  It also
-features built-in privacy-protecting features.")
+features built-in privacy-protecting features.
+
+WARNING: IceCat 68 has not yet been released by the upstream IceCat project.
+This is a preview release, and does not currently meet the privacy-respecting
+standards of the IceCat project.")
     (license license:mpl2.0)     ;and others, see toolkit/content/license.html
     (properties
      `((ftp-directory . "/gnu/gnuzilla")
diff --git a/gnu/packages/patches/icecat-default-search-ddg.patch b/gnu/packages/patches/icecat-default-search-ddg.patch
new file mode 100644
index 00000000000..9eea07bcab2
--- /dev/null
+++ b/gnu/packages/patches/icecat-default-search-ddg.patch
@@ -0,0 +1,1108 @@
+--- a/browser/components/search/SearchTelemetry.jsm.orig	1980-01-01 18:59:51.000000000 -0500
++++ b/browser/components/search/SearchTelemetry.jsm	2019-10-25 06:58:49.564335696 -0400
+@@ -40,6 +40,12 @@
+  *     page mightbe an advert.
+  */
+ const SEARCH_PROVIDER_INFO = {
++  duckduckgo: {
++    regexp: /^https:\/\/duckduckgo\.com\//,
++    queryParam: "q",
++    codeParam: "t",
++    codePrefixes: ["ff"],
++  },
+   google: {
+     regexp: /^https:\/\/www\.google\.(?:.+)\/search/,
+     queryParam: "q",
+@@ -50,12 +56,6 @@
+       /^https:\/\/www\.googleadservices\.com\/(?:pagead\/)?aclk/,
+     ],
+   },
+-  duckduckgo: {
+-    regexp: /^https:\/\/duckduckgo\.com\//,
+-    queryParam: "q",
+-    codeParam: "t",
+-    codePrefixes: ["ff"],
+-  },
+   yahoo: {
+     regexp: /^https:\/\/(?:.*)search\.yahoo\.com\/search/,
+     queryParam: "p",
+--- a/browser/components/search/extensions/list.json.orig	1980-01-01 18:59:51.000000000 -0500
++++ b/browser/components/search/extensions/list.json	2019-10-25 07:27:58.209006756 -0400
+@@ -1,9 +1,9 @@
+ {
+   "default": {
+-    "searchDefault": "Google",
+-    "searchOrder": ["Google", "Bing"],
++    "searchDefault": "DuckDuckGo",
++    "searchOrder": ["DuckDuckGo", "Google", "Bing"],
+     "visibleDefaultEngines": [
+-      "google-b-d", "amazondotcom", "bing", "ddg", "ebay", "twitter", "wikipedia"
++      "ddg", "google-b-d", "amazondotcom", "bing", "ebay", "twitter", "wikipedia"
+     ]
+   },
+   "regionOverrides": {
+@@ -54,32 +54,32 @@
+     "en-US": {
+       "default": {
+         "visibleDefaultEngines": [
+-          "google-b-d", "amazondotcom", "bing", "ddg", "ebay", "twitter", "wikipedia"
++          "ddg", "google-b-d", "amazondotcom", "bing", "ebay", "twitter", "wikipedia"
+         ]
+       },
+       "KZ": {
+         "visibleDefaultEngines": [
+-          "amazondotcom", "bing", "google", "twitter", "wikipedia", "ddg", "yandex-en"
++          "ddg", "amazondotcom", "bing", "google", "twitter", "wikipedia", "yandex-en"
+         ],
+-        "searchDefault": "Yandex"
++        "searchDefault": "DuckDuckGo"
+       },
+       "BY": {
+         "visibleDefaultEngines": [
+-          "amazondotcom", "bing", "google", "twitter", "wikipedia", "ddg", "yandex-en"
++          "ddg", "amazondotcom", "bing", "google", "twitter", "wikipedia", "yandex-en"
+         ],
+-        "searchDefault": "Yandex"
++        "searchDefault": "DuckDuckGo"
+       },
+       "RU": {
+         "visibleDefaultEngines": [
+-          "amazondotcom", "bing", "google", "twitter", "wikipedia", "ddg", "yandex-en"
++          "ddg", "amazondotcom", "bing", "google", "twitter", "wikipedia", "yandex-en"
+         ],
+-        "searchDefault": "Yandex"
++        "searchDefault": "DuckDuckGo"
+       },
+       "TR": {
+         "visibleDefaultEngines": [
+-          "amazondotcom", "bing", "google", "twitter", "wikipedia", "ddg", "yandex-en"
++          "ddg", "amazondotcom", "bing", "google", "twitter", "wikipedia", "yandex-en"
+         ],
+-        "searchDefault": "Yandex"
++        "searchDefault": "DuckDuckGo"
+       },
+       "experimental-hidden": {
+         "visibleDefaultEngines": [
+@@ -90,131 +90,131 @@
+     "ach": {
+       "default": {
+         "visibleDefaultEngines": [
+-          "google-b-d", "bing", "amazondotcom", "ddg", "twitter", "wikipedia"
++          "ddg", "google-b-d", "bing", "amazondotcom", "twitter", "wikipedia"
+         ]
+       }
+     },
+     "af": {
+       "default": {
+         "visibleDefaultEngines": [
+-          "google-b-d", "bing", "amazondotcom", "ddg", "wikipedia-af"
++          "ddg", "google-b-d", "bing", "amazondotcom", "wikipedia-af"
+         ]
+       }
+     },
+     "an": {
+       "default": {
+         "visibleDefaultEngines": [
+-          "google-b-d", "bing", "ebay-es", "wikipedia-an", "ddg", "twitter"
++          "ddg", "google-b-d", "bing", "ebay-es", "wikipedia-an", "twitter"
+         ]
+       }
+     },
+     "ar": {
+       "default": {
+         "visibleDefaultEngines": [
+-          "google-b-d", "bing", "amazondotcom", "ddg", "wikipedia-ar"
++          "ddg", "google-b-d", "bing", "amazondotcom", "wikipedia-ar"
+         ]
+       }
+     },
+     "as": {
+       "default": {
+         "visibleDefaultEngines": [
+-          "google-b-d", "amazon-in", "ddg", "wikipedia-as"
++          "ddg", "google-b-d", "amazon-in", "wikipedia-as"
+         ]
+       }
+     },
+     "ast": {
+       "default": {
+         "visibleDefaultEngines": [
+-          "google-b-d", "bing", "ddg", "ebay-es", "wikipedia-ast"
++          "ddg", "google-b-d", "bing", "ebay-es", "wikipedia-ast"
+         ]
+       }
+     },
+     "az": {
+       "default": {
+         "visibleDefaultEngines": [
+-          "google-b-d", "amazondotcom", "azerdict", "bing", "ddg", "wikipedia-az", "yandex-az"
++          "ddg", "google-b-d", "amazondotcom", "azerdict", "bing", "wikipedia-az", "yandex-az"
+         ]
+       }
+     },
+     "be": {
+       "default": {
+         "visibleDefaultEngines": [
+-          "yandex-by", "google-b-d", "ddg", "wikipedia-be", "wikipedia-be-tarask"
++          "ddg", "yandex-by", "google-b-d", "wikipedia-be", "wikipedia-be-tarask"
+         ]
+       },
+       "BY": {
+-        "searchDefault": "Яндекс"
++        "searchDefault": "DuckDuckGo"
+       },
+       "KZ": {
+-        "searchDefault": "Яндекс"
++        "searchDefault": "DuckDuckGo"
+       },
+       "RU": {
+-        "searchDefault": "Яндекс"
++        "searchDefault": "DuckDuckGo"
+       },
+       "TR": {
+-        "searchDefault": "Яндекс"
++        "searchDefault": "DuckDuckGo"
+       }
+     },
+     "bg": {
+       "default": {
+         "visibleDefaultEngines": [
+-          "google-b-d", "amazondotcom", "ddg", "pazaruvaj", "wikipedia-bg"
++          "ddg", "google-b-d", "amazondotcom", "pazaruvaj", "wikipedia-bg"
+         ]
+       }
+     },
+     "bn": {
+       "default": {
+         "visibleDefaultEngines": [
+-          "google-b-d", "amazon-in", "bing", "ddg", "wikipedia-bn"
++          "ddg", "google-b-d", "amazon-in", "bing", "wikipedia-bn"
+         ]
+       }
+     },
+     "bn-BD": {
+       "default": {
+         "visibleDefaultEngines": [
+-          "google-b-d", "bing", "ddg", "wikipedia-bn"
++          "ddg", "google-b-d", "bing", "wikipedia-bn"
+         ]
+       }
+     },
+     "bn-IN": {
+       "default": {
+         "visibleDefaultEngines": [
+-          "google-b-d", "amazon-in", "bing", "ddg", "wikipedia-bn"
++          "ddg", "google-b-d", "amazon-in", "bing", "wikipedia-bn"
+         ]
+       }
+     },
+     "br": {
+       "default": {
+         "visibleDefaultEngines": [
+-          "google-b-d", "amazon-france", "ddg", "ebay-fr", "freelang", "wikipedia-br"
++          "ddg", "google-b-d", "amazon-france", "ebay-fr", "freelang", "wikipedia-br"
+         ]
+       }
+     },
+     "bs": {
+       "default": {
+         "visibleDefaultEngines": [
+-          "google-b-d", "ddg", "olx", "twitter", "wikipedia-bs"
++          "ddg", "google-b-d", "olx", "twitter", "wikipedia-bs"
+         ]
+       }
+     },
+     "ca": {
+       "default": {
+         "visibleDefaultEngines": [
+-          "google-b-d", "bing", "diec2", "ddg", "ebay-es", "twitter", "wikipedia-ca"
++          "ddg", "google-b-d", "bing", "diec2", "ebay-es", "twitter", "wikipedia-ca"
+         ]
+       }
+     },
+     "cak": {
+       "default": {
+         "visibleDefaultEngines": [
+-          "google-b-d", "bing", "amazondotcom", "ddg", "wikipedia-es"
++          "ddg", "google-b-d", "bing", "amazondotcom", "wikipedia-es"
+         ]
+       }
+     },
+     "crh": {
+       "default": {
+         "visibleDefaultEngines": [
+-          "google-b-d", "ddg", "twitter", "wikipedia-crh"
++          "ddg", "google-b-d", "twitter", "wikipedia-crh"
+         ]
+       }
+     },
+@@ -222,74 +222,74 @@
+       "default": {
+         "searchOrder": ["Google", "Seznam"],
+         "visibleDefaultEngines": [
+-          "google-b-d", "seznam-cz", "ddg", "heureka-cz", "mapy-cz", "wikipedia-cz"
++          "ddg", "google-b-d", "seznam-cz", "heureka-cz", "mapy-cz", "wikipedia-cz"
+         ]
+       }
+     },
+     "cy": {
+       "default": {
+         "visibleDefaultEngines": [
+-          "google-b-d", "amazon-en-GB", "ddg", "ebay-uk", "palasprint", "wikipedia-cy"
++          "ddg", "google-b-d", "amazon-en-GB", "ebay-uk", "palasprint", "wikipedia-cy"
+         ]
+       }
+     },
+     "da": {
+       "default": {
+         "visibleDefaultEngines": [
+-          "google-b-d", "bing", "amazon-en-GB", "ddg", "wikipedia-da"
++          "ddg", "google-b-d", "bing", "amazon-en-GB", "wikipedia-da"
+         ]
+       }
+     },
+     "de": {
+       "default": {
+         "visibleDefaultEngines": [
+-          "google-b-d", "amazon-de", "bing", "ddg", "ebay-de", "ecosia", "leo_ende_de", "wikipedia-de"
++          "ddg", "google-b-d", "amazon-de", "bing", "ebay-de", "ecosia", "leo_ende_de", "wikipedia-de"
+         ]
+       }
+     },
+     "dsb": {
+       "default": {
+         "visibleDefaultEngines": [
+-          "google-b-d", "bing", "amazon-de", "ddg", "ebay-de", "leo_ende_de", "wikipedia-dsb"
++          "ddg", "google-b-d", "bing", "amazon-de", "ebay-de", "leo_ende_de", "wikipedia-dsb"
+         ]
+       }
+     },
+     "el": {
+       "default": {
+         "visibleDefaultEngines": [
+-          "google-b-d", "amazon-en-GB", "bing", "ddg", "wikipedia-el"
++          "ddg", "google-b-d", "amazon-en-GB", "bing", "wikipedia-el"
+         ]
+       }
+     },
+     "en-CA": {
+       "default": {
+         "visibleDefaultEngines": [
+-          "google-b-d", "amazon-ca", "bing", "ddg", "ebay-ca", "twitter", "wikipedia"
++          "ddg", "google-b-d", "amazon-ca", "bing", "ebay-ca", "twitter", "wikipedia"
+         ]
+       },
+       "KZ": {
+         "visibleDefaultEngines": [
+-          "yandex-en", "google-b-d", "amazon-ca", "bing", "ddg", "ebay-ca", "twitter", "wikipedia"
++          "ddg", "yandex-en", "google-b-d", "amazon-ca", "bing", "ebay-ca", "twitter", "wikipedia"
+         ],
+-        "searchDefault": "Yandex"
++        "searchDefault": "DuckDuckGo"
+       },
+       "BY": {
+         "visibleDefaultEngines": [
+-          "yandex-en", "google-b-d", "amazon-ca", "bing", "ddg", "ebay-ca", "twitter", "wikipedia"
++          "ddg", "yandex-en", "google-b-d", "amazon-ca", "bing", "ebay-ca", "twitter", "wikipedia"
+         ],
+-        "searchDefault": "Yandex"
++        "searchDefault": "DuckDuckGo"
+       },
+       "RU": {
+         "visibleDefaultEngines": [
+-          "yandex-en", "google-b-d", "amazon-ca", "bing", "ddg", "ebay-ca", "twitter", "wikipedia"
++          "ddg", "yandex-en", "google-b-d", "amazon-ca", "bing", "ebay-ca", "twitter", "wikipedia"
+         ],
+-        "searchDefault": "Yandex"
++        "searchDefault": "DuckDuckGo"
+       },
+       "TR": {
+         "visibleDefaultEngines": [
+-          "yandex-en", "google-b-d", "amazon-ca", "bing", "ddg", "ebay-ca", "twitter", "wikipedia"
++          "ddg", "yandex-en", "google-b-d", "amazon-ca", "bing", "ebay-ca", "twitter", "wikipedia"
+         ],
+-        "searchDefault": "Yandex"
++        "searchDefault": "DuckDuckGo"
+       },
+       "experimental-hidden": {
+         "visibleDefaultEngines": [
+@@ -300,32 +300,32 @@
+     "en-GB": {
+       "default": {
+         "visibleDefaultEngines": [
+-          "google-b-d", "bing", "amazon-en-GB", "chambers-en-GB", "ddg", "ebay-uk", "twitter", "wikipedia"
++          "ddg", "google-b-d", "bing", "amazon-en-GB", "chambers-en-GB", "ebay-uk", "twitter", "wikipedia"
+         ]
+       },
+       "KZ": {
+         "visibleDefaultEngines": [
+-          "yandex-en", "google-b-d", "bing", "amazon-en-GB", "chambers-en-GB", "ddg", "ebay-uk", "twitter", "wikipedia"
++          "ddg", "yandex-en", "google-b-d", "bing", "amazon-en-GB", "chambers-en-GB", "ebay-uk", "twitter", "wikipedia"
+         ],
+-        "searchDefault": "Yandex"
++        "searchDefault": "DuckDuckGo"
+       },
+       "BY": {
+         "visibleDefaultEngines": [
+-          "yandex-en", "google-b-d", "bing", "amazon-en-GB", "chambers-en-GB", "ddg", "ebay-uk", "twitter", "wikipedia"
++          "ddg", "yandex-en", "google-b-d", "bing", "amazon-en-GB", "chambers-en-GB", "ebay-uk", "twitter", "wikipedia"
+         ],
+-        "searchDefault": "Yandex"
++        "searchDefault": "DuckDuckGo"
+       },
+       "RU": {
+         "visibleDefaultEngines": [
+-          "yandex-en", "google-b-d", "bing", "amazon-en-GB", "chambers-en-GB", "ddg", "ebay-uk", "twitter", "wikipedia"
++          "ddg", "yandex-en", "google-b-d", "bing", "amazon-en-GB", "chambers-en-GB", "ebay-uk", "twitter", "wikipedia"
+         ],
+-        "searchDefault": "Yandex"
++        "searchDefault": "DuckDuckGo"
+       },
+       "TR": {
+         "visibleDefaultEngines": [
+-          "yandex-en", "google-b-d", "bing", "amazon-en-GB", "chambers-en-GB", "ddg", "ebay-uk", "twitter", "wikipedia"
++          "ddg", "yandex-en", "google-b-d", "bing", "amazon-en-GB", "chambers-en-GB", "ebay-uk", "twitter", "wikipedia"
+         ],
+-        "searchDefault": "Yandex"
++        "searchDefault": "DuckDuckGo"
+       },
+       "experimental-hidden": {
+         "visibleDefaultEngines": [
+@@ -336,66 +336,66 @@
+     "en-ZA": {
+       "default": {
+         "visibleDefaultEngines": [
+-          "google-b-d", "bing", "amazondotcom", "ddg", "twitter", "wikipedia"
++          "ddg", "google-b-d", "bing", "amazondotcom", "twitter", "wikipedia"
+         ]
+       },
+       "KZ": {
+         "visibleDefaultEngines": [
+-          "yandex-en", "google-b-d", "bing", "amazondotcom", "ddg", "twitter", "wikipedia"
++          "ddg", "yandex-en", "google-b-d", "bing", "amazondotcom", "twitter", "wikipedia"
+         ],
+-        "searchDefault": "Yandex"
++        "searchDefault": "DuckDuckGo"
+       },
+       "BY": {
+         "visibleDefaultEngines": [
+-          "yandex-en", "google-b-d", "bing", "amazondotcom", "ddg", "twitter", "wikipedia"
++          "ddg", "yandex-en", "google-b-d", "bing", "amazondotcom", "twitter", "wikipedia"
+         ],
+-        "searchDefault": "Yandex"
++        "searchDefault": "DuckDuckGo"
+       },
+       "RU": {
+         "visibleDefaultEngines": [
+-          "yandex-en", "google-b-d", "bing", "amazondotcom", "ddg", "twitter", "wikipedia"
++          "ddg", "yandex-en", "google-b-d", "bing", "amazondotcom", "twitter", "wikipedia"
+         ],
+-        "searchDefault": "Yandex"
++        "searchDefault": "DuckDuckGo"
+       },
+       "TR": {
+         "visibleDefaultEngines": [
+-          "yandex-en", "google-b-d", "bing", "amazondotcom", "ddg", "twitter", "wikipedia"
++          "ddg", "yandex-en", "google-b-d", "bing", "amazondotcom", "twitter", "wikipedia"
+         ],
+-        "searchDefault": "Yandex"
++        "searchDefault": "DuckDuckGo"
+       }
+     },
+     "eo": {
+       "default": {
+         "visibleDefaultEngines": [
+-          "google-b-d", "bing", "amazondotcom", "ddg", "wikipedia-eo"
++          "ddg", "google-b-d", "bing", "amazondotcom", "wikipedia-eo"
+         ]
+       }
+     },
+     "es-AR": {
+       "default": {
+         "visibleDefaultEngines": [
+-          "google-b-d", "amazondotcom", "drae", "ddg", "mercadolibre-ar", "wikipedia-es"
++          "ddg", "google-b-d", "amazondotcom", "drae", "mercadolibre-ar", "wikipedia-es"
+         ]
+       }
+     },
+     "es-CL": {
+       "default": {
+         "visibleDefaultEngines": [
+-          "google-b-d", "bing", "drae", "ddg", "mercadolibre-cl", "wikipedia-es"
++          "ddg", "google-b-d", "bing", "drae", "mercadolibre-cl", "wikipedia-es"
+         ]
+       }
+     },
+     "es-ES": {
+       "default": {
+         "visibleDefaultEngines": [
+-          "google-b-d", "bing", "drae", "ddg", "ebay-es", "twitter", "wikipedia-es"
++          "ddg", "google-b-d", "bing", "drae", "ebay-es", "twitter", "wikipedia-es"
+         ]
+       }
+     },
+     "es-MX": {
+       "default": {
+         "visibleDefaultEngines": [
+-          "google-b-d", "bing", "ddg", "mercadolibre-mx", "wikipedia-es"
++          "ddg", "google-b-d", "bing", "mercadolibre-mx", "wikipedia-es"
+         ]
+       },
+       "experimental-hidden": {
+@@ -407,49 +407,49 @@
+     "et": {
+       "default": {
+         "visibleDefaultEngines": [
+-          "google-b-d", "neti-ee", "ddg", "osta-ee", "wikipedia-et", "eki-ee"
++          "ddg", "google-b-d", "neti-ee", "osta-ee", "wikipedia-et", "eki-ee"
+         ]
+       }
+     },
+     "eu": {
+       "default": {
+         "visibleDefaultEngines": [
+-          "google-b-d", "bing", "amazon-en-GB", "ddg", "ebay-es", "wikipedia-eu"
++          "ddg", "google-b-d", "bing", "amazon-en-GB", "ebay-es", "wikipedia-eu"
+         ]
+       }
+     },
+     "fa": {
+       "default": {
+         "visibleDefaultEngines": [
+-          "google-b-d", "amazondotcom", "bing", "ddg", "wikipedia-fa"
++          "ddg", "google-b-d", "amazondotcom", "bing", "wikipedia-fa"
+         ]
+       }
+     },
+     "ff": {
+       "default": {
+         "visibleDefaultEngines": [
+-          "google-b-d", "bing", "amazon-france", "ddg", "wikipedia-fr"
++          "ddg", "google-b-d", "bing", "amazon-france", "wikipedia-fr"
+         ]
+       }
+     },
+     "fi": {
+       "default": {
+         "visibleDefaultEngines": [
+-          "google-b-d", "bing", "ddg", "wikipedia-fi"
++          "ddg", "google-b-d", "bing", "wikipedia-fi"
+         ]
+       }
+     },
+     "fr": {
+       "default": {
+         "visibleDefaultEngines": [
+-          "google-b-d", "bing", "amazon-france", "ddg", "ebay-fr", "qwant", "wikipedia-fr"
++          "ddg", "google-b-d", "bing", "amazon-france", "ebay-fr", "qwant", "wikipedia-fr"
+         ]
+       }
+     },
+     "fy-NL": {
+       "default": {
+         "visibleDefaultEngines": [
+-          "google-b-d", "bing", "bolcom-fy-NL", "ddg", "ebay-nl", "marktplaats-fy-NL", "wikipedia-fy-NL"
++          "ddg", "google-b-d", "bing", "bolcom-fy-NL", "ebay-nl", "marktplaats-fy-NL", "wikipedia-fy-NL"
+         ]
+       },
+       "experimental-hidden": {
+@@ -461,105 +461,105 @@
+     "ga-IE": {
+       "default": {
+         "visibleDefaultEngines": [
+-          "google-b-d", "amazon-en-GB", "ddg", "ebay-ie", "tearma", "twitter", "wikipedia-ga-IE"
++          "ddg", "google-b-d", "amazon-en-GB", "ebay-ie", "tearma", "twitter", "wikipedia-ga-IE"
+         ]
+       }
+     },
+     "gd": {
+       "default": {
+         "visibleDefaultEngines": [
+-          "google-b-d", "amazon-en-GB", "bbc-alba", "ddg", "ebay-uk", "faclair-beag", "wikipedia-gd"
++          "ddg", "google-b-d", "amazon-en-GB", "bbc-alba", "ebay-uk", "faclair-beag", "wikipedia-gd"
+         ]
+       }
+     },
+     "gl": {
+       "default": {
+         "visibleDefaultEngines": [
+-          "google-b-d", "amazon-en-GB", "ddg", "ebay-es", "wikipedia-gl"
++          "ddg", "google-b-d", "amazon-en-GB", "ebay-es", "wikipedia-gl"
+         ]
+       }
+     },
+     "gn": {
+       "default": {
+         "visibleDefaultEngines": [
+-          "google-b-d", "bing", "amazondotcom", "ddg", "twitter", "wikipedia-gn"
++          "ddg", "google-b-d", "bing", "amazondotcom", "twitter", "wikipedia-gn"
+         ]
+       }
+     },
+     "gu-IN": {
+       "default": {
+         "visibleDefaultEngines": [
+-          "google-b-d", "bing", "amazon-in", "ddg", "wikipedia-gu"
++          "ddg", "google-b-d", "bing", "amazon-in", "wikipedia-gu"
+         ]
+       }
+     },
+     "he": {
+       "default": {
+         "visibleDefaultEngines": [
+-          "google-b-d", "ddg", "wikipedia-he", "morfix-dic"
++          "ddg", "google-b-d", "wikipedia-he", "morfix-dic"
+         ]
+       }
+     },
+     "hi-IN": {
+       "default": {
+         "visibleDefaultEngines": [
+-          "google-b-d", "bing", "ddg", "wikipedia-hi"
++          "ddg", "google-b-d", "bing", "wikipedia-hi"
+         ]
+       }
+     },
+     "hr": {
+       "default": {
+         "visibleDefaultEngines": [
+-          "google-b-d", "amazon-en-GB", "bing", "ddg", "eudict", "twitter", "wikipedia-hr"
++          "ddg", "google-b-d", "amazon-en-GB", "bing", "eudict", "twitter", "wikipedia-hr"
+         ]
+       }
+     },
+     "hsb": {
+       "default": {
+         "visibleDefaultEngines": [
+-          "google-b-d", "bing", "amazon-de", "ddg", "ebay-de", "leo_ende_de", "wikipedia-hsb"
++          "ddg", "google-b-d", "bing", "amazon-de", "ebay-de", "leo_ende_de", "wikipedia-hsb"
+         ]
+       }
+     },
+     "hu": {
+       "default": {
+         "visibleDefaultEngines": [
+-          "google-b-d", "ddg", "vatera", "wikipedia-hu"
++          "ddg", "google-b-d", "vatera", "wikipedia-hu"
+         ]
+       }
+     },
+     "hy-AM": {
+       "default": {
+         "visibleDefaultEngines": [
+-          "google-b-d", "amazondotcom", "ddg", "list-am", "wikipedia-hy"
++          "ddg", "google-b-d", "amazondotcom", "list-am", "wikipedia-hy"
+         ]
+       }
+     },
+     "ia": {
+       "default": {
+         "visibleDefaultEngines": [
+-          "google-b-d", "bing", "amazondotcom", "ddg", "twitter", "wikipedia-ia"
++          "ddg", "google-b-d", "bing", "amazondotcom", "twitter", "wikipedia-ia"
+         ]
+       }
+     },
+     "id": {
+       "default": {
+         "visibleDefaultEngines": [
+-          "google-b-d", "ddg", "wikipedia-id"
++          "ddg", "google-b-d", "wikipedia-id"
+         ]
+       }
+     },
+     "is": {
+       "default": {
+         "visibleDefaultEngines": [
+-          "google-b-d", "bing", "amazondotcom", "ddg", "wikipedia-is"
++          "ddg", "google-b-d", "bing", "amazondotcom", "wikipedia-is"
+         ]
+       }
+     },
+     "it": {
+       "default": {
+         "visibleDefaultEngines": [
+-          "google-b-d", "bing", "amazon-it", "ddg", "ebay-it", "wikipedia-it"
++          "ddg", "google-b-d", "bing", "amazon-it", "ebay-it", "wikipedia-it"
+         ]
+       }
+     },
+@@ -567,7 +567,7 @@
+       "default": {
+         "searchOrder": ["Google", "Yahoo! JAPAN", "Bing", "Amazon.co.jp", "楽天市場", "ヤフオク!", "教えて!goo", "Twitter", "Wikipedia (ja)"],
+         "visibleDefaultEngines": [
+-          "google-b-d", "yahoo-jp", "bing", "amazon-jp", "rakuten", "yahoo-jp-auctions", "oshiete-goo", "twitter-ja", "wikipedia-ja", "ddg"
++          "ddg", "google-b-d", "yahoo-jp", "bing", "amazon-jp", "rakuten", "yahoo-jp-auctions", "oshiete-goo", "twitter-ja", "wikipedia-ja"
+         ]
+       }
+     },
+@@ -575,159 +575,159 @@
+       "default": {
+         "searchOrder": ["Google", "Yahoo! JAPAN", "Bing", "Amazon.co.jp", "楽天市場", "ヤフオク!", "教えて!goo", "Twitter", "Wikipedia (ja)"],
+         "visibleDefaultEngines": [
+-          "google-b-d", "yahoo-jp", "bing", "amazon-jp", "rakuten", "yahoo-jp-auctions", "oshiete-goo", "twitter-ja", "wikipedia-ja", "ddg"
++            "ddg", "google-b-d", "yahoo-jp", "bing", "amazon-jp", "rakuten", "yahoo-jp-auctions", "oshiete-goo", "twitter-ja", "wikipedia-ja"
+         ]
+       }
+     },
+     "ka": {
+       "default": {
+         "visibleDefaultEngines": [
+-          "google-b-d", "bing", "amazondotcom", "ddg", "twitter", "wikipedia-ka"
++          "ddg", "google-b-d", "bing", "amazondotcom", "twitter", "wikipedia-ka"
+         ]
+       }
+     },
+     "kab": {
+       "default": {
+         "visibleDefaultEngines": [
+-          "google-b-d", "bing", "ddg", "wikipedia-kab"
++          "ddg", "google-b-d", "bing", "wikipedia-kab"
+         ]
+       }
+     },
+     "kk": {
+       "default": {
+         "visibleDefaultEngines": [
+-          "yandex-kk", "google-b-d", "ddg", "flip", "twitter", "wikipedia-kk"
++          "ddg", "yandex-kk", "google-b-d", "flip", "twitter", "wikipedia-kk"
+         ]
+       },
+       "KZ": {
+-        "searchDefault": "Яндекс"
++        "searchDefault": "DuckDuckGo"
+       },
+       "BY": {
+-        "searchDefault": "Яндекс"
++        "searchDefault": "DuckDuckGo"
+       },
+       "RU": {
+-        "searchDefault": "Яндекс"
++        "searchDefault": "DuckDuckGo"
+       },
+       "TR": {
+-        "searchDefault": "Яндекс"
++        "searchDefault": "DuckDuckGo"
+       }
+     },
+     "km": {
+       "default": {
+         "visibleDefaultEngines": [
+-          "google-b-d", "bing", "amazondotcom", "ddg", "twitter", "wikipedia-km"
++          "ddg", "google-b-d", "bing", "amazondotcom", "twitter", "wikipedia-km"
+         ]
+       }
+     },
+     "kn": {
+       "default": {
+         "visibleDefaultEngines": [
+-          "google-b-d", "bing", "amazon-in", "ddg", "kannadastore", "wikipedia-kn"
++          "ddg", "google-b-d", "bing", "amazon-in", "kannadastore", "wikipedia-kn"
+         ]
+       }
+     },
+     "ko": {
+       "default": {
+         "visibleDefaultEngines": [
+-          "google-b-d", "ddg", "naver-kr", "daum-kr", "wikipedia-kr"
++          "ddg", "google-b-d", "naver-kr", "daum-kr", "wikipedia-kr"
+         ]
+       }
+     },
+     "lij": {
+       "default": {
+         "visibleDefaultEngines": [
+-          "google-b-d", "bing", "amazon-it", "ddg", "ebay-it", "wikipedia-lij"
++          "ddg", "google-b-d", "bing", "amazon-it", "ebay-it", "wikipedia-lij"
+         ]
+       }
+     },
+     "lo": {
+       "default": {
+         "visibleDefaultEngines": [
+-          "google-b-d", "bing", "ddg", "wikipedia-lo", "twitter"
++          "ddg", "google-b-d", "bing", "wikipedia-lo", "twitter"
+         ]
+       }
+     },
+     "lt": {
+       "default": {
+         "visibleDefaultEngines": [
+-          "google-b-d", "wikipedia-lt", "bing", "amazondotcom", "ddg", "twitter"
++          "ddg", "google-b-d", "wikipedia-lt", "bing", "amazondotcom", "twitter"
+         ]
+       }
+     },
+     "ltg": {
+       "default": {
+         "visibleDefaultEngines": [
+-          "google-b-d", "ddg", "salidzinilv", "sslv", "wikipedia-ltg"
++          "ddg", "google-b-d", "salidzinilv", "sslv", "wikipedia-ltg"
+         ]
+       }
+     },
+     "lv": {
+       "default": {
+         "visibleDefaultEngines": [
+-          "google-b-d", "ddg", "salidzinilv", "sslv", "wikipedia-lv"
++          "ddg", "google-b-d", "salidzinilv", "sslv", "wikipedia-lv"
+         ]
+       }
+     },
+     "mai": {
+       "default": {
+         "visibleDefaultEngines": [
+-          "google-b-d", "bing", "amazon-in", "ddg", "twitter", "wikipedia-hi"
++          "ddg", "google-b-d", "bing", "amazon-in", "twitter", "wikipedia-hi"
+         ]
+       }
+     },
+     "mk": {
+       "default": {
+         "visibleDefaultEngines": [
+-          "google-b-d", "bing", "amazondotcom", "ddg", "wikipedia-mk"
++          "ddg", "google-b-d", "bing", "amazondotcom", "wikipedia-mk"
+         ]
+       }
+     },
+     "ml": {
+       "default": {
+         "visibleDefaultEngines": [
+-          "google-b-d", "bing", "amazon-in", "ddg", "wikipedia", "wikipedia-ml"
++          "ddg", "google-b-d", "bing", "amazon-in", "wikipedia", "wikipedia-ml"
+         ]
+       }
+     },
+     "mr": {
+       "default": {
+         "visibleDefaultEngines": [
+-          "google-b-d", "amazon-in", "ddg", "wikipedia-mr"
++          "ddg", "google-b-d", "amazon-in", "wikipedia-mr"
+         ]
+       }
+     },
+     "ms": {
+       "default": {
+         "visibleDefaultEngines": [
+-          "google-b-d", "bing", "amazondotcom", "ddg", "twitter", "wikipedia-ms"
++          "ddg", "google-b-d", "bing", "amazondotcom", "twitter", "wikipedia-ms"
+         ]
+       }
+     },
+     "my": {
+       "default": {
+         "visibleDefaultEngines": [
+-          "google-b-d", "bing", "amazondotcom", "ddg", "twitter", "wikipedia-my"
++          "ddg", "google-b-d", "bing", "amazondotcom", "twitter", "wikipedia-my"
+         ]
+       }
+     },
+     "nb-NO": {
+       "default": {
+         "visibleDefaultEngines": [
+-          "google-b-d", "amazon-en-GB", "bing", "ddg", "gulesider-NO", "bok-NO", "qxl-NO", "wikipedia-NO"
++          "ddg", "google-b-d", "amazon-en-GB", "bing", "gulesider-NO", "bok-NO", "qxl-NO", "wikipedia-NO"
+         ]
+       }
+     },
+     "ne-NP": {
+       "default": {
+         "visibleDefaultEngines": [
+-          "google-b-d", "bing", "ddg", "twitter", "wikipedia-ne"
++          "ddg", "google-b-d", "bing", "twitter", "wikipedia-ne"
+         ]
+       }
+     },
+     "nl": {
+       "default": {
+         "visibleDefaultEngines": [
+-          "google-b-d", "bing", "bolcom-nl", "ddg", "ebay-nl", "marktplaats-nl", "wikipedia-nl"
++          "ddg", "google-b-d", "bing", "bolcom-nl", "ebay-nl", "marktplaats-nl", "wikipedia-nl"
+         ]
+       },
+       "experimental-hidden": {
+@@ -739,244 +739,244 @@
+     "nn-NO": {
+       "default": {
+         "visibleDefaultEngines": [
+-          "google-b-d", "bing", "amazon-en-GB", "ddg", "gulesider-NO", "bok-NO", "qxl-NO", "wikipedia-NN"
++          "ddg", "google-b-d", "bing", "amazon-en-GB", "gulesider-NO", "bok-NO", "qxl-NO", "wikipedia-NN"
+         ]
+       }
+     },
+     "oc": {
+       "default": {
+         "visibleDefaultEngines": [
+-          "google-b-d", "bing", "ddg", "twitter", "wikipedia-oc", "wiktionary-oc"
++          "ddg", "google-b-d", "bing", "twitter", "wikipedia-oc", "wiktionary-oc"
+         ]
+       }
+     },
+     "or": {
+       "default": {
+         "visibleDefaultEngines": [
+-          "google-b-d", "bing", "amazon-in", "ddg", "wikipedia-or"
++          "ddg", "google-b-d", "bing", "amazon-in", "wikipedia-or"
+         ]
+       }
+     },
+     "pa-IN": {
+       "default": {
+         "visibleDefaultEngines": [
+-          "google-b-d", "bing", "amazon-in", "ddg", "wikipedia-pa"
++          "ddg", "google-b-d", "bing", "amazon-in", "wikipedia-pa"
+         ]
+       }
+     },
+     "pl": {
+       "default": {
+         "visibleDefaultEngines": [
+-          "google-b-d", "allegro-pl", "ddg", "pwn-pl", "wikipedia-pl", "wolnelektury-pl"
++          "ddg", "google-b-d", "allegro-pl", "pwn-pl", "wikipedia-pl", "wolnelektury-pl"
+         ]
+       }
+     },
+     "pt-BR": {
+       "default": {
+         "visibleDefaultEngines": [
+-          "google-b-d", "bing", "ddg", "mercadolivre", "twitter", "wikipedia-pt"
++          "ddg", "google-b-d", "bing", "mercadolivre", "twitter", "wikipedia-pt"
+         ]
+       }
+     },
+     "pt-PT": {
+       "default": {
+         "visibleDefaultEngines": [
+-          "google-b-d", "amazon-en-GB", "ddg", "priberam", "wikipedia-pt"
++          "ddg", "google-b-d", "amazon-en-GB", "priberam", "wikipedia-pt"
+         ]
+       }
+     },
+     "rm": {
+       "default": {
+         "visibleDefaultEngines": [
+-          "google-b-d", "bing", "ddg", "ebay-ch", "leo_ende_de", "wikipedia-rm"
++          "ddg", "google-b-d", "bing", "ebay-ch", "leo_ende_de", "wikipedia-rm"
+         ]
+       }
+     },
+     "ro": {
+       "default": {
+         "visibleDefaultEngines": [
+-          "google-b-d", "bing", "amazondotcom", "ddg", "wikipedia-ro"
++          "ddg", "google-b-d", "bing", "amazondotcom", "wikipedia-ro"
+         ]
+       }
+     },
+     "ru": {
+       "default": {
+         "visibleDefaultEngines": [
+-          "yandex-ru", "google-b-d", "ddg", "ozonru", "priceru", "wikipedia-ru", "mailru"
++          "ddg", "yandex-ru", "google-b-d", "ozonru", "priceru", "wikipedia-ru", "mailru"
+         ]
+       },
+       "RU": {
+-        "searchDefault": "Яндекс"
++        "searchDefault": "DuckDuckGo"
+       },
+       "BY": {
+-        "searchDefault": "Яндекс"
++        "searchDefault": "DuckDuckGo"
+       },
+       "KZ": {
+-        "searchDefault": "Яндекс"
++        "searchDefault": "DuckDuckGo"
+       },
+       "TR": {
+-        "searchDefault": "Яндекс"
++        "searchDefault": "DuckDuckGo"
+       }
+     },
+     "si": {
+       "default": {
+         "visibleDefaultEngines": [
+-          "google-b-d", "amazondotcom", "ddg", "wikipedia-si"
++          "ddg", "google-b-d", "amazondotcom", "wikipedia-si"
+         ]
+       }
+     },
+     "sk": {
+       "default": {
+         "visibleDefaultEngines": [
+-          "google-b-d", "azet-sk", "atlas-sk", "ddg", "wikipedia-sk", "zoznam-sk"
++          "ddg", "google-b-d", "azet-sk", "atlas-sk", "wikipedia-sk", "zoznam-sk"
+         ]
+       }
+     },
+     "sl": {
+       "default": {
+         "visibleDefaultEngines": [
+-          "google-b-d", "ceneji", "ddg", "najdi-si", "odpiralni", "twitter", "wikipedia-sl"
++          "ddg", "google-b-d", "ceneji", "najdi-si", "odpiralni", "twitter", "wikipedia-sl"
+         ]
+       }
+     },
+     "son": {
+       "default": {
+         "visibleDefaultEngines": [
+-          "google-b-d", "bing", "amazon-france", "ddg", "wikipedia-fr"
++          "ddg", "google-b-d", "bing", "amazon-france", "wikipedia-fr"
+         ]
+       }
+     },
+     "sq": {
+       "default": {
+         "visibleDefaultEngines": [
+-          "google-b-d", "bing", "amazon-en-GB", "ddg", "wikipedia-sq"
++          "ddg", "google-b-d", "bing", "amazon-en-GB", "wikipedia-sq"
+         ]
+       }
+     },
+     "sr": {
+       "default": {
+         "visibleDefaultEngines": [
+-          "google-b-d", "amazon-en-GB", "bing", "ddg", "wikipedia-sr", "pogodak"
++          "ddg", "google-b-d", "amazon-en-GB", "bing", "wikipedia-sr", "pogodak"
+         ]
+       }
+     },
+     "sv-SE": {
+       "default": {
+         "visibleDefaultEngines": [
+-          "google-b-d", "bing", "allaannonser-sv-SE", "ddg", "prisjakt-sv-SE", "tyda-sv-SE", "wikipedia-sv-SE"
++          "ddg", "google-b-d", "bing", "allaannonser-sv-SE", "prisjakt-sv-SE", "tyda-sv-SE", "wikipedia-sv-SE"
+         ]
+       }
+     },
+     "ta": {
+       "default": {
+         "visibleDefaultEngines": [
+-          "google-b-d", "amazon-in", "ddg", "wikipedia-ta"
++          "ddg", "google-b-d", "amazon-in", "wikipedia-ta"
+         ]
+       }
+     },
+     "te": {
+       "default": {
+         "visibleDefaultEngines": [
+-          "google-b-d", "amazon-in", "ddg", "wikipedia-te", "wiktionary-te"
++          "ddg", "google-b-d", "amazon-in", "wikipedia-te", "wiktionary-te"
+         ]
+       }
+     },
+     "th": {
+       "default": {
+         "visibleDefaultEngines": [
+-          "google-b-d", "amazondotcom", "bing", "ddg", "longdo", "wikipedia-th"
++          "ddg", "google-b-d", "amazondotcom", "bing", "longdo", "wikipedia-th"
+         ]
+       }
+     },
+     "tl": {
+       "default": {
+         "visibleDefaultEngines": [
+-          "google-b-d", "bing", "amazondotcom", "ddg", "twitter", "wikipedia-tl"
++          "ddg", "google-b-d", "bing", "amazondotcom", "twitter", "wikipedia-tl"
+         ]
+       }
+     },
+     "tr": {
+       "default": {
+         "visibleDefaultEngines": [
+-          "yandex-tr", "google-b-d", "ddg", "twitter", "wikipedia-tr"
++          "ddg", "yandex-tr", "google-b-d", "twitter", "wikipedia-tr"
+         ]
+       },
+       "TR": {
+-        "searchDefault": "Yandex"
++        "searchDefault": "DuckDuckGo"
+       },
+       "BY": {
+-        "searchDefault": "Yandex"
++        "searchDefault": "DuckDuckGo"
+       },
+       "KZ": {
+-        "searchDefault": "Yandex"
++        "searchDefault": "DuckDuckGo"
+       },
+       "RU": {
+-        "searchDefault": "Yandex"
++        "searchDefault": "DuckDuckGo"
+       }
+     },
+     "trs": {
+       "default": {
+         "visibleDefaultEngines": [
+-          "google-b-d", "bing", "amazondotcom", "ddg", "wikipedia-es"
++          "ddg", "google-b-d", "bing", "amazondotcom", "wikipedia-es"
+         ]
+       }
+     },
+     "uk": {
+       "default": {
+         "visibleDefaultEngines": [
+-          "google-b-d", "bing", "ddg", "wikipedia-uk", "hotline-ua"
++          "ddg", "google-b-d", "bing", "wikipedia-uk", "hotline-ua"
+         ]
+       }
+     },
+     "ur": {
+       "default": {
+         "visibleDefaultEngines": [
+-          "google-b-d", "bing", "amazon-in", "ddg", "twitter", "wikipedia-ur"
++          "ddg", "google-b-d", "bing", "amazon-in", "twitter", "wikipedia-ur"
+         ]
+       }
+     },
+     "uz": {
+       "default": {
+         "visibleDefaultEngines": [
+-          "google-b-d", "bing", "amazondotcom", "ddg", "twitter", "wikipedia-uz"
++          "ddg", "google-b-d", "bing", "amazondotcom", "twitter", "wikipedia-uz"
+         ]
+       }
+     },
+     "vi": {
+       "default": {
+         "visibleDefaultEngines": [
+-          "google-b-d", "coccoc", "ddg", "wikipedia-vi"
++          "ddg", "google-b-d", "coccoc", "wikipedia-vi"
+         ]
+       }
+     },
+     "wo": {
+       "default": {
+         "visibleDefaultEngines": [
+-          "google-b-d", "bing", "amazon-france", "ddg", "ebay-fr", "twitter", "wikipedia-wo"
++          "ddg", "google-b-d", "bing", "amazon-france", "ebay-fr", "twitter", "wikipedia-wo"
+         ]
+       }
+     },
+     "xh": {
+       "default": {
+         "visibleDefaultEngines": [
+-          "google-b-d", "bing", "ddg", "wikipedia"
++          "ddg", "google-b-d", "bing", "wikipedia"
+         ]
+       }
+     },
+     "zh-CN": {
+       "default": {
+         "visibleDefaultEngines": [
+-          "baidu", "google-b-d", "bing", "ddg", "wikipedia-zh-CN", "amazondotcn"
++          "ddg", "baidu", "google-b-d", "bing", "wikipedia-zh-CN", "amazondotcn"
+         ]
+       },
+       "CN": {
+-        "searchDefault": "百度"
++        "searchDefault": "DuckDuckGo"
+       }
+     },
+     "zh-TW": {
+       "default": {
+         "visibleDefaultEngines": [
+-          "google-b-d", "ddg", "readmoo", "wikipedia-zh-TW"
++          "ddg", "google-b-d", "readmoo", "wikipedia-zh-TW"
+         ]
+       }
+     }
diff --git a/gnu/packages/patches/icecat-disable-sync.patch b/gnu/packages/patches/icecat-disable-sync.patch
new file mode 100644
index 00000000000..6d4459ee319
--- /dev/null
+++ b/gnu/packages/patches/icecat-disable-sync.patch
@@ -0,0 +1,9 @@
+--- a/browser/app/profile/icecat.js.orig	1980-01-01 18:59:51.000000000 -0500
++++ b/browser/app/profile/icecat.js	2019-10-25 06:24:03.065989309 -0400
+@@ -2275,3 +2275,6 @@
+ pref("general.buildID.override", "Gecko/20100101");
+ pref("general.oscpu.override", "Windows NT 6.1");
+ pref("general.platform.override", "Win32");
++
++// Disable Firefox Accounts and Sign in to Sync.
++pref("identity.fxaccounts.enabled", false);
diff --git a/gnu/packages/patches/icecat-makeicecat.patch b/gnu/packages/patches/icecat-makeicecat.patch
index 7d4f774c836..f0b36d7d524 100644
--- a/gnu/packages/patches/icecat-makeicecat.patch
+++ b/gnu/packages/patches/icecat-makeicecat.patch
@@ -3,16 +3,16 @@ in a snippet without network access.  After this patch is applied, some
 additional changes will be made using 'substitute*'.
 
 diff --git a/makeicecat b/makeicecat
-index 5a4390b..fcfa143 100644
+index b04c731..06d1f3f 100644
 --- a/makeicecat
 +++ b/makeicecat
-@@ -29,55 +29,55 @@ SOURCEDIR=icecat-$FFVERSION
+@@ -30,55 +30,55 @@ SOURCEDIR=icecat-$FFVERSION
  
  DATA="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"/data
  
--mkdir output
+-mkdir -p output
 -cd output
-+# mkdir output
++# mkdir -p output
 +# cd output
  
  ###############################################################################
@@ -23,9 +23,9 @@ index 5a4390b..fcfa143 100644
 -
 -wget -N https://ftp.mozilla.org/pub/mozilla.org/firefox/releases/${FFVERSION}esr/source/firefox-${FFVERSION}esr.source.tar.xz
 -wget -N https://ftp.mozilla.org/pub/mozilla.org/firefox/releases/${FFVERSION}esr/source/firefox-${FFVERSION}esr.source.tar.xz.asc
--gpg --recv-keys --keyserver keyserver.ubuntu.com 24C6F355
+-gpg --recv-keys --keyserver keyserver.ubuntu.com 14F26682D0916CDD81E37B6D61B7B526D98F0353
 -gpg --verify firefox-${FFVERSION}esr.source.tar.xz.asc
--echo -n 0a5f0c1d8d1e9443d85083d37fec32e5cc15c1001ea992d49745490065b4a023 firefox-${FFVERSION}esr.source.tar.xz |sha256sum -c -
+-echo -n f56f5fa5a4744be0b9acf259cb991254d708a50b9a0a12d1d846ffa5a6c409ac firefox-${FFVERSION}esr.source.tar.xz |sha256sum -c -
 -
 -echo Extracting Firefox tarball
 -tar -xf firefox-${FFVERSION}esr.source.tar.xz
@@ -35,9 +35,9 @@ index 5a4390b..fcfa143 100644
 +# 
 +# wget -N https://ftp.mozilla.org/pub/mozilla.org/firefox/releases/${FFVERSION}esr/source/firefox-${FFVERSION}esr.source.tar.xz
 +# wget -N https://ftp.mozilla.org/pub/mozilla.org/firefox/releases/${FFVERSION}esr/source/firefox-${FFVERSION}esr.source.tar.xz.asc
-+# gpg --recv-keys --keyserver keyserver.ubuntu.com 24C6F355
++# gpg --recv-keys --keyserver keyserver.ubuntu.com 14F26682D0916CDD81E37B6D61B7B526D98F0353
 +# gpg --verify firefox-${FFVERSION}esr.source.tar.xz.asc
-+# echo -n 0a5f0c1d8d1e9443d85083d37fec32e5cc15c1001ea992d49745490065b4a023 firefox-${FFVERSION}esr.source.tar.xz |sha256sum -c -
++# echo -n f56f5fa5a4744be0b9acf259cb991254d708a50b9a0a12d1d846ffa5a6c409ac firefox-${FFVERSION}esr.source.tar.xz |sha256sum -c -
 +# 
 +# echo Extracting Firefox tarball
 +# tar -xf firefox-${FFVERSION}esr.source.tar.xz
@@ -98,7 +98,22 @@ index 5a4390b..fcfa143 100644
  
  #for patch in $DATA/patches/*; do
  #    echo Patching with file: $patch
-@@ -590,6 +590,6 @@ sed 's/777/755/;' -i toolkit/crashreporter/google-breakpad/Makefile.in
+@@ -226,10 +226,10 @@ cp $DATA/bookmarks.html.in browser/locales/generic/profile/bookmarks.html.in
+ 
+ find -wholename '*/brand.dtd' |xargs /bin/sed 's/trademarkInfo.part1.*/trademarkInfo.part1 "">/' -i
+ 
+-for STRING in rights.intro-point3-unbranded rights.intro-point4a-unbranded rights.intro-point4b-unbranded rights.intro-point4c-unbranded
+-do
+- find -name aboutRights.dtd | xargs sed -i "s/ENTITY $STRING.*/ENTITY $STRING \"\">/"
+-done
++# for STRING in rights.intro-point3-unbranded rights.intro-point4a-unbranded rights.intro-point4b-unbranded rights.intro-point4c-unbranded
++# do
++#  find -name aboutRights.dtd | xargs sed -i "s/ENTITY $STRING.*/ENTITY $STRING \"\">/"
++# done
+ 
+ for STRING in rights-intro-point-2 rights-intro-point-3 rights-intro-point-4 rights-intro-point-5 rights-intro-point-6 rights-webservices rights-safebrowsing
+ do
+@@ -595,6 +595,6 @@ sed 's/777/755/;' -i toolkit/crashreporter/google-breakpad/Makefile.in
  # Fix CVE-2012-3386
  /bin/sed 's/chmod a+w/chmod u+w/' -i ./js/src/ctypes/libffi/Makefile.in ./toolkit/crashreporter/google-breakpad/Makefile.in ./toolkit/crashreporter/google-breakpad/src/third_party/glog/Makefile.in || true
  

From ce1178d5d30f4525f636e8679cf514001c36291b Mon Sep 17 00:00:00 2001
From: Tobias Geerinckx-Rice 
Date: Sat, 26 Oct 2019 21:54:02 +0200
Subject: [PATCH 0429/1112] gnu: libressl: Don't use NAME in source URI.

* gnu/packages/tls.scm (libressl)[source]: Hard-code NAME.
---
 gnu/packages/tls.scm | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm
index 73bd0ded23c..5358058a058 100644
--- a/gnu/packages/tls.scm
+++ b/gnu/packages/tls.scm
@@ -502,7 +502,7 @@ required structures.")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://openbsd/LibreSSL/"
-                                  name "-" version ".tar.gz"))
+                                  "libressl-" version ".tar.gz"))
               (sha256
                (base32
                 "19kxa5i97q7p6rrps9qm0nd8zqhdjvzx02j72400c73cl2nryfhy"))))

From 996aca2852b97570988eb6d7371f15fcedd16e46 Mon Sep 17 00:00:00 2001
From: Tobias Geerinckx-Rice 
Date: Sat, 26 Oct 2019 22:36:54 +0200
Subject: [PATCH 0430/1112] gnu: opensmtpd-next: Update to 6.6.0p1.

* gnu/packages/mail.scm (opensmtpd-next): Update to 6.6.0p1.
[inputs]: Replace openssl with libressl.
---
 gnu/packages/mail.scm | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
index 9e8b778c73f..2c6192ca019 100644
--- a/gnu/packages/mail.scm
+++ b/gnu/packages/mail.scm
@@ -2269,20 +2269,22 @@ e-mails with other systems speaking the SMTP protocol.")
 (define-public opensmtpd-next
   (package
     (name "opensmtpd-next")
-    (version "6.4.2p1")
+    (version "6.6.0p1")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "https://www.opensmtpd.org/archives/"
                            "opensmtpd-" version ".tar.gz"))
        (sha256
-        (base32 "0pgv080ai7d98l9340jadp9wjiaqj2qvgpqhilcz0kps2mdiawbd"))))
+        (base32 "1sgwbvc28h9nyyj4lv8d9b4ilzz03p2j1j763yr759k336a2193m"))))
     (build-system gnu-build-system)
     (inputs
      `(("bdb" ,bdb)
        ("libasr" ,libasr)
        ("libevent" ,libevent)
-       ("libressl" ,libressl)
+       ;; XXX Upstream recommends LibreSSL, which doesn't support TLS 1.3 yet,
+       ;; and requires a development release (3.0.2).  Use OpenSSL instead.
+       ("openssl" ,openssl)
        ("linux-pam" ,linux-pam)
        ("zlib" ,zlib)))
     (native-inputs

From 8ac8b3b3601560c4a455543435276a8cdf61b54e Mon Sep 17 00:00:00 2001
From: Tobias Geerinckx-Rice 
Date: Sun, 27 Oct 2019 00:43:12 +0200
Subject: [PATCH 0431/1112] gnu: lollypop: Wrap with required path variables.
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Fixes .

* gnu/packages/gnome.scm (lollypop)[arguments]: Rename ‘wrap’ phase to
‘wrap-python’ and add ‘wrap-glib-or-gtk’ phase.
[inputs]: Add gsettings-desktop-schemas.
---
 gnu/packages/gnome.scm | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 8bb891bfb3a..12993eadeff 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -7809,8 +7809,10 @@ views can be printed as PDF or PostScript files, or exported to HTML.")
                (wrap-program (string-append out "/bin/lollypop")
                  `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
              #t))
-         (add-after 'install 'wrap
-           (@@ (guix build python-build-system) wrap)))))
+         (add-after 'install 'wrap-python
+           (@@ (guix build python-build-system) wrap))
+         (add-after 'install 'wrap-glib-or-gtk
+           (@@ (guix build glib-or-gtk-build-system) wrap-all-programs)))))
     (native-inputs
      `(("intltool" ,intltool)
        ("itstool" ,itstool)
@@ -7819,6 +7821,7 @@ views can be printed as PDF or PostScript files, or exported to HTML.")
        ("pkg-config" ,pkg-config)))
     (inputs
      `(("gobject-introspection" ,gobject-introspection)
+       ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
        ("gst-plugins-base" ,gst-plugins-base)
        ("libnotify" ,libnotify)
        ("libsecret" ,libsecret)

From 84527928d2e1641d67863f236d65afeb365d0b10 Mon Sep 17 00:00:00 2001
From: Tobias Geerinckx-Rice 
Date: Sat, 26 Oct 2019 22:49:59 +0200
Subject: [PATCH 0432/1112] gnu: wireguard: Update to 0.0.20191012.

* gnu/packages/vpn.scm (wireguard): Update to 0.0.20191012.
---
 gnu/packages/vpn.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/vpn.scm b/gnu/packages/vpn.scm
index 67980f76c38..9d7c63d046f 100644
--- a/gnu/packages/vpn.scm
+++ b/gnu/packages/vpn.scm
@@ -452,14 +452,14 @@ The peer-to-peer VPN implements a Layer 2 (Ethernet) network between the peers
 (define-public wireguard
   (package
     (name "wireguard")
-    (version "0.0.20190913")
+    (version "0.0.20191012")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://git.zx2c4.com/WireGuard/snapshot/"
                                   "WireGuard-" version ".tar.xz"))
               (sha256
                (base32
-                "06452jfibwar4sh7wf2k2k1a5qk5q703gxqqq5ymj6rdblc2fwwr"))))
+                "13psxk61d60sas0ksfk0gakrv8wc8anjj5zb67g2zhn1r69k2mwk"))))
     (build-system gnu-build-system)
     (outputs '("out" ; The WireGuard userspace tools
                "kernel-patch")) ; A patch to build Linux with WireGuard support

From 2be89a36bef62270cc18e7ff2f1773564d34e61b Mon Sep 17 00:00:00 2001
From: Tobias Geerinckx-Rice 
Date: Sat, 26 Oct 2019 23:09:57 +0200
Subject: [PATCH 0433/1112] gnu: libssh: Update to 0.9.1.

* gnu/packages/ssh.scm (libssh): Update to 0.9.1.
---
 gnu/packages/ssh.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/ssh.scm b/gnu/packages/ssh.scm
index 00e768d727e..f626e0e5f6d 100644
--- a/gnu/packages/ssh.scm
+++ b/gnu/packages/ssh.scm
@@ -70,7 +70,7 @@
 (define-public libssh
   (package
     (name "libssh")
-    (version "0.9.0")
+    (version "0.9.1")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -78,7 +78,7 @@
                      (commit (string-append "libssh-" version))))
               (sha256
                (base32
-                "0hxws8vl56cbjwchmj0x78ywv2b8spv6h90sgma1vj1y9dybgs7s"))
+                "1gn8ssb1j8p41w6zy6iagbafgvcgn36ci9yyhhq83sragfjsvxaz"))
               (file-name (git-file-name name version))))
     (build-system cmake-build-system)
     (outputs '("out" "debug"))

From 229818064a154a38dff1c0a9a6bc3ba66a2d4925 Mon Sep 17 00:00:00 2001
From: Tobias Geerinckx-Rice 
Date: Sat, 26 Oct 2019 23:06:53 +0200
Subject: [PATCH 0434/1112] gnu: po4a: Update to 0.57.

* gnu/packages/gettext.scm (po4a): Update to 0.57.
---
 gnu/packages/gettext.scm | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/gettext.scm b/gnu/packages/gettext.scm
index 245fdc9ec04..202acf25d44 100644
--- a/gnu/packages/gettext.scm
+++ b/gnu/packages/gettext.scm
@@ -7,7 +7,7 @@
 ;;; Copyright © 2017, 2019 Marius Bakke 
 ;;; Copyright © 2017 Mathieu Othacehe 
 ;;; Copyright © 2017 Eric Bavier 
-;;; Copyright © 2018 Tobias Geerinckx-Rice 
+;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice 
 ;;; Copyright © 2019 Miguel 
 ;;;
 ;;; This file is part of GNU Guix.
@@ -179,14 +179,14 @@ color, font attributes (weight, posture), or underlining.")
 (define-public po4a
   (package
     (name "po4a")
-    (version "0.56")
+    (version "0.57")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://github.com/mquinson/po4a/releases/download/v"
                                   version "/po4a-" version ".tar.gz"))
               (sha256
                (base32
-                "0kyhww0yw4q0m4vj8vil2wsf6sn4hidh8mqz2gjrq7gpdf83cmnr"))))
+                "15yd27krlpdvjhcnwys6i5k1ww62ifq2yx8k1zxyxiwy84myqmdv"))))
     (build-system perl-build-system)
     (arguments
      `(#:phases

From 534716362773b9e2f3b9174ab418f07e2ef13e3f Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus 
Date: Sun, 27 Oct 2019 07:01:00 +0100
Subject: [PATCH 0435/1112] gnu: Add libu2f-server.

* gnu/packages/security-token.scm (libu2f-server): New variable.
---
 gnu/packages/security-token.scm | 46 ++++++++++++++++++++++++++++++++-
 1 file changed, 45 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/security-token.scm b/gnu/packages/security-token.scm
index 90892a57e84..fb84a764ab9 100644
--- a/gnu/packages/security-token.scm
+++ b/gnu/packages/security-token.scm
@@ -5,7 +5,7 @@
 ;;; Copyright © 2016 Marius Bakke 
 ;;; Copyright © 2017 Thomas Danckaert 
 ;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice 
-;;; Copyright © 2017 Ricardo Wurmus 
+;;; Copyright © 2017, 2019 Ricardo Wurmus 
 ;;; Copyright © 2018, 2019 Chris Marusich 
 ;;; Copyright © 2018 Arun Isaac 
 ;;;
@@ -35,6 +35,7 @@
   #:use-module (guix build-system glib-or-gtk)
   #:use-module (guix build-system python)
   #:use-module (gnu packages autotools)
+  #:use-module (gnu packages base)
   #:use-module (gnu packages curl)
   #:use-module (gnu packages check)
   #:use-module (gnu packages docbook)
@@ -455,6 +456,49 @@ operations.")
     ;; Most files are LGPLv2.1+, but some files are GPLv3+.
     (license (list license:lgpl2.1+ license:gpl3+))))
 
+(define-public libu2f-server
+  (package
+    (name "libu2f-server")
+    (version "1.1.0")
+    (source (origin
+              (method git-fetch)
+              (uri
+               (git-reference
+                (url "https://github.com/Yubico/libu2f-server.git")
+                (commit (string-append "libu2f-server-" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1nmsfq372zza5y6j13ydincjf324bwfcjg950vykh166xkp6wiic"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:configure-flags
+       (list "--enable-gtk-doc"
+             "--enable-tests")))
+    (inputs
+     `(("json-c" ,json-c)
+       ("libressl" ,libressl)))
+    (native-inputs
+     `(("autoconf" ,autoconf)
+       ("automake" ,automake)
+       ("libtool" ,libtool)
+       ("check" ,check)
+       ("gengetopt" ,gengetopt)
+       ("help2man" ,help2man)
+       ("pkg-config" ,pkg-config)
+       ("gtk-doc" ,gtk-doc)
+       ("which" ,which)))
+    (home-page "https://developers.yubico.com/libu2f-server/")
+    ;; TRANSLATORS: The U2F protocol has a "server side" and a "host side".
+    (synopsis "U2F server-side C library")
+    (description
+     "This is a C library that implements the server-side of the
+@dfn{Universal 2nd Factor} (U2F) protocol.  More precisely, it provides an API
+for generating the JSON blobs required by U2F devices to perform the U2F
+Registration and U2F Authentication operations, and functionality for
+verifying the cryptographic operations.")
+    (license license:bsd-2)))
+
 (define-public python-fido2
   (package
     (name "python-fido2")

From 6f921bfdaa91fee55bd65d38d6c6b975e8261f80 Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus 
Date: Sun, 27 Oct 2019 07:59:35 +0100
Subject: [PATCH 0436/1112] gnu: Add r-deriv.

* gnu/packages/cran.scm (r-deriv): New variable.
---
 gnu/packages/cran.scm | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm
index 70b468dc848..8f00e8dfb88 100644
--- a/gnu/packages/cran.scm
+++ b/gnu/packages/cran.scm
@@ -6526,6 +6526,28 @@ comparisons to Cohen's d are offered based on Huberty & Lowman's Percentage of
 Group (Non-)Overlap considerations.")
     (license license:gpl2)))
 
+(define-public r-deriv
+  (package
+    (name "r-deriv")
+    (version "3.9.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (cran-uri "Deriv" version))
+       (sha256
+        (base32
+         "0hlqm216bg3l79gq6m0am0xz6vd3l2hgjnjm6lym3mkmgkka4kxw"))))
+    (properties `((upstream-name . "Deriv")))
+    (build-system r-build-system)
+    (home-page "https://cran.r-project.org/web/packages/Deriv")
+    (synopsis "Symbolic differentiation")
+    (description
+     "This package provides an R-based solution for symbolic differentiation.
+It admits user-defined functions as well as function substitution in arguments
+of functions to be differentiated.  Some symbolic simplification is part of
+the work.")
+    (license license:gpl3+)))
+
 (define-public r-doby
   (package
     (name "r-doby")

From 373759eaee9d40857c942ac5c6cad16ef3504f1f Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus 
Date: Sun, 27 Oct 2019 07:59:52 +0100
Subject: [PATCH 0437/1112] gnu: Add r-sets.

* gnu/packages/cran.scm (r-sets): New variable.
---
 gnu/packages/cran.scm | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm
index 8f00e8dfb88..bdf14360690 100644
--- a/gnu/packages/cran.scm
+++ b/gnu/packages/cran.scm
@@ -12550,6 +12550,27 @@ The bedr package's API enhances access to these tools as well as offers
 additional utilities for genomic regions processing.")
     (license license:gpl2)))
 
+(define-public r-sets
+  (package
+    (name "r-sets")
+    (version "1.0-18")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (cran-uri "sets" version))
+       (sha256
+        (base32
+         "16v7650p47khqrbbw0z98llmwmmhswqmhri0n7nrfhdqwmby1lbl"))))
+    (properties `((upstream-name . "sets")))
+    (build-system r-build-system)
+    (home-page "https://cran.r-project.org/web/packages/sets")
+    (synopsis "Sets, generalized sets, customizable sets and intervals")
+    (description
+     "This package provides data structures and basic operations for ordinary
+sets, generalizations such as fuzzy sets, multisets, and fuzzy multisets,
+customizable sets, and intervals.")
+    (license license:gpl2)))
+
 (define-public r-partitions
   (package
     (name "r-partitions")

From 571f07afa5bc1c10f75c2510e2d06fe1a9846e86 Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus 
Date: Sun, 27 Oct 2019 08:00:00 +0100
Subject: [PATCH 0438/1112] gnu: r-ddalpha: Update to 1.3.10.

* gnu/packages/cran.scm (r-ddalpha): Update to 1.3.10.
---
 gnu/packages/cran.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm
index bdf14360690..416167275b8 100644
--- a/gnu/packages/cran.scm
+++ b/gnu/packages/cran.scm
@@ -2785,14 +2785,14 @@ Delaunay triangulation and convex hull computation.")
 (define-public r-ddalpha
   (package
     (name "r-ddalpha")
-    (version "1.3.9")
+    (version "1.3.10")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "ddalpha" version))
        (sha256
         (base32
-         "1vzs0cvl6xw3h9i00rg3hs02xwgxcnh8326y10kxmhs3qq4m7nb2"))))
+         "1064g7y8d7kmvd5kjc2m48yvidmh2ci1y0xgil3pcx4ix6mf0ljz"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-bh" ,r-bh)

From 7195db02493e6803339963a826292619d5a334ba Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus 
Date: Sun, 27 Oct 2019 08:00:06 +0100
Subject: [PATCH 0439/1112] gnu: r-jomo: Update to 2.6-10.

* gnu/packages/cran.scm (r-jomo): Update to 2.6-10.
---
 gnu/packages/cran.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm
index 416167275b8..45cdc36beb8 100644
--- a/gnu/packages/cran.scm
+++ b/gnu/packages/cran.scm
@@ -3162,14 +3162,14 @@ Laplace approximation and adaptive Gauss-Hermite quadrature.")
 (define-public r-jomo
   (package
     (name "r-jomo")
-    (version "2.6-9")
+    (version "2.6-10")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "jomo" version))
        (sha256
         (base32
-         "16ychdhhv8cii8zrdfdf5gzgnvmfaq573bmi00xqdf323q3lf3xr"))))
+         "1k9l4290g350zbw1pjs871q9bxj3j2h1dilxpp06v4wy4n7d8qs0"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-lme4" ,r-lme4)

From dcbeae6058cd29987c00e7b1919f31891c4444c5 Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus 
Date: Sun, 27 Oct 2019 08:00:13 +0100
Subject: [PATCH 0440/1112] gnu: r-doby: Update to 4.6-3.

* gnu/packages/cran.scm (r-doby): Update to 4.6-3.
[propagated-inputs]: Add r-broom, r-deriv, r-pbkrtest, and r-tibble.
---
 gnu/packages/cran.scm | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm
index 45cdc36beb8..cb22709390e 100644
--- a/gnu/packages/cran.scm
+++ b/gnu/packages/cran.scm
@@ -6551,22 +6551,26 @@ the work.")
 (define-public r-doby
   (package
     (name "r-doby")
-    (version "4.6-2")
+    (version "4.6-3")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "doBy" version))
        (sha256
         (base32
-         "02vbv9nfgywg6lsiialkmfnax5z3rkyb9nr8j9l2cp8xi6ml95mb"))))
+         "1d0d6pwai1g4i5jls0jm9va29ci5hy92n5957608f3fzi1jwy635"))))
     (properties `((upstream-name . "doBy")))
     (build-system r-build-system)
     (propagated-inputs
-     `(("r-dplyr" ,r-dplyr)
+     `(("r-broom" ,r-broom)
+       ("r-deriv" ,r-deriv)
+       ("r-dplyr" ,r-dplyr)
        ("r-magrittr" ,r-magrittr)
        ("r-mass" ,r-mass)
        ("r-matrix" ,r-matrix)
-       ("r-plyr" ,r-plyr)))
+       ("r-plyr" ,r-plyr)
+       ("r-pbkrtest" ,r-pbkrtest)
+       ("r-tibble" ,r-tibble)))
     (home-page "http://people.math.aau.dk/~sorenh/software/doBy/")
     (synopsis "Groupwise statistics, LSmeans, linear contrasts, and utilities")
     (description

From 186a868ac986b728367f7532399abfa9a654a7be Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus 
Date: Sun, 27 Oct 2019 08:00:38 +0100
Subject: [PATCH 0441/1112] gnu: r-slam: Update to 0.1-46.

* gnu/packages/cran.scm (r-slam): Update to 0.1-46.
---
 gnu/packages/cran.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm
index cb22709390e..1d52d8dcb18 100644
--- a/gnu/packages/cran.scm
+++ b/gnu/packages/cran.scm
@@ -6742,13 +6742,13 @@ the analyzed items.")
 (define-public r-slam
   (package
     (name "r-slam")
-    (version "0.1-45")
+    (version "0.1-46")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "slam" version))
        (sha256
-        (base32 "0xvj8va6xd7zkn3l4a5ad7v62s7xmkz8frq7gpcl3b6vqwckkaw4"))))
+        (base32 "1ihhbx76miwys35gsbhijriadvrw4f51lc3v45pnn6cvcfd9hr0b"))))
     (build-system r-build-system)
     (home-page "https://cran.r-project.org/web/packages/slam/")
     (synopsis "Sparse lightweight arrays and matrices")

From 3ca2ddd0dfd2eb24758aaf72396a1a79359df59c Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus 
Date: Sun, 27 Oct 2019 08:32:43 +0100
Subject: [PATCH 0442/1112] gnu: r-emmeans: Update to 1.4.2.

* gnu/packages/cran.scm (r-emmeans): Update to 1.4.2.
---
 gnu/packages/cran.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm
index 1d52d8dcb18..24ce6c40bdf 100644
--- a/gnu/packages/cran.scm
+++ b/gnu/packages/cran.scm
@@ -7989,14 +7989,14 @@ Hothorn, Westfall, 2010, CRC Press).")
 (define-public r-emmeans
   (package
     (name "r-emmeans")
-    (version "1.4.1")
+    (version "1.4.2")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "emmeans" version))
        (sha256
         (base32
-         "1fpawaxnmj67md169a9mzrnnh2d0c973xydfg6hw865933jil9lq"))))
+         "1sxwbh6sym2shrj7gva8q96ca2csqz3081q4d84avpxz15dfz1z1"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-estimability" ,r-estimability)

From 18376defadbc87d96f4a3c22c451943816f72f58 Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus 
Date: Sun, 27 Oct 2019 08:32:58 +0100
Subject: [PATCH 0443/1112] gnu: r-bayestestr: Update to 0.4.0.

* gnu/packages/cran.scm (r-bayestestr): Update to 0.4.0.
---
 gnu/packages/cran.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm
index 24ce6c40bdf..85cb12ba7df 100644
--- a/gnu/packages/cran.scm
+++ b/gnu/packages/cran.scm
@@ -8222,14 +8222,14 @@ differentiation.")
 (define-public r-bayestestr
   (package
     (name "r-bayestestr")
-    (version "0.3.0")
+    (version "0.4.0")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "bayestestR" version))
        (sha256
         (base32
-         "0r453zb106hj9w53jjgckxqajjf7shlrgv10gjxsv8if6qybdz5b"))))
+         "1d3f50rzjzgzclwd6j887dssyhv7hdq7pik9nnlr3w775v3f69zc"))))
     (properties `((upstream-name . "bayestestR")))
     (build-system r-build-system)
     (propagated-inputs

From c60ed4d6e694ebad48e8cbb4dfc1a7460d90b4d0 Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus 
Date: Sun, 27 Oct 2019 08:33:03 +0100
Subject: [PATCH 0444/1112] gnu: r-performance: Update to 0.4.0.

* gnu/packages/cran.scm (r-performance): Update to 0.4.0.
---
 gnu/packages/cran.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm
index 85cb12ba7df..23906c80ac4 100644
--- a/gnu/packages/cran.scm
+++ b/gnu/packages/cran.scm
@@ -8247,14 +8247,14 @@ ROPE percentage and pd).")
 (define-public r-performance
   (package
     (name "r-performance")
-    (version "0.3.0")
+    (version "0.4.0")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "performance" version))
        (sha256
         (base32
-         "13j74ffhx950kacs86ixx84nviq9qlwzr7hjnhkmzw2hspjxq99w"))))
+         "0lxpmp9smn5r3xvfik36nr608wcpmmximjh0v2sckyvjf7hnb4s0"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-bayestestr" ,r-bayestestr)

From 883f76b8da8773572144ca5dc4fbe7e81c2be2c5 Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus 
Date: Sun, 27 Oct 2019 08:33:09 +0100
Subject: [PATCH 0445/1112] gnu: r-ncdf4: Update to 1.17.

* gnu/packages/cran.scm (r-ncdf4): Update to 1.17.
---
 gnu/packages/cran.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm
index 23906c80ac4..e45cf5ad582 100644
--- a/gnu/packages/cran.scm
+++ b/gnu/packages/cran.scm
@@ -8993,14 +8993,14 @@ other values.")
 (define-public r-ncdf4
   (package
     (name "r-ncdf4")
-    (version "1.16.1")
+    (version "1.17")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "ncdf4" version))
        (sha256
         (base32
-         "083sb24anyd4sw0il3x07pqn9rbx5y5ayqass6mz8x443rnjvphd"))))
+         "1xls44ln2zjrrlimxl8v4bk2ni3g45c9j0gxdnjx31rikmrc95fv"))))
     (build-system r-build-system)
     (inputs
      `(("netcdf" ,netcdf)

From b5d275104b96a76f4a631ed75d7cad2ff7cd3ce5 Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus 
Date: Sun, 27 Oct 2019 08:33:14 +0100
Subject: [PATCH 0446/1112] gnu: r-biocmanager: Update to 1.30.9.

* gnu/packages/cran.scm (r-biocmanager): Update to 1.30.9.
---
 gnu/packages/cran.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm
index e45cf5ad582..f9e753d3257 100644
--- a/gnu/packages/cran.scm
+++ b/gnu/packages/cran.scm
@@ -9020,14 +9020,14 @@ netCDF files.")
 (define-public r-biocmanager
   (package
     (name "r-biocmanager")
-    (version "1.30.8")
+    (version "1.30.9")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "BiocManager" version))
        (sha256
         (base32
-         "0pqgb7j4aqpcp3bapl313rmyxxj3j96s9csip4f65444gjy5r2x2"))))
+         "1l9b2mr99nhpvk1wkd93397i0d6z4vvbq3zm8dk86gb1pfci26sx"))))
     (properties `((upstream-name . "BiocManager")))
     (build-system r-build-system)
     (home-page "https://cran.r-project.org/web/packages/BiocManager/")

From 7a932a403970070721a536baf9c8664f5ef52897 Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus 
Date: Sun, 27 Oct 2019 08:33:20 +0100
Subject: [PATCH 0447/1112] gnu: r-spam: Update to 2.3-0.1.

* gnu/packages/cran.scm (r-spam): Update to 2.3-0.1.
---
 gnu/packages/cran.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm
index f9e753d3257..1d602933393 100644
--- a/gnu/packages/cran.scm
+++ b/gnu/packages/cran.scm
@@ -10878,14 +10878,14 @@ This makes it a convenient and fast interface to C/C++ and Fortran code.")
 (define-public r-spam
   (package
     (name "r-spam")
-    (version "2.3-0")
+    (version "2.3-0.1")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "spam" version))
        (sha256
         (base32
-         "194n5mgvyms9ckjqixl3h33apii8h9kqspqg2si9k741k578qb3w"))))
+         "0mas2ra7d5f9ccwxwsvxls3dz53prpf59hi2a0rvc347wbm6540b"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-dotcall64" ,r-dotcall64)))

From 288c9f2be2e1a8f93b2cf207bb6df99b6999cc3e Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus 
Date: Sun, 27 Oct 2019 08:33:25 +0100
Subject: [PATCH 0448/1112] gnu: r-compositions: Update to 1.40-3.

* gnu/packages/cran.scm (r-compositions): Update to 1.40-3.
[propagated-inputs]: Remove r-energy.
---
 gnu/packages/cran.scm | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm
index 1d602933393..da31c760423 100644
--- a/gnu/packages/cran.scm
+++ b/gnu/packages/cran.scm
@@ -11734,18 +11734,17 @@ users of rARPACK are advised to switch to the RSpectra package.")
 (define-public r-compositions
   (package
     (name "r-compositions")
-    (version "1.40-2")
+    (version "1.40-3")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "compositions" version))
        (sha256
         (base32
-         "12mp05yi7jkdqg9iwh6bc9sx6sdxagcnrirznxy9hq8502p7238i"))))
+         "103hbmibrf1n333pn4xpll1gqqsv4szms0n5gdq7zak31aar0bg4"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-bayesm" ,r-bayesm)
-       ("r-energy" ,r-energy)
        ("r-robustbase" ,r-robustbase)
        ("r-tensora" ,r-tensora)))
     (home-page "http://www.stat.boogaart.de/compositions")

From 30aac69f528b482fb7f6844769bbe057afe7cf7b Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus 
Date: Sun, 27 Oct 2019 08:33:41 +0100
Subject: [PATCH 0449/1112] gnu: r-partitions: Update to 1.9-22.

* gnu/packages/cran.scm (r-partitions): Update to 1.9-22.
[propagated-inputs]: Add r-sets.
---
 gnu/packages/cran.scm | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm
index da31c760423..a7ba1fba8f7 100644
--- a/gnu/packages/cran.scm
+++ b/gnu/packages/cran.scm
@@ -12577,18 +12577,19 @@ customizable sets, and intervals.")
 (define-public r-partitions
   (package
     (name "r-partitions")
-    (version "1.9-19")
+    (version "1.9-22")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "partitions" version))
        (sha256
         (base32
-         "1pklfnjdc094c8nzkqcdvqzdh8v3p5n8jbg4pf9678iw648saiyx"))))
+         "1qqy4df28wy4q0g572azrj171jlhvrnzbh7x0wr2g7v6gr20y0ns"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-gmp" ,r-gmp)
-       ("r-polynom" ,r-polynom)))
+       ("r-polynom" ,r-polynom)
+       ("r-sets" ,r-sets)))
     (home-page "https://cran.r-project.org/web/packages/partitions")
     (synopsis "Additive partitions of integers")
     (description

From 04eb73ee32430b45c5f336bfb08fdc251c9daceb Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus 
Date: Sun, 27 Oct 2019 08:33:53 +0100
Subject: [PATCH 0450/1112] gnu: r-ggvis: Update to 0.4.5.

* gnu/packages/cran.scm (r-ggvis): Update to 0.4.5.
---
 gnu/packages/cran.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm
index a7ba1fba8f7..e45280fd0ec 100644
--- a/gnu/packages/cran.scm
+++ b/gnu/packages/cran.scm
@@ -14112,14 +14112,14 @@ discriminant analysis for the purpose of classifying high dimensional data.")
 (define-public r-ggvis
   (package
     (name "r-ggvis")
-    (version "0.4.4")
+    (version "0.4.5")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "ggvis" version))
        (sha256
         (base32
-         "1bxggjr2313kfy895j0fvrv4bg7yh2z87907lk48i1kn5c9flchk"))))
+         "091i9f17912j8qcyxppjgwzjnyqj7769ixs9d2gjg6f2clskqdw2"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-assertthat" ,r-assertthat)

From 0eed4fde4562601f5f4460c22bdb3381b7747726 Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus 
Date: Sun, 27 Oct 2019 08:34:14 +0100
Subject: [PATCH 0451/1112] gnu: r-dalex: Update to 0.4.9.

* gnu/packages/cran.scm (r-dalex): Update to 0.4.9.
---
 gnu/packages/cran.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm
index e45280fd0ec..b16b96dc774 100644
--- a/gnu/packages/cran.scm
+++ b/gnu/packages/cran.scm
@@ -14792,14 +14792,14 @@ engine (Salmon et al., 2011) as provided by the package @code{sitmo}.")
 (define-public r-dalex
   (package
     (name "r-dalex")
-    (version "0.4.7")
+    (version "0.4.9")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "DALEX" version))
        (sha256
         (base32
-         "0iiwkf0pfdb90lf1xhv43qd32z3cjmkmf0ly9841n5lldkjazy3h"))))
+         "1zviaf7530v8w996lbma0vplabrapgwldi7h70pr0439sxaqd421"))))
     (properties `((upstream-name . "DALEX")))
     (build-system r-build-system)
     (propagated-inputs `(("r-ggplot2" ,r-ggplot2)))

From 9538014aa9c63f9cc4ea086b0243e0813f119e1c Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus 
Date: Sun, 27 Oct 2019 08:34:29 +0100
Subject: [PATCH 0452/1112] gnu: r-jpeg: Update to 0.1-8.1.

* gnu/packages/image.scm (r-jpeg): Update to 0.1-8.1.
---
 gnu/packages/image.scm | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm
index 84d9d2e7b20..c9f9933f200 100644
--- a/gnu/packages/image.scm
+++ b/gnu/packages/image.scm
@@ -3,7 +3,7 @@
 ;;; Copyright © 2013, 2015, 2016 Andreas Enge 
 ;;; Copyright © 2014, 2015, 2016 Mark H Weaver 
 ;;; Copyright © 2014, 2015 Alex Kost 
-;;; Copyright © 2014, 2016, 2017, 2018 Ricardo Wurmus 
+;;; Copyright © 2014, 2016, 2017, 2018, 2019 Ricardo Wurmus 
 ;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer 
 ;;; Copyright © 2015 Amirouche Boubekki 
 ;;; Copyright © 2014, 2017 John Darrington 
@@ -1672,14 +1672,14 @@ Features:
 (define-public r-jpeg
   (package
    (name "r-jpeg")
-   (version "0.1-8")
+   (version "0.1-8.1")
    (source
      (origin
        (method url-fetch)
        (uri (cran-uri "jpeg" version))
        (sha256
         (base32
-         "05hawv5qcb82ljc1l2nchx1wah8mq2k2kfkhpzyww554ngzbwcnh"))))
+         "1a8mi70x79a691r40yiw684jkg1mr9n8agkxlcksxcnrdybs9c0x"))))
    (build-system r-build-system)
    (inputs `(("libjpeg" ,libjpeg)))
    (home-page "http://www.rforge.net/jpeg/")

From b8731d03a7caf8a2594eca90cbb509cc860994ee Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus 
Date: Sun, 27 Oct 2019 08:34:36 +0100
Subject: [PATCH 0453/1112] gnu: r-mgcv: Update to 1.8-30.

* gnu/packages/statistics.scm (r-mgcv): Update to 1.8-30.
---
 gnu/packages/statistics.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm
index 66bb2755d2c..a803993f3b1 100644
--- a/gnu/packages/statistics.scm
+++ b/gnu/packages/statistics.scm
@@ -612,14 +612,14 @@ nonlinear mixed-effects models.")
 (define-public r-mgcv
   (package
    (name "r-mgcv")
-   (version "1.8-29")
+   (version "1.8-30")
    (source
     (origin
      (method url-fetch)
      (uri (cran-uri "mgcv" version))
      (sha256
       (base32
-       "1236gz25nap1aprbvcrqvmmnl6f8cvbjy8dcl4j968cpalqax5ww"))))
+       "0x9jr0a4r8v6jb0r4m3m1sk606s2x3lmg5ndz5bz0xxvqpzf593q"))))
    (build-system r-build-system)
    (propagated-inputs
     `(("r-matrix" ,r-matrix)

From bdce983a25b45f9d1bfbadefb3fae870eb8974e3 Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus 
Date: Sun, 27 Oct 2019 08:34:41 +0100
Subject: [PATCH 0454/1112] gnu: r-digest: Update to 0.6.22.

* gnu/packages/statistics.scm (r-digest): Update to 0.6.22.
---
 gnu/packages/statistics.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm
index a803993f3b1..09b4e01ca5b 100644
--- a/gnu/packages/statistics.scm
+++ b/gnu/packages/statistics.scm
@@ -805,13 +805,13 @@ effects of different types of color-blindness.")
 (define-public r-digest
   (package
     (name "r-digest")
-    (version "0.6.21")
+    (version "0.6.22")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "digest" version))
        (sha256
-        (base32 "0qycqchmv59fb6jp369d82mcx9xgbv70m18qzam0vrs8zkmajb17"))))
+        (base32 "1qav52y1qmkg9j2g48mrl6bbjwhs0fs9dl55xb62lfkrihkappqh"))))
     (build-system r-build-system)
     ;; Vignettes require r-knitr, which requires r-digest, so we have to
     ;; disable them and the tests.

From 9b46efc56a2a323717438f6c079d3bbeca7fe04e Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus 
Date: Sun, 27 Oct 2019 08:34:46 +0100
Subject: [PATCH 0455/1112] gnu: r-rlang: Update to 0.4.1.

* gnu/packages/statistics.scm (r-rlang): Update to 0.4.1.
---
 gnu/packages/statistics.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm
index 09b4e01ca5b..2d73a15d1fa 100644
--- a/gnu/packages/statistics.scm
+++ b/gnu/packages/statistics.scm
@@ -1656,13 +1656,13 @@ defined in different packages.")
 (define-public r-rlang
   (package
     (name "r-rlang")
-    (version "0.4.0")
+    (version "0.4.1")
     (source (origin
               (method url-fetch)
               (uri (cran-uri "rlang" version))
               (sha256
                (base32
-                "038mmbmklw17ncgz53vrdx2506c1jj6di3y165bbx2sl2yia8j4p"))))
+                "122hhc7pdri8wkjmk37y71m4h1gmdzaqcfdizfdjg1bhy935i10k"))))
     (build-system r-build-system)
     (home-page "http://rlang.tidyverse.org")
     (synopsis "Functions for base types, core R and Tidyverse features")

From 871c5d61ce94bc9ab4aca74cf0c3cb869de2e4e7 Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus 
Date: Sun, 27 Oct 2019 08:34:53 +0100
Subject: [PATCH 0456/1112] gnu: r-car: Update to 3.0-4.

* gnu/packages/statistics.scm (r-car): Update to 3.0-4.
---
 gnu/packages/statistics.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm
index 2d73a15d1fa..4618c29c7c8 100644
--- a/gnu/packages/statistics.scm
+++ b/gnu/packages/statistics.scm
@@ -5288,14 +5288,14 @@ Companion to Applied Regression, Third Edition, Sage.")
 (define-public r-car
   (package
     (name "r-car")
-    (version "3.0-3")
+    (version "3.0-4")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "car" version))
        (sha256
         (base32
-         "0vy3g3bjljd2al8xb9qr45f98is7yppc9jilqn7b6zvf5yqpr07s"))))
+         "1mhfxrb62yanaz36f4n38p9hhnqbs5b19k0864w4ja1ccgh3nl3f"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-abind" ,r-abind)

From 24adcbab0ad903c59793dbe141950fff5058b8a2 Mon Sep 17 00:00:00 2001
From: Efraim Flashner 
Date: Sun, 27 Oct 2019 10:04:28 +0200
Subject: [PATCH 0457/1112] gnu: keepassxc: Update to 2.5.0.

* gnu/packages/password-utils.scm (keepassxc): Update to 2.5.0.
[arguments]: Enable all extra features, except for update checking.
[inputs]: Add libyubikey, quazip, readline, yubikey-personalization.
Remove curl.
[license]: Update comment.
---
 gnu/packages/password-utils.scm | 18 +++++++++++-------
 1 file changed, 11 insertions(+), 7 deletions(-)

diff --git a/gnu/packages/password-utils.scm b/gnu/packages/password-utils.scm
index efca02ff68f..207e501520d 100644
--- a/gnu/packages/password-utils.scm
+++ b/gnu/packages/password-utils.scm
@@ -75,6 +75,8 @@
   #:use-module (gnu packages python)
   #:use-module (gnu packages python-web)
   #:use-module (gnu packages python-xyz)
+  #:use-module (gnu packages readline)
+  #:use-module (gnu packages security-token)
   #:use-module (gnu packages suckless)
   #:use-module (gnu packages tcl)
   #:use-module (gnu packages tls)
@@ -109,7 +111,7 @@ human.")
 (define-public keepassxc
   (package
     (name "keepassxc")
-    (version "2.4.3")
+    (version "2.5.0")
     (source
      (origin
        (method url-fetch)
@@ -118,24 +120,25 @@ human.")
                            version "-src.tar.xz"))
        (sha256
         (base32
-         "0d17izx6qvcsxsxlsmaa17rgn38fvxsp5yzqqf4pc11i44cm5jfp"))))
+         "10bq2934xqpjpr99wbjg2vwmi73fcq0419cb3v78n2kj5fbwwnb3"))))
     (build-system cmake-build-system)
     (arguments
-     '(#:configure-flags '("-DWITH_XC_NETWORKING=YES"
-                           "-DWITH_XC_BROWSER=YES"
-                           "-DWITH_XC_SSHAGENT=YES"
+     '(#:configure-flags '("-DWITH_XC_ALL=YES"
                            "-DWITH_XC_UPDATECHECK=NO")))
     (inputs
      `(("argon2" ,argon2)
-       ("curl" ,curl)                   ; XC_NETWORKING
        ("libgcrypt" ,libgcrypt)
        ("libsodium" ,libsodium)         ; XC_BROWSER
+       ("libyubikey" ,libyubikey)       ; XC_YUBIKEY
        ("libxi" ,libxi)
        ("libxtst" ,libxtst)
        ("qrencode" ,qrencode)
        ("qtbase" ,qtbase)
        ("qtsvg" ,qtsvg)
        ("qtx11extras" ,qtx11extras)
+       ("quazip" ,quazip)               ; XC_KEESHARE
+       ("readline" ,readline)
+       ("yubikey-personalization" ,yubikey-personalization) ; XC_YUBIKEY
        ("zlib" ,zlib)))
     (native-inputs
      `(("qttools" ,qttools)))
@@ -146,7 +149,8 @@ manage your passwords in a secure way.  You can put all your passwords in one
 database, which is locked with one master key or a key-file which can be stored
 on an external storage device.  The databases are encrypted using the
 algorithms AES or Twofish.")
-    ;; Non-functional parts use various licences.
+    ;; While various parts of the software are licensed under different licenses,
+    ;; the combined work falls under the GPLv3.
     (license license:gpl3)))
 
 (define-public keepassx

From 5fd4d02666ba6ff356a150da2a1bf74a3f2e5d1a Mon Sep 17 00:00:00 2001
From: Marius Bakke 
Date: Sun, 27 Oct 2019 10:10:23 +0100
Subject: [PATCH 0458/1112] gnu: dav1d: Update to 0.5.1.

* gnu/packages/patches/dav1d-aarch64-symbol-alignment.patch: Delete file.
* gnu/local.mk (dist_patch_DATA): Adjust accordingly.
* gnu/packages/video.scm (dav1d): Update to 0.5.1.
[source](patches): Remove.
---
 gnu/local.mk                                  |  1 -
 .../dav1d-aarch64-symbol-alignment.patch      | 25 -------------------
 gnu/packages/video.scm                        |  5 ++--
 3 files changed, 2 insertions(+), 29 deletions(-)
 delete mode 100644 gnu/packages/patches/dav1d-aarch64-symbol-alignment.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index 8befd568d64..ad5464cb86d 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -769,7 +769,6 @@ dist_patch_DATA =						\
   %D%/packages/patches/cursynth-wave-rand.patch			\
   %D%/packages/patches/cvs-CVE-2017-12836.patch		\
   %D%/packages/patches/darkice-workaround-fpermissive-error.patch	\
-  %D%/packages/patches/dav1d-aarch64-symbol-alignment.patch	\
   %D%/packages/patches/dbus-helper-search-path.patch		\
   %D%/packages/patches/dbus-c++-gcc-compat.patch		\
   %D%/packages/patches/dbus-c++-threading-mutex.patch		\
diff --git a/gnu/packages/patches/dav1d-aarch64-symbol-alignment.patch b/gnu/packages/patches/dav1d-aarch64-symbol-alignment.patch
deleted file mode 100644
index a47adf9b05f..00000000000
--- a/gnu/packages/patches/dav1d-aarch64-symbol-alignment.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-Ensure local debug symbols are aligned on AArch64.
-
-Taken from upstream:
-https://code.videolan.org/videolan/dav1d/commit/a6228f47f0eebcdfebb1753a786e3e1654b51ea4
-
-diff --git a/src/arm/64/ipred.S b/src/arm/64/ipred.S
-index 41b3c1c..9513212 100644
---- a/src/arm/64/ipred.S
-+++ b/src/arm/64/ipred.S
-@@ -2244,6 +2244,7 @@ L(ipred_cfl_ac_420_tbl):
-         .hword L(ipred_cfl_ac_420_tbl) - L(ipred_cfl_ac_420_w16)
-         .hword L(ipred_cfl_ac_420_tbl) - L(ipred_cfl_ac_420_w8)
-         .hword L(ipred_cfl_ac_420_tbl) - L(ipred_cfl_ac_420_w4)
-+        .hword 0
- 
- L(ipred_cfl_ac_420_w16_tbl):
-         .hword L(ipred_cfl_ac_420_w16_tbl) - L(ipred_cfl_ac_420_w16_wpad0)
-@@ -2432,6 +2433,7 @@ L(ipred_cfl_ac_422_tbl):
-         .hword L(ipred_cfl_ac_422_tbl) - L(ipred_cfl_ac_422_w16)
-         .hword L(ipred_cfl_ac_422_tbl) - L(ipred_cfl_ac_422_w8)
-         .hword L(ipred_cfl_ac_422_tbl) - L(ipred_cfl_ac_422_w4)
-+        .hword 0
- 
- L(ipred_cfl_ac_422_w16_tbl):
-         .hword L(ipred_cfl_ac_422_w16_tbl) - L(ipred_cfl_ac_422_w16_wpad0)
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index f29f0901379..0d9c21b46c5 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -3544,16 +3544,15 @@ transitions, and effects and then export your film to many common formats.")
 (define-public dav1d
   (package
     (name "dav1d")
-    (version "0.5.0")
+    (version "0.5.1")
     (source
       (origin
         (method url-fetch)
         (uri (string-append "https://downloads.videolan.org/pub/videolan"
                             "/dav1d/" version "/dav1d-" version ".tar.xz"))
-        (patches (search-patches "dav1d-aarch64-symbol-alignment.patch"))
         (sha256
          (base32
-          "1586k439fm8db9lsxxywm34iqibj5mw4xrppr4g2wqr0hjlhcbxn"))))
+          "03cf6f9if45prq97qp7llzi1p71dyw9ymc87hc225iy89kmzjsdd"))))
     (build-system meson-build-system)
     (native-inputs `(("nasm" ,nasm)))
     (home-page "https://code.videolan.org/videolan/dav1d")

From 2a19c0deb1da3a9afa8960367a5b84321386ceae Mon Sep 17 00:00:00 2001
From: Marius Bakke 
Date: Sun, 27 Oct 2019 10:10:48 +0100
Subject: [PATCH 0459/1112] gnu: nginx: Update to 1.17.5.

* gnu/packages/web.scm (nginx): Update to 1.17.5.
---
 gnu/packages/web.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
index 3697b9eec10..8748fe06810 100644
--- a/gnu/packages/web.scm
+++ b/gnu/packages/web.scm
@@ -212,14 +212,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.4")
+    (version "1.17.5")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://nginx.org/download/nginx-"
                                   version ".tar.gz"))
               (sha256
                (base32
-                "0mg521bxh8pysmy20x599m252ici9w97kk7qy7s0wrv6bqv4p1b2"))))
+                "1hqhziic4csci8xs4q8vbzpmj2qjkhmmx68zza7h5bvmbbhkbvk3"))))
     (build-system gnu-build-system)
     (inputs `(("openssl" ,openssl)
               ("pcre" ,pcre)

From b901a56615deebfb8fffe5b13286abc6da91dee2 Mon Sep 17 00:00:00 2001
From: Leo Prikler 
Date: Fri, 25 Oct 2019 11:17:26 +0200
Subject: [PATCH 0460/1112] gnu: meld: Fix startup.

* /gnu/packages/patchutils.scm: (meld)[inputs]: Replace gtksourceview with
gtksourceview-3.
[arguments]<#:phases>[wrap-typelib]: New phase.

Signed-off-by: Danny Milosavljevic 
---
 gnu/packages/patchutils.scm | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/patchutils.scm b/gnu/packages/patchutils.scm
index a63d889cffe..4cd6bbbf486 100644
--- a/gnu/packages/patchutils.scm
+++ b/gnu/packages/patchutils.scm
@@ -265,7 +265,7 @@ GiB).")
     (inputs
      `(("python-cairo" ,python-pycairo)
        ("python-gobject" ,python-pygobject)
-       ("gtksourceview" ,gtksourceview)))
+       ("gtksourceview" ,gtksourceview-3)))
     (propagated-inputs
      `(("dconf" ,dconf)))
     (arguments
@@ -292,7 +292,14 @@ GiB).")
              (setenv "HOME" "/tmp")
              (invoke "py.test" "-v" "-k"
                      ;; TODO: Those tests fail, why?
-                     "not test_classify_change_actions"))))))
+                     "not test_classify_change_actions")))
+         (add-after 'wrap 'wrap-typelib
+           (lambda* (#:key inputs outputs #:allow-other-keys)
+             (let ((out (assoc-ref outputs "out")))
+               (wrap-program (string-append out "/bin/meld")
+                 `("GI_TYPELIB_PATH" prefix
+                   ,(search-path-as-string->list (getenv "GI_TYPELIB_PATH"))))
+               #t))))))
     (home-page "https://meldmerge.org/")
     (synopsis "Compare files, directories and working copies")
     (description "Meld is a visual diff and merge tool targeted at

From d50f2b7a09ea15564e5672db3d1fede6465c4b0b Mon Sep 17 00:00:00 2001
From: Guillaume Le Vaillant 
Date: Fri, 25 Oct 2019 16:01:02 +0200
Subject: [PATCH 0461/1112] gnu: gramps: Update to 5.1.1.

* gnu/packages/genealogy.scm (gramps): Update to 5.1.1.
[inputs]: Add cairo.

Signed-off-by: Efraim Flashner 
---
 gnu/packages/genealogy.scm | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/genealogy.scm b/gnu/packages/genealogy.scm
index ec9d99400f2..bb3ed3d0aa2 100644
--- a/gnu/packages/genealogy.scm
+++ b/gnu/packages/genealogy.scm
@@ -38,7 +38,7 @@
 (define-public gramps
   (package
     (name "gramps")
-    (version "5.0.2")
+    (version "5.1.1")
     (source
      (origin
        (method git-fetch)
@@ -48,13 +48,14 @@
        (file-name (git-file-name name version))
        (sha256
         (base32
-         "0wg743q8ixy5dmwricgkl4zck4109vq5ppmkyi18qjmna9m0aq7r"))))
+         "1zrvr543zzsiapda75vdd2669fgijmx4cv7nfj5d1jsyz4qnif7b"))))
     (build-system python-build-system)
     (native-inputs
      `(("gettext" ,gettext-minimal)
        ("intltool" ,intltool)))
     (inputs
-     `(("font-gnu-freefont-ttf" ,font-gnu-freefont-ttf)
+     `(("cairo" ,cairo)
+       ("font-gnu-freefont-ttf" ,font-gnu-freefont-ttf)
        ("geocode-glib" ,geocode-glib)
        ("gexiv2" ,gexiv2)
        ("ghostscript" ,ghostscript)

From ac1b080107b9ebf8219921f460dfad14b3d681ed Mon Sep 17 00:00:00 2001
From: Efraim Flashner 
Date: Sun, 27 Oct 2019 14:41:12 +0200
Subject: [PATCH 0462/1112] gnu: git-annex: Build with S3 support.

* gnu/packages/haskell-apps.scm (git-annex)[arguments]: Enable S3 in
configure-flags.
[inputs]: Add ghc-aws.
---
 gnu/packages/haskell-apps.scm | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/haskell-apps.scm b/gnu/packages/haskell-apps.scm
index c5e1cd6c643..beecb0392d0 100644
--- a/gnu/packages/haskell-apps.scm
+++ b/gnu/packages/haskell-apps.scm
@@ -11,6 +11,7 @@
 ;;; Copyright © 2015 Paul van der Walt 
 ;;; Copyright © 2019 Kyle Meyer 
 ;;; Copyright © 2015 John Soo 
+;;; Copyright © 2019 Efraim Flashner 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -256,7 +257,7 @@ unique algebra of patches called @url{http://darcs.net/Theory,Patchtheory}.
     (build-system haskell-build-system)
     (arguments
      `(#:configure-flags
-       '("--flags=-Android -Assistant -Pairing -S3 -Webapp -WebDAV")
+       '("--flags=-Android -Assistant -Pairing -Webapp -WebDAV")
        #:phases
        (modify-phases %standard-phases
          (add-before 'configure 'patch-shell-for-tests
@@ -317,6 +318,7 @@ unique algebra of patches called @url{http://darcs.net/Theory,Patchtheory}.
      `(("curl" ,curl)
        ("ghc-aeson" ,ghc-aeson)
        ("ghc-async" ,ghc-async)
+       ("ghc-aws" ,ghc-aws)
        ("ghc-bloomfilter" ,ghc-bloomfilter)
        ("ghc-byteable" ,ghc-byteable)
        ("ghc-case-insensitive" ,ghc-case-insensitive)

From 17334e000ed7236bc50090139f09e931b5bdf65c Mon Sep 17 00:00:00 2001
From: Tobias Geerinckx-Rice 
Date: Sun, 27 Oct 2019 15:01:53 +0100
Subject: [PATCH 0463/1112] gnu: mpv: Update to 0.30.0.

* gnu/packages/video.scm (mpv): Update to 0.30.0.
[arguments]: Remove obsolete #:configure-flags.
---
 gnu/packages/video.scm | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index 0d9c21b46c5..cef2d50a89d 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -1342,7 +1342,7 @@ SVCD, DVD, 3ivx, DivX 3/4/5, WMV and H.264 movies.")
 (define-public mpv
   (package
     (name "mpv")
-    (version "0.29.1")
+    (version "0.30.0")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -1351,7 +1351,7 @@ SVCD, DVD, 3ivx, DivX 3/4/5, WMV and H.264 movies.")
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "138921kx8g6qprim558xin09xximjhsj9ss8b71ifg2m6kclym8m"))))
+                "17mxjgcfljlv6h0ik3332xsqbs0ybvk6dkwflyl0cjh15vl1iv6f"))))
     (build-system waf-build-system)
     (native-inputs
      `(("perl" ,perl) ; for zsh completion file
@@ -1417,9 +1417,7 @@ SVCD, DVD, 3ivx, DivX 3/4/5, WMV and H.264 movies.")
             #t)))
        #:configure-flags (list "--enable-libmpv-shared"
                                "--enable-cdda"
-                               "--enable-dvdread"
                                "--enable-dvdnav"
-                               "--enable-zsh-comp"
                                "--disable-build-date")
        ;; No check function defined.
        #:tests? #f))

From eb28d9cf8d04e0df9d8025f91d836bba7a05eb82 Mon Sep 17 00:00:00 2001
From: Tobias Geerinckx-Rice 
Date: Sun, 27 Oct 2019 15:02:22 +0100
Subject: [PATCH 0464/1112] gnu: mpg123: Update to 1.25.13.

* gnu/packages/mp3.scm (mpg123): Update to 1.25.13.
---
 gnu/packages/mp3.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/mp3.scm b/gnu/packages/mp3.scm
index 9a1cf60c2ea..b8e54d40589 100644
--- a/gnu/packages/mp3.scm
+++ b/gnu/packages/mp3.scm
@@ -306,7 +306,7 @@ This package contains the binary.")
 (define-public mpg123
   (package
     (name "mpg123")
-    (version "1.25.12")
+    (version "1.25.13")
     (source (origin
               (method url-fetch)
               (uri (list (string-append "mirror://sourceforge/mpg123/mpg123/"
@@ -316,7 +316,7 @@ This package contains the binary.")
                           version ".tar.bz2")))
               (sha256
                (base32
-                "1l9iwwgqzw6yg5zk9pqmlbfyq6d8dqysbmj0j3m8dyrxd34wgzhz"))))
+                "02l915jq0ymndb082g6w89bpf66z04ifa1lr7ga3yycw6m46hc4h"))))
     (build-system gnu-build-system)
     (arguments '(#:configure-flags '("--with-default-audio=pulse")))
     (native-inputs `(("pkg-config" ,pkg-config)))

From e2d14ee97c8786de7be0868c53bbf51f7b4f4a29 Mon Sep 17 00:00:00 2001
From: Tobias Geerinckx-Rice 
Date: Sun, 27 Oct 2019 15:06:07 +0100
Subject: [PATCH 0465/1112] gnu: keepassxc: Don't use NAME in source URI.

* gnu/packages/password-utils.scm (keepassxc)[source]: Hard-code NAME.
---
 gnu/packages/password-utils.scm | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gnu/packages/password-utils.scm b/gnu/packages/password-utils.scm
index 207e501520d..9bea0e68c1f 100644
--- a/gnu/packages/password-utils.scm
+++ b/gnu/packages/password-utils.scm
@@ -115,7 +115,7 @@ human.")
     (source
      (origin
        (method url-fetch)
-       (uri (string-append "https://github.com/keepassxreboot/" name
+       (uri (string-append "https://github.com/keepassxreboot/keepassxc"
                            "/releases/download/" version "/keepassxc-"
                            version "-src.tar.xz"))
        (sha256

From 40645ebb71eece35b3fc64399dc77140a9a8e8be Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus 
Date: Sun, 27 Oct 2019 17:04:06 +0100
Subject: [PATCH 0466/1112] gnu: Add pam-u2f.

* gnu/packages/security-token.scm (pam-u2f): New variable.
---
 gnu/packages/security-token.scm | 37 +++++++++++++++++++++++++++++++++
 1 file changed, 37 insertions(+)

diff --git a/gnu/packages/security-token.scm b/gnu/packages/security-token.scm
index fb84a764ab9..1c2c4c7a0e6 100644
--- a/gnu/packages/security-token.scm
+++ b/gnu/packages/security-token.scm
@@ -499,6 +499,43 @@ Registration and U2F Authentication operations, and functionality for
 verifying the cryptographic operations.")
     (license license:bsd-2)))
 
+(define-public pam-u2f
+  (package
+    (name "pam-u2f")
+    (version "1.0.8")
+    (source (origin
+              (method git-fetch)
+              (uri
+               (git-reference
+                (url "https://github.com/Yubico/pam-u2f.git")
+                (commit (string-append "pam_u2f-" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "04d9davyi33gqbvga1rvh9fijp6f16mx2xmnn4n61rnhcn2jac98"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:configure-flags
+       (list (string-append "--with-pam-dir="
+                            (assoc-ref %outputs "out") "/lib/security"))))
+    (inputs
+     `(("libu2f-host" ,libu2f-host)
+       ("libu2f-server" ,libu2f-server)
+       ("linux-pam" ,linux-pam)))
+    (native-inputs
+     `(("autoconf" ,autoconf)
+       ("automake" ,automake)
+       ("libtool" ,libtool)
+       ("asciidoc" ,asciidoc)
+       ("pkg-config" ,pkg-config)))
+    (home-page "https://developers.yubico.com/pam-u2f/")
+    (synopsis "PAM module for U2F authentication")
+    (description
+     "This package provides a module implementing PAM over U2F, providing an
+easy way to integrate the YubiKey (or other U2F compliant authenticators) into
+your existing infrastructure.")
+    (license license:bsd-2)))
+
 (define-public python-fido2
   (package
     (name "python-fido2")

From 3a428dd63af0bec23861a8ed1c76665e8f424265 Mon Sep 17 00:00:00 2001
From: Tobias Geerinckx-Rice 
Date: Sun, 27 Oct 2019 18:49:53 +0100
Subject: [PATCH 0467/1112] gnu: meld: Wrap with Glib or Gtk path variables.
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Fixes the example given at .

* gnu/packages/gnome.scm (meld)[inputs]: Add gsettings-desktop-schemas.
[arguments]: Add (guix build glib-or-gtk-build-system) to #:modules
and #:imported-modules.  Use its ‘glib-or-gtk-wrap’ phase.
---
 gnu/packages/patchutils.scm | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/patchutils.scm b/gnu/packages/patchutils.scm
index 4cd6bbbf486..80c454a5c41 100644
--- a/gnu/packages/patchutils.scm
+++ b/gnu/packages/patchutils.scm
@@ -265,11 +265,17 @@ GiB).")
     (inputs
      `(("python-cairo" ,python-pycairo)
        ("python-gobject" ,python-pygobject)
+       ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
        ("gtksourceview" ,gtksourceview-3)))
     (propagated-inputs
      `(("dconf" ,dconf)))
     (arguments
-     `(#:phases
+     `(#:imported-modules ((guix build glib-or-gtk-build-system)
+                           ,@%python-build-system-modules)
+       #:modules ((guix build python-build-system)
+                  ((guix build glib-or-gtk-build-system) #:prefix glib-or-gtk:)
+                  (guix build utils))
+       #:phases
        (modify-phases %standard-phases
          ;; This setup.py script does not support one of the Python build
          ;; system's default flags, "--single-version-externally-managed".
@@ -293,6 +299,8 @@ GiB).")
              (invoke "py.test" "-v" "-k"
                      ;; TODO: Those tests fail, why?
                      "not test_classify_change_actions")))
+         (add-after 'wrap 'glib-or-gtk-wrap
+           (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap))
          (add-after 'wrap 'wrap-typelib
            (lambda* (#:key inputs outputs #:allow-other-keys)
              (let ((out (assoc-ref outputs "out")))

From 86e443c71d4d19e6f80cad9ca15b9c3a301c738c Mon Sep 17 00:00:00 2001
From: Efraim Flashner 
Date: Sun, 27 Oct 2019 20:51:22 +0200
Subject: [PATCH 0468/1112] gnu: Convert all rust crates to new format.

* gnu/packages/crates-io.scm: Rename all packages to contain version
string.
[source]: Rename all downloaded files to use '.crate'.
[arguments]: Remove all cargo-inputs and cargo-development-inputs.
Comment out all custom phases to link to external libraries.
[native-inputs, inputs]: Comment out all inputs.
[properties]: Mark all packages hidden.
---
 gnu/packages/crates-io.scm | 1829 ++++++++++++++----------------------
 1 file changed, 689 insertions(+), 1140 deletions(-)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 51d9363b556..7b34b70600b 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -24,24 +24,13 @@
   #:use-module (guix build-system cargo)
   #:use-module (guix download)
   #:use-module ((guix licenses) #:prefix license:)
-  #:use-module (guix packages)
-  #:use-module (gnu packages compression)
-  #:use-module (gnu packages curl)
-  #:use-module (gnu packages gcc)
-  #:use-module (gnu packages jemalloc)
-  #:use-module (gnu packages llvm)
-  #:use-module (gnu packages maths)
-  #:use-module (gnu packages pkg-config)
-  #:use-module (gnu packages ssh)
-  #:use-module (gnu packages tls)
-  #:use-module (gnu packages version-control)
-  #:use-module (gnu packages web))
+  #:use-module (guix packages))
 
 ;;;
 ;;; Please: Try to add new module packages in alphabetic order.
 ;;;
 
-(define-public rust-adler32
+(define-public rust-adler32-1.0
   (package
     (name "rust-adler32")
     (version "1.0.3")
@@ -50,22 +39,21 @@
         (method url-fetch)
         (uri (crate-uri "adler32" version))
         (file-name
-          (string-append name "-" version ".tar.gz"))
+          (string-append name "-" version ".crate"))
         (sha256
           (base32
             "0p7fxlnks9l7p7rwfqi7aqgnk2bps5zc0rjiw00mdw19nnbjjlky"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-development-inputs (("rust-rand" ,rust-rand))))
     (home-page "https://github.com/remram44/adler32-rs")
     (synopsis "Implementation of the Adler32 rolling hash algorithm")
     (description
      "This library is an implementation of the Adler32 rolling hash algorithm in
 the Rust programming language.")
+    (properties '((hidden? . #t)))
     (license (list license:bsd-3
                    license:zlib))))
 
-(define-public rust-ansi-term
+(define-public rust-ansi-term-0.11
   (package
     (name "rust-ansi-term")
     (version "0.11.0")
@@ -73,31 +61,20 @@ the Rust programming language.")
       (origin
         (method url-fetch)
         (uri (crate-uri "ansi_term" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "16wpvrghvd0353584i1idnsgm0r3vchg8fyrm0x8ayv1rgvbljgf"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-winapi" ,rust-winapi))
-       #:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'fix-tests
-           ;; https://github.com/ogham/rust-ansi-term/commit/5ff6af6f38790abcb3aafee1239286c10ef69576.patch
-           (lambda _
-             (substitute* "src/debug.rs"
-               (("^ *Blue") "        Blue,")
-               (("underline: false") "underline: false,"))
-             #t)))))
     (home-page "https://github.com/ogham/rust-ansi-term")
     (synopsis "Library for ANSI terminal colours and styles")
     (description
      "This is a library for controlling colours and formatting, such as red bold
 text or blue underlined text, on ANSI terminals.")
+    (properties '((hidden? . #t)))
     (license license:expat)))
 
-(define-public rust-antidote
+(define-public rust-antidote-1.0
   (package
     (name "rust-antidote")
     (version "1.0.0")
@@ -105,7 +82,7 @@ text or blue underlined text, on ANSI terminals.")
       (origin
         (method url-fetch)
         (uri (crate-uri "antidote" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "19g2sw2qa2ibnh4x7j1snk46593jgx6y7rnvva496ynq61af5z9l"))))
@@ -115,10 +92,11 @@ text or blue underlined text, on ANSI terminals.")
     (description
     "These types expose identical APIs to the standard library @code{Mutex} and
 @code{RwLock} except that they do not return @code{PoisonError}s.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-atty
+(define-public rust-atty-0.2
   (package
     (name "rust-atty")
     (version "0.2.13")
@@ -126,23 +104,19 @@ text or blue underlined text, on ANSI terminals.")
       (origin
         (method url-fetch)
         (uri (crate-uri "atty" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "140sswp1bwqwc4zk80bxkbnfb3g936hgrb77g9g0k1zcld3wc0qq"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-libc" ,rust-libc)
-        ("rust-winapi" ,rust-winapi))
-       #:tests? #f)) ; tests fail in our sandbox
     (home-page "https://github.com/softprops/atty")
     (synopsis "A simple interface for querying atty")
     (description
      "This package provides a simple interface for querying atty.")
+    (properties '((hidden? . #t)))
     (license license:expat)))
 
-(define-public rust-autocfg
+(define-public rust-autocfg-0.1
   (package
     (name "rust-autocfg")
     (version "0.1.5")
@@ -150,7 +124,7 @@ text or blue underlined text, on ANSI terminals.")
       (origin
         (method url-fetch)
         (uri (crate-uri "autocfg" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "0asl6fnc35yk5l2rxwhp25v128jgm45dp754h9z8x51b6n90w4r2"))))
@@ -161,10 +135,11 @@ text or blue underlined text, on ANSI terminals.")
 code based on compiler support.  Code snippets are dynamically tested to see
 if the @code{rustc} will accept them, rather than hard-coding specific version
 support.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-backtrace-sys
+(define-public rust-backtrace-sys-0.1
   (package
     (name "rust-backtrace-sys")
     (version "0.1.31")
@@ -172,28 +147,20 @@ support.")
       (origin
         (method url-fetch)
         (uri (crate-uri "backtrace-sys" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "0as2pk77br4br04daywhivpi1ixxb8y2c7f726kj849dxys31a42"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-compiler-builtins"
-         ,rust-compiler-builtins)
-        ("rust-libc" ,rust-libc)
-        ("rust-rustc-std-workspace-core"
-         ,rust-rustc-std-workspace-core))
-       #:cargo-development-inputs
-       (("rust-cc" ,rust-cc))))
     (home-page "https://github.com/rust-lang/backtrace-rs")
     (synopsis "Bindings to the libbacktrace gcc library")
     (description
      "This package provides bindings to the libbacktrace gcc library.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-base-x
+(define-public rust-base-x-0.2
   (package
     (name "rust-base-x")
     (version "0.2.5")
@@ -201,22 +168,18 @@ support.")
       (origin
         (method url-fetch)
         (uri (crate-uri "base-x" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "0hv4y5cdhv6bk0ghk2434clw8v4mmk5cc9lsh6qrpri92zlfmx3n"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-development-inputs
-       (("rust-bencher" ,rust-bencher)
-        ("rust-json" ,rust-json)
-        ("rust-rand" ,rust-rand-0.3))))
     (home-page "https://github.com/OrKoN/base-x-rs")
     (synopsis "Encode/decode any base")
     (description "This library provides for encoding and decoding any base.")
+    (properties '((hidden? . #t)))
     (license license:expat)))
 
-(define-public rust-bencher
+(define-public rust-bencher-0.1
   (package
     (name "rust-bencher")
     (version "0.1.5")
@@ -224,7 +187,7 @@ support.")
       (origin
         (method url-fetch)
         (uri (crate-uri "bencher" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "1x8p2xblgqssay8cdykp5pkfc0np0jk5bs5cx4f5av097aav9zbx"))))
@@ -235,10 +198,11 @@ support.")
 benchmark runner to Rust stable releases.  Supports running benchmarks and
 filtering based on the name.  Benchmark execution works exactly the same way
 and no more (caveat: black_box is still missing!).")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-bitflags
+(define-public rust-bitflags-1
   (package
     (name "rust-bitflags")
     (version "1.1.0")
@@ -246,7 +210,7 @@ and no more (caveat: black_box is still missing!).")
       (origin
         (method url-fetch)
         (uri (crate-uri "bitflags" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "1zc1qb1hwsnl2d8rhzicsv9kqd5b2hwbrscrcfw5as4sfr35659x"))))
@@ -255,10 +219,11 @@ and no more (caveat: black_box is still missing!).")
     (synopsis "Macro to generate structures which behave like bitflags")
     (description "This package provides a macro to generate structures which
 behave like a set of bitflags.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-blas-sys
+(define-public rust-blas-sys-0.7
   (package
     (name "rust-blas-sys")
     (version "0.7.1")
@@ -266,21 +231,20 @@ behave like a set of bitflags.")
       (origin
         (method url-fetch)
         (uri (crate-uri "blas-sys" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "0h14zjycwc76v15h8qll9z1xiryvmpvsb5gam97pqpdjrrwv5c8k"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs (("rust-libc" ,rust-libc))))
     (home-page "https://github.com/blas-lapack-rs/blas-sys")
     (synopsis "Bindings to BLAS (Fortran)")
     (description
      "Ths package provides bindings to BLAS (Fortran).")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-cargon
+(define-public rust-cargon-0.0
   (package
     (name "rust-cargon")
     (version "0.0.1")
@@ -288,22 +252,20 @@ behave like a set of bitflags.")
       (origin
         (method url-fetch)
         (uri (crate-uri "cargon" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "1cszlab7jk736p0lb50ag4l9nv72m7j41bwrmygl0lr4iz0350w2"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-gcc" ,rust-gcc))))
     (home-page "https://github.com/bryant/argon2rs")
     (synopsis "Thin wrapper around the Argon2 C library")
     (description
      "This package provides a thin wrapper around the Argon2 C library.  It is
 used in argon2rs' bench suite.")
+    (properties '((hidden? . #t)))
     (license license:wtfpl2)))
 
-(define-public rust-cblas-sys
+(define-public rust-cblas-sys-0.1
   (package
     (name "rust-cblas-sys")
     (version "0.1.4")
@@ -311,21 +273,20 @@ used in argon2rs' bench suite.")
       (origin
         (method url-fetch)
         (uri (crate-uri "cblas-sys" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "0rgsn3klhhh09d8qf3b87zl4rwk93l2g0qzh9hhb0lff5kcfrzmn"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs (("rust-libc" ,rust-libc))))
     (home-page "https://github.com/blas-lapack-rs/cblas-sys")
     (synopsis "Bindings to CBLAS (C)")
     (description
      "The package provides bindings to CBLAS (C).")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-cc
+(define-public rust-cc-1.0
   (package
     (name "rust-cc")
     (version "1.0.41")
@@ -333,38 +294,22 @@ used in argon2rs' bench suite.")
       (origin
         (method url-fetch)
         (uri (crate-uri "cc" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "1zxzd559dbbf1iwdzmkj7czapzccs17kqqmsj9ayijpdix5rrbld"))))
     (build-system cargo-build-system)
-    (arguments
-     `(;#:cargo-inputs
-       ;(("rust-rayon" ,rust-rayon))
-       #:cargo-development-inputs
-       (("rust-tempdir" ,rust-tempdir))
-       #:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'remove-optional-deps
-           (lambda _
-             (substitute* "Cargo.toml.orig"
-               ((".*optional.*") "\n")
-               ((".*features.*") "")
-               ((".*parallel.*") ""))
-             (delete-file "Cargo.toml")
-             (copy-file "Cargo.toml.orig" "Cargo.toml")
-             #t)))
-       #:tests? #f)) ; Tests require cc-test from git repo.
     (home-page "https://github.com/alexcrichton/cc-rs")
     (synopsis "Invoke the native C compiler")
     (description
      "This package provides a build-time dependency for Cargo build scripts to
 assist in invoking the native C compiler to compile native C code into a static
 archive to be linked into Rustcode.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-cfg-if
+(define-public rust-cfg-if-0.1
   (package
     (name "rust-cfg-if")
     (version "0.1.9")
@@ -372,7 +317,7 @@ archive to be linked into Rustcode.")
       (origin
         (method url-fetch)
         (uri (crate-uri "cfg-if" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "0csygklgz3ybpr0670rkip49zh76m43ar3k7xgypkzbzrwycx1ml"))))
@@ -382,10 +327,11 @@ archive to be linked into Rustcode.")
     (description "This package provides a macro to ergonomically define an item
 depending on a large number of #[cfg] parameters.  Structured like an
 @code{if-else} chain, the first matching branch is the item that gets emitted.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-clang-sys
+(define-public rust-clang-sys-0.28
   (package
     (name "rust-clang-sys")
     (version "0.28.1")
@@ -393,64 +339,44 @@ depending on a large number of #[cfg] parameters.  Structured like an
       (origin
         (method url-fetch)
         (uri (crate-uri "clang-sys" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "0ls8zcqi5bmmrvrk3b6r1ym4wlivinbv590d2dvg2xn9f44mbpl1"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-glob" ,rust-glob)
-        ("rust-libc" ,rust-libc)
-        ("rust-libloading" ,rust-libloading))
-       #:cargo-development-inputs
-       (("rust-glob" ,rust-glob))
-       #:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'set-environmental-variable
-           (lambda* (#:key inputs #:allow-other-keys)
-             (let ((clang (assoc-ref inputs "libclang")))
-               (setenv "LIBCLANG_PATH"
-                       (string-append clang "/lib")))
-             #t)))))
-    (inputs
-     `(("libclang" ,clang)))
+    ;(arguments
+    ; `(#:phases
+    ;   (modify-phases %standard-phases
+    ;     (add-after 'unpack 'set-environmental-variable
+    ;       (lambda* (#:key inputs #:allow-other-keys)
+    ;         (let ((clang (assoc-ref inputs "libclang")))
+    ;           (setenv "LIBCLANG_PATH"
+    ;                   (string-append clang "/lib")))
+    ;         #t)))))
+    ;(inputs
+    ; `(("libclang" ,clang)))
     (home-page "https://github.com/KyleMayes/clang-sys")
     (synopsis "Rust bindings for libclang")
     (description
      "This package provides Rust bindings for @code{libclang}.")
+    (properties '((hidden? . #t)))
     (license license:asl2.0)))
 
 (define-public rust-clang-sys-0.26
   (package
-    (inherit rust-clang-sys)
+    (inherit rust-clang-sys-0.28)
     (name "rust-clang-sys")
     (version "0.26.4")
     (source
       (origin
         (method url-fetch)
         (uri (crate-uri "clang-sys" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
-          "1r50dwy5hj5gq07dn0qf8222d07qv0970ymx0j8n9779yayc3w3f"))))
-    (arguments
-     `(#:cargo-inputs
-       (("rust-glob" ,rust-glob-0.2)
-        ("rust-libc" ,rust-libc)
-        ("rust-libloading" ,rust-libloading))
-       #:cargo-development-inputs
-       (("rust-glob" ,rust-glob-0.2))
-       #:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'set-environmental-variable
-           (lambda* (#:key inputs #:allow-other-keys)
-             (let ((clang (assoc-ref inputs "libclang")))
-               (setenv "LIBCLANG_PATH"
-                       (string-append clang "/lib")))
-            #t)))))))
+          "1r50dwy5hj5gq07dn0qf8222d07qv0970ymx0j8n9779yayc3w3f"))))))
 
-(define-public rust-clicolors-control
+(define-public rust-clicolors-control-1.0
   (package
     (name "rust-clicolors-control")
     (version "1.0.0")
@@ -458,25 +384,20 @@ depending on a large number of #[cfg] parameters.  Structured like an
       (origin
         (method url-fetch)
         (uri (crate-uri "clicolors-control" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "1y80cgarxhrd1bz5yjm81r444v6flvy36aaxrrsac0yhfd6gvavk"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-atty" ,rust-atty)
-        ("rust-lazy-static" ,rust-lazy-static)
-        ("rust-libc" ,rust-libc)
-        ("rust-winapi" ,rust-winapi))))
     (home-page "https://github.com/mitsuhiko/clicolors-control")
     (synopsis "Common utility library to control CLI colorization")
     (description
      "This package provides a common utility library to control CLI
 colorization.")
+    (properties '((hidden? . #t)))
     (license license:expat)))
 
-(define-public rust-cloudabi
+(define-public rust-cloudabi-0.0
   (package
     (name "rust-cloudabi")
     (version "0.0.3")
@@ -484,21 +405,19 @@ colorization.")
       (origin
         (method url-fetch)
         (uri (crate-uri "cloudabi" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "0kxcg83jlihy0phnd2g8c2c303px3l2p3pkjz357ll6llnd5pz6x"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-bitflags" ,rust-bitflags))))
     (home-page "https://nuxi.nl/cloudabi/")
     (synopsis "Low level interface to CloudABI")
     (description
      "Low level interface to CloudABI.  Contains all syscalls and related types.")
+    (properties '((hidden? . #t)))
     (license license:bsd-2)))
 
-(define-public rust-cmake
+(define-public rust-cmake-0.1
   (package
     (name "rust-cmake")
     (version "0.1.42")
@@ -506,25 +425,24 @@ colorization.")
       (origin
         (method url-fetch)
         (uri (crate-uri "cmake" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "0qkwibkvx5xjazvv9v8gvdlpky2jhjxvcz014nrixgzqfyv2byw1"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs (("rust-cc" ,rust-cc))))
     (home-page "https://github.com/alexcrichton/cmake-rs")
     (synopsis "Rust build dependency for running cmake")
     (description
      "This package provides a build dependency for running @code{cmake} to build
 a native library.  The CMake executable is assumed to be @code{cmake} unless the
 CMAKE environmental variable is set.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
 ;; This package requires features which are unavailable
 ;; on the stable releases of Rust.
-(define-public rust-compiler-builtins
+(define-public rust-compiler-builtins-0.1
   (package
     (name "rust-compiler-builtins")
     (version "0.1.19")
@@ -532,27 +450,22 @@ CMAKE environmental variable is set.")
       (origin
         (method url-fetch)
         (uri (crate-uri "compiler_builtins" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "1fpabpmg8paj4r5a37vmidh1jx1b7a6ilxm4s3xsxczx27ybjcjf"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-cc" ,rust-cc)
-        ("rust-rustc-std-workspace-core"
-         ,rust-rustc-std-workspace-core))))
     (home-page "https://github.com/rust-lang-nursery/compiler-builtins")
     (synopsis "Compiler intrinsics used by the Rust compiler")
     (description
      "This package provides compiler intrinsics used by the Rust compiler.  This
 package is primarily useful when building the @code{core} crate yourself and you
 need compiler-rt intrinsics.")
-    (properties `((hidden? . #t)))
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-constant-time-eq
+(define-public rust-constant-time-eq-0.1
   (package
     (name "rust-constant-time-eq")
     (version "0.1.4")
@@ -560,7 +473,7 @@ need compiler-rt intrinsics.")
      (origin
        (method url-fetch)
        (uri (crate-uri "constant_time_eq" version))
-       (file-name (string-append name "-" version ".tar.gz"))
+       (file-name (string-append name "-" version ".crate"))
        (sha256
         (base32
          "083icpr9xb72rrdxw3p4068dcspn6ai22jy7rhl2a8grfz448nlr"))))
@@ -571,9 +484,10 @@ need compiler-rt intrinsics.")
     (description
      "This package compares two equal-sized byte strings in constant time.
 It is inspired by the Linux kernel's @code{crypto_memneq}.")
+    (properties '((hidden? . #t)))
     (license license:cc0)))
 
-(define-public rust-core-foundation-sys
+(define-public rust-core-foundation-sys-0.6
   (package
     (name "rust-core-foundation-sys")
     (version "0.6.2")
@@ -581,7 +495,7 @@ It is inspired by the Linux kernel's @code{crypto_memneq}.")
       (origin
         (method url-fetch)
         (uri (crate-uri "core-foundation-sys" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "0fzsw1j9g1x598yhwklg59l15hwzc0pyvs01w9fg2kin4598mjp7"))))
@@ -590,10 +504,11 @@ It is inspired by the Linux kernel's @code{crypto_memneq}.")
     (synopsis "Bindings to Core Foundation for OS X")
     (description
      "Bindings to Core Foundation for OS X.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-curl-sys
+(define-public rust-curl-sys-0.4
   (package
     (name "rust-curl-sys")
     (version "0.4.20")
@@ -601,44 +516,34 @@ It is inspired by the Linux kernel's @code{crypto_memneq}.")
       (origin
         (method url-fetch)
         (uri (crate-uri "curl-sys" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "02542zmvl3fpdqf7ai4cqnamm4albx9j645dkjx5qr1myq8ax42y"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-libc" ,rust-libc)
-        ("rust-libnghttp2-sys" ,rust-libnghttp2-sys)
-        ("rust-libz-sys" ,rust-libz-sys)
-        ("rust-openssl-sys" ,rust-openssl-sys)
-        ("rust-winapi" ,rust-winapi))
-       #:cargo-development-inputs
-       (("rust-cc" ,rust-cc)
-        ("rust-pkg-config" ,rust-pkg-config)
-        ("rust-openssl-src" ,rust-openssl-src)
-        ("rust-vcpkg" ,rust-vcpkg))
-        #:phases
-       (modify-phases %standard-phases
-        (add-after 'unpack 'find-openssl
-          (lambda* (#:key inputs #:allow-other-keys)
-            (let ((openssl (assoc-ref inputs "openssl")))
-              (setenv "OPENSSL_DIR" openssl))
-            #t)))))
-    (native-inputs
-     `(("pkg-config" ,pkg-config)))
-    (inputs
-     `(("curl" ,curl)
-       ("nghttp2" ,nghttp2)
-       ("openssl" ,openssl)
-       ("zlib" ,zlib)))
+    ;(arguments
+    ; `(#:phases
+    ;   (modify-phases %standard-phases
+    ;    (add-after 'unpack 'find-openssl
+    ;      (lambda* (#:key inputs #:allow-other-keys)
+    ;        (let ((openssl (assoc-ref inputs "openssl")))
+    ;          (setenv "OPENSSL_DIR" openssl))
+    ;        #t)))))
+    ;(native-inputs
+    ; `(("pkg-config" ,pkg-config)))
+    ;(inputs
+    ; `(("curl" ,curl)
+    ;   ("nghttp2" ,nghttp2)
+    ;   ("openssl" ,openssl)
+    ;   ("zlib" ,zlib)))
     (home-page "https://github.com/alexcrichton/curl-rust")
     (synopsis "Native bindings to the libcurl library")
     (description
      "This package provides native bindings to the @code{libcurl} library.")
+    (properties '((hidden? . #t)))
     (license license:expat)))
 
-(define-public rust-data-encoding
+(define-public rust-data-encoding-2.1
   (package
     (name "rust-data-encoding")
     (version "2.1.2")
@@ -646,7 +551,7 @@ It is inspired by the Linux kernel's @code{crypto_memneq}.")
       (origin
         (method url-fetch)
         (uri (crate-uri "data-encoding" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "15xd6afhsjl08285piwczrafmckpp8i29padj8v12xhahshprx7l"))))
@@ -655,10 +560,11 @@ It is inspired by the Linux kernel's @code{crypto_memneq}.")
     (synopsis "Efficient and customizable data-encoding functions")
     (description
      "This library provides encodings for many different common cases, including
-hexadecimal, bas32, and base64.")
+hexadecimal, base32, and base64.")
+    (properties '((hidden? . #t)))
     (license license:expat)))
 
-(define-public rust-defmac
+(define-public rust-defmac-0.2
   (package
     (name "rust-defmac")
     (version "0.2.0")
@@ -666,7 +572,7 @@ hexadecimal, bas32, and base64.")
       (origin
         (method url-fetch)
         (uri (crate-uri "defmac" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "01ff3jdmcc5waffkwllndnx5hsn414r7x1rq4ib73n7awsyzxkxv"))))
@@ -674,24 +580,25 @@ hexadecimal, bas32, and base64.")
     (home-page "https://github.com/bluss/defmac")
     (synopsis "Macro to define lambda-like macros inline")
     (description "A macro to define lambda-like macros inline.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
 (define-public rust-defmac-0.1
   (package
-    (inherit rust-defmac)
+    (inherit rust-defmac-0.2)
     (name "rust-defmac")
     (version "0.1.3")
     (source
       (origin
         (method url-fetch)
         (uri (crate-uri "defmac" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "17giv0n0n1r64z0dahfvkjy3ys517jxyhs8sd9lmgvcljpjyryxa"))))))
 
-(define-public rust-dirs
+(define-public rust-dirs-1.0
   (package
     (name "rust-dirs")
     (version "1.0.3")
@@ -699,15 +606,11 @@ hexadecimal, bas32, and base64.")
       (origin
         (method url-fetch)
         (uri (crate-uri "dirs" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "02vigc566z5i6n9wr2x8sch39qp4arn89xhhrh18fhpm3jfc0ygn"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-libc" ,rust-libc)
-        ("rust-winapi" ,rust-winapi))))
     (home-page "https://github.com/soc/dirs-rs")
     (synopsis "Abstractions for standard locations for various platforms")
     (description
@@ -716,9 +619,10 @@ platform-specific standard locations of directories for config, cache and other
 data on Linux, Windows, macOS and Redox by leveraging the mechanisms defined by
 the XDG base/user directory specifications on Linux, the Known Folder API on
 Windows, and the Standard Directory guidelines on macOS.")
+    (properties '((hidden? . #t)))
     (license (list license:expat license:asl2.0))))
 
-(define-public rust-discard
+(define-public rust-discard-1.0
   (package
     (name "rust-discard")
     (version "1.0.4")
@@ -726,7 +630,7 @@ Windows, and the Standard Directory guidelines on macOS.")
       (origin
         (method url-fetch)
         (uri (crate-uri "discard" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "1h67ni5bxvg95s91wgicily4ix7lcw7cq0a5gy9njrybaibhyb91"))))
@@ -736,9 +640,10 @@ Windows, and the Standard Directory guidelines on macOS.")
     (description "There are situations where you need to intentionally leak some
 memory but not other memory.  This package provides a discard trait which allows
 for intentionally leaking memory")
+    (properties '((hidden? . #t)))
     (license license:expat)))
 
-(define-public rust-doc-comment
+(define-public rust-doc-comment-0.3
   (package
     (name "rust-doc-comment")
     (version "0.3.1")
@@ -746,7 +651,7 @@ for intentionally leaking memory")
       (origin
         (method url-fetch)
         (uri (crate-uri "doc-comment" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "15rsqxgarfpb1yim9sbp9yfgj7p2dq6v51c6bq1a62paii9ylgcj"))))
@@ -755,9 +660,10 @@ for intentionally leaking memory")
     (synopsis "Macro to generate doc comments")
     (description "This package provides a way to generate doc comments
 from macros.")
+    (properties '((hidden? . #t)))
     (license license:expat)))
 
-(define-public rust-dtoa
+(define-public rust-dtoa-0.4
   (package
     (name "rust-dtoa")
     (version "0.4.4")
@@ -765,7 +671,7 @@ from macros.")
       (origin
         (method url-fetch)
         (uri (crate-uri "dtoa" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "0phbm7i0dpn44gzi07683zxaicjap5064w62pidci4fhhciv8mza"))))
@@ -774,24 +680,25 @@ from macros.")
     (synopsis "Fast functions for printing floating-point primitives")
     (description "This crate provides fast functions for printing
 floating-point primitives to an @code{io::Write}.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
 (define-public rust-dtoa-0.2
   (package
-    (inherit rust-dtoa)
+    (inherit rust-dtoa-0.4)
     (name "rust-dtoa")
     (version "0.2.2")
     (source
       (origin
         (method url-fetch)
         (uri (crate-uri "dtoa" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "0g96cap6si1g6wi62hsdk2fnj3sf5vd4i97zj6163j8hhnsl3n0d"))))))
 
-(define-public rust-fallible-iterator
+(define-public rust-fallible-iterator-0.2
   (package
     (name "rust-fallible-iterator")
     (version "0.2.0")
@@ -799,7 +706,7 @@ floating-point primitives to an @code{io::Write}.")
       (origin
         (method url-fetch)
         (uri (crate-uri "fallible-iterator" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "1xq759lsr8gqss7hva42azn3whgrbrs2sd9xpn92c5ickxm1fhs4"))))
@@ -810,10 +717,11 @@ floating-point primitives to an @code{io::Write}.")
 crate provides implementations for @code{Box}, @code{Vec}, @code{BTreeMap}, and
 @code{BTreeSet}.  If the @code{std} feature is enabled, this crate additionally
 provides implementations for @code{HashMap} and @code{HashSet}.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-filetime
+(define-public rust-filetime-0.2
   (package
     (name "rust-filetime")
     (version "0.2.7")
@@ -821,19 +729,11 @@ provides implementations for @code{HashMap} and @code{HashSet}.")
       (origin
         (method url-fetch)
         (uri (crate-uri "filetime" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "0sflihq2l77xjrza7yjalnxsc7dxzg25rhzcfbd9vmyfah5kimvb"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-cfg-if" ,rust-cfg-if)
-        ("rust-libc" ,rust-libc)
-        ("rust-redox-syscall" ,rust-redox-syscall)
-        ("rust-winapi" ,rust-winapi))
-       #:cargo-development-inputs
-       (("rust-tempdir" ,rust-tempdir))))
     (home-page "https://github.com/alexcrichton/filetime")
     (synopsis "Platform-agnostic accessors of timestamps in File metadata")
     (description
@@ -842,10 +742,11 @@ various timestamps of files in Rust.  This library takes into account
 cross-platform differences in terms of where the timestamps are located, what
 they are called, and how to convert them into a platform-independent
 representation.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-findshlibs
+(define-public rust-findshlibs-0.5
   (package
     (name "rust-findshlibs")
     (version "0.5.0")
@@ -853,24 +754,21 @@ representation.")
       (origin
         (method url-fetch)
         (uri (crate-uri "findshlibs" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "1n2vagn0q5yim32hxkwi1cjgp3yn1dm45p7z8nw6lapywihhs9mi"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-lazy-static" ,rust-lazy-static)
-        ("rust-libc" ,rust-libc))))
     (home-page "https://github.com/gimli-rs/findshlibs")
     (synopsis "Find the set of shared libraries loaded in the current process")
     (description
      "Find the set of shared libraries loaded in the current process with a
 cross platform API.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-fixedbitset
+(define-public rust-fixedbitset-0.1
   (package
     (name "rust-fixedbitset")
     (version "0.1.9")
@@ -878,7 +776,7 @@ cross platform API.")
       (origin
         (method url-fetch)
         (uri (crate-uri "fixedbitset" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "0czam11mi80dbyhf4rd4lz0ihcf7vkfchrdcrn45wbs0h40dxm46"))))
@@ -886,10 +784,11 @@ cross platform API.")
     (home-page "https://github.com/petgraph/fixedbitset")
     (synopsis "FixedBitSet is a simple bitset collection")
     (description "FixedBitSet is a simple bitset collection.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-fnv
+(define-public rust-fnv-1.0
   (package
     (name "rust-fnv")
     (version "1.0.6")
@@ -897,7 +796,7 @@ cross platform API.")
       (origin
         (method url-fetch)
         (uri (crate-uri "fnv" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "1ww56bi1r5b8id3ns9j3qxbi7w5h005rzhiryy0zi9h97raqbb9g"))))
@@ -906,10 +805,11 @@ cross platform API.")
     (synopsis "implementation of the Fowler-Noll-Vo hash function")
     (description "The @code{fnv} hash function is a custom @code{Hasher}
 implementation that is more efficient for smaller hash keys.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-foreign-types-shared
+(define-public rust-foreign-types-shared-0.2
   (package
     (name "rust-foreign-types-shared")
     (version "0.2.0")
@@ -917,7 +817,7 @@ implementation that is more efficient for smaller hash keys.")
       (origin
         (method url-fetch)
         (uri (crate-uri "foreign-types-shared" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "0kanxlif1vp0ffh2r9l610jqbkmb3183yqykxq1z5w1vay2rn7y6"))))
@@ -926,10 +826,11 @@ implementation that is more efficient for smaller hash keys.")
     (synopsis "An internal crate used by foreign-types")
     (description
      "An internal crate used by foreign-types.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-fs-extra
+(define-public rust-fs-extra-1.1
   (package
     (name "rust-fs-extra")
     (version "1.1.0")
@@ -937,7 +838,7 @@ implementation that is more efficient for smaller hash keys.")
       (origin
         (method url-fetch)
         (uri (crate-uri "fs_extra" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "0x6675wdhsx277k1k1235jwcv38naf20d8kwrk948ds26hh4lajz"))))
@@ -947,9 +848,10 @@ implementation that is more efficient for smaller hash keys.")
     (description "Expanding opportunities standard library @code{std::fs} and
 @code{std::io}.  Recursively copy folders with recept information about
 process and much more.")
+    (properties '((hidden? . #t)))
     (license license:expat)))
 
-(define-public rust-fuchsia-cprng
+(define-public rust-fuchsia-cprng-0.1
   (package
     (name "rust-fuchsia-cprng")
     (version "0.1.1")
@@ -957,20 +859,19 @@ process and much more.")
       (origin
         (method url-fetch)
         (uri (crate-uri "fuchsia-cprng" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "1fnkqrbz7ixxzsb04bsz9p0zzazanma8znfdqjvh39n14vapfvx0"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:tests? #f)) ; tests require zircon
     (home-page "https://fuchsia.googlesource.com/fuchsia/+/master/garnet/public/rust/fuchsia-cprng")
     (synopsis "Fuchsia cryptographically secure pseudorandom number generator")
     (description "Rust crate for the Fuchsia cryptographically secure
 pseudorandom number generator")
+    (properties '((hidden? . #t)))
     (license license:bsd-3)))
 
-(define-public rust-fuchsia-zircon
+(define-public rust-fuchsia-zircon-0.3
   (package
     (name "rust-fuchsia-zircon")
     (version "0.3.3")
@@ -978,22 +879,18 @@ pseudorandom number generator")
       (origin
         (method url-fetch)
         (uri (crate-uri "fuchsia-zircon" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "10jxc5ks1x06gpd0xg51kcjrxr35nj6qhx2zlc5n7bmskv3675rf"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-bitflags" ,rust-bitflags)
-        ("rust-fuchsia-zircon-sys" ,rust-fuchsia-zircon-sys))
-       #:tests? #f)) ; tests require zircon
     (home-page "https://fuchsia.googlesource.com/garnet/")
     (synopsis "Rust bindings for the Zircon kernel")
     (description "Rust bindings for the Zircon kernel.")
+    (properties '((hidden? . #t)))
     (license license:bsd-3)))
 
-(define-public rust-fuchsia-zircon-sys
+(define-public rust-fuchsia-zircon-sys-0.3
   (package
     (name "rust-fuchsia-zircon-sys")
     (version "0.3.3")
@@ -1001,19 +898,18 @@ pseudorandom number generator")
       (origin
         (method url-fetch)
         (uri (crate-uri "fuchsia-zircon-sys" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "19zp2085qsyq2bh1gvcxq1lb8w6v6jj9kbdkhpdjrl95fypakjix"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:tests? #f)) ; tests require zircon
     (home-page "https://fuchsia.googlesource.com/garnet/")
     (synopsis "Low-level Rust bindings for the Zircon kernel")
     (description "Low-level Rust bindings for the Zircon kernel.")
+    (properties '((hidden? . #t)))
     (license license:bsd-3)))
 
-(define-public rust-futures
+(define-public rust-futures-0.1
   (package
     (name "rust-futures")
     (version "0.1.28")
@@ -1021,7 +917,7 @@ pseudorandom number generator")
       (origin
         (method url-fetch)
         (uri (crate-uri "futures" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "0saq8ffjw1pwf1pzhw3kq1z7dfq6wpd8x93dnni6vbkc799kkp25"))))
@@ -1030,10 +926,11 @@ pseudorandom number generator")
     (synopsis "Implementation of zero-cost futures in Rust")
     (description "An implementation of @code{futures} and @code{streams}
 featuring zero allocations, composability, and iterator-like interfaces.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-futures-core-preview
+(define-public rust-futures-core-preview-0.3
   (package
     (name "rust-futures-core-preview")
     (version "0.3.0-alpha.17")
@@ -1041,21 +938,20 @@ featuring zero allocations, composability, and iterator-like interfaces.")
       (origin
         (method url-fetch)
         (uri (crate-uri "futures-core-preview" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "1xaq8m609k6cz8xydwhwp8xxyxigabcw1w9ngycfy0bnkg7iq52b"))))
     (build-system cargo-build-system)
-    (arguments
-     '(#:tests? #f)) ; The only tests are doc tests, which fail.
     (home-page "https://rust-lang-nursery.github.io/futures-rs/")
     (synopsis "Core traits and types in for the @code{futures} library.")
     (description "This crate provides the core traits and types in for the
 @code{futures} library.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-futures-cpupool
+(define-public rust-futures-cpupool-0.1
   (package
     (name "rust-futures-cpupool")
     (version "0.1.8")
@@ -1063,24 +959,21 @@ featuring zero allocations, composability, and iterator-like interfaces.")
       (origin
         (method url-fetch)
         (uri (crate-uri "futures-cpupool" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "1r32456gpblzfvnkf60545v8acqk7gh5zhyhi1jn669k9gicv45b"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-futures" ,rust-futures)
-        ("rust-num-cpus" ,rust-num-cpus))))
     (home-page "https://github.com/rust-lang-nursery/futures-rs")
     (synopsis "Implementation of thread pools which hand out futures")
     (description
      "An implementation of thread pools which hand out futures to the results of
 the computation on the threads themselves.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-futures-io-preview
+(define-public rust-futures-io-preview-0.3
   (package
     (name "rust-futures-io-preview")
     (version "0.3.0-alpha.17")
@@ -1088,7 +981,7 @@ the computation on the threads themselves.")
       (origin
         (method url-fetch)
         (uri (crate-uri "futures-io-preview" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "0fhvwhdb8ywjjbfng0ra1r8yyc9yzpyxg9sv3spb3f7w0lk40bh8"))))
@@ -1097,10 +990,11 @@ the computation on the threads themselves.")
     (synopsis "Async read and write traits for the futures library")
     (description "This crate provides the @code{AsyncRead} and
 @code{AsyncWrite} traits for the @code{futures-rs} library.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-futures-sink-preview
+(define-public rust-futures-sink-preview-0.3
   (package
     (name "rust-futures-sink-preview")
     (version "0.3.0-alpha.17")
@@ -1108,63 +1002,45 @@ the computation on the threads themselves.")
       (origin
         (method url-fetch)
         (uri (crate-uri "futures-sink-preview" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "1r4d0gy73hdxkh5g1lrhl1kjnwp6mywjgcj70v0z78b921da42a3"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-futures-core-preview" ,rust-futures-core-preview))))
     (home-page "https://rust-lang-nursery.github.io/futures-rs/")
     (synopsis  "Asynchronous `Sink` trait for the futures-rs library")
     (description
      "This package provides the asynchronous @code{Sink} trait for the
 futures-rs library.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-gcc
+(define-public rust-gcc-0.3
   (package
-    (inherit rust-cc)
+    (inherit rust-cc-1.0)
     (name "rust-gcc")
     (version "0.3.55")
     (source
       (origin
         (method url-fetch)
         (uri (crate-uri "gcc" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "1hng1sajn4r67hndvhjysswz8niayjwvcj42zphpxzhbz89kjpwg"))))
     (build-system cargo-build-system)
-    (arguments
-     `(;#:cargo-inputs
-       ;(("rust-rayon" ,rust-rayon))
-       #:cargo-development-inputs
-       (("rust-tempdir" ,rust-tempdir))
-       #:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'remove-optional-deps
-           (lambda _
-             (substitute* "Cargo.toml.orig"
-               ((".*optional.*") "\n")
-               ((".*features.*") "")
-               ((".*parallel.*") ""))
-             (delete-file "Cargo.toml")
-             (copy-file "Cargo.toml.orig" "Cargo.toml")
-             #t)))
-       #:tests? #f))
     (home-page "https://github.com/alexcrichton/cc-rs")
     (synopsis "Library to compile C/C++ code into a Rust library/application")
     (description
      "This package provides a build-time dependency for Cargo build scripts to
 assist in invoking the native C compiler to compile native C code into a static
 archive to be linked into Rustcode.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-getopts
+(define-public rust-getopts-0.2
   (package
     (name "rust-getopts")
     (version "0.2.17")
@@ -1172,21 +1048,19 @@ archive to be linked into Rustcode.")
       (origin
         (method url-fetch)
         (uri (crate-uri "getopts" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "018yhq97zgcrcxwhj3pxh31h83704sgaiijdnpl0r1ir366c005r"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-development-inputs
-       (("rust-log" ,rust-log))))
     (home-page "https://github.com/rust-lang-nursery/getopts")
     (synopsis "Rust library for option parsing for CLI utilities")
     (description "This library provides getopts-like option parsing.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-glob
+(define-public rust-glob-0.3
   (package
     (name "rust-glob")
     (version "0.3.0")
@@ -1194,56 +1068,35 @@ archive to be linked into Rustcode.")
       (origin
         (method url-fetch)
         (uri (crate-uri "glob" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "0x25wfr7vg3mzxc9x05dcphvd3nwlcmbnxrvwcvrrdwplcrrk4cv"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-development-inputs
-       (("rust-tempdir" ,rust-tempdir))
-       #:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'fix-tests
-           ;; This test assumes /root exists but is unreadable by the user.
-           (lambda _
-             (substitute* "src/lib.rs"
-               (("cfg\\(all\\(unix,.*") "cfg(windows)]\n"))
-             #t)))))
     (home-page "https://github.com/rust-lang-nursery/glob")
     (synopsis "Match file paths against Unix shell style patterns")
     (description
      "This package provides support for matching file paths against Unix
 shell style patterns.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
 (define-public rust-glob-0.2
   (package
-    (inherit rust-glob)
+    (inherit rust-glob-0.3)
     (name "rust-glob")
     (version "0.2.11")
     (source
       (origin
         (method url-fetch)
         (uri (crate-uri "glob" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
-          "1ysvi72slkw784fcsymgj4308c3y03gwjjzqxp80xdjnkbh8vqcb"))))
-    (arguments
-     `(#:cargo-development-inputs
-       (("rust-tempdir" ,rust-tempdir))
-       #:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'fix-tests
-           ;; This test assumes /root exists but is unreadable by the user.
-           (lambda _
-             (substitute* "src/lib.rs"
-               (("cfg\\(unix") "cfg(windows"))
-             #t)))))))
+          "1ysvi72slkw784fcsymgj4308c3y03gwjjzqxp80xdjnkbh8vqcb"))))))
 
-(define-public rust-heapsize
+(define-public rust-heapsize-0.4
   (package
     (name "rust-heapsize")
     (version "0.4.2")
@@ -1251,43 +1104,36 @@ shell style patterns.")
       (origin
         (method url-fetch)
         (uri (crate-uri "heapsize" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "0q94q9ppqjgrw71swiyia4hgby2cz6dldp7ij57nkvhd6zmfcy8n"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs (("rust-winapi" ,rust-winapi))
-       ;; Tests assume rust is built with jemalloc.
-       ;; https://github.com/servo/heapsize/issues/74
-       #:cargo-test-flags '("--features" "flexible-tests")))
     (home-page "https://github.com/servo/heapsize")
     (synopsis "Measure the total runtime size of an object on the heap")
     (description
      "Infrastructure for measuring the total runtime size of an object on the
 heap.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
 (define-public rust-heapsize-0.3
   (package
-    (inherit rust-heapsize)
+    (inherit rust-heapsize-0.4)
     (name "rust-heapsize")
     (version "0.3.9")
     (source
       (origin
         (method url-fetch)
         (uri (crate-uri "heapsize" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
-          "0dmwc37vgsdjzk10443dj4f23439i9gch28jcwzmry3chrwx8v2m"))))
-    (arguments
-     `(#:cargo-inputs (("rust-kernel32-sys" ,rust-kernel32-sys))
-       #:tests? #f)))) ;; No flexible-tests feature flags on this release.
+          "0dmwc37vgsdjzk10443dj4f23439i9gch28jcwzmry3chrwx8v2m"))))))
 
 ;; This package makes use of removed features
-(define-public rust-heapsize-plugin
+(define-public rust-heapsize-plugin-0.1
   (package
     (name "rust-heapsize-plugin")
     (version "0.1.6")
@@ -1295,20 +1141,11 @@ heap.")
       (origin
         (method url-fetch)
         (uri (crate-uri "heapsize_plugin" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "1i72isf699q9jl167g2kg4xd6h3cd05rc79zaph58aqjy0g0m9y9"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-development-inputs (("rust-heapsize" ,rust-heapsize-0.3))
-       #:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'fix-Cargo-toml
-           (lambda _
-             (substitute* "Cargo.toml"
-               (("path = \"..\", ") ""))
-             #t)))))
     (home-page "https://github.com/servo/heapsize")
     (synopsis "Measure runtime size of an object on the heap")
     (description
@@ -1317,7 +1154,7 @@ total runtime size of an object on the heap")
     (properties `((hidden? . #t)))
     (license license:mpl2.0)))
 
-(define-public rust-hex
+(define-public rust-hex-0.3
   (package
     (name "rust-hex")
     (version "0.3.2")
@@ -1325,7 +1162,7 @@ total runtime size of an object on the heap")
       (origin
         (method url-fetch)
         (uri (crate-uri "hex" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "0xsdcjiik5j750j67zk42qdnmm4ahirk3gmkmcqgq7qls2jjcl40"))))
@@ -1334,10 +1171,11 @@ total runtime size of an object on the heap")
     (synopsis "Encode and decode data to/from hexadecimals")
     (description "This crate allows for encoding and decoding data into/from
 hexadecimal representation.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-hostname
+(define-public rust-hostname-0.1
   (package
     (name "rust-hostname")
     (version "0.1.5")
@@ -1345,22 +1183,19 @@ hexadecimal representation.")
       (origin
         (method url-fetch)
         (uri (crate-uri "hostname" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "0kprf862qaa7lwdms6aw7f3275h0j2rwhs9nz5784pm8hdmb9ki1"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-libc" ,rust-libc)
-        ("rust-winutil" ,rust-winutil))))
     (home-page "https://github.com/fengcen/hostname")
     (synopsis "Get hostname for Rust")
     (description
      "Get hostname for Rust.")
+    (properties '((hidden? . #t)))
     (license license:expat)))
 
-(define-public rust-iovec
+(define-public rust-iovec-0.1
   (package
     (name "rust-iovec")
     (version "0.1.2")
@@ -1368,23 +1203,20 @@ hexadecimal representation.")
       (origin
         (method url-fetch)
         (uri (crate-uri "iovec" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "025vi072m22299z3fg73qid188z2iip7k41ba6v5v5yhwwby9rnv"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-libc" ,rust-libc)
-        ("rust-winapi" ,rust-winapi-0.2))))
     (home-page "https://github.com/carllerche/iovec")
     (synopsis "Portable buffer type for scatter/gather I/O operations")
     (description
      "Portable buffer type for scatter/gather I/O operations.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-itoa
+(define-public rust-itoa-0.4
   (package
     (name "rust-itoa")
     (version "0.4.4")
@@ -1392,7 +1224,7 @@ hexadecimal representation.")
       (origin
         (method url-fetch)
         (uri (crate-uri "itoa" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "0zvg2d9qv3avhf3d8ggglh6fdyw8kkwqg3r4622ly5yhxnvnc4jh"))))
@@ -1401,24 +1233,25 @@ hexadecimal representation.")
     (synopsis "Fast functions for printing integer primitives")
     (description "This crate provides fast functions for printing integer
 primitives to an @code{io::Write}.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
 (define-public rust-itoa-0.1
  (package
-   (inherit rust-itoa)
+   (inherit rust-itoa-0.4)
    (name "rust-itoa")
    (version "0.1.1")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "itoa" version))
-       (file-name (string-append name "-" version ".tar.gz"))
+       (file-name (string-append name "-" version ".crate"))
        (sha256
         (base32
          "18g7p2hrb3dk84z3frfgmszfc9hjb4ps9vp99qlb1kmf9gm8hc5f"))))))
 
-(define-public rust-jemalloc-sys
+(define-public rust-jemalloc-sys-0.3
   (package
     (name "rust-jemalloc-sys")
     (version "0.3.2")
@@ -1426,34 +1259,31 @@ primitives to an @code{io::Write}.")
       (origin
         (method url-fetch)
         (uri (crate-uri "jemalloc-sys" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "0ify9vlql01qhfxlj7d4p9jvcp90mj2h69nkbq7slccvbhzryfqd"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-libc" ,rust-libc)
-        ("rust-cc" ,rust-cc)
-        ("rust-fs-extra" ,rust-fs-extra))
-       #:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'override-jemalloc
-           (lambda* (#:key inputs #:allow-other-keys)
-             (let ((jemalloc (assoc-ref inputs "jemalloc")))
-               (delete-file-recursively "jemalloc")
-               (setenv "JEMALLOC_OVERRIDE"
-                       (string-append jemalloc "/lib/libjemalloc_pic.a")))
-             #t)))))
-    (inputs
-     `(("jemalloc" ,jemalloc)))
+    ;(arguments
+    ; `(#:phases
+    ;   (modify-phases %standard-phases
+    ;     (add-after 'unpack 'override-jemalloc
+    ;       (lambda* (#:key inputs #:allow-other-keys)
+    ;         (let ((jemalloc (assoc-ref inputs "jemalloc")))
+    ;           (delete-file-recursively "jemalloc")
+    ;           (setenv "JEMALLOC_OVERRIDE"
+    ;                   (string-append jemalloc "/lib/libjemalloc_pic.a")))
+    ;         #t)))))
+    ;(inputs
+    ; `(("jemalloc" ,jemalloc)))
     (home-page "https://github.com/gnzlbg/jemallocator")
     (synopsis "Rust FFI bindings to jemalloc")
     (description "This package provides Rust FFI bindings to jemalloc.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-json
+(define-public rust-json-0.11
   (package
     (name "rust-json")
     (version "0.11.14")
@@ -1461,7 +1291,7 @@ primitives to an @code{io::Write}.")
       (origin
         (method url-fetch)
         (uri (crate-uri "json" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "1hj8c6xj5c2aqqszi8naaflmcdbya1i9byyjrq4iybxjb4q91mq1"))))
@@ -1470,10 +1300,11 @@ primitives to an @code{io::Write}.")
     (synopsis "JSON implementation in Rust")
     (description "This crate provides a JSON implementation in Rust, reducing
 friction with idiomatic Rust structs to ease interopability.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-kernel32-sys
+(define-public rust-kernel32-sys-0.2
   (package
     (name "rust-kernel32-sys")
     (version "0.2.2")
@@ -1481,29 +1312,19 @@ friction with idiomatic Rust structs to ease interopability.")
       (origin
         (method url-fetch)
         (uri (crate-uri "kernel32-sys" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "1389av0601a9yz8dvx5zha9vmkd6ik7ax0idpb032d28555n41vm"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-winapi" ,rust-winapi-0.2)
-        ("rust-winapi-build" ,rust-winapi-build))
-       #:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'fix-Cargo-toml
-           (lambda _
-             (substitute* "Cargo.toml"
-               ((", path =.* }") "}\n"))
-             #t)))))
     (home-page "https://github.com/retep998/winapi-rs")
     (synopsis "Function definitions for the Windows API library kernel32")
     (description "Contains function definitions for the Windows API library
 kernel32.")
+    (properties '((hidden? . #t)))
     (license license:expat)))
 
-(define-public rust-language-tags
+(define-public rust-language-tags-0.2
   (package
     (name "rust-language-tags")
     (version "0.2.2")
@@ -1511,16 +1332,11 @@ kernel32.")
       (origin
         (method url-fetch)
         (uri (crate-uri "language-tags" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "16hrjdpa827carq5x4b8zhas24d8kg4s16m6nmmn1kb7cr5qh7d9"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-heapsize" ,rust-heapsize-0.3))
-       #:cargo-development-inputs
-       (("rust-heapsize-plugin" ,rust-heapsize-plugin))))
     (home-page "https://github.com/pyfisch/rust-language-tags")
     (synopsis "Language tags for Rust")
     (description
@@ -1529,9 +1345,10 @@ script, countries and other regions.  They are commonly used in HTML and HTTP
 @code{Content-Language} and @code{Accept-Language} header fields.  This package
 currently supports parsing (fully conformant parser), formatting and comparing
 language tags.")
+    (properties '((hidden? . #t)))
     (license license:expat)))
 
-(define-public rust-lazy-static
+(define-public rust-lazy-static-1.3
   (package
     (name "rust-lazy-static")
     (version "1.3.0")
@@ -1539,13 +1356,11 @@ language tags.")
       (origin
         (method url-fetch)
         (uri (crate-uri "lazy_static" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "052ac27w189hrf1j3hz7sga46rp84zl2hqnzyihxv78mgzr2jmxw"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs (("rust-spin" ,rust-spin))))
     (home-page  "https://github.com/rust-lang-nursery/lazy-static.rs")
     (synopsis "Macro for declaring lazily evaluated statics in Rust")
     (description
@@ -1554,10 +1369,11 @@ Rust.  Using this macro, it is possible to have @code{static}s that require code
 to be executed at runtime in order to be initialized.  This includes anything
 requiring heap allocations, like vectors or hash maps, as well as anything that
 requires non-const function calls to be computed.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-libc
+(define-public rust-libc-0.2
   (package
     (name "rust-libc")
     (version "0.2.62")
@@ -1566,14 +1382,11 @@ requires non-const function calls to be computed.")
        (method url-fetch)
        (uri (crate-uri "libc" version))
        (file-name
-        (string-append name "-" version ".tar.gz"))
+        (string-append name "-" version ".crate"))
        (sha256
         (base32
          "1fh69kpjg8hqff36kdczx7sax98gk4qs4ws1dwvjz0rgip0d5z1l"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core))))
     (home-page "https://github.com/rust-lang/libc")
     (synopsis "Raw FFI bindings to platform libraries like libc")
     (description
@@ -1586,10 +1399,11 @@ This crate exports all underlying platform types, functions, and
 constants under the crate root, so all items are accessible as
 @samp{libc::foo}.  The types and values of all the exported APIs match
 the platform that libc is compiled for.")
+    (properties '((hidden? . #t)))
     (license (list license:expat
                    license:asl2.0))))
 
-(define-public rust-libgit2-sys
+(define-public rust-libgit2-sys-0.8
   (package
     (name "rust-libgit2-sys")
     (version "0.8.2")
@@ -1597,72 +1411,52 @@ the platform that libc is compiled for.")
       (origin
         (method url-fetch)
         (uri (crate-uri "libgit2-sys" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "0y2mibmx7wy91s2kmb2gfb29mrqlqaxpy5wcwr8s1lwws7b9w5sc")) ))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-libc" ,rust-libc)
-        ("rust-libssh2-sys" ,rust-libssh2-sys)
-        ("rust-libz-sys" ,rust-libz-sys)
-        ("rust-openssl-sys" ,rust-openssl-sys))
-       #:cargo-development-inputs
-       (("rust-cc" ,rust-cc)
-        ("rust-pkg-config" ,rust-pkg-config))
-      #:phases
-      (modify-phases %standard-phases
-        (add-after 'unpack 'find-openssl
-          (lambda* (#:key inputs #:allow-other-keys)
-            (let ((openssl (assoc-ref inputs "openssl")))
-              (setenv "OPENSSL_DIR" openssl))
-            (delete-file-recursively "libgit2")
-            (setenv "LIBGIT2_SYS_USE_PKG_CONFIG" "1")
-            (setenv "LIBSSH2_SYS_USE_PKG_CONFIG" "1")
-            #t)))))
-    (native-inputs
-     `(("pkg-config" ,pkg-config)))
-    (inputs
-     `(("libgit2" ,libgit2)
-       ("openssl" ,openssl)
-       ("zlib" ,zlib)))
+    ;(arguments
+    ; `(#:phases
+    ;  (modify-phases %standard-phases
+    ;    (add-after 'unpack 'find-openssl
+    ;      (lambda* (#:key inputs #:allow-other-keys)
+    ;        (let ((openssl (assoc-ref inputs "openssl")))
+    ;          (setenv "OPENSSL_DIR" openssl))
+    ;        (delete-file-recursively "libgit2")
+    ;        (setenv "LIBGIT2_SYS_USE_PKG_CONFIG" "1")
+    ;        (setenv "LIBSSH2_SYS_USE_PKG_CONFIG" "1")
+    ;        #t)))))
+    ;(native-inputs
+    ; `(("pkg-config" ,pkg-config)))
+    ;(inputs
+    ; `(("libgit2" ,libgit2)
+    ;   ("openssl" ,openssl)
+    ;   ("zlib" ,zlib)))
     (home-page "https://github.com/rust-lang/git2-rs")
     (synopsis "Native bindings to the libgit2 library")
     (description
      "This package provides native rust bindings to the @code{libgit2} library.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
 (define-public rust-libgit2-sys-0.7
   (package
-    (inherit rust-libgit2-sys)
+    (inherit rust-libgit2-sys-0.8)
     (name "rust-libgit2-sys")
     (version "0.7.11")
     (source
       (origin
         (method url-fetch)
         (uri (crate-uri "libgit2-sys" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "1wcvg2qqra2aviasvqcscl8gb2rnjnd6h998wy5dlmf2bnriqi28"))))
-    (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-curl-sys" ,rust-curl-sys)
-        ("rust-libc" ,rust-libc)
-        ("rust-libssh2-sys" ,rust-libssh2-sys)
-        ("rust-libz-sys" ,rust-libz-sys)
-        ("rust-openssl-sys" ,rust-openssl-sys))
-       #:cargo-development-inputs
-       (("rust-cc" ,rust-cc)
-        ("rust-pkg-config" ,rust-pkg-config))))
-   (inputs
-    `(("curl" ,curl)
-      ,@(package-inputs rust-libgit2-sys)))))
+    (build-system cargo-build-system)))
 
-(define-public rust-libloading
+(define-public rust-libloading-0.5
   (package
     (name "rust-libloading")
     (version "0.5.2")
@@ -1670,15 +1464,11 @@ the platform that libc is compiled for.")
       (origin
         (method url-fetch)
         (uri (crate-uri "libloading" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "0lyply8rcqc8agajzxs7bq6ivba9dnn1i68kgb9z2flnfjh13cgj"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-cc" ,rust-cc)
-        ("rust-winapi" ,rust-winapi))))
     (home-page "https://github.com/nagisa/rust_libloading/")
     (synopsis "Rust library for loading dynamic libraries")
     (description
@@ -1687,9 +1477,10 @@ The most important safety guarantee by this library is prevention of
 dangling-Symbols that may occur after a Library is unloaded.  Using this library
 allows loading dynamic libraries (also known as shared libraries) as well as use
 functions and static variables these libraries contain.")
+    (properties '((hidden? . #t)))
     (license license:isc)))
 
-(define-public rust-libssh2-sys
+(define-public rust-libssh2-sys-0.2
   (package
     (name "rust-libssh2-sys")
     (version "0.2.12")
@@ -1697,45 +1488,37 @@ functions and static variables these libraries contain.")
       (origin
         (method url-fetch)
         (uri (crate-uri "libssh2-sys" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "1zb6gsw795nq848nk5x2smzpfnn1s15wjlzjnvr8ihlz2l5x2549"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-libc" ,rust-libc)
-        ("rust-libz-sys" ,rust-libz-sys)
-        ("rust-openssl-sys" ,rust-openssl-sys))
-       #:cargo-development-inputs
-       (("rust-cc" ,rust-cc)
-        ("rust-openssl-src" ,rust-openssl-src)
-        ("rust-pkg-config" ,rust-pkg-config)
-        ("rust-vcpkg" ,rust-vcpkg))
-      #:phases
-      (modify-phases %standard-phases
-        (add-after 'unpack 'find-openssl
-          (lambda* (#:key inputs #:allow-other-keys)
-            (let ((openssl (assoc-ref inputs "openssl")))
-              (setenv "OPENSSL_DIR" openssl))
-            (delete-file-recursively "libssh2")
-            (setenv "LIBSSH2_SYS_USE_PKG_CONFIG" "1")
-            #t)))))
-    (native-inputs
-     `(("pkg-config" ,pkg-config)))
-    (inputs
-     `(("libssh2" ,libssh2)
-       ("openssl" ,openssl)
-       ("zlib" ,zlib)))
+    ;(arguments
+    ; `(#:phases
+    ;  (modify-phases %standard-phases
+    ;    (add-after 'unpack 'find-openssl
+    ;      (lambda* (#:key inputs #:allow-other-keys)
+    ;        (let ((openssl (assoc-ref inputs "openssl")))
+    ;          (setenv "OPENSSL_DIR" openssl))
+    ;        (delete-file-recursively "libssh2")
+    ;        (setenv "LIBSSH2_SYS_USE_PKG_CONFIG" "1")
+    ;        #t)))))
+    ;(native-inputs
+    ; `(("pkg-config" ,pkg-config)))
+    ;(inputs
+    ; `(("libssh2" ,libssh2)
+    ;   ("openssl" ,openssl)
+    ;   ("zlib" ,zlib)))
     (home-page "https://github.com/alexcrichton/ssh2-rs")
     (synopsis "Native bindings to the libssh2 library")
     (description
      "This package provides native rust bindings to the @code{libssh2} library.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
 
-(define-public rust-lock-api
+(define-public rust-lock-api-0.1
   (package
     (name "rust-lock-api")
     (version "0.1.5")
@@ -1743,24 +1526,21 @@ functions and static variables these libraries contain.")
       (origin
         (method url-fetch)
         (uri (crate-uri "lock_api" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "0b24q9mh258xa52ap636q1sxz0j5vrnp0hwbbh7ddjka3wwz3sv2"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-owning-ref" ,rust-owning-ref)
-        ("rust-scopeguard" ,rust-scopeguard-0.3))))
     (home-page "https://github.com/Amanieu/parking_lot")
     (synopsis "Wrappers to create fully-featured Mutex and RwLock types")
     (description
      "This package provides wrappers to create fully-featured @code{Mutex} and
 @code{RwLock} types.  It is compatible with @code{no_std}.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-log
+(define-public rust-log-0.3
   (package
     (name "rust-log")
     (version "0.3.8")
@@ -1768,7 +1548,7 @@ functions and static variables these libraries contain.")
       (origin
         (method url-fetch)
         (uri (crate-uri "log" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "0nsn28syc49vvjhxcfc8261rd1frhjc0r4bn9v3mqvps3ra7f3w8"))))
@@ -1777,10 +1557,11 @@ functions and static variables these libraries contain.")
     (synopsis "Lightweight logging")
     (description
      "This package provides a lightweight logging facade for Rust")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-lzma-sys
+(define-public rust-lzma-sys-0.1
   (package
     (name "rust-lzma-sys")
     (version "0.1.15")
@@ -1788,35 +1569,32 @@ functions and static variables these libraries contain.")
       (origin
         (method url-fetch)
         (uri (crate-uri "lzma-sys" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "14gyj256yh0wm77jbvmlc39v7lfn0navpfrja4alczarzlc8ir2k"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-cc" ,rust-cc)
-        ("rust-libc" ,rust-libc)
-        ("rust-pkg-config" ,rust-pkg-config))
-        #:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'unbundle-xz
-           (lambda* (#:key inputs #:allow-other-keys)
-             (let ((xz (assoc-ref inputs "xz")))
-               (delete-file-recursively "xz-5.2"))
-             #t)))))
-    (inputs
-     `(("pkg-config" ,pkg-config)
-       ("xz" ,xz)))
+    ;(arguments
+    ; `(#:phases
+    ;   (modify-phases %standard-phases
+    ;     (add-after 'unpack 'unbundle-xz
+    ;       (lambda* (#:key inputs #:allow-other-keys)
+    ;         (let ((xz (assoc-ref inputs "xz")))
+    ;           (delete-file-recursively "xz-5.2"))
+    ;         #t)))))
+    ;(inputs
+    ; `(("pkg-config" ,pkg-config)
+    ;   ("xz" ,xz)))
     (home-page "https://github.com/alexcrichton/xz2-rs")
     (synopsis "Bindings to liblzma for lzma and xz stream encoding/decoding")
     (description
      "This package contains the raw bindings to liblzma which contains an
 implementation of LZMA and xz stream encoding/decoding.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-maplit
+(define-public rust-maplit-1.0
   (package
     (name "rust-maplit")
     (version "1.0.1")
@@ -1824,7 +1602,7 @@ implementation of LZMA and xz stream encoding/decoding.")
       (origin
         (method url-fetch)
         (uri (crate-uri "maplit" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "0hsczmvd6zkqgzqdjp5hfyg7f339n68w83n4pxvnsszrzssbdjq8"))))
@@ -1833,10 +1611,11 @@ implementation of LZMA and xz stream encoding/decoding.")
     (synopsis "Collection of Map macros")
     (description "This crate provides a collection of @code{literal} macros for
 @code{HashMap}, @code{HashSet}, @code{BTreeMap}, and @code{BTreeSet.}")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-matches
+(define-public rust-matches-0.1
   (package
     (name "rust-matches")
     (version "0.1.8")
@@ -1844,7 +1623,7 @@ implementation of LZMA and xz stream encoding/decoding.")
       (origin
         (method url-fetch)
         (uri (crate-uri "matches" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "020axl4q7rk9vz90phs7f8jas4imxal9y9kxl4z4v7a6719mrz3z"))))
@@ -1853,9 +1632,10 @@ implementation of LZMA and xz stream encoding/decoding.")
     (synopsis "Macro to evaluate whether an expression matches a pattern.")
     (description "This package provides a macro to evaluate, as a boolean,
 whether an expression matches a pattern.")
+    (properties '((hidden? . #t)))
     (license license:expat)))
 
-(define-public rust-md5
+(define-public rust-md5-0.6
   (package
     (name "rust-md5")
     (version "0.6.1")
@@ -1863,7 +1643,7 @@ whether an expression matches a pattern.")
       (origin
         (method url-fetch)
         (uri (crate-uri "md5" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "17b2xm4h4cvxsdjsf3kdrzqv2za60kak961xzi5kmw6g6djcssvy"))))
@@ -1871,10 +1651,11 @@ whether an expression matches a pattern.")
     (home-page "https://github.com/stainless-steel/md5")
     (synopsis "MD5 hash function in Rust")
     (description "The package provides the MD5 hash function.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-memmap
+(define-public rust-memmap-0.7
   (package
     (name "rust-memmap")
     (version "0.7.0")
@@ -1882,46 +1663,35 @@ whether an expression matches a pattern.")
       (origin
         (method url-fetch)
         (uri (crate-uri "memmap" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "0ns7kkd1h4pijdkwfvw4qlbbmqmlmzwlq3g2676dcl5vwyazv1b5"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-libc" ,rust-libc)
-        ("rust-winapi" ,rust-winapi))
-       #:cargo-development-inputs
-       (("rust-tempdir" ,rust-tempdir))))
     (home-page "https://github.com/danburkert/memmap-rs")
     (synopsis "Rust library for cross-platform memory mapped IO")
     (description
      "This package provides a cross-platform Rust API for memory-mapped
 file IO.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
 (define-public rust-memmap-0.6
   (package
-    (inherit rust-memmap)
+    (inherit rust-memmap-0.7)
     (name "rust-memmap")
     (version "0.6.2")
     (source
       (origin
         (method url-fetch)
         (uri (crate-uri "memmap" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
-          "1zy6s0ni0lx9rjzq3gq2zz9r8zgjmbp02332g3gsj4fyhv4s5zz2"))))
-    (arguments
-     `(#:cargo-inputs
-       (("rust-libc" ,rust-libc)
-        ("rust-winapi" ,rust-winapi))
-       #:cargo-development-inputs
-       (("rust-tempdir" ,rust-tempdir))))))
+          "1zy6s0ni0lx9rjzq3gq2zz9r8zgjmbp02332g3gsj4fyhv4s5zz2"))))))
 
-(define-public rust-mime
+(define-public rust-mime-0.3
   (package
     (name "rust-mime")
     (version "0.3.13")
@@ -1929,22 +1699,20 @@ file IO.")
       (origin
         (method url-fetch)
         (uri (crate-uri "mime" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "09clbyvdkwflp8anwjhqdib0sw8191gphcchdp80nc8ayhhwl9ry"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-unicase" ,rust-unicase))))
     (home-page "https://github.com/hyperium/mime")
     (synopsis "Strongly Typed Mimes")
     (description
      "Support MIME (HTTP Media Types) as strong types in Rust.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-miniz-oxide
+(define-public rust-miniz-oxide-0.3
   (package
     (name "rust-miniz-oxide")
     (version "0.3.3")
@@ -1952,29 +1720,20 @@ file IO.")
       (origin
         (method url-fetch)
         (uri (crate-uri "miniz_oxide" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32 "1bmanbbcdmssfbgik3fs323g7vljc5wkjz7s61jsbbz2kg0nckrh"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-adler32" ,rust-adler32))
-       #:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'fix-tests
-           (lambda _
-             (substitute* "tests/test.rs"
-               (("../miniz/miniz.c") "Cargo.toml"))
-             #t)))))
     (home-page  "https://github.com/Frommi/miniz_oxide/tree/master/miniz_oxide")
     (synopsis "Pure rust replacement for the miniz DEFLATE/zlib encoder/decoder")
     (description
      "A pure rust replacement for the miniz DEFLATE/zlib encoder/decoder.  Using
 @code{flate2} with the @code{rust_backend} feature provides an easy to use
 streaming API for miniz_oxide.")
+    (properties '((hidden? . #t)))
     (license license:expat)))
 
-(define-public rust-miniz-sys
+(define-public rust-miniz-sys-0.1
   (package
     (name "rust-miniz-sys")
     (version "0.1.12")
@@ -1982,23 +1741,20 @@ streaming API for miniz_oxide.")
       (origin
         (method url-fetch)
         (uri (crate-uri "miniz-sys" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "00l2r4anm8g35x0js2zfdnwfbrih9m43vphdpb77c5ga3kjkm7hy"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-cc" ,rust-cc)
-        ("rust-libc" ,rust-libc))))
     (home-page "https://github.com/alexcrichton/flate2-rs")
     (synopsis "Bindings to the miniz.c library")
     (description
      "This package provides bindings to the @code{miniz.c} library.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-miow
+(define-public rust-miow-0.3
   (package
     (name "rust-miow")
     (version "0.3.3")
@@ -2006,48 +1762,35 @@ streaming API for miniz_oxide.")
       (origin
         (method url-fetch)
         (uri (crate-uri "miow" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "09ljvx6wg30f2xlv7b7hhpkw7k312n3hjgmrbhwzhz9x03ra0sir"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-socket2" ,rust-socket2)
-        ("rust-winapi" ,rust-winapi))
-       #:cargo-development-inputs
-       (("rust-rand" ,rust-rand))))
     (home-page "https://github.com/alexcrichton/miow")
     (synopsis "Rust I/O library for Windows")
     (description
      "This package provides a zero overhead I/O library for Windows, focusing on
 IOCP and Async I/O abstractions.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
 (define-public rust-miow-0.2
   (package
-    (inherit rust-miow)
+    (inherit rust-miow-0.3)
     (name "rust-miow")
     (version "0.2.1")
     (source
       (origin
         (method url-fetch)
         (uri (crate-uri "miow" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
-          "06g9b8sqlh5gxakwqq4rrib07afwanfnxgxajrldwcgk3hxjy7wc"))))
-    (arguments
-     `(#:cargo-inputs
-       (("rust-kernel32-sys" ,rust-kernel32-sys)
-        ("rust-net2" ,rust-net2)
-        ("rust-winapi" ,rust-winapi-0.2)
-        ("rust-ws2-32-sys" ,rust-ws2-32-sys))
-       #:cargo-development-inputs
-       (("rust-rand" ,rust-rand-0.3))))))
+          "06g9b8sqlh5gxakwqq4rrib07afwanfnxgxajrldwcgk3hxjy7wc"))))))
 
-(define-public rust-modifier
+(define-public rust-modifier-0.1
   (package
     (name "rust-modifier")
     (version "0.1.0")
@@ -2055,7 +1798,7 @@ IOCP and Async I/O abstractions.")
       (origin
         (method url-fetch)
         (uri (crate-uri "modifier" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "0n3fmgli1nsskl0whrfzm1gk0rmwwl6pw1q4nb9sqqmn5h8wkxa1"))))
@@ -2065,9 +1808,10 @@ IOCP and Async I/O abstractions.")
       "Chaining APIs for both self -> Self and &mut self methods.")
     (description
       "Chaining APIs for both self -> Self and &mut self methods.")
+    (properties '((hidden? . #t)))
     (license license:expat)))
 
-(define-public rust-net2
+(define-public rust-net2-0.2
   (package
     (name "rust-net2")
     (version "0.2.33")
@@ -2075,25 +1819,21 @@ IOCP and Async I/O abstractions.")
       (origin
         (method url-fetch)
         (uri (crate-uri "net2" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "126g3fgfxp06zimc1l9iyxnn9cif1hjsg7sd81nlls5nnyghsma2"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-cfg-if" ,rust-cfg-if)
-        ("rust-libc" ,rust-libc)
-        ("rust-winapi" ,rust-winapi))))
     (home-page "https://github.com/rust-lang-nursery/net2-rs")
     (synopsis "Extensions to the standard library's networking types")
     (description
      "This library contains extensions to the standard library's networking
 types as proposed in RFC 1158.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-netlib-src
+(define-public rust-netlib-src-0.7
   (package
     (name "rust-netlib-src")
     (version "0.7.4")
@@ -2101,35 +1841,23 @@ types as proposed in RFC 1158.")
       (origin
         (method url-fetch)
         (uri (crate-uri "netlib-src" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "112hwfw1zzdj10h3j213xxqjrq38iygb3nb3ijay65ycmrg819s4"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-development-inputs
-       (("rust-cmake" ,rust-cmake)
-        ("rust-libc" ,rust-libc))
-       #:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'use-system-lapack
-           (lambda _
-             (delete-file-recursively "source")
-             (substitute* "Cargo.toml"
-               (("default .*")
-                "default = [\"system\"]\n"))
-             #t)))))
-    (inputs
-     `(("gfortran:lib" ,gfortran "lib")
-       ("lapack" ,lapack)))
+    ;(inputs
+    ; `(("gfortran:lib" ,gfortran "lib")
+    ;   ("lapack" ,lapack)))
     (home-page "https://github.com/blas-lapack-rs/netlib-src")
     (synopsis "Source of BLAS and LAPACK via Netlib")
     (description
      "The package provides a source of BLAS and LAPACK via Netlib.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-libnghttp2-sys
+(define-public rust-libnghttp2-sys-0.1
   (package
     (name "rust-libnghttp2-sys")
     (version "0.1.2")
@@ -2137,26 +1865,22 @@ types as proposed in RFC 1158.")
       (origin
         (method url-fetch)
         (uri (crate-uri "libnghttp2-sys" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "0qr4lyh7righx9n22c7amlcpk906rn1jnb2zd6gdfpa3yi24s982"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-libc" ,rust-libc))
-       #:cargo-development-inputs
-       (("rust-cc" ,rust-cc))))
-    (inputs
-     `(("nghttp2" ,nghttp2)))
+    ;(inputs
+    ; `(("nghttp2" ,nghttp2)))
     (home-page "https://github.com/alexcrichton/nghttp2-rs")
     (synopsis "FFI bindings for libnghttp2 (nghttp2)")
     (description
      "This package provides FFI bindings for libnghttp2 (nghttp2).")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-libz-sys
+(define-public rust-libz-sys-1.0
   (package
     (name "rust-libz-sys")
     (version "1.0.25")
@@ -2164,35 +1888,31 @@ types as proposed in RFC 1158.")
       (origin
         (method url-fetch)
         (uri (crate-uri "libz-sys" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "1gjycyl2283525abks98bhxa4r259m617xfm5z52p3p3c8ry9d9f"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-libc" ,rust-libc)
-        ("rust-cc" ,rust-cc)
-        ("rust-pkg-config" ,rust-pkg-config)
-        ("rust-vcpkg" ,rust-vcpkg))
-       #:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'delete-vendored-zlib
-           (lambda _
-             (delete-file-recursively "src/zlib")
-             #t)))))
-    (inputs
-     `(("pkg-config" ,pkg-config)
-       ("zlib" ,zlib)))
+    ;(arguments
+    ; `(#:phases
+    ;   (modify-phases %standard-phases
+    ;     (add-after 'unpack 'delete-vendored-zlib
+    ;       (lambda _
+    ;         (delete-file-recursively "src/zlib")
+    ;         #t)))))
+    ;(inputs
+    ; `(("pkg-config" ,pkg-config)
+    ;   ("zlib" ,zlib)))
     (home-page "https://github.com/rust-lang/libz-sys")
     (synopsis "Bindings to the system libz library")
     (description
      "This package provides bindings to the system @code{libz} library (also
 known as zlib).")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-nodrop
+(define-public rust-nodrop-0.1
   (package
     (name "rust-nodrop")
     (version "0.1.13")
@@ -2200,24 +1920,22 @@ known as zlib).")
       (origin
         (method url-fetch)
         (uri (crate-uri "nodrop" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "0if9ifn6rvar5jirx4b3qh4sl5kjkmcifycvzhxa9j3crkfng5ig"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-nodrop-union" ,rust-nodrop-union))))
     (home-page "https://github.com/bluss/arrayvec")
     (synopsis "Wrapper type to inhibit drop (destructor)")
     (description "This package provides a wrapper type to inhibit drop
 (destructor).  Use @code{std::mem::ManuallyDrop} instead!")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
 ;; This package requires features which are unavailable
 ;; on the stable releases of Rust.
-(define-public rust-nodrop-union
+(define-public rust-nodrop-union-0.1
   (package
     (name "rust-nodrop-union")
     (version "0.1.10")
@@ -2225,7 +1943,7 @@ known as zlib).")
       (origin
         (method url-fetch)
         (uri (crate-uri "nodrop-union" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "0jsnkdn9l8jlmb9h4wssi76sxnyxwnyi00p6y1p2gdq7c1gdw2b7"))))
@@ -2239,7 +1957,7 @@ implementation (which is unstable / requires nightly).")
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-num-cpus
+(define-public rust-num-cpus-1.10
   (package
     (name "rust-num-cpus")
     (version "1.10.1")
@@ -2247,24 +1965,20 @@ implementation (which is unstable / requires nightly).")
       (origin
         (method url-fetch)
         (uri (crate-uri "num_cpus" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "0wrj3zvj6h3q26sqj9zxpd59frjb54n7jhjwf307clq31ic47vxw"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-libc" ,rust-libc))
-       #:cargo-development-inputs
-       (("rust-doc-comment" ,rust-doc-comment))))
     (home-page "https://github.com/seanmonstar/num_cpus")
     (synopsis "Get the number of CPUs on a machine")
     (description
      "Get the number of CPUs on a machine.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-num-integer
+(define-public rust-num-integer-0.1
   (package
     (name "rust-num-integer")
     (version "0.1.41")
@@ -2273,23 +1987,20 @@ implementation (which is unstable / requires nightly).")
        (method url-fetch)
        (uri (crate-uri "num-integer" version))
        (file-name
-        (string-append name "-" version ".tar.gz"))
+        (string-append name "-" version ".crate"))
        (sha256
         (base32
          "02dwjjpfbi16c71fq689s4sw3ih52cvfzr5z5gs6qpr5z0g58pmq"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-autocfg" ,rust-autocfg)
-        ("rust-num-traits" ,rust-num-traits))))
     (home-page "https://github.com/rust-num/num-integer")
     (synopsis "Integer traits and functions")
     (description "Integer traits and functions.")
+    (properties '((hidden? . #t)))
     ;; Dual licensed.
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-num-iter
+(define-public rust-num-iter-0.1
   (package
     (name "rust-num-iter")
     (version "0.1.39")
@@ -2297,25 +2008,20 @@ implementation (which is unstable / requires nightly).")
       (origin
         (method url-fetch)
         (uri (crate-uri "num-iter" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "0bhk2qbr3261r6zvfc58lz4spfqjhvdripxgz5mks5rd85r55gbn"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-num-integer" ,rust-num-integer)
-        ("rust-num-traits" ,rust-num-traits))
-       #:cargo-development-inputs
-       (("rust-autocfg" ,rust-autocfg))))
     (home-page "https://github.com/rust-num/num-iter")
     (synopsis "External iterators for generic mathematics")
     (description
      "This crate provides external iterators for generic mathematics.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-num-traits
+(define-public rust-num-traits-0.2
   (package
     (name "rust-num-traits")
     (version "0.2.8")
@@ -2324,40 +2030,35 @@ implementation (which is unstable / requires nightly).")
        (method url-fetch)
        (uri (crate-uri "num-traits" version))
        (file-name
-        (string-append name "-" version ".tar.gz"))
+        (string-append name "-" version ".crate"))
        (sha256
         (base32
          "0clvrm34rrqc8p6gq5ps5fcgws3kgq5knh7nlqxf2ayarwks9abb"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-autocfg" ,rust-autocfg))))
     (home-page "https://github.com/rust-num/num-traits")
     (synopsis "Numeric traits for generic mathematics")
     (description "Numeric traits for generic mathematics.")
+    (properties '((hidden? . #t)))
     ;; Dual licensed.
     (license (list license:asl2.0
                    license:expat))))
 
 (define-public rust-num-traits-0.1
   (package
-    (inherit rust-num-traits)
+    (inherit rust-num-traits-0.2)
     (name "rust-num-traits")
     (version "0.1.43")
     (source
       (origin
         (method url-fetch)
         (uri (crate-uri "num-traits" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "0c9whknf2dm74a3cqirafy6gj83a76gl56g4v3g19k6lkwz13rcj"))))
-    (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-num-traits" ,rust-num-traits))))))
+    (build-system cargo-build-system)))
 
-(define-public rust-openssl-probe
+(define-public rust-openssl-probe-0.1
   (package
     (name "rust-openssl-probe")
     (version "0.1.2")
@@ -2365,7 +2066,7 @@ implementation (which is unstable / requires nightly).")
       (origin
         (method url-fetch)
         (uri (crate-uri "openssl-probe" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "1pijrdifgsdwd45b08c2g0dsmnhz7c3kmagb70839ngrd7d29bvp"))))
@@ -2375,10 +2076,11 @@ implementation (which is unstable / requires nightly).")
     (description
      "This package provides a tool to find SSL certificate locations on the
 system for OpenSSL.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-openssl-src
+(define-public rust-openssl-src-111
   (package
     (name "rust-openssl-src")
     (version "111.6.0+1.1.1d")
@@ -2386,21 +2088,20 @@ system for OpenSSL.")
       (origin
         (method url-fetch)
         (uri (crate-uri "openssl-src" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "172xh95hp7aygahah1940kg1dnx60c5m80cwj5hgi8x7x0fxmhmr"))))
     (build-system cargo-build-system)
-    (arguments
-      `(#:cargo-inputs (("rust-cc" ,rust-cc))))
     (home-page "https://github.com/alexcrichton/openssl-src-rs")
     (synopsis "Source of OpenSSL for rust crates")
     (description
      "This package contains the source of OpenSSL and logic to build it.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-openssl-sys
+(define-public rust-openssl-sys-0.9
   (package
     (name "rust-openssl-sys")
     (version "0.9.50")
@@ -2408,37 +2109,29 @@ system for OpenSSL.")
       (origin
         (method url-fetch)
         (uri (crate-uri "openssl-sys" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32 "1dn3capgiz77s6rpmc2sf8gadwkmhwgfd6mw4rcnnm9jp36dqhic"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-autocfg" ,rust-autocfg)
-        ("rust-libc" ,rust-libc))
-       #:cargo-development-inputs
-       (("rust-autocfg" ,rust-autocfg)
-        ("rust-cc" ,rust-cc)
-        ("rust-openssl-src" ,rust-openssl-src)
-        ("rust-pkg-config" ,rust-pkg-config)
-        ("rust-vcpkg" ,rust-vcpkg))
-       #:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'find-openssl
-           (lambda* (#:key inputs #:allow-other-keys)
-             (let ((openssl (assoc-ref inputs "openssl")))
-               (setenv "OPENSSL_DIR" openssl))
-             #t)))))
-    (inputs
-     `(("openssl" ,openssl)
-       ("pkg-config" ,pkg-config)))
+    ;(arguments
+    ; `(#:phases
+    ;   (modify-phases %standard-phases
+    ;     (add-after 'unpack 'find-openssl
+    ;       (lambda* (#:key inputs #:allow-other-keys)
+    ;         (let ((openssl (assoc-ref inputs "openssl")))
+    ;           (setenv "OPENSSL_DIR" openssl))
+    ;         #t)))))
+    ;(inputs
+    ; `(("openssl" ,openssl)
+    ;   ("pkg-config" ,pkg-config)))
     (home-page "https://github.com/sfackler/rust-openssl")
     (synopsis "FFI bindings to OpenSSL")
     (description
      "This package provides FFI bindings to OpenSSL for use in rust crates.")
+    (properties '((hidden? . #t)))
     (license license:expat)))
 
-(define-public rust-owning-ref
+(define-public rust-owning-ref-0.4
   (package
     (name "rust-owning-ref")
     (version "0.4.0")
@@ -2446,23 +2139,21 @@ system for OpenSSL.")
       (origin
         (method url-fetch)
         (uri (crate-uri "owning_ref" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "04zgwy77lin8qz398s6g44467pd6kjhbrlqifkia5rkr47mbi929"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-stable-deref-trait" ,rust-stable-deref-trait))))
     (home-page "https://github.com/Kimundi/owning-ref-rs")
     (synopsis "Create references that carry their owner with them")
     (description
      "This package provides a library for creating references that carry their
 owner with them.  This can sometimes be useful because Rust borrowing rules
 normally prevent moving a type that has been borrowed from.")
+    (properties '((hidden? . #t)))
     (license license:expat)))
 
-(define-public rust-parity-wasm
+(define-public rust-parity-wasm-0.40
   (package
     (name "rust-parity-wasm")
     (version "0.40.1")
@@ -2470,24 +2161,21 @@ normally prevent moving a type that has been borrowed from.")
       (origin
         (method url-fetch)
         (uri (crate-uri "parity-wasm" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "1p84f0k36q05j18jy66n122lyali794cj78hbxgy9wj6si84plqd"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-development-inputs
-       (("rust-time" ,rust-time))
-       #:tests? #f)) ; Test files are not included in release.
     (home-page "https://github.com/paritytech/parity-wasm")
     (synopsis "Low-level WebAssembly format library")
     (description
      "This package provides a WebAssembly binary format serialization,
 deserialization, and interpreter in Rust.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-peeking-take-while
+(define-public rust-peeking-take-while-0.1
   (package
     (name "rust-peeking-take-while")
     (version "0.1.2")
@@ -2495,7 +2183,7 @@ deserialization, and interpreter in Rust.")
       (origin
         (method url-fetch)
         (uri (crate-uri "peeking_take_while" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "16bhqr6rdyrp12zv381cxaaqqd0pwysvm1q8h2ygihvypvfprc8r"))))
@@ -2507,10 +2195,11 @@ deserialization, and interpreter in Rust.")
 value.  This allows you to use @code{Iterator::by_ref} and
 @code{Iterator::take_while} together, and still get the first value for which
 the @code{take_while} predicate returned false after dropping the @code{by_ref}.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-percent-encoding
+(define-public rust-percent-encoding-2.1
   (package
     (name "rust-percent-encoding")
     (version "2.1.0")
@@ -2518,7 +2207,7 @@ the @code{take_while} predicate returned false after dropping the @code{by_ref}.
       (origin
         (method url-fetch)
         (uri (crate-uri "percent-encoding" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "0bp3zrsk3kr47fbpipyczidbbx4g54lzxdm77ni1i3qws10mdzfl"))))
@@ -2526,24 +2215,25 @@ the @code{take_while} predicate returned false after dropping the @code{by_ref}.
     (home-page "https://github.com/servo/rust-url/")
     (synopsis "Percent encoding and decoding")
     (description "This crate provides percent encoding and decoding.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-percent-encoding-1
+(define-public rust-percent-encoding-1.0
   (package
-    (inherit rust-percent-encoding)
+    (inherit rust-percent-encoding-2.1)
     (name "rust-percent-encoding")
     (version "1.0.1")
     (source
       (origin
         (method url-fetch)
         (uri (crate-uri "percent-encoding" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "0cgq08v1fvr6bs5fvy390cz830lq4fak8havdasdacxcw790s09i"))))))
 
-(define-public rust-permutohedron
+(define-public rust-permutohedron-0.2
   (package
     (name "rust-permutohedron")
     (version "0.2.4")
@@ -2551,7 +2241,7 @@ the @code{take_while} predicate returned false after dropping the @code{by_ref}.
       (origin
         (method url-fetch)
         (uri (crate-uri "permutohedron" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "0b1pzh48j86v46wxngch6k1kx9cdw3jr3lwa86gd6jd4bmxzz1xn"))))
@@ -2562,10 +2252,11 @@ the @code{take_while} predicate returned false after dropping the @code{by_ref}.
      "Generate permutations of sequences.  Either lexicographical order
 permutations, or a minimal swaps permutation sequence implemented using Heap's
 algorithm.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-pico-sys
+(define-public rust-pico-sys-0.0
   (package
     (name "rust-pico-sys")
     (version "0.0.1")
@@ -2573,22 +2264,19 @@ algorithm.")
       (origin
         (method url-fetch)
         (uri (crate-uri "pico-sys" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "1q5pg0ms6szz6b5h26h4k40zb76zbwwjgyigac4wly9qngdj4yl5"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-gcc" ,rust-gcc)
-        ("rust-libc" ,rust-libc))))
     (home-page "https://github.com/reem/rust-pico-sys")
     (synopsis "Bindings to the PicoHTTPParser")
     (description
      "This package provides bindings to the PicoHTTPParser.")
+    (properties '((hidden? . #t)))
     (license license:expat)))
 
-(define-public rust-pin-utils
+(define-public rust-pin-utils-0.1
   (package
     (name "rust-pin-utils")
     (version "0.1.0-alpha.4")
@@ -2596,7 +2284,7 @@ algorithm.")
       (origin
         (method url-fetch)
         (uri (crate-uri "pin-utils" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "11xmyx00n4m37d546by2rxb8ryxs12v55cc172i3yak1rqccd52q"))))
@@ -2604,10 +2292,11 @@ algorithm.")
     (home-page "https://github.com/rust-lang-nursery/pin-utils")
     (synopsis "Utilities for pinning")
     (description "This crate provides utilities for pinning values on the stack.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-pkg-config
+(define-public rust-pkg-config-0.3
   (package
     (name "rust-pkg-config")
     (version "0.3.14")
@@ -2615,25 +2304,23 @@ algorithm.")
       (origin
         (method url-fetch)
         (uri (crate-uri "pkg-config" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "135ia995lqzr0gxpk85h0bjxf82kj6hbxdx924sh9jdln6r8wvk7"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-development-inputs
-       (("rust-lazy-static" ,rust-lazy-static))))
-    (inputs
-     `(("pkg-config" ,pkg-config)))
+    ;(inputs
+    ; `(("pkg-config" ,pkg-config)))
     (home-page "https://github.com/rust-lang/pkg-config-rs")
     (synopsis "Library to run the pkg-config system tool")
     (description
      "A library to run the pkg-config system tool at build time in order to be
 used in Cargo build scripts.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-plain
+(define-public rust-plain-0.2
   (package
     (name "rust-plain")
     (version "0.2.3")
@@ -2641,7 +2328,7 @@ used in Cargo build scripts.")
       (origin
         (method url-fetch)
         (uri (crate-uri "plain" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "19n1xbxb4wa7w891268bzf6cbwq4qvdb86bik1z129qb0xnnnndl"))))
@@ -2650,10 +2337,11 @@ used in Cargo build scripts.")
     (synopsis "Rust library that allows reinterpreting data safely")
     (description "This package provides a small Rust library that allows users
  to reinterpret data of certain types safely.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-plugin
+(define-public rust-plugin-0.2
   (package
     (name "rust-plugin")
     (version "0.2.6")
@@ -2661,23 +2349,19 @@ used in Cargo build scripts.")
       (origin
         (method url-fetch)
         (uri (crate-uri "plugin" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "1q7nghkpvxxr168y2jnzh3w7qc9vfrby9n7ygy3xpj0bj71hsshs"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-typemap" ,rust-typemap))
-       #:cargo-development-inputs
-       (("rust-void" ,rust-void))))
     (home-page "https://github.com/reem/rust-plugin")
     (synopsis "Lazily evaluated, order-independent plugins for extensible types")
     (description
      "Lazily evaluated, order-independent plugins for extensible types.")
+    (properties '((hidden? . #t)))
     (license license:expat)))
 
-(define-public rust-pocket-resources
+(define-public rust-pocket-resources-0.3
   (package
     (name "rust-pocket-resources")
     (version "0.3.2")
@@ -2685,7 +2369,7 @@ used in Cargo build scripts.")
       (origin
         (method url-fetch)
         (uri (crate-uri "pocket-resources" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "1n2i5vmi8fdbw89wm5nz1ws1z9f1qax911p6ksg4scmdg23z6df1"))))
@@ -2694,9 +2378,10 @@ used in Cargo build scripts.")
     (synopsis "Include resources in your applications")
     (description "This crate allows you to include resources in your
 applications.")
+    (properties '((hidden? . #t)))
     (license license:expat)))
 
-(define-public rust-ppv-lite86
+(define-public rust-ppv-lite86-0.2
   (package
     (name "rust-ppv-lite86")
     (version "0.2.5")
@@ -2704,7 +2389,7 @@ applications.")
       (origin
         (method url-fetch)
         (uri (crate-uri "ppv-lite86" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "06snnv338w341nicfqba2jgln5dsla72ndkgrw7h1dfdb3vgkjz3"))))
@@ -2713,10 +2398,11 @@ applications.")
     (synopsis "Implementation of the crypto-simd API for x86")
     (description "This crate provides an implementation of the crypto-simd API
 for x86.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-proc-macro2
+(define-public rust-proc-macro2-0.4
   (package
     (name "rust-proc-macro2")
     (version "0.4.30")
@@ -2725,23 +2411,21 @@ for x86.")
         (method url-fetch)
         (uri (crate-uri "proc-macro2" version))
         (file-name
-          (string-append name "-" version ".tar.gz"))
+          (string-append name "-" version ".crate"))
         (sha256
           (base32
             "0nd71fl24sys066jrha6j7i34nfkjv44yzw8yww9742wmc8j0gfg"))))
     (build-system cargo-build-system)
-    (arguments
-      `(#:cargo-inputs (("rust-unicode-xid" ,rust-unicode-xid-0.1))
-        #:cargo-development-inputs (("rust-quote" ,rust-quote))))
     (home-page "https://github.com/alexcrichton/proc-macro2")
     (synopsis "Stable implementation of the upcoming new `proc_macro` API")
     (description "This package provides a stable implementation of the upcoming new
 `proc_macro` API.  Comes with an option, off by default, to also reimplement itself
 in terms of the upstream unstable API.")
+    (properties '((hidden? . #t)))
     ;; Dual licensed.
     (license (list license:asl2.0 license:expat))))
 
-(define-public rust-quick-error
+(define-public rust-quick-error-1.2
   (package
     (name "rust-quick-error")
     (version "1.2.2")
@@ -2749,7 +2433,7 @@ in terms of the upstream unstable API.")
       (origin
         (method url-fetch)
         (uri (crate-uri "quick-error" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "1w6kgwwv7p7zr0yyg5rb315lkk24bimywklwx7fsvsbwi10bjx4j"))))
@@ -2758,10 +2442,11 @@ in terms of the upstream unstable API.")
     (synopsis "Macro which makes error types pleasant to write")
     (description "This crate provides a macro which makes error types pleasant
 to write.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-quote
+(define-public rust-quote-0.6
   (package
     (name "rust-quote")
     (version "0.6.12")
@@ -2770,20 +2455,19 @@ to write.")
         (method url-fetch)
         (uri (crate-uri "quote" version))
         (file-name
-          (string-append name "-" version ".tar.gz"))
+          (string-append name "-" version ".crate"))
         (sha256
           (base32
             "1nw0klza45hf127kfyrpxsxd5jw2l6h21qxalil3hkr7bnf7kx7s"))))
     (build-system cargo-build-system)
-    (arguments
-      `(#:cargo-inputs (("rust-proc-macro2" ,rust-proc-macro2))))
     (home-page "https://github.com/dtolnay/quote")
     (synopsis "Quasi-quoting macro quote!(...)")
     (description "Quasi-quoting macro quote!(...)")
+    (properties '((hidden? . #t)))
     ;; Dual licensed.
     (license (list license:asl2.0 license:expat))))
 
-(define-public rust-rand
+(define-public rust-rand-0.4
   (package
     (name "rust-rand")
     (version "0.4.3")
@@ -2791,43 +2475,35 @@ to write.")
       (origin
         (method url-fetch)
         (uri (crate-uri "rand" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "1gfgnqfj2pyh27dcb720jpawskllwnbvxh816ddyykv269xz8ml3"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-fuchsia-zircon" ,rust-fuchsia-zircon)
-        ("rust-libc" ,rust-libc)
-        ("rust-winapi" ,rust-winapi))))
     (home-page "https://crates.io/crates/rand")
     (synopsis "Random number generators and other randomness functionality")
     (description
      "Rand provides utilities to generate random numbers, to convert them to
 useful types and distributions, and some randomness-related algorithms.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
 (define-public rust-rand-0.3
   (package
-    (inherit rust-rand)
+    (inherit rust-rand-0.4)
     (name "rust-rand")
     (version "0.3.23")
     (source
       (origin
         (method url-fetch)
         (uri (crate-uri "rand" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
-          "0v679h38pjjqj5h4md7v2slsvj6686qgcn7p9fbw3h43iwnk1b34"))))
-    (arguments
-     `(#:cargo-inputs
-       (("rust-libc" ,rust-libc)
-        ("rust-rand" ,rust-rand))))))
+          "0v679h38pjjqj5h4md7v2slsvj6686qgcn7p9fbw3h43iwnk1b34"))))))
 
-(define-public rust-rawpointer
+(define-public rust-rawpointer-0.1
   (package
     (name "rust-rawpointer")
     (version "0.1.0")
@@ -2835,7 +2511,7 @@ useful types and distributions, and some randomness-related algorithms.")
       (origin
         (method url-fetch)
         (uri (crate-uri "rawpointer" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "06ghpm9y7gacks78s3maakha07kbnwrxif5q37r2l7z1sali3b7b"))))
@@ -2845,12 +2521,13 @@ useful types and distributions, and some randomness-related algorithms.")
     (description "Extra methods for raw pointers.  For example
 @code{.post_inc()} and @code{.pre_dec()} (c.f. @code{ptr++} and @code{--ptr})
 and @code{ptrdistance}.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
 ;; This package requires features which are unavailable
 ;; on the stable releases of Rust.
-(define-public rust-redox-syscall ; guix upstreamable
+(define-public rust-redox-syscall-0.1
   (package
     (name "rust-redox-syscall")
     (version "0.1.56")
@@ -2858,7 +2535,7 @@ and @code{ptrdistance}.")
       (origin
         (method url-fetch)
         (uri (crate-uri "redox_syscall" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "110y7dyfm2vci4x5vk7gr0q551dvp31npl99fnsx2fb17wzwcf94"))))
@@ -2870,7 +2547,7 @@ system calls.")
     (properties '((hidden? . #t)))
     (license license:expat)))
 
-(define-public rust-regex-syntax
+(define-public rust-regex-syntax-0.6
   (package
     (name "rust-regex-syntax")
     (version "0.6.10")
@@ -2878,22 +2555,20 @@ system calls.")
       (origin
         (method url-fetch)
         (uri (crate-uri "regex-syntax" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "0p47lf38yj2g2fnmvnraccqlxwk35zr76hlnqi8yva932nzqam6d"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-ucd-util" ,rust-ucd-util))))
     (home-page "https://github.com/rust-lang/regex")
     (synopsis "Regular expression parser")
     (description
      "This package provides a regular expression parser.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-remove-dir-all
+(define-public rust-remove-dir-all-0.5
   (package
     (name "rust-remove-dir-all")
     (version "0.5.2")
@@ -2901,31 +2576,21 @@ system calls.")
       (origin
         (method url-fetch)
         (uri (crate-uri "remove_dir_all" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "0bkrlyg26mgizpiy1yb2hhpgscxcag8r5fnckqsvk25608vzm0sa"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-winapi" ,rust-winapi))
-       #:cargo-development-inputs
-       (("rust-doc-comment" ,rust-doc-comment))
-       #:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'fix-source
-           ;; The test phase expects there to be a README.md in the root directory.
-           (lambda _
-             (invoke "touch" "README.md"))))))
     (home-page "https://github.com/XAMPPRocky/remove_dir_all")
     (synopsis "Implementation of remove_dir_all for Windows")
     (description
      "This package provides a safe, reliable implementation of
 @code{remove_dir_all} for Windows")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-resolv-conf
+(define-public rust-resolv-conf-0.6
   (package
     (name "rust-resolv-conf")
     (version "0.6.2")
@@ -2933,24 +2598,20 @@ system calls.")
       (origin
         (method url-fetch)
         (uri (crate-uri "resolv-conf" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "1jvdsmksdf6yiipm3aqahyv8n1cjd7wqc8sa0p0gzsax3fmb8qxj"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-quick-error" ,rust-quick-error)
-        ("rust-hostname" ,rust-hostname))
-       #:cargo-test-flags '("--release" "--lib" "--examples"))) ; doc tests fail
     (home-page "https://github.com/tailhook/resolv-conf")
     (synopsis "/etc/resolv.conf parser")
     (description
      "An /etc/resolv.conf parser crate for Rust.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-rustc-demangle
+(define-public rust-rustc-demangle-0.1
   (package
     (name "rust-rustc-demangle")
     (version "0.1.16")
@@ -2958,25 +2619,20 @@ system calls.")
       (origin
         (method url-fetch)
         (uri (crate-uri "rustc-demangle" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "10qp42sl1wrdbgbbh8rnay2grm976z7hqgz32c4y09l1c071qsac"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-compiler-builtins"
-         ,rust-compiler-builtins)
-        ("rust-rustc-std-workspace-core"
-         ,rust-rustc-std-workspace-core))))
     (home-page "https://github.com/alexcrichton/rustc-demangle")
     (synopsis "Rust compiler symbol demangling")
     (description
      "This package demanges the symbols from the Rust compiler.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-rustc-hash
+(define-public rust-rustc-hash-1.0
   (package
     (name "rust-rustc-hash")
     (version "1.0.0")
@@ -2984,7 +2640,7 @@ system calls.")
       (origin
         (method url-fetch)
         (uri (crate-uri "rustc-hash" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "114bf72466bl63i5hh8fgqfnhihs0w1m9c9jz505095agfixnvg0"))))
@@ -2993,10 +2649,11 @@ system calls.")
     (synopsis "Speedy, non-cryptographic hash used in rustc")
     (description
      "This package provides a speedy, non-cryptographic hash used in rustc.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-rustc-serialize
+(define-public rust-rustc-serialize-0.3
   (package
     (name "rust-rustc-serialize")
     (version "0.3.24")
@@ -3004,14 +2661,11 @@ system calls.")
       (origin
         (method url-fetch)
         (uri (crate-uri "rustc-serialize" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "1nkg3vasg7nk80ffkazizgiyv3hb1l9g3d8h17cajbkx538jiwfw"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-development-inputs
-       (("rust-rand" ,rust-rand-0.3))))
     (home-page "https://github.com/rust-lang-deprecated/rustc-serialize")
     (synopsis "Generic serialization/deserialization support")
     (description
@@ -3019,10 +2673,11 @@ system calls.")
 corresponding to the @code{derive(RustcEncodable, RustcDecodable)} mode in the
 compiler.  Also includes support for hex, base64, and json encoding and
 decoding.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-rustc-std-workspace-core
+(define-public rust-rustc-std-workspace-core-1.0
   (package
     (name "rust-rustc-std-workspace-core")
     (version "1.0.0")
@@ -3030,7 +2685,7 @@ decoding.")
       (origin
         (method url-fetch)
         (uri (crate-uri "rustc-std-workspace-core" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "1309xhwyai9xpz128xrfjqkmnkvgjwddznmj7brbd8i8f58zamhr"))))
@@ -3039,10 +2694,11 @@ decoding.")
     (synopsis "Explicitly empty crate for rust-lang/rust integration")
     (description "This crate provides an explicitly empty crate for
 rust-lang/rust integration.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-safemem
+(define-public rust-safemem-0.3
   (package
     (name "rust-safemem")
     (version "0.3.2")
@@ -3050,7 +2706,7 @@ rust-lang/rust integration.")
       (origin
         (method url-fetch)
         (uri (crate-uri "safemem" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "1l1ljkm4lpyryrv2ndaxi1f7z1f3v9bwy1rzl9f9mbhx04iq9c6j"))))
@@ -3059,10 +2715,11 @@ rust-lang/rust integration.")
     (synopsis "Safe wrappers for memory-accessing functions")
     (description
      "Safe wrappers for memory-accessing functions, like @code{std::ptr::copy()}.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-same-file
+(define-public rust-same-file-1.0
   (package
     (name "rust-same-file")
     (version "1.0.5")
@@ -3070,23 +2727,21 @@ rust-lang/rust integration.")
       (origin
         (method url-fetch)
         (uri (crate-uri "same-file" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "08a4zy10pjindf2rah320s6shgswk13mqw7s61m8i1y1xpf8spjq"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-      (("rust-winapi-util" ,rust-winapi-util))))
     (home-page "https://github.com/BurntSushi/same-file")
     (synopsis "Determine whether two file paths point to the same file")
     (description
      "This package provides a simple crate for determining whether two file
 paths point to the same file.")
+    (properties '((hidden? . #t)))
     (license (list license:unlicense
                    license:expat))))
 
-(define-public rust-schannel
+(define-public rust-schannel-0.1
   (package
     (name "rust-schannel")
     (version "0.1.15")
@@ -3094,23 +2749,20 @@ paths point to the same file.")
       (origin
         (method url-fetch)
         (uri (crate-uri "schannel" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "0f9k4pm8yc3z0n1n8hazvnrvg52f0sfxjc91bhf3r76rb3rapxpj"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-lazy-static" ,rust-lazy-static)
-        ("rust-winapi" ,rust-winapi))))
     (home-page "https://github.com/steffengy/schannel-rs")
     (synopsis "Rust bindings to the Windows SChannel APIs")
     (description
      "Rust bindings to the Windows SChannel APIs providing TLS client and
 server functionality.")
+    (properties '((hidden? . #t)))
     (license license:expat)))
 
-(define-public rust-scoped-threadpool
+(define-public rust-scoped-threadpool-0.1
   (package
     (name "rust-scoped-threadpool")
     (version "0.1.9")
@@ -3118,14 +2770,11 @@ server functionality.")
       (origin
         (method url-fetch)
         (uri (crate-uri "scoped_threadpool" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "1a26d3lk40s9mrf4imhbik7caahmw2jryhhb6vqv6fplbbgzal8x"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-development-inputs
-       (("rust-lazy-static" ,rust-lazy-static))))
     (home-page "https://github.com/Kimundi/scoped-threadpool-rs")
     (synopsis "library for scoped and cached threadpools")
     (description
@@ -3135,10 +2784,11 @@ the underlying threads.  Jobs are runnable by borrowing the pool for a given
 scope, during which an arbitrary number of them can be executed. These jobs can
 access data of any lifetime outside of the pools scope, which allows working on
 non-'static references in parallel.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-scoped-tls
+(define-public rust-scoped-tls-1.0
   (package
     (name "rust-scoped-tls")
     (version "1.0.0")
@@ -3146,7 +2796,7 @@ non-'static references in parallel.")
       (origin
         (method url-fetch)
         (uri (crate-uri "scoped-tls" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "1hj8lifzvivdb1z02lfnzkshpvk85nkgzxsy2hc0zky9wf894spa"))))
@@ -3156,24 +2806,25 @@ non-'static references in parallel.")
     (description "This crate provides a library implementation of the standard
 library's old @code{scoped_thread_local!} macro for providing scoped access to
 @dfn{thread local storage} (TLS) so any type can be stored into TLS.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
 (define-public rust-scoped-tls-0.1
   (package
-    (inherit rust-scoped-tls)
+    (inherit rust-scoped-tls-1.0)
     (name "rust-scoped-tls")
     (version "0.1.2")
     (source
       (origin
         (method url-fetch)
         (uri (crate-uri "scoped-tls" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "0a2bn9d2mb07c6l16sadijy4p540g498zddfxyiq4rsqpwrglbrk"))))))
 
-(define-public rust-scopeguard
+(define-public rust-scopeguard-1.0
   (package
     (name "rust-scopeguard")
     (version "1.0.0")
@@ -3181,7 +2832,7 @@ library's old @code{scoped_thread_local!} macro for providing scoped access to
       (origin
         (method url-fetch)
         (uri (crate-uri "scopeguard" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "03aay84r1f6w87ckbpj6cc4rnsxkxcfs13n5ynxjia0qkgjiabml"))))
@@ -3193,12 +2844,13 @@ given closure when it goes out of scope, even if the code between panics
 (assuming unwinding panic).  Defines the macros @code{defer!},
 @code{defer_on_unwind!}, @code{defer_on_success!} as shorthands for guards
 with one of the implemented strategies.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
 (define-public rust-scopeguard-0.3
   (package
-    (inherit rust-scopeguard)
+    (inherit rust-scopeguard-1.0)
     (name "rust-scopeguard")
     (version "0.3.3")
     (source
@@ -3206,12 +2858,12 @@ with one of the implemented strategies.")
         (method url-fetch)
         (uri (crate-uri "scopeguard" version))
         (file-name
-          (string-append name "-" version ".tar.gz"))
+          (string-append name "-" version ".crate"))
         (sha256
          (base32
           "09sy9wbqp409pkwmqni40qmwa99ldqpl48pp95m1xw8sc19qy9cl"))))))
 
-(define-public rust-security-framework-sys
+(define-public rust-security-framework-sys-0.3
   (package
     (name "rust-security-framework-sys")
     (version "0.3.1")
@@ -3219,23 +2871,20 @@ with one of the implemented strategies.")
       (origin
         (method url-fetch)
         (uri (crate-uri "security-framework-sys" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "0mlsakq9kmqyc0fg2hcbgm6rjk55mb0rhjw2wid3hqdzkjcghdln"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-core-foundation-sys"
-         ,rust-core-foundation-sys))))
     (home-page "https://lib.rs/crates/security-framework-sys")
     (synopsis "Apple `Security.framework` low-level FFI bindings")
     (description
      "Apple `Security.framework` low-level FFI bindings.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-semver-parser
+(define-public rust-semver-parser-0.9
   (package
     (name "rust-semver-parser")
     (version "0.9.0")
@@ -3243,7 +2892,7 @@ with one of the implemented strategies.")
       (origin
         (method url-fetch)
         (uri (crate-uri "semver-parser" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "1ahqhvgpzhcsd28id7xnrjv4419i9yyalhm7d7zi430qx0hi2vml"))))
@@ -3251,24 +2900,25 @@ with one of the implemented strategies.")
     (home-page "https://github.com/steveklabnik/semver-parser")
     (synopsis "Parsing of the semver spec")
     (description "This package provides for parsing of the semver spec.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
 (define-public rust-semver-parser-0.7
   (package
-    (inherit rust-semver-parser)
+    (inherit rust-semver-parser-0.9)
     (name "rust-semver-parser")
     (version "0.7.0")
     (source
       (origin
         (method url-fetch)
         (uri (crate-uri "semver-parser" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "18vhypw6zgccnrlm5ps1pwa0khz7ry927iznpr88b87cagr1v2iq"))))))
 
-(define-public rust-shlex
+(define-public rust-shlex-0.1
   (package
     (name "rust-shlex")
     (version "0.1.1")
@@ -3276,7 +2926,7 @@ with one of the implemented strategies.")
       (origin
         (method url-fetch)
         (uri (crate-uri "shlex" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "1lmv6san7g8dv6jdfp14m7bdczq9ss7j7bgsfqyqjc3jnjfippvz"))))
@@ -3285,10 +2935,11 @@ with one of the implemented strategies.")
     (synopsis "Split a string into shell words, like Python's shlex")
     (description "This crate provides a method to split a string into shell
 words, like Python's shlex.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-slab
+(define-public rust-slab-0.4
   (package
     (name "rust-slab")
     (version "0.4.2")
@@ -3296,7 +2947,7 @@ words, like Python's shlex.")
       (origin
         (method url-fetch)
         (uri (crate-uri "slab" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "1y59xsa27jk84sxzswjk60xcjf8b4fm5960jwpznrrcmasyva4f1"))))
@@ -3305,9 +2956,10 @@ words, like Python's shlex.")
     (synopsis "Pre-allocated storage for a uniform data type")
     (description "This create provides a pre-allocated storage for a uniform
 data type.")
+    (properties '((hidden? . #t)))
     (license license:expat)))
 
-(define-public rust-socket2
+(define-public rust-socket2-0.3
   (package
     (name "rust-socket2")
     (version "0.3.11")
@@ -3315,29 +2967,21 @@ data type.")
       (origin
         (method url-fetch)
         (uri (crate-uri "socket2" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "11bdcz04i106g4q7swkll0qxrb4287srqd2k3aq2q6i22zjlvdz8"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-cfg-if" ,rust-cfg-if)
-        ("rust-libc" ,rust-libc)
-        ("rust-redox-syscall" ,rust-redox-syscall)
-        ("rust-winapi" ,rust-winapi))
-       #:cargo-development-inputs
-       (("rust-tempdir" ,rust-tempdir))
-       #:tests? #f)) ; Tests expect network connectivity.
     (home-page "https://github.com/alexcrichton/socket2-rs")
     (synopsis "Networking sockets in Rust")
     (description
      "This package provides utilities for handling networking sockets with a
 maximal amount of configuration possible intended.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-sourcefile
+(define-public rust-sourcefile-0.1
   (package
     (name "rust-sourcefile")
     (version "0.1.4")
@@ -3345,23 +2989,21 @@ maximal amount of configuration possible intended.")
       (origin
         (method url-fetch)
         (uri (crate-uri "sourcefile" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "1lwa6973zs4bgj29my7agfjgk4nw9hp6j7dfnr13nid85fw7rxsb"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-development-inputs
-       (("rust-tempfile" ,rust-tempfile))))
     (home-page "https://github.com/derekdreery/sourcefile-rs")
     (synopsis "Concatenate source from multiple files")
     (description
      "A library for concatenating source from multiple files, whilst keeping
 track of where each new file and line starts.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-spin
+(define-public rust-spin-0.5
   (package
     (name "rust-spin")
     (version "0.5.0")
@@ -3369,7 +3011,7 @@ track of where each new file and line starts.")
       (origin
         (method url-fetch)
         (uri (crate-uri "spin" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "0m9clchsj0rf13bggsgvbv9haiy0f6rhvnvkpvkk8720a5pkydj4"))))
@@ -3379,9 +3021,10 @@ track of where each new file and line starts.")
     (description "This crate provides synchronization primitives based on
 spinning.  They may contain data, are usable without @code{std},and static
 initializers are available.")
+    (properties '((hidden? . #t)))
     (license license:expat)))
 
-(define-public rust-stable-deref-trait
+(define-public rust-stable-deref-trait-1.1
   (package
     (name "rust-stable-deref-trait")
     (version "1.1.1")
@@ -3389,7 +3032,7 @@ initializers are available.")
       (origin
         (method url-fetch)
         (uri (crate-uri "stable_deref_trait" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "1j2lkgakksmz4vc5hfawcch2ipiskrhjs1sih0f3br7s7rys58fv"))))
@@ -3402,10 +3045,11 @@ types which deref to a fixed address which is valid even when the containing
 type is moved.  For example, Box, Vec, Rc, Arc and String implement this trait.
 Additionally, it defines CloneStableDeref for types like Rc where clones deref
 to the same address.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-stacker
+(define-public rust-stacker-0.1
   (package
     (name "rust-stacker")
     (version "0.1.5")
@@ -3413,26 +3057,21 @@ to the same address.")
       (origin
         (method url-fetch)
         (uri (crate-uri "stacker" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "0js0axz5nla1mkr2dm2vrv9rj964ng1lrv4l43sqlnfgawplhygv"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-cfg-if" ,rust-cfg-if)
-        ("rust-libc" ,rust-libc)
-        ("rust-winapi" ,rust-winapi)
-        ("rust-cc" ,rust-cc))))
     (home-page "https://github.com/rust-lang/stacker")
     (synopsis "Manual segmented stacks for Rust")
     (description
      "This package provides a stack growth library useful when implementing
 deeply recursive algorithms that may accidentally blow the stack.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-static-assertions
+(define-public rust-static-assertions-0.3
   (package
     (name "rust-static-assertions")
     (version "0.3.4")
@@ -3440,7 +3079,7 @@ deeply recursive algorithms that may accidentally blow the stack.")
       (origin
         (method url-fetch)
         (uri (crate-uri "static-assertions" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "1lw33i89888yb3x29c6dv4mrkg3534n0rlg3r7qzh4p58xmv6gkz"))))
@@ -3450,9 +3089,10 @@ deeply recursive algorithms that may accidentally blow the stack.")
     (description
      "This package provides compile-time assertions to ensure that invariants
 are met.")
+    (properties '((hidden? . #t)))
     (license (list license:expat license:asl2.0))))
 
-(define-public rust-stdweb-internal-runtime
+(define-public rust-stdweb-internal-runtime-0.1
   (package
     (name "rust-stdweb-internal-runtime")
     (version "0.1.4")
@@ -3460,7 +3100,7 @@ are met.")
       (origin
         (method url-fetch)
         (uri (crate-uri "stdweb-internal-runtime" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "1nhpyra7glbwcpakhpj5a3d7h7kx1ynif473nzshmk226m91f8ym"))))
@@ -3469,10 +3109,11 @@ are met.")
     (synopsis "Internal runtime for the @code{stdweb} crate")
     (description "This crate provides internal runtime for the @code{stdweb}
 crate.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-stdweb-internal-test-macro
+(define-public rust-stdweb-internal-test-macro-0.1
   (package
     (name "rust-stdweb-internal-test-macro")
     (version "0.1.0")
@@ -3480,23 +3121,20 @@ crate.")
       (origin
         (method url-fetch)
         (uri (crate-uri "stdweb-internal-test-macro" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "12rrm7p77xnm3xacgn3rgniiyyjb4gq7902wpbljsvbx045z69l2"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-proc-macro2" ,rust-proc-macro2)
-        ("rust-quote" ,rust-quote))))
     (home-page "https://github.com/koute/stdweb")
     (synopsis "Internal crate of the `stdweb` crate")
     (description
      "Internal crate of the @code{stdweb} crate.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-streaming-stats
+(define-public rust-streaming-stats-0.2
   (package
     (name "rust-streaming-stats")
     (version "0.2.2")
@@ -3504,22 +3142,20 @@ crate.")
       (origin
         (method url-fetch)
         (uri (crate-uri "streaming-stats" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "0l7xz4g6709s80zqpvlhrg0qhgz64r94cwhmfsg8xhabgznbp2px"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-num-traits" ,rust-num-traits))))
     (home-page "https://github.com/BurntSushi/rust-stats")
     (synopsis "Compute basic statistics on streams")
     (description
      "Experimental crate for computing basic statistics on streams.")
+    (properties '((hidden? . #t)))
     (license (list license:unlicense
                    license:expat))))
 
-(define-public rust-strsim
+(define-public rust-strsim-0.9
   (package
     (name "rust-strsim")
     (version "0.9.2")
@@ -3527,7 +3163,7 @@ crate.")
       (origin
         (method url-fetch)
         (uri (crate-uri "strsim" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "1xphwhf86yxxmcpvm4mikj8ls41f6nf7gqyjm98b74mfk81h6b03"))))
@@ -3537,23 +3173,24 @@ crate.")
     (description "This crate includes implementations of string similarity
 metrics.  It includes Hamming, Levenshtein, OSA, Damerau-Levenshtein, Jaro,
 and Jaro-Winkler.")
+    (properties '((hidden? . #t)))
     (license license:expat)))
 
 (define-public rust-strsim-0.8
   (package
-    (inherit rust-strsim)
+    (inherit rust-strsim-0.9)
     (name "rust-strsim")
     (version "0.8.0")
     (source
       (origin
         (method url-fetch)
         (uri (crate-uri "strsim" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "0sjsm7hrvjdifz661pjxq5w4hf190hx53fra8dfvamacvff139cf"))))))
 
-(define-public rust-synstructure-test-traits
+(define-public rust-synstructure-test-traits-0.1
   (package
     (name "rust-synstructure-test-traits")
     (version "0.1.0")
@@ -3561,7 +3198,7 @@ and Jaro-Winkler.")
       (origin
         (method url-fetch)
         (uri (crate-uri "synstructure_test_traits" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "1b3fs2b9kc1gy9dilaxqjbdl4z0mlrbbxjzkprdx953rif1c3q66"))))
@@ -3570,9 +3207,10 @@ and Jaro-Winkler.")
     (synopsis "Helper test traits for synstructure doctests")
     (description
      "This package provides helper test traits for synstructure doctests.")
+    (properties '((hidden? . #t)))
     (license license:expat)))
 
-(define-public rust-tar
+(define-public rust-tar-0.4
   (package
     (name "rust-tar")
     (version "0.4.26")
@@ -3580,20 +3218,11 @@ and Jaro-Winkler.")
       (origin
         (method url-fetch)
         (uri (crate-uri "tar" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "1lr6v3cpkfxd2lk5ll2jd8wr1xdskwj35smnh5sfb8xvzzxnn6dk"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-filetime" ,rust-filetime)
-        ("rust-libc" ,rust-libc)
-        ("rust-redox-syscall" ,rust-redox-syscall)
-        ("rust-xattr" ,rust-xattr))
-       #:cargo-development-inputs
-       (("rust-tempdir" ,rust-tempdir))
-       #:tests? #f)) ; Test archives are not distributed in the crate tarball.
     (home-page "https://github.com/alexcrichton/tar-rs")
     (synopsis "Tar file reading/writing for Rust")
     (description
@@ -3602,10 +3231,11 @@ writer.  This library does not currently handle compression, but it is abstract
 over all I/O readers and writers.  Additionally, great lengths are taken to
 ensure that the entire contents are never required to be entirely resident in
 memory all at once.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-tempdir
+(define-public rust-tempdir-0.3
   (package
     (name "rust-tempdir")
     (version "0.3.7")
@@ -3613,24 +3243,21 @@ memory all at once.")
       (origin
         (method url-fetch)
         (uri (crate-uri "tempdir" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "1n5n86zxpgd85y0mswrp5cfdisizq2rv3la906g6ipyc03xvbwhm"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-rand" ,rust-rand)
-        ("rust-remove-dir-all" ,rust-remove-dir-all))))
     (home-page "https://github.com/rust-lang-deprecated/tempdir")
     (synopsis "Temporary directory management for Rust")
     (description
      "This package provides a library for managing a temporary directory and
 deleting all contents when it's dropped.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-tempfile
+(define-public rust-tempfile-3.0
   (package
     (name "rust-tempfile")
     (version "3.0.2")
@@ -3638,27 +3265,21 @@ deleting all contents when it's dropped.")
       (origin
         (method url-fetch)
         (uri (crate-uri "tempfile" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "0ny1cdbcsrmwjpy4k9366xm6p0jqkrmrvr0cln2djxspp1inyxs7"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-libc" ,rust-libc)
-        ("rust-rand" ,rust-rand)
-        ("rust-redox-syscall" ,rust-redox-syscall)
-        ("rust-remove-dir-all" ,rust-remove-dir-all)
-        ("rust-winapi" ,rust-winapi))))
     (home-page "http://stebalien.com/projects/tempfile-rs")
     (synopsis "Library for managing temporary files and directories")
     (description
      "This package provides a library for managing temporary files and
 directories.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-term
+(define-public rust-term-0.4
   (package
     (name "rust-term")
     (version "0.4.6")
@@ -3666,23 +3287,20 @@ directories.")
       (origin
         (method url-fetch)
         (uri (crate-uri "term" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "1wbh8ngqkqr3f6wz902yplf60bd5yapnckvrkgmzp5nffi7n8qzs"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-kernel32-sys" ,rust-kernel32-sys)
-        ("rust-winapi" ,rust-winapi))))
     (home-page "https://github.com/Stebalien/term")
     (synopsis "Terminal formatting library")
     (description
      "This package provides a terminal formatting library in rust.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-termcolor
+(define-public rust-termcolor-1.0
   (package
     (name "rust-termcolor")
     (version "1.0.5")
@@ -3690,22 +3308,20 @@ directories.")
       (origin
         (method url-fetch)
         (uri (crate-uri "termcolor" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "0vjfsn1a8zvqhnrbygrz1id6yckwv1dncw3w4zj65qdx0f00kmln"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-wincolor" ,rust-wincolor))))
     (home-page "https://github.com/BurntSushi/termcolor")
     (synopsis "Library for writing colored text to a terminal")
     (description "This package provides a simple cross platform library for
 writing colored text to a terminal.")
+    (properties '((hidden? . #t)))
     (license (list license:unlicense
                    license:expat))))
 
-(define-public rust-termios
+(define-public rust-termios-0.3
   (package
     (name "rust-termios")
     (version "0.3.1")
@@ -3713,13 +3329,11 @@ writing colored text to a terminal.")
       (origin
         (method url-fetch)
         (uri (crate-uri "termios" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "09any1p4jp4bphvb5ikagnvwjc3xn2djchy96nkpa782xb2j1dkj"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs (("rust-libc" ,rust-libc))))
     (home-page  "https://github.com/dcuddeback/termios-rs")
     (synopsis "Safe bindings for the termios library")
     (description
@@ -3727,9 +3341,10 @@ writing colored text to a terminal.")
 to the terminal I/O interface implemented by Unix operating systems.  The safe
 bindings are a small wrapper around the raw C functions, which converts integer
 return values to @code{std::io::Result} to indicate success or failure.")
+    (properties '((hidden? . #t)))
     (license license:expat)))
 
-(define-public rust-thread-id
+(define-public rust-thread-id-3.3
   (package
     (name "rust-thread-id")
     (version "3.3.0")
@@ -3737,25 +3352,21 @@ return values to @code{std::io::Result} to indicate success or failure.")
       (origin
         (method url-fetch)
         (uri (crate-uri "thread-id" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "1h90v19fjz3x9b25ywh68z5yf2zsmm6h5zb4rl302ckbsp4z9yy7"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-libc" ,rust-libc)
-        ("rust-redox-syscall" ,rust-redox-syscall)
-        ("rust-winapi" ,rust-winapi))))
     (home-page "https://github.com/ruuda/thread-id")
     (synopsis "Get a unique ID for the current thread in Rust")
     (description
      "For diagnostics and debugging it can often be useful to get an ID that is
 different for every thread.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-thread-local
+(define-public rust-thread-local-0.3
   (package
     (name "rust-thread-local")
     (version "0.3.6")
@@ -3763,21 +3374,19 @@ different for every thread.")
       (origin
         (method url-fetch)
         (uri (crate-uri "thread_local" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "06rzik99p8c5js8238yhc8rk6np543ylb1dy9nrw5v80j0r3xdf6"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-      (("rust-lazy-static" ,rust-lazy-static))))
     (home-page "https://github.com/Amanieu/thread_local-rs")
     (synopsis "Per-object thread-local storage")
     (description "Per-object thread-local storage")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-threadpool
+(define-public rust-threadpool-1.7
   (package
     (name "rust-threadpool")
     (version "1.7.1")
@@ -3785,23 +3394,21 @@ different for every thread.")
       (origin
         (method url-fetch)
         (uri (crate-uri "threadpool" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "0rd89n1q7vy47w4c32cnynibffv9kj3jy3dwr0536n9lbw5ckw72"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-num-cpus" ,rust-num-cpus))))
     (home-page "https://github.com/rust-threadpool/rust-threadpool")
     (synopsis "Thread pool for running jobs on a fixed set of worker threads")
     (description
      "This package provides a thread pool for running a number of jobs on a
 fixed set of worker threads.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-time
+(define-public rust-time-0.1
   (package
     (name "rust-time")
     (version "0.1.39")
@@ -3809,30 +3416,21 @@ fixed set of worker threads.")
       (origin
         (method url-fetch)
         (uri (crate-uri "time" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "161hqx0gw722ikydanpahky447vaxqncwmkj66rny282vzqpalx1"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-libc" ,rust-libc)
-        ("rust-redox-syscall" ,rust-redox-syscall)
-        ("rust-rustc-serialize" ,rust-rustc-serialize)
-        ("rust-winapi" ,rust-winapi))
-       #:cargo-development-inputs
-       (("rust-log" ,rust-log)
-        ("rust-winapi" ,rust-winapi))
-       #:tests? #f)) ; Tests have difficulty with the timezones.
     (home-page "https://github.com/rust-lang-deprecated/time")
     (synopsis "Simple time handling in Rust")
     (description
      "This package provides utilities for working with time-related functions
 in Rust.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-tokio-mock-task
+(define-public rust-tokio-mock-task-0.1
   (package
     (name "rust-tokio-mock-task")
     (version "0.1.1")
@@ -3840,19 +3438,18 @@ in Rust.")
       (origin
         (method url-fetch)
         (uri (crate-uri "tokio-mock-task" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "1y7q83qfk9ljjfvs82b453pmz9x1v3d6kr4x55j8mal01s6790dw"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs (("rust-futures" ,rust-futures))))
     (home-page  "https://github.com/carllerche/tokio-mock-task")
     (synopsis "Mock a Tokio task")
     (description "Mock a Tokio task")
+    (properties '((hidden? . #t)))
     (license license:expat)))
 
-(define-public rust-tracing-core
+(define-public rust-tracing-core-0.1
   (package
     (name "rust-tracing-core")
     (version "0.1.2")
@@ -3860,22 +3457,20 @@ in Rust.")
       (origin
         (method url-fetch)
         (uri (crate-uri "tracing-core" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "01fa73wzw2m5ybi3kkd52dgrw97mgc3i6inmhwys46ab28giwnxi"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-lazy-static" ,rust-lazy-static))))
     (home-page "https://tokio.rs")
     (synopsis "Core primitives for application-level tracing")
     (description
      "Core primitives for application-level tracing.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-traitobject
+(define-public rust-traitobject-0.1
   (package
     (name "rust-traitobject")
     (version "0.1.0")
@@ -3883,7 +3478,7 @@ in Rust.")
       (origin
         (method url-fetch)
         (uri (crate-uri "traitobject" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "0yb0n8822mr59j200fyr2fxgzzgqljyxflx9y8bdy3rlaqngilgg"))))
@@ -3891,10 +3486,11 @@ in Rust.")
     (home-page "https://github.com/reem/rust-traitobject")
     (synopsis "Unsafe helpers for dealing with raw trait objects")
     (description "Unsafe helpers for dealing with raw trait objects.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-try-from
+(define-public rust-try-from-0.3
   (package
     (name "rust-try-from")
     (version "0.3.2")
@@ -3902,21 +3498,19 @@ in Rust.")
       (origin
         (method url-fetch)
         (uri (crate-uri "try_from" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "12wdd4ja7047sd3rx70hv2056hyc8gcdllcx3a41g1rnw64kng98"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-      (("rust-cfg-if" ,rust-cfg-if))))
     (home-page "https://github.com/derekjw/try_from")
     (synopsis "TryFrom and TryInto traits for failable conversions")
     (description
       "TryFrom and TryInto traits for failable conversions that return a Result.")
+    (properties '((hidden? . #t)))
     (license license:expat)))
 
-(define-public rust-try-lock
+(define-public rust-try-lock-0.2
   (package
     (name "rust-try-lock")
     (version "0.2.2")
@@ -3924,7 +3518,7 @@ in Rust.")
       (origin
         (method url-fetch)
         (uri (crate-uri "try-lock" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "10p36rx6pqi9d0zr876xa8vksx2m66ha45myakl50rn08dxyn176"))))
@@ -3933,9 +3527,10 @@ in Rust.")
     (synopsis "Lightweight atomic lock")
     (description
      "This package provides a lightweight atomic lock.")
+    (properties '((hidden? . #t)))
     (license license:expat)))
 
-(define-public rust-typeable
+(define-public rust-typeable-0.1
   (package
     (name "rust-typeable")
     (version "0.1.2")
@@ -3943,7 +3538,7 @@ in Rust.")
       (origin
         (method url-fetch)
         (uri (crate-uri "typeable" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "11w8dywgnm32hb291izjvh4zjd037ccnkk77ahk63l913zwzc40l"))))
@@ -3951,9 +3546,10 @@ in Rust.")
     (home-page "https://github.com/reem/rust-typeable")
     (synopsis "Exposes Typeable, for getting TypeIds at runtime")
     (description "Exposes Typeable, for getting TypeIds at runtime.")
+    (properties '((hidden? . #t)))
     (license license:expat)))
 
-(define-public rust-typemap
+(define-public rust-typemap-0.3
   (package
     (name "rust-typemap")
     (version "0.3.3")
@@ -3961,21 +3557,19 @@ in Rust.")
       (origin
         (method url-fetch)
         (uri (crate-uri "typemap" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "1xm1gbvz9qisj1l6d36hrl9pw8imr8ngs6qyanjnsad3h0yfcfv5"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-unsafe-any" ,rust-unsafe-any))))
     (home-page "https://github.com/reem/rust-typemap")
     (synopsis "Typesafe store for many value types")
     (description
      "A typesafe store for many value types.")
+    (properties '((hidden? . #t)))
     (license license:expat)))
 
-(define-public rust-typenum
+(define-public rust-typenum-1.10
   (package
     (name "rust-typenum")
     (version "1.10.0")
@@ -3983,7 +3577,7 @@ in Rust.")
       (origin
         (method url-fetch)
         (uri (crate-uri "typenum" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "0sc1jirllfhdi52z1xv9yqzxzpk6v7vadd13n7wvs1wnjipn6bb1"))))
@@ -3994,10 +3588,11 @@ in Rust.")
 compile time.  It currently supports bits, unsigned integers, and signed
 integers.  It also provides a type-level array of type-level numbers, but its
 implementation is incomplete.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-ucd-trie
+(define-public rust-ucd-trie-0.1
   (package
     (name "rust-ucd-trie")
     (version "0.1.2")
@@ -4005,22 +3600,20 @@ implementation is incomplete.")
       (origin
         (method url-fetch)
         (uri (crate-uri "ucd-trie" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "1hh6kyzh5xygwy96wfmsf8v8czlzhps2lgbcyhj1xzy1w1xys04g"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-development-inputs
-      (("rust-lazy-static" ,rust-lazy-static))))
     (home-page "https://github.com/BurntSushi/ucd-generate")
     (synopsis "Trie for storing Unicode codepoint sets and maps")
     (description
      "This package provides a trie for storing Unicode codepoint sets and maps.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-ucd-util
+(define-public rust-ucd-util-0.1
   (package
     (name "rust-ucd-util")
     (version "0.1.5")
@@ -4028,7 +3621,7 @@ implementation is incomplete.")
       (origin
         (method url-fetch)
         (uri (crate-uri "ucd-util" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "0x088q5z0m09a2jqcfgsnq955y8syn1mgn35cl78qinkxm4kp6zs"))))
@@ -4037,10 +3630,11 @@ implementation is incomplete.")
     (synopsis "library for working with the Unicode character database")
     (description "This package provides a small utility library for working
 with the Unicode character database.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-unicase
+(define-public rust-unicase-2.4
   (package
     (name "rust-unicase")
     (version "2.4.0")
@@ -4048,21 +3642,20 @@ with the Unicode character database.")
       (origin
         (method url-fetch)
         (uri (crate-uri "unicase" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "1xmpmkakhhblq7dzab1kwyv925kv7fqjkjsxjspg6ix9n88makm8"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs (("rust-version-check" ,rust-version-check-0.1))))
     (home-page "https://github.com/seanmonstar/unicase")
     (synopsis "Case-insensitive wrapper around strings")
     (description
      "A case-insensitive wrapper around strings.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-unicode-width
+(define-public rust-unicode-width-0.1
   (package
     (name "rust-unicode-width")
     (version "0.1.5")
@@ -4070,7 +3663,7 @@ with the Unicode character database.")
       (origin
         (method url-fetch)
         (uri (crate-uri "unicode-width" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "09k5lipygardwy0660jhls08fsgknrazzivmn804gps53hiqc8w8"))))
@@ -4079,10 +3672,11 @@ with the Unicode character database.")
     (synopsis "Determine displayed width according to Unicode rules")
     (description "This crate allows you to determine displayed width of
 @code{char} and @code{str} types according to Unicode Standard Annex #11 rules.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-unicode-xid
+(define-public rust-unicode-xid-0.2
   (package
     (name "rust-unicode-xid")
     (version "0.2.0")
@@ -4091,7 +3685,7 @@ with the Unicode character database.")
         (method url-fetch)
         (uri (crate-uri "unicode-xid" version))
         (file-name
-          (string-append name "-" version ".tar.gz"))
+          (string-append name "-" version ".crate"))
         (sha256
          (base32
           "0z09fn515xm7zyr0mmdyxa9mx2f7azcpv74pqmg611iralwpcvl2"))))
@@ -4101,24 +3695,25 @@ with the Unicode character database.")
     (synopsis "Determine Unicode XID related properties")
     (description "Determine whether characters have the XID_Start
 or XID_Continue properties according to Unicode Standard Annex #31.")
+    (properties '((hidden? . #t)))
     ;; Dual licensed.
     (license (list license:asl2.0 license:expat))))
 
 (define-public rust-unicode-xid-0.1
   (package
-    (inherit rust-unicode-xid)
+    (inherit rust-unicode-xid-0.2)
     (name "rust-unicode-xid")
     (version "0.1.0")
     (source
       (origin
         (method url-fetch)
         (uri (crate-uri "unicode-xid" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "1z57lqh4s18rr4x0j4fw4fmp9hf9346h0kmdgqsqx0fhjr3k0wpw"))))))
 
-(define-public rust-unindent
+(define-public rust-unindent-0.1
   (package
     (name "rust-unindent")
     (version "0.1.5")
@@ -4126,7 +3721,7 @@ or XID_Continue properties according to Unicode Standard Annex #31.")
       (origin
         (method url-fetch)
         (uri (crate-uri "unindent" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32 "14s97blyqgf9hzxk22iazrghj60midajkw2801dfspz3n2iqmwb3"))))
     (build-system cargo-build-system)
@@ -4134,10 +3729,11 @@ or XID_Continue properties according to Unicode Standard Annex #31.")
     (synopsis "Remove a column of leading whitespace from a string")
     (description "This crate allows you to remove a column of leading
 whitespace from a string.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-unreachable
+(define-public rust-unreachable-1.0
   (package
     (name "rust-unreachable")
     (version "1.0.0")
@@ -4145,21 +3741,20 @@ whitespace from a string.")
       (origin
         (method url-fetch)
         (uri (crate-uri "unreachable" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "0mps2il4xy2mjqc3appas27hhn2xmvixc3bzzhfrjj74gy3i0a1q"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs (("rust-void" ,rust-void))))
     (home-page "https://github.com/reem/rust-unreachable")
     (synopsis "Unreachable code optimization hint in rust")
     (description
      "This package provides an unreachable code optimization hint in rust.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-unsafe-any
+(define-public rust-unsafe-any-0.4
   (package
     (name "rust-unsafe-any")
     (version "0.4.2")
@@ -4167,21 +3762,19 @@ whitespace from a string.")
       (origin
         (method url-fetch)
         (uri (crate-uri "unsafe-any" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "0zwwphsqkw5qaiqmjwngnfpv9ym85qcsyj7adip9qplzjzbn00zk"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-traitobject" ,rust-traitobject))))
     (home-page "https://tokio.rs")
     (synopsis "Traits and implementations for unchecked downcasting")
     (description
      "Traits and implementations for unchecked downcasting.")
+    (properties '((hidden? . #t)))
     (license license:expat)))
 
-(define-public rust-untrusted
+(define-public rust-untrusted-0.7
   (package
     (name "rust-untrusted")
     (version "0.7.0")
@@ -4189,7 +3782,7 @@ whitespace from a string.")
       (origin
         (method url-fetch)
         (uri (crate-uri "untrusted" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "1kmfykcwif6ashkwg54gcnhxj03kpba2i9vc7z5rpr0xlgvrwdk0"))))
@@ -4199,9 +3792,10 @@ whitespace from a string.")
     (description
      "Safe, fast, zero-panic, zero-crashing, zero-allocation parsing of
 untrusted inputs in Rust.")
+    (properties '((hidden? . #t)))
     (license license:isc)))
 
-(define-public rust-vcpkg
+(define-public rust-vcpkg-0.2
   (package
     (name "rust-vcpkg")
     (version "0.2.7")
@@ -4209,25 +3803,21 @@ untrusted inputs in Rust.")
       (origin
         (method url-fetch)
         (uri (crate-uri "vcpkg" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "15dzk1b96q946v9aisbd1bbhi33n93wvgziwh1shmscn1xflbp9k"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-development-inputs
-       (("rust-lazy-static" ,rust-lazy-static)
-        ("rust-tempdir" ,rust-tempdir))
-       #:tests? #f)) ; tests try to link libmysql, graphite2, harfbuzz
     (home-page "https://github.com/mcgoo/vcpkg-rs")
     (synopsis "Find native dependencies in a vcpkg tree at build time")
     (description
      "This package provides a library to find native dependencies in a
 @code{vcpkg} tree at build time in order to be used in Cargo build scripts.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-version-check
+(define-public rust-version-check-0.9
   (package
     (name "rust-version-check")
     (version "0.9.1")
@@ -4235,7 +3825,7 @@ untrusted inputs in Rust.")
       (origin
         (method url-fetch)
         (uri (crate-uri "version_check" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "1kikqlnggii1rvnxrbls55sc46lxvinz5k3giscgncjj4p87b1q7"))))
@@ -4248,24 +3838,25 @@ version requirements.  The version is queried by calling the Rust compiler with
 @code{--version}.  The path to the compiler is determined first via the
 @code{RUSTC} environment variable.  If it is not set, then @code{rustc} is used.
 If that fails, no determination is made, and calls return None.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
 (define-public rust-version-check-0.1
   (package
-    (inherit rust-version-check)
+    (inherit rust-version-check-0.9)
     (name "rust-version-check")
     (version "0.1.5")
     (source
       (origin
         (method url-fetch)
         (uri (crate-uri "version_check" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "1pf91pvj8n6akh7w6j5ypka6aqz08b3qpzgs0ak2kjf4frkiljwi"))))))
 
-(define-public rust-void
+(define-public rust-void-1.0
   (package
     (name "rust-void")
     (version "1.0.2")
@@ -4273,7 +3864,7 @@ If that fails, no determination is made, and calls return None.")
       (origin
         (method url-fetch)
         (uri (crate-uri "void" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "0zc8f0ksxvmhvgx4fdg0zyn6vdnbxd2xv9hfx4nhzg6kbs4f80ka"))))
@@ -4282,9 +3873,10 @@ If that fails, no determination is made, and calls return None.")
     (synopsis "Void type for use in statically impossible cases")
     (description
      "The uninhabited void type for use in statically impossible cases.")
+    (properties '((hidden? . #t)))
     (license license:expat)))
 
-(define-public rust-walkdir
+(define-public rust-walkdir-2.2
   (package
     (name "rust-walkdir")
     (version "2.2.9")
@@ -4292,25 +3884,19 @@ If that fails, no determination is made, and calls return None.")
       (origin
         (method url-fetch)
         (uri (crate-uri "walkdir" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "07ppalpvxkf8cnqr64np422792y4z5bs9m8b4nrflh5rm17wjn4n"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-same-file" ,rust-same-file)
-        ("rust-winapi" ,rust-winapi)
-        ("rust-winapi-util" ,rust-winapi-util))
-       #:cargo-development-inputs
-       (("rust-doc-comment" ,rust-doc-comment))))
     (home-page  "https://github.com/BurntSushi/walkdir")
     (synopsis "Recursively walk a directory")
     (description "Recursively walk a directory.")
+    (properties '((hidden? . #t)))
     (license (list license:unlicense
                    license:expat))))
 
-(define-public rust-wasi
+(define-public rust-wasi-0.5
   (package
     (name "rust-wasi")
     (version "0.5.0")
@@ -4319,7 +3905,7 @@ If that fails, no determination is made, and calls return None.")
        (method url-fetch)
        (uri (crate-uri "wasi" version))
        (file-name
-        (string-append name "-" version ".tar.gz"))
+        (string-append name "-" version ".crate"))
        (sha256
         (base32
          "1ir3pd4phdfml0cbziw9bqp7mnk0vfp9biy8bh25lln6raml4m7x"))))
@@ -4328,9 +3914,10 @@ If that fails, no determination is made, and calls return None.")
     (synopsis "Experimental WASI API bindings for Rust")
     (description "This package contains experimental WASI API bindings
 in Rust.")
+    (properties '((hidden? . #t)))
     (license license:asl2.0)))
 
-(define-public rust-wasm-bindgen-shared
+(define-public rust-wasm-bindgen-shared-0.2
   (package
     (name "rust-wasm-bindgen-shared")
     (version "0.2.48")
@@ -4338,7 +3925,7 @@ in Rust.")
       (origin
         (method url-fetch)
         (uri (crate-uri "wasm-bindgen-shared" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "08rnfhjyk0f6liv8n4rdsvhx7r02glkhcbj2lp9lcbkbfpad9hnr"))))
@@ -4347,10 +3934,11 @@ in Rust.")
     (synopsis "Shared support between wasm-bindgen and wasm-bindgen cli")
     (description "This package provides shared support between
 @code{wasm-bindgen} and @code{wasm-bindgen} cli, an internal dependency.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-wasm-bindgen-test-macro
+(define-public rust-wasm-bindgen-test-macro-0.2
   (package
     (name "rust-wasm-bindgen-test-macro")
     (version "0.2.48")
@@ -4358,23 +3946,20 @@ in Rust.")
       (origin
         (method url-fetch)
         (uri (crate-uri "wasm-bindgen-test-macro" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "0n28mr6vncf1k1qr2b5bvfxq4jvqkjdzq0z0ab6w2f5d6v8q3q3l"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-proc-macro2" ,rust-proc-macro2)
-        ("rust-quote" ,rust-quote))))
     (home-page "https://github.com/rustwasm/wasm-bindgen")
     (synopsis "Internal testing macro for wasm-bindgen")
     (description
      "This library contains the internal testing macro for wasm-bindgen.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-widestring
+(define-public rust-widestring-0.4
   (package
     (name "rust-widestring")
     (version "0.4.0")
@@ -4382,24 +3967,22 @@ in Rust.")
       (origin
         (method url-fetch)
         (uri (crate-uri "widestring" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "1dhx6dndjsz1y7c9w06922412kdxyrrkqblvggm76mh8z17hxz7g"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-development-inputs
-       (("rust-winapi" ,rust-winapi))))
     (home-page "https://github.com/starkat99/widestring-rs")
     (synopsis "Wide string Rust FFI library")
     (description
      "A wide string Rust FFI library for converting to and from wide strings,
 such as those often used in Windows API or other FFI libraries.  Both UTF-16 and
 UTF-32 types are provided, including support for malformed encoding.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-winapi
+(define-public rust-winapi-0.3
   (package
     (name "rust-winapi")
     (version "0.3.8")
@@ -4407,46 +3990,34 @@ UTF-32 types are provided, including support for malformed encoding.")
       (origin
         (method url-fetch)
         (uri (crate-uri "winapi" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "1ii9j9lzrhwri0902652awifzx9fpayimbp6hfhhc296xcg0k4w0"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-winapi-i686-pc-windows-gnu"
-         ,rust-winapi-i686-pc-windows-gnu)
-        ("rust-winapi-x86-64-pc-windows-gnu"
-         ,rust-winapi-x86-64-pc-windows-gnu))))
     (home-page "https://github.com/retep998/winapi-rs")
     (synopsis "Raw FFI bindings for all of Windows API.")
     (description
      "Raw FFI bindings for all of Windows API.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
 (define-public rust-winapi-0.2
   (package
-    (inherit rust-winapi)
+    (inherit rust-winapi-0.3)
     (name "rust-winapi")
     (version "0.2.8")
     (source
       (origin
         (method url-fetch)
         (uri (crate-uri "winapi" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
-          "0yh816lh6lf56dpsgxy189c2ai1z3j8mw9si6izqb6wsjkbcjz8n"))))
-    ;; We do not want to package 48 -sys crates for a package we do not want.
-    ;; They are all dev dependencies, so we skip building and testing.
-    (arguments
-     `(#:tests? #f
-       #:phases
-       (modify-phases %standard-phases
-         (delete 'build))))))
+          "0yh816lh6lf56dpsgxy189c2ai1z3j8mw9si6izqb6wsjkbcjz8n"))))))
 
-(define-public rust-winapi-build
+(define-public rust-winapi-build-0.1
   (package
     (name "rust-winapi-build")
     (version "0.1.1")
@@ -4454,7 +4025,7 @@ UTF-32 types are provided, including support for malformed encoding.")
       (origin
         (method url-fetch)
         (uri (crate-uri "winapi-build" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "1g4rqsgjky0a7530qajn2bbfcrl2v0zb39idgdws9b1l7gp5wc9d"))))
@@ -4463,9 +4034,10 @@ UTF-32 types are provided, including support for malformed encoding.")
     (synopsis "Common code for build.rs in WinAPI -sys crates")
     (description
      "Common code for build.rs in WinAPI -sys crates.")
+    (properties '((hidden? . #t)))
     (license license:expat)))
 
-(define-public rust-winapi-i686-pc-windows-gnu
+(define-public rust-winapi-i686-pc-windows-gnu-0.4
   (package
     (name "rust-winapi-i686-pc-windows-gnu")
     (version "0.4.0")
@@ -4473,7 +4045,7 @@ UTF-32 types are provided, including support for malformed encoding.")
       (origin
         (method url-fetch)
         (uri (crate-uri "winapi-i686-pc-windows-gnu" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "1dmpa6mvcvzz16zg6d5vrfy4bxgg541wxrcip7cnshi06v38ffxc"))))
@@ -4483,10 +4055,11 @@ UTF-32 types are provided, including support for malformed encoding.")
     (description "This crate provides import libraries for the
 i686-pc-windows-gnu target.  Please don't use this crate directly, depend on
 @code{winapi} instead.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-winapi-util
+(define-public rust-winapi-util-0.1
   (package
     (name "rust-winapi-util")
     (version "0.1.2")
@@ -4494,22 +4067,21 @@ i686-pc-windows-gnu target.  Please don't use this crate directly, depend on
       (origin
         (method url-fetch)
         (uri (crate-uri "winapi-util" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "1j839dc6y8vszvrsb7yk0qvs0w6asnahxzbyans37vnsw6vbls3i"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs (("rust-winapi" ,rust-winapi))))
     (home-page "https://github.com/BurntSushi/winapi-util")
     (synopsis "Dumping ground for high level safe wrappers over winapi")
     (description
      "This package provides a dumping ground for high level safe wrappers over
 winapi.")
+    (properties '((hidden? . #t)))
     (license (list license:unlicense
                    license:expat))))
 
-(define-public rust-winapi-x86-64-pc-windows-gnu
+(define-public rust-winapi-x86-64-pc-windows-gnu-0.4
   (package
     (name "rust-winapi-x86-64-pc-windows-gnu")
     (version "0.4.0")
@@ -4517,7 +4089,7 @@ winapi.")
       (origin
         (method url-fetch)
         (uri (crate-uri "winapi-x86_64-pc-windows-gnu" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "0gqq64czqb64kskjryj8isp62m2sgvx25yyj3kpc2myh85w24bki"))))
@@ -4527,10 +4099,11 @@ winapi.")
     (description "This package provides import libraries for the
 x86_64-pc-windows-gnu target.  Please don't use this crate directly, depend on
 @code{winapi} instead.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-wincolor
+(define-public rust-wincolor-1.0
   (package
     (name "rust-wincolor")
     (version "1.0.2")
@@ -4538,24 +4111,21 @@ x86_64-pc-windows-gnu target.  Please don't use this crate directly, depend on
       (origin
         (method url-fetch)
         (uri (crate-uri "wincolor" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "1agaf3hcav113i86912ajnw6jxcy4rvkrgyf8gdj8kc031mh3xcn"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-winapi" ,rust-winapi)
-        ("rust-winapi-util" ,rust-winapi-util))))
     (home-page "https://github.com/BurntSushi/termcolor/tree/master/wincolor")
     (synopsis "Windows API for controlling text color in a Windows console")
     (description
      "This package provides a simple Windows specific API for controlling text
 color in a Windows console.")
+    (properties '((hidden? . #t)))
     (license (list license:unlicense
                    license:expat))))
 
-(define-public rust-winutil
+(define-public rust-winutil-0.1
   (package
     (name "rust-winutil")
     (version "0.1.1")
@@ -4563,26 +4133,19 @@ color in a Windows console.")
       (origin
         (method url-fetch)
         (uri (crate-uri "winutil" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "0vkyl3fbbf05n5ph5yz8sfaccrk9x3qsr25560w6w68ldf5i7bvx"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-winapi" ,rust-winapi))
-       ;; This unmaintained crate cannot find winapi when built directly.
-       #:tests? #f
-       #:phases
-       (modify-phases %standard-phases
-         (delete 'build))))
     (home-page "https://bitbucket.org/DaveLancaster/winutil")
     (synopsis "Library wrapping a handful of useful winapi functions")
     (description
      "A simple library wrapping a handful of useful winapi functions.")
+    (properties '((hidden? . #t)))
     (license license:expat)))
 
-(define-public rust-ws2-32-sys
+(define-public rust-ws2-32-sys-0.2
   (package
     (name "rust-ws2-32-sys")
     (version "0.2.1")
@@ -4590,29 +4153,19 @@ color in a Windows console.")
       (origin
         (method url-fetch)
         (uri (crate-uri "ws2_32-sys" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "0ppscg5qfqaw0gzwv2a4nhn5bn01ff9iwn6ysqnzm4n8s3myz76m"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-winapi" ,rust-winapi-0.2)
-        ("rust-winapi-build" ,rust-winapi-build))
-       #:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'fix-Cargo-toml
-           (lambda _
-             (substitute* "Cargo.toml"
-               ((", path =.* }") "}\n"))
-             #t)))))
     (home-page "https://github.com/retep998/winapi-rs")
     (synopsis "Function definitions for the Windows API library ws2_32")
     (description
      "Contains function definitions for the Windows API library ws2_32.")
+    (properties '((hidden? . #t)))
     (license license:expat)))
 
-(define-public rust-xattr
+(define-public rust-xattr-0.2
   (package
     (name "rust-xattr")
     (version "0.2.2")
@@ -4620,26 +4173,21 @@ color in a Windows console.")
       (origin
         (method url-fetch)
         (uri (crate-uri "xattr" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "0k556fb6f5jc907975j9c8iynl2fqz3rf0w6fiig83i4yi0kfk14"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-libc" ,rust-libc))
-       #:cargo-development-inputs
-       (("rust-tempfile" ,rust-tempfile))
-       #:tests? #f)) ; Tests assume read access to /var.
     (home-page "https://github.com/Stebalien/xattr")
     (synopsis "Unix extended filesystem attributes")
     (description
      "This package provide a small library for setting, getting, and listing
 extended attributes.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-xdg
+(define-public rust-xdg-2.2
   (package
     (name "rust-xdg")
     (version "2.2.0")
@@ -4647,7 +4195,7 @@ extended attributes.")
       (origin
         (method url-fetch)
         (uri (crate-uri "xdg" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "0mws8a0fr3cqk5nh7aq9lmkmhzghvasqy4mhw6nnza06l4d6i2fh"))))
@@ -4657,5 +4205,6 @@ extended attributes.")
     (description
      "This package provides a library for storing and retrieving files according
 to XDG Base Directory specification")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))

From 07c9fd36d6cd3400980ec362ce493d8ae0918bf8 Mon Sep 17 00:00:00 2001
From: Efraim Flashner 
Date: Sun, 27 Oct 2019 21:23:39 +0200
Subject: [PATCH 0469/1112] gnu: Merge all crates into (gnu packages
 crates-io).

* gnu/packages/rust-cbindgen.scm: Move all crates ...
* gnu/packages/crates-io.scm: ... to here.
---
 gnu/packages/crates-io.scm     | 597 +++++++++++++++++++--
 gnu/packages/rust-cbindgen.scm | 938 +--------------------------------
 2 files changed, 557 insertions(+), 978 deletions(-)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 7b34b70600b..b4bb599dcc9 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -119,7 +119,7 @@ text or blue underlined text, on ANSI terminals.")
 (define-public rust-autocfg-0.1
   (package
     (name "rust-autocfg")
-    (version "0.1.5")
+    (version "0.1.7")
     (source
       (origin
         (method url-fetch)
@@ -127,7 +127,7 @@ text or blue underlined text, on ANSI terminals.")
         (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
-          "0asl6fnc35yk5l2rxwhp25v128jgm45dp754h9z8x51b6n90w4r2"))))
+          "1chwgimpx5z7xbag7krr9d8asxfqbh683qhgl9kn3hxk2l0djj8x"))))
     (build-system cargo-build-system)
     (home-page "https://github.com/cuviper/autocfg")
     (synopsis "Automatic cfg for Rust compiler features")
@@ -312,7 +312,7 @@ archive to be linked into Rustcode.")
 (define-public rust-cfg-if-0.1
   (package
     (name "rust-cfg-if")
-    (version "0.1.9")
+    (version "0.1.10")
     (source
       (origin
         (method url-fetch)
@@ -320,7 +320,7 @@ archive to be linked into Rustcode.")
         (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
-          "0csygklgz3ybpr0670rkip49zh76m43ar3k7xgypkzbzrwycx1ml"))))
+          "08h80ihs74jcyp24cd75wwabygbbdgl05k6p5dmq8akbr78vv1a7"))))
     (build-system cargo-build-system)
     (home-page "https://github.com/alexcrichton/cfg-if")
     (synopsis "Define an item depending on parameters")
@@ -376,6 +376,27 @@ depending on a large number of #[cfg] parameters.  Structured like an
          (base32
           "1r50dwy5hj5gq07dn0qf8222d07qv0970ymx0j8n9779yayc3w3f"))))))
 
+(define-public rust-clap-2
+  (package
+    (name "rust-clap")
+    (version "2.33.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "clap" version))
+        (file-name (string-append name "-" version ".crate"))
+        (sha256
+         (base32
+          "1nf6ld3bims1n5vfzhkvcb55pdzh04bbhzf8nil5vvw05nxzarsh"))))
+    (build-system cargo-build-system)
+    (home-page "https://clap.rs/")
+    (synopsis "Command Line Argument Parser")
+    (description
+     "This package provides a simple to use, efficient, and full-featured
+Command Line Argument Parser.")
+    (properties '((hidden? . #t)))
+    (license license:expat)))
+
 (define-public rust-clicolors-control-1.0
   (package
     (name "rust-clicolors-control")
@@ -1376,16 +1397,15 @@ requires non-const function calls to be computed.")
 (define-public rust-libc-0.2
   (package
     (name "rust-libc")
-    (version "0.2.62")
+    (version "0.2.65")
     (source
      (origin
        (method url-fetch)
        (uri (crate-uri "libc" version))
-       (file-name
-        (string-append name "-" version ".crate"))
+       (file-name (string-append name "-" version ".crate"))
        (sha256
         (base32
-         "1fh69kpjg8hqff36kdczx7sax98gk4qs4ws1dwvjz0rgip0d5z1l"))))
+         "1s14bjxnz6haw0gr1h3j4sr7s2s407hpgm8dxhwnl7yzgxia0c8s"))))
     (build-system cargo-build-system)
     (home-page "https://github.com/rust-lang/libc")
     (synopsis "Raw FFI bindings to platform libraries like libc")
@@ -1540,10 +1560,10 @@ functions and static variables these libraries contain.")
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-log-0.3
+(define-public rust-log-0.4
   (package
     (name "rust-log")
-    (version "0.3.8")
+    (version "0.4.8")
     (source
       (origin
         (method url-fetch)
@@ -1551,15 +1571,28 @@ functions and static variables these libraries contain.")
         (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
-          "0nsn28syc49vvjhxcfc8261rd1frhjc0r4bn9v3mqvps3ra7f3w8"))))
+          "1xz18ixccl5c6np4linv3ypc7hpmmgpc5zzd2ymp2ssfx0mhbdhl"))))
     (build-system cargo-build-system)
-    (home-page "https://github.com/rust-lang-nursery/log")
-    (synopsis "Lightweight logging")
+    (home-page "https://github.com/rust-lang/log")
+    (synopsis "Lightweight logging facade for Rust")
     (description
-     "This package provides a lightweight logging facade for Rust")
+     "This package provides a lightweight logging facade for Rust.")
     (properties '((hidden? . #t)))
-    (license (list license:asl2.0
-                   license:expat))))
+    (license (list license:expat license:asl2.0))))
+
+(define-public rust-log-0.3
+  (package
+    (inherit rust-log-0.4)
+    (name "rust-log")
+    (version "0.3.8")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "log" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32
+          "0nsn28syc49vvjhxcfc8261rd1frhjc0r4bn9v3mqvps3ra7f3w8"))))))
 
 (define-public rust-lzma-sys-0.1
   (package
@@ -2058,6 +2091,26 @@ implementation (which is unstable / requires nightly).")
           "0c9whknf2dm74a3cqirafy6gj83a76gl56g4v3g19k6lkwz13rcj"))))
     (build-system cargo-build-system)))
 
+(define-public rust-numtoa-0.1
+  (package
+    (name "rust-numtoa")
+    (version "0.1.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "numtoa" version))
+        (file-name (string-append name "-" version ".crate"))
+        (sha256
+         (base32
+          "1vs9rhggqbql1p26x8nkha1j06wawwgb2jp5fs88b5gi7prvvy5q"))))
+    (build-system cargo-build-system)
+    (home-page "https://gitlab.com/mmstick/numtoa")
+    (synopsis "Convert numbers into stack-allocated byte arrays")
+    (description
+     "This package can convert numbers into stack-allocated byte arrays.")
+    (properties '((hidden? . #t)))
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-openssl-probe-0.1
   (package
     (name "rust-openssl-probe")
@@ -2402,19 +2455,18 @@ for x86.")
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-proc-macro2-0.4
+(define-public rust-proc-macro2-1.0
   (package
     (name "rust-proc-macro2")
-    (version "0.4.30")
+    (version "1.0.6")
     (source
       (origin
         (method url-fetch)
         (uri (crate-uri "proc-macro2" version))
-        (file-name
-          (string-append name "-" version ".crate"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
-          (base32
-            "0nd71fl24sys066jrha6j7i34nfkjv44yzw8yww9742wmc8j0gfg"))))
+         (base32
+          "09rgb5ab0jgw39kyad0lgqs4nb9yaf7mwcrgxqnsxbn4il54g7lw"))))
     (build-system cargo-build-system)
     (home-page "https://github.com/alexcrichton/proc-macro2")
     (synopsis "Stable implementation of the upcoming new `proc_macro` API")
@@ -2422,9 +2474,22 @@ for x86.")
 `proc_macro` API.  Comes with an option, off by default, to also reimplement itself
 in terms of the upstream unstable API.")
     (properties '((hidden? . #t)))
-    ;; Dual licensed.
     (license (list license:asl2.0 license:expat))))
 
+(define-public rust-proc-macro2-0.4
+  (package
+    (inherit rust-proc-macro2-1.0)
+    (name "rust-proc-macro2")
+    (version "0.4.30")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "proc-macro2" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32
+          "0nd71fl24sys066jrha6j7i34nfkjv44yzw8yww9742wmc8j0gfg"))))))
+
 (define-public rust-quick-error-1.2
   (package
     (name "rust-quick-error")
@@ -2446,31 +2511,43 @@ to write.")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-quote-1.0
+  (package
+    (name "rust-quote")
+    (version "1.0.2")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "quote" version))
+        (file-name (string-append name "-" version ".crate"))
+        (sha256
+         (base32
+          "1zkc46ryacf2jdkc6krsy2z615xbk1x8kp1830rcxz3irj5qqfh5"))))
+    (build-system cargo-build-system)
+    (home-page "https://github.com/dtolnay/quote")
+    (synopsis "Quasi-quoting macro quote!(...)")
+    (description "Quasi-quoting macro quote!(...)")
+    (properties '((hidden? . #t)))
+    (license (list license:asl2.0 license:expat))))
+
 (define-public rust-quote-0.6
   (package
+    (inherit rust-quote-1.0)
     (name "rust-quote")
     (version "0.6.12")
     (source
       (origin
         (method url-fetch)
         (uri (crate-uri "quote" version))
-        (file-name
-          (string-append name "-" version ".crate"))
+        (file-name (string-append name "-" version ".tar.gz"))
         (sha256
-          (base32
-            "1nw0klza45hf127kfyrpxsxd5jw2l6h21qxalil3hkr7bnf7kx7s"))))
-    (build-system cargo-build-system)
-    (home-page "https://github.com/dtolnay/quote")
-    (synopsis "Quasi-quoting macro quote!(...)")
-    (description "Quasi-quoting macro quote!(...)")
-    (properties '((hidden? . #t)))
-    ;; Dual licensed.
-    (license (list license:asl2.0 license:expat))))
+         (base32
+          "1nw0klza45hf127kfyrpxsxd5jw2l6h21qxalil3hkr7bnf7kx7s"))))))
 
-(define-public rust-rand-0.4
+(define-public rust-rand-0.6
   (package
     (name "rust-rand")
-    (version "0.4.3")
+    (version "0.6.5")
     (source
       (origin
         (method url-fetch)
@@ -2478,7 +2555,7 @@ to write.")
         (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
-          "1gfgnqfj2pyh27dcb720jpawskllwnbvxh816ddyykv269xz8ml3"))))
+          "1jl4449jcl4wgmzld6ffwqj5gwxrp8zvx8w573g1z368qg6xlwbd"))))
     (build-system cargo-build-system)
     (home-page "https://crates.io/crates/rand")
     (synopsis "Random number generators and other randomness functionality")
@@ -2489,9 +2566,23 @@ useful types and distributions, and some randomness-related algorithms.")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-rand-0.4
+  (package
+    (inherit rust-rand-0.6)
+    (name "rust-rand")
+    (version "0.4.3")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "rand" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32
+          "1gfgnqfj2pyh27dcb720jpawskllwnbvxh816ddyykv269xz8ml3"))))))
+
 (define-public rust-rand-0.3
   (package
-    (inherit rust-rand-0.4)
+    (inherit rust-rand-0.6)
     (name "rust-rand")
     (version "0.3.23")
     (source
@@ -2503,6 +2594,190 @@ useful types and distributions, and some randomness-related algorithms.")
          (base32
           "0v679h38pjjqj5h4md7v2slsvj6686qgcn7p9fbw3h43iwnk1b34"))))))
 
+(define-public rust-rand-chacha-0.1
+  (package
+    (name "rust-rand-chacha")
+    (version "0.1.1")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "rand_chacha" version))
+        (file-name (string-append name "-" version ".crate"))
+        (sha256
+         (base32
+          "1vxwyzs4fy1ffjc8l00fsyygpiss135irjf7nyxgq2v0lqf3lvam"))))
+    (build-system cargo-build-system)
+    (home-page "https://crates.io/crates/rand_chacha")
+    (synopsis "ChaCha random number generator")
+    (description "ChaCha random number generator")
+    (properties '((hidden? . #t)))
+    (license (list license:asl2.0
+                   license:expat))))
+
+(define-public rust-rand-core-0.4
+  (package
+    (name "rust-rand-core")
+    (version "0.4.2")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "rand_core" version))
+        (file-name (string-append name "-" version ".crate"))
+        (sha256
+         (base32
+          "1p09ynysrq1vcdlmcqnapq4qakl2yd1ng3kxh3qscpx09k2a6cww"))))
+    (build-system cargo-build-system)
+    (home-page "https://crates.io/crates/rand_core")
+    (synopsis
+      "Core random number generator traits and tools for implementation.")
+    (description
+      "Core random number generator traits and tools for implementation.")
+    (properties '((hidden? . #t)))
+    (license (list license:asl2.0
+                   license:expat))))
+
+(define-public rust-rand-core-0.3
+  (package
+    (inherit rust-rand-core-0.4)
+    (name "rust-rand-core")
+    (version "0.3.1")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "rand_core" version))
+        (file-name (string-append name "-" version ".crate"))
+        (sha256
+         (base32
+          "0jzdgszfa4bliigiy4hi66k7fs3gfwi2qxn8vik84ph77fwdwvvs"))))
+    ;; This version is a 0.3 API wrapper around the 0.4 version.
+    (arguments
+     `(#:cargo-inputs (("rand-core" ,rust-rand-core-0.4))))))
+
+(define-public rust-rand-hc-0.1
+  (package
+    (name "rust-rand-hc")
+    (version "0.1.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "rand_hc" version))
+        (file-name (string-append name "-" version ".crate"))
+        (sha256
+         (base32
+          "1i0vl8q5ddvvy0x8hf1zxny393miyzxkwqnw31ifg6p0gdy6fh3v"))))
+    (build-system cargo-build-system)
+    (home-page "https://crates.io/crates/rand_hc")
+    (synopsis "HC128 random number generator")
+    (description "HC128 random number generator")
+    (properties '((hidden? . #t)))
+    (license (list license:asl2.0
+                   license:expat))))
+
+(define-public rust-rand-isaac-0.1
+  (package
+    (name "rust-rand-isaac")
+    (version "0.1.1")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "rand_isaac" version))
+        (file-name (string-append name "-" version ".crate"))
+        (sha256
+         (base32
+          "027flpjr4znx2csxk7gxb7vrf9c7y5mydmvg5az2afgisp4rgnfy"))))
+    (build-system cargo-build-system)
+    (home-page "https://crates.io/crates/rand_isaac")
+    (synopsis "ISAAC random number generator")
+    (description "ISAAC random number generator")
+    (properties '((hidden? . #t)))
+    (license (list license:asl2.0
+                   license:expat))))
+
+(define-public rust-rand-jitter-0.1
+  (package
+    (name "rust-rand-jitter")
+    (version "0.1.4")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "rand_jitter" version))
+        (file-name (string-append name "-" version ".crate"))
+        (sha256
+         (base32
+          "16z387y46bfz3csc42zxbjq89vcr1axqacncvv8qhyy93p4xarhi"))))
+    (build-system cargo-build-system)
+    (home-page "https://github.com/rust-random/rand")
+    (synopsis
+      "Random number generator based on timing jitter")
+    (description
+      "Random number generator based on timing jitter")
+    (properties '((hidden? . #t)))
+    (license (list license:asl2.0
+                   license:expat))))
+
+(define-public rust-rand-os-0.1
+  (package
+    (name "rust-rand-os")
+    (version "0.1.3")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "rand_os" version))
+        (file-name (string-append name "-" version ".crate"))
+        (sha256
+         (base32
+          "0wahppm0s64gkr2vmhcgwc0lij37in1lgfxg5rbgqlz0l5vgcxbv"))))
+    (build-system cargo-build-system)
+    (home-page "https://crates.io/crates/rand_os")
+    (synopsis "OS backed Random Number Generator")
+    (description "OS backed Random Number Generator")
+    (properties '((hidden? . #t)))
+    (license (list license:asl2.0
+                   license:expat))))
+
+(define-public rust-rand-pcg-0.1
+  (package
+    (name "rust-rand-pcg")
+    (version "0.1.2")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "rand_pcg" version))
+        (file-name (string-append name "-" version ".crate"))
+        (sha256
+         (base32
+          "0i0bdla18a8x4jn1w0fxsbs3jg7ajllz6azmch1zw33r06dv1ydb"))))
+    (build-system cargo-build-system)
+    (home-page "https://crates.io/crates/rand_pcg")
+    (synopsis
+      "Selected PCG random number generators")
+    (description
+      "Selected PCG random number generators")
+    (properties '((hidden? . #t)))
+    (license (list license:asl2.0
+                   license:expat))))
+
+(define-public rust-rand-xorshift-0.1
+  (package
+    (name "rust-rand-xorshift")
+    (version "0.1.1")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "rand_xorshift" version))
+        (file-name (string-append name "-" version ".crate"))
+        (sha256
+         (base32
+          "0p2x8nr00hricpi2m6ca5vysiha7ybnghz79yqhhx6sl4gkfkxyb"))))
+    (build-system cargo-build-system)
+    (home-page "https://crates.io/crates/rand_xorshift")
+    (synopsis "Xorshift random number generator")
+    (description
+      "Xorshift random number generator")
+    (properties '((hidden? . #t)))
+    (license (list license:asl2.0
+                   license:expat))))
+
 (define-public rust-rawpointer-0.1
   (package
     (name "rust-rawpointer")
@@ -2525,6 +2800,27 @@ and @code{ptrdistance}.")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-rdrand-0.4
+  (package
+    (name "rust-rdrand")
+    (version "0.4.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "rdrand" version))
+        (file-name (string-append name "-" version ".crate"))
+        (sha256
+         (base32
+          "1cjq0kwx1bk7jx3kzyciiish5gqsj7620dm43dc52sr8fzmm9037"))))
+    (build-system cargo-build-system)
+    (home-page "https://github.com/nagisa/rust_rdrand/")
+    (synopsis "Random number generator")
+    (description
+     "This package is an implementation of random number generator based on
+@code{rdrand} and @cpde{rdseed} instructions")
+    (properties '((hidden? . #t)))
+    (license license:isc)))
+
 ;; This package requires features which are unavailable
 ;; on the stable releases of Rust.
 (define-public rust-redox-syscall-0.1
@@ -2547,6 +2843,26 @@ system calls.")
     (properties '((hidden? . #t)))
     (license license:expat)))
 
+(define-public rust-redox-termios-0.1
+  (package
+    (name "rust-redox-termios")
+    (version "0.1.1")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "redox-termios" version))
+        (file-name (string-append name "-" version ".crate"))
+        (sha256
+         (base32
+          "0xhgvdh62mymgdl3jqrngl8hr4i8xwpnbsxnldq0l47993z1r2by"))))
+    (build-system cargo-build-system)
+    (home-page "https://github.com/redox-os/termios")
+    (synopsis "Rust library to access Redox termios functions")
+    (description
+     "This package provides a Rust library to access Redox termios functions.")
+    (properties '((hidden? . #t)))
+    (license license:expat)))
+
 (define-public rust-regex-syntax-0.6
   (package
     (name "rust-regex-syntax")
@@ -2698,6 +3014,27 @@ rust-lang/rust integration.")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-ryu-1.0
+  (package
+    (name "rust-ryu")
+    (version "1.0.2")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "ryu" version))
+        (file-name (string-append name "-" version ".crate"))
+        (sha256
+         (base32
+          "1j0h74f1xqf9hjkhanp8i20mqc1aw35kr1iq9i79q7713mn51a5z"))))
+    (build-system cargo-build-system)
+    (home-page "https://github.com/dtolnay/ryu")
+    (synopsis
+      "Fast floating point to string conversion")
+    (description
+      "Fast floating point to string conversion")
+    (properties '((hidden? . #t)))
+    (license (list license:asl2.0 license:boost1.0))))
+
 (define-public rust-safemem-0.3
   (package
     (name "rust-safemem")
@@ -2918,6 +3255,67 @@ with one of the implemented strategies.")
          (base32
           "18vhypw6zgccnrlm5ps1pwa0khz7ry927iznpr88b87cagr1v2iq"))))))
 
+(define-public rust-serde-1.0
+  (package
+    (name "rust-serde")
+    (version "1.0.101")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "serde" version))
+        (file-name (string-append name "-" version ".crate"))
+        (sha256
+         (base32
+          "1p8r24hagcsrl92w5z32nfrg9040qkgqf8iwwnf7mzigpavwk5lp"))))
+    (build-system cargo-build-system)
+    (home-page "https://serde.rs")
+    (synopsis "Generic serialization/deserialization framework")
+    (description
+     "This package provides a generic serialization/deserialization framework.")
+    (properties '((hidden? . #t)))
+    (license (list license:expat license:asl2.0))))
+
+(define-public rust-serde-derive-1.0
+  (package
+    (name "rust-serde-derive")
+    (version "1.0.101")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "serde-derive" version))
+        (file-name (string-append name "-" version ".crate"))
+        (sha256
+         (base32
+          "0bn0wz3j48248187mfmypyqnh73mq734snxxhr05vmgcl51kl4sb"))))
+    (build-system cargo-build-system)
+    (home-page "https://serde.rs")
+    (synopsis
+      "Macros 1.1 implementation of #[derive(Serialize, Deserialize)]")
+    (description
+      "Macros 1.1 implementation of #[derive(Serialize, Deserialize)]")
+    (properties '((hidden? . #t)))
+    (license (list license:expat license:asl2.0))))
+
+(define-public rust-serde-json-1.0
+  (package
+    (name "rust-serde-json")
+    (version "1.0.41")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "serde-json" version))
+        (file-name (string-append name "-" version ".crate"))
+        (sha256
+         (base32
+          "1hipk84x40454mf599752mi7l08wb8qakz8vd6d3zp57d0mfnwig"))))
+    (build-system cargo-build-system)
+    (home-page "https://github.com/serde-rs/json")
+    (synopsis "A JSON serialization file format")
+    (description
+     "This package provides a JSON serialization file format.")
+    (properties '((hidden? . #t)))
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-shlex-0.1
   (package
     (name "rust-shlex")
@@ -3190,6 +3588,25 @@ and Jaro-Winkler.")
          (base32
           "0sjsm7hrvjdifz661pjxq5w4hf190hx53fra8dfvamacvff139cf"))))))
 
+(define-public rust-syn-1.0
+  (package
+    (name "rust-syn")
+    (version "1.0.5")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "syn" version))
+        (file-name (string-append name "-" version ".crate"))
+        (sha256
+         (base32
+          "1gw03w7lzrlqmp2vislcybikgl5wkhrqi6sy70w93xss2abhx1b6"))))
+    (build-system cargo-build-system)
+    (home-page "https://github.com/dtolnay/syn")
+    (synopsis "Parser for Rust source code")
+    (description "Parser for Rust source code")
+    (properties '((hidden? . #t)))
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-synstructure-test-traits-0.1
   (package
     (name "rust-synstructure-test-traits")
@@ -3260,7 +3677,7 @@ deleting all contents when it's dropped.")
 (define-public rust-tempfile-3.0
   (package
     (name "rust-tempfile")
-    (version "3.0.2")
+    (version "3.0.8")
     (source
       (origin
         (method url-fetch)
@@ -3268,7 +3685,7 @@ deleting all contents when it's dropped.")
         (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
-          "0ny1cdbcsrmwjpy4k9366xm6p0jqkrmrvr0cln2djxspp1inyxs7"))))
+          "1vqk7aq2l04my2r3jiyyxirnf8f90nzcvjasvrajivb85s7p7i3x"))))
     (build-system cargo-build-system)
     (home-page "http://stebalien.com/projects/tempfile-rs")
     (synopsis "Library for managing temporary files and directories")
@@ -3321,6 +3738,26 @@ writing colored text to a terminal.")
     (license (list license:unlicense
                    license:expat))))
 
+(define-public rust-termion-1.5
+  (package
+    (name "rust-termion")
+    (version "1.5.3")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "termion" version))
+        (file-name (string-append name "-" version ".crate"))
+        (sha256
+         (base32
+          "0c634rg520zjjfhwnxrc2jbfjz7db0rcpsjs1qici0nyghpv53va"))))
+    (build-system cargo-build-system)
+    (home-page "https://gitlab.redox-os.org/redox-os/termion")
+    (synopsis "Library for manipulating terminals")
+    (description
+     "This package provides a bindless library for manipulating terminals.")
+    (properties '((hidden? . #t)))
+    (license license:expat)))
+
 (define-public rust-termios-0.3
   (package
     (name "rust-termios")
@@ -3344,6 +3781,29 @@ return values to @code{std::io::Result} to indicate success or failure.")
     (properties '((hidden? . #t)))
     (license license:expat)))
 
+(define-public rust-textwrap-0.11
+  (package
+    (name "rust-textwrap")
+    (version "0.11.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "textwrap" version))
+        (file-name (string-append name "-" version ".crate"))
+        (sha256
+         (base32
+          "0q5hky03ik3y50s9sz25r438bc4nwhqc6dqwynv4wylc807n29nk"))))
+    (build-system cargo-build-system)
+    (home-page "https://github.com/mgeisler/textwrap")
+    (synopsis "Library for word wrapping, indenting, and dedenting strings")
+    (description
+     "Textwrap is a small library for word wrapping, indenting, and dedenting
+strings.  You can use it to format strings (such as help and error messages)
+for display in commandline applications.  It is designed to be efficient and
+handle Unicode characters correctly.")
+    (properties '((hidden? . #t)))
+    (license license:expat)))
+
 (define-public rust-thread-id-3.3
   (package
     (name "rust-thread-id")
@@ -3449,6 +3909,30 @@ in Rust.")
     (properties '((hidden? . #t)))
     (license license:expat)))
 
+(define-public rust-toml-0.5
+  (package
+    (name "rust-toml")
+    (version "0.5.3")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "toml" version))
+        (file-name (string-append name "-" version ".crate"))
+        (sha256
+         (base32
+          "093p48vpqm4bb8q3514xsij0dkljxlr3jp9ypxr4p48xjisvxan7"))))
+    (build-system cargo-build-system)
+    (home-page "https://github.com/alexcrichton/toml-rs")
+    (synopsis "Rust encoder and decoder of TOML-formatted files and streams")
+    (description
+     "This package provides a native Rust encoder and decoder of TOML-formatted
+files and streams.  Provides implementations of the standard
+Serialize/Deserialize traits for TOML data to facilitate deserializing and
+serializing Rust structures.")
+    (properties '((hidden? . #t)))
+    (license (list license:asl2.0
+                   license:expat))))
+
 (define-public rust-tracing-core-0.1
   (package
     (name "rust-tracing-core")
@@ -3658,7 +4142,7 @@ with the Unicode character database.")
 (define-public rust-unicode-width-0.1
   (package
     (name "rust-unicode-width")
-    (version "0.1.5")
+    (version "0.1.6")
     (source
       (origin
         (method url-fetch)
@@ -3666,7 +4150,7 @@ with the Unicode character database.")
         (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
-          "09k5lipygardwy0660jhls08fsgknrazzivmn804gps53hiqc8w8"))))
+          "082f9hv1r3gcd1xl33whjhrm18p0w9i77zhhhkiccb5r47adn1vh"))))
     (build-system cargo-build-system)
     (home-page "https://github.com/unicode-rs/unicode-width")
     (synopsis "Determine displayed width according to Unicode rules")
@@ -3817,6 +4301,27 @@ untrusted inputs in Rust.")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-vec-map-0.8
+  (package
+    (name "rust-vec-map")
+    (version "0.8.1")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "vec_map" version))
+        (file-name (string-append name "-" version ".crate"))
+        (sha256
+         (base32
+          "06n8hw4hlbcz328a3gbpvmy0ma46vg1lc0r5wf55900szf3qdiq5"))))
+    (build-system cargo-build-system)
+    (home-page "https://github.com/contain-rs/vec-map")
+    (synopsis "Simple map based on a vector for small integer keys")
+    (description
+     "This package provides a simple map based on a vector for small integer keys.")
+    (properties '((hidden? . #t)))
+    (license (list license:asl2.0
+                   license:expat))))
+
 (define-public rust-version-check-0.9
   (package
     (name "rust-version-check")
@@ -3995,6 +4500,11 @@ UTF-32 types are provided, including support for malformed encoding.")
          (base32
           "1ii9j9lzrhwri0902652awifzx9fpayimbp6hfhhc296xcg0k4w0"))))
     (build-system cargo-build-system)
+    ;; This package depends unconditionally on these two crates.
+    (arguments
+     `(#:cargo-inputs
+       (("winapi-i686-pc-windows-gnu" ,rust-winapi-i686-pc-windows-gnu-0.4)
+        ("winapi-x86-64-pc-windows-gnu" ,rust-winapi-x86-64-pc-windows-gnu-0.4))))
     (home-page "https://github.com/retep998/winapi-rs")
     (synopsis "Raw FFI bindings for all of Windows API.")
     (description
@@ -4015,7 +4525,8 @@ UTF-32 types are provided, including support for malformed encoding.")
         (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
-          "0yh816lh6lf56dpsgxy189c2ai1z3j8mw9si6izqb6wsjkbcjz8n"))))))
+          "0yh816lh6lf56dpsgxy189c2ai1z3j8mw9si6izqb6wsjkbcjz8n"))))
+    (arguments '())))
 
 (define-public rust-winapi-build-0.1
   (package
diff --git a/gnu/packages/rust-cbindgen.scm b/gnu/packages/rust-cbindgen.scm
index 9d20310346a..2590af913f1 100644
--- a/gnu/packages/rust-cbindgen.scm
+++ b/gnu/packages/rust-cbindgen.scm
@@ -20,7 +20,8 @@
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix packages)
   #:use-module (guix download)
-  #:use-module (guix build-system cargo))
+  #:use-module (guix build-system cargo)
+  #:use-module (gnu packages crates-io))
 
 (define-public rust-cbindgen
   (package
@@ -50,7 +51,7 @@
        (("ansi-term" ,rust-ansi-term-0.11)
         ("atty" ,rust-atty-0.2)
         ("autocfg" ,rust-autocfg-0.1)
-        ("bitflags" ,rust-bitflags-1.1)
+        ("bitflags" ,rust-bitflags-1)
         ("cfg-if" ,rust-cfg-if-0.1)
         ("cloudabi" ,rust-cloudabi-0.0)
         ("fuchsia-cprng" ,rust-fuchsia-cprng-0.1)
@@ -84,936 +85,3 @@
     (description
      "This package provides a tool for generating C/C++ bindings to Rust code.")
     (license license:mpl2.0)))
-
-;;;
-;;;^L
-;;;
-
-(define rust-ansi-term-0.11
-  (package
-    (name "rust-ansi-term")
-    (version "0.11.0")
-    (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "ansi_term" version))
-        (file-name (string-append name "-" version ".crate"))
-        (sha256
-         (base32
-          "16wpvrghvd0353584i1idnsgm0r3vchg8fyrm0x8ayv1rgvbljgf"))))
-    (build-system cargo-build-system)
-    (home-page "https://github.com/ogham/rust-ansi-term")
-    (synopsis "Library for ANSI terminal colours and styles")
-    (description
-     "This is a library for controlling colours and formatting, such as red bold
-text or blue underlined text, on ANSI terminals.")
-    (properties '((hidden? . #t)))
-    (license license:expat)))
-
-(define rust-atty-0.2
-  (package
-    (name "rust-atty")
-    (version "0.2.13")
-    (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "atty" version))
-        (file-name (string-append name "-" version ".crate"))
-        (sha256
-         (base32
-          "140sswp1bwqwc4zk80bxkbnfb3g936hgrb77g9g0k1zcld3wc0qq"))))
-    (build-system cargo-build-system)
-    (home-page "https://github.com/softprops/atty")
-    (synopsis "A simple interface for querying atty")
-    (description
-     "This package provides a simple interface for querying atty.")
-    (properties '((hidden? . #t)))
-    (license license:expat)))
-
-(define rust-autocfg-0.1
-  (package
-    (name "rust-autocfg")
-    (version "0.1.7")
-    (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "autocfg" version))
-        (file-name (string-append name "-" version ".crate"))
-        (sha256
-         (base32
-          "1chwgimpx5z7xbag7krr9d8asxfqbh683qhgl9kn3hxk2l0djj8x"))))
-    (build-system cargo-build-system)
-    (home-page "https://github.com/cuviper/autocfg")
-    (synopsis "Automatic cfg for Rust compiler features")
-    (description "Rust library for build scripts to automatically configure
-code based on compiler support.  Code snippets are dynamically tested to see
-if the @code{rustc} will accept them, rather than hard-coding specific version
-support.")
-    (properties '((hidden? . #t)))
-    (license (list license:asl2.0
-                   license:expat))))
-
-(define rust-bitflags-1.1
-  (package
-    (name "rust-bitflags")
-    (version "1.1.0")
-    (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "bitflags" version))
-        (file-name (string-append name "-" version ".crate"))
-        (sha256
-         (base32
-          "1zc1qb1hwsnl2d8rhzicsv9kqd5b2hwbrscrcfw5as4sfr35659x"))))
-    (build-system cargo-build-system)
-    (home-page "https://github.com/bitflags/bitflags")
-    (synopsis "Macro to generate structures which behave like bitflags")
-    (description "This package provides a macro to generate structures which
-behave like a set of bitflags.")
-    (properties '((hidden? . #t)))
-    (license (list license:asl2.0
-                   license:expat))))
-
-(define rust-cfg-if-0.1
-  (package
-    (name "rust-cfg-if")
-    (version "0.1.10")
-    (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "cfg-if" version))
-        (file-name (string-append name "-" version ".crate"))
-        (sha256
-         (base32
-          "08h80ihs74jcyp24cd75wwabygbbdgl05k6p5dmq8akbr78vv1a7"))))
-    (build-system cargo-build-system)
-    (home-page "https://github.com/alexcrichton/cfg-if")
-    (synopsis "Define an item depending on parameters")
-    (description "This package provides a macro to ergonomically define an item
-depending on a large number of #[cfg] parameters.  Structured like an
-@code{if-else} chain, the first matching branch is the item that gets emitted.")
-    (properties '((hidden? . #t)))
-    (license (list license:asl2.0
-                   license:expat))))
-
-(define rust-clap-2
-  (package
-    (name "rust-clap")
-    (version "2.33.0")
-    (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "clap" version))
-        (file-name (string-append name "-" version ".crate"))
-        (sha256
-         (base32
-          "1nf6ld3bims1n5vfzhkvcb55pdzh04bbhzf8nil5vvw05nxzarsh"))))
-    (build-system cargo-build-system)
-    (home-page "https://clap.rs/")
-    (synopsis "Command Line Argument Parser")
-    (description
-     "This package provides a simple to use, efficient, and full-featured
-Command Line Argument Parser.")
-    (properties '((hidden? . #t)))
-    (license license:expat)))
-
-(define rust-cloudabi-0.0
-  (package
-    (name "rust-cloudabi")
-    (version "0.0.3")
-    (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "cloudabi" version))
-        (file-name (string-append name "-" version ".crate"))
-        (sha256
-         (base32
-          "0kxcg83jlihy0phnd2g8c2c303px3l2p3pkjz357ll6llnd5pz6x"))))
-    (build-system cargo-build-system)
-    (home-page "https://nuxi.nl/cloudabi/")
-    (synopsis "Low level interface to CloudABI")
-    (description
-     "Low level interface to CloudABI.  Contains all syscalls and related types.")
-    (properties '((hidden? . #t)))
-    (license license:bsd-2)))
-
-(define rust-fuchsia-cprng-0.1
-  (package
-    (name "rust-fuchsia-cprng")
-    (version "0.1.1")
-    (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "fuchsia-cprng" version))
-        (file-name (string-append name "-" version ".crate"))
-        (sha256
-         (base32
-          "1fnkqrbz7ixxzsb04bsz9p0zzazanma8znfdqjvh39n14vapfvx0"))))
-    (build-system cargo-build-system)
-    (home-page "https://fuchsia.googlesource.com/fuchsia/+/master/garnet/public/rust/fuchsia-cprng")
-    (synopsis "Fuchsia cryptographically secure pseudorandom number generator")
-    (description "Thix package provides a rust crate for the Fuchsia
-cryptographically secure pseudorandom number generator.")
-    (properties '((hidden? . #t)))
-    (license license:bsd-3)))
-
-(define rust-itoa-0.4
-  (package
-    (name "rust-itoa")
-    (version "0.4.4")
-    (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "itoa" version))
-        (file-name (string-append name "-" version ".crate"))
-        (sha256
-         (base32
-          "0zvg2d9qv3avhf3d8ggglh6fdyw8kkwqg3r4622ly5yhxnvnc4jh"))))
-    (build-system cargo-build-system)
-    (home-page "https://github.com/dtolnay/itoa")
-    (synopsis "Fast functions for printing integer primitives")
-    (description "This crate provides fast functions for printing integer
-primitives to an @code{io::Write}.")
-    (properties '((hidden? . #t)))
-    (license (list license:asl2.0
-                   license:expat))))
-
-(define rust-libc-0.2
-  (package
-    (name "rust-libc")
-    (version "0.2.65")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "libc" version))
-       (file-name (string-append name "-" version ".crate"))
-       (sha256
-        (base32
-         "1s14bjxnz6haw0gr1h3j4sr7s2s407hpgm8dxhwnl7yzgxia0c8s"))))
-    (build-system cargo-build-system)
-    (home-page "https://github.com/rust-lang/libc")
-    (synopsis "Raw FFI bindings to platform libraries like libc")
-    (description
-     "libc provides all of the definitions necessary to easily
-interoperate with C code (or \"C-like\" code) on each of the platforms
-that Rust supports. This includes type definitions (e.g., c_int),
-constants (e.g., EINVAL) as well as function headers (e.g., malloc).
-
-This crate exports all underlying platform types, functions, and
-constants under the crate root, so all items are accessible as
-@samp{libc::foo}.  The types and values of all the exported APIs match
-the platform that libc is compiled for.")
-    (properties '((hidden? . #t)))
-    (license (list license:expat
-                   license:asl2.0))))
-
-(define rust-log-0.4
-  (package
-    (name "rust-log")
-    (version "0.4.8")
-    (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "log" version))
-        (file-name (string-append name "-" version ".crate"))
-        (sha256
-         (base32
-          "1xz18ixccl5c6np4linv3ypc7hpmmgpc5zzd2ymp2ssfx0mhbdhl"))))
-    (build-system cargo-build-system)
-    (home-page "https://github.com/rust-lang/log")
-    (synopsis "Lightweight logging facade for Rust")
-    (description
-     "This package provides a lightweight logging facade for Rust.")
-    (properties '((hidden? . #t)))
-    (license (list license:expat license:asl2.0))))
-
-(define rust-numtoa-0.1
-  (package
-    (name "rust-numtoa")
-    (version "0.1.0")
-    (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "numtoa" version))
-        (file-name (string-append name "-" version ".crate"))
-        (sha256
-         (base32
-          "1vs9rhggqbql1p26x8nkha1j06wawwgb2jp5fs88b5gi7prvvy5q"))))
-    (build-system cargo-build-system)
-    (home-page "https://gitlab.com/mmstick/numtoa")
-    (synopsis "Convert numbers into stack-allocated byte arrays")
-    (description
-     "This package can convert numbers into stack-allocated byte arrays.")
-    (properties '((hidden? . #t)))
-    (license (list license:expat license:asl2.0))))
-
-(define rust-proc-macro2-1.0
-  (package
-    (name "rust-proc-macro2")
-    (version "1.0.6")
-    (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "proc-macro2" version))
-        (file-name (string-append name "-" version ".crate"))
-        (sha256
-         (base32
-          "09rgb5ab0jgw39kyad0lgqs4nb9yaf7mwcrgxqnsxbn4il54g7lw"))))
-    (build-system cargo-build-system)
-    (home-page "https://github.com/alexcrichton/proc-macro2")
-    (synopsis "Stable implementation of the upcoming new `proc_macro` API")
-    (description "This package provides a stable implementation of the upcoming new
-`proc_macro` API.  Comes with an option, off by default, to also reimplement itself
-in terms of the upstream unstable API.")
-    (properties '((hidden? . #t)))
-    (license (list license:expat license:asl2.0))))
-
-(define rust-quote-1.0
-  (package
-    (name "rust-quote")
-    (version "1.0.2")
-    (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "quote" version))
-        (file-name (string-append name "-" version ".crate"))
-        (sha256
-         (base32
-          "1zkc46ryacf2jdkc6krsy2z615xbk1x8kp1830rcxz3irj5qqfh5"))))
-    (build-system cargo-build-system)
-    (home-page "https://github.com/dtolnay/quote")
-    (synopsis "Quasi-quoting macro quote!(...)")
-    (description "Quasi-quoting macro quote!(...)")
-    (properties '((hidden? . #t)))
-    (license (list license:expat license:asl2.0))))
-
-(define rust-rand-0.6
-  (package
-    (name "rust-rand")
-    (version "0.6.5")
-    (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "rand" version))
-        (file-name (string-append name "-" version ".crate"))
-        (sha256
-         (base32
-          "1jl4449jcl4wgmzld6ffwqj5gwxrp8zvx8w573g1z368qg6xlwbd"))))
-    (build-system cargo-build-system)
-    (home-page "https://crates.io/crates/rand")
-    (synopsis "Random number generators and other randomness functionality")
-    (description
-     "This package contains random number generators and other randomness
-functionality.")
-    (properties '((hidden? . #t)))
-    (license (list license:asl2.0
-                   license:expat))))
-
-(define rust-rand-chacha-0.1
-  (package
-    (name "rust-rand-chacha")
-    (version "0.1.1")
-    (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "rand_chacha" version))
-        (file-name (string-append name "-" version ".crate"))
-        (sha256
-         (base32
-          "1vxwyzs4fy1ffjc8l00fsyygpiss135irjf7nyxgq2v0lqf3lvam"))))
-    (build-system cargo-build-system)
-    (home-page "https://crates.io/crates/rand_chacha")
-    (synopsis "ChaCha random number generator")
-    (description "ChaCha random number generator")
-    (properties '((hidden? . #t)))
-    (license (list license:asl2.0
-                   license:expat))))
-
-(define rust-rand-core-0.4
-  (package
-    (name "rust-rand-core")
-    (version "0.4.2")
-    (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "rand_core" version))
-        (file-name (string-append name "-" version ".crate"))
-        (sha256
-         (base32
-          "1p09ynysrq1vcdlmcqnapq4qakl2yd1ng3kxh3qscpx09k2a6cww"))))
-    (build-system cargo-build-system)
-    (home-page "https://crates.io/crates/rand_core")
-    (synopsis
-      "Core random number generator traits and tools for implementation.")
-    (description
-      "Core random number generator traits and tools for implementation.")
-    (properties '((hidden? . #t)))
-    (license (list license:asl2.0
-                   license:expat))))
-
-(define rust-rand-core-0.3
-  (package
-    (inherit rust-rand-core-0.4)
-    (name "rust-rand-core")
-    (version "0.3.1")
-    (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "rand_core" version))
-        (file-name (string-append name "-" version ".crate"))
-        (sha256
-         (base32
-          "0jzdgszfa4bliigiy4hi66k7fs3gfwi2qxn8vik84ph77fwdwvvs"))))
-    ;; This version is a 0.3 API wrapper around the 0.4 version.
-    (arguments
-     `(#:cargo-inputs (("rand-core" ,rust-rand-core-0.4))))))
-
-(define rust-rand-hc-0.1
-  (package
-    (name "rust-rand-hc")
-    (version "0.1.0")
-    (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "rand_hc" version))
-        (file-name (string-append name "-" version ".crate"))
-        (sha256
-         (base32
-          "1i0vl8q5ddvvy0x8hf1zxny393miyzxkwqnw31ifg6p0gdy6fh3v"))))
-    (build-system cargo-build-system)
-    (home-page "https://crates.io/crates/rand_hc")
-    (synopsis "HC128 random number generator")
-    (description "HC128 random number generator")
-    (properties '((hidden? . #t)))
-    (license (list license:asl2.0
-                   license:expat))))
-
-(define rust-rand-isaac-0.1
-  (package
-    (name "rust-rand-isaac")
-    (version "0.1.1")
-    (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "rand_isaac" version))
-        (file-name (string-append name "-" version ".crate"))
-        (sha256
-         (base32
-          "027flpjr4znx2csxk7gxb7vrf9c7y5mydmvg5az2afgisp4rgnfy"))))
-    (build-system cargo-build-system)
-    (home-page "https://crates.io/crates/rand_isaac")
-    (synopsis "ISAAC random number generator")
-    (description "ISAAC random number generator")
-    (properties '((hidden? . #t)))
-    (license (list license:asl2.0
-                   license:expat))))
-
-(define rust-rand-jitter-0.1
-  (package
-    (name "rust-rand-jitter")
-    (version "0.1.4")
-    (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "rand_jitter" version))
-        (file-name (string-append name "-" version ".crate"))
-        (sha256
-         (base32
-          "16z387y46bfz3csc42zxbjq89vcr1axqacncvv8qhyy93p4xarhi"))))
-    (build-system cargo-build-system)
-    (home-page "https://github.com/rust-random/rand")
-    (synopsis
-      "Random number generator based on timing jitter")
-    (description
-      "Random number generator based on timing jitter")
-    (properties '((hidden? . #t)))
-    (license (list license:asl2.0
-                   license:expat))))
-
-(define rust-rand-os-0.1
-  (package
-    (name "rust-rand-os")
-    (version "0.1.3")
-    (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "rand_os" version))
-        (file-name (string-append name "-" version ".crate"))
-        (sha256
-         (base32
-          "0wahppm0s64gkr2vmhcgwc0lij37in1lgfxg5rbgqlz0l5vgcxbv"))))
-    (build-system cargo-build-system)
-    (home-page "https://crates.io/crates/rand_os")
-    (synopsis "OS backed Random Number Generator")
-    (description "OS backed Random Number Generator")
-    (properties '((hidden? . #t)))
-    (license (list license:asl2.0
-                   license:expat))))
-
-(define rust-rand-pcg-0.1
-  (package
-    (name "rust-rand-pcg")
-    (version "0.1.2")
-    (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "rand_pcg" version))
-        (file-name (string-append name "-" version ".crate"))
-        (sha256
-         (base32
-          "0i0bdla18a8x4jn1w0fxsbs3jg7ajllz6azmch1zw33r06dv1ydb"))))
-    (build-system cargo-build-system)
-    (home-page "https://crates.io/crates/rand_pcg")
-    (synopsis
-      "Selected PCG random number generators")
-    (description
-      "Selected PCG random number generators")
-    (properties '((hidden? . #t)))
-    (license (list license:asl2.0
-                   license:expat))))
-
-(define rust-rand-xorshift-0.1
-  (package
-    (name "rust-rand-xorshift")
-    (version "0.1.1")
-    (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "rand_xorshift" version))
-        (file-name (string-append name "-" version ".crate"))
-        (sha256
-         (base32
-          "0p2x8nr00hricpi2m6ca5vysiha7ybnghz79yqhhx6sl4gkfkxyb"))))
-    (build-system cargo-build-system)
-    (home-page "https://crates.io/crates/rand_xorshift")
-    (synopsis "Xorshift random number generator")
-    (description
-      "Xorshift random number generator")
-    (properties '((hidden? . #t)))
-    (license (list license:asl2.0
-                   license:expat))))
-
-(define rust-rdrand-0.4
-  (package
-    (name "rust-rdrand")
-    (version "0.4.0")
-    (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "rdrand" version))
-        (file-name (string-append name "-" version ".crate"))
-        (sha256
-         (base32
-          "1cjq0kwx1bk7jx3kzyciiish5gqsj7620dm43dc52sr8fzmm9037"))))
-    (build-system cargo-build-system)
-    (home-page "https://github.com/nagisa/rust_rdrand/")
-    (synopsis "Random number generator")
-    (description
-     "This package is an implementation of random number generator based on
-@code{rdrand} and @cpde{rdseed} instructions")
-    (properties '((hidden? . #t)))
-    (license license:isc)))
-
-(define rust-redox-syscall-0.1
-  (package
-    (name "rust-redox-syscall")
-    (version "0.1.56")
-    (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "redox_syscall" version))
-        (file-name (string-append name "-" version ".crate"))
-        (sha256
-         (base32
-          "110y7dyfm2vci4x5vk7gr0q551dvp31npl99fnsx2fb17wzwcf94"))))
-    (build-system cargo-build-system)
-    (home-page "https://gitlab.redox-os.org/redox-os/syscall")
-    (synopsis "Rust library to access raw Redox system calls")
-    (description "This package provides a Rust library to access raw Redox
-system calls.")
-    (properties '((hidden? . #t)))
-    (license license:expat)))
-
-(define rust-redox-termios-0.1
-  (package
-    (name "rust-redox-termios")
-    (version "0.1.1")
-    (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "redox-termios" version))
-        (file-name (string-append name "-" version ".crate"))
-        (sha256
-         (base32
-          "0xhgvdh62mymgdl3jqrngl8hr4i8xwpnbsxnldq0l47993z1r2by"))))
-    (build-system cargo-build-system)
-    (home-page "https://github.com/redox-os/termios")
-    (synopsis "Rust library to access Redox termios functions")
-    (description
-     "This package provides a Rust library to access Redox termios functions.")
-    (properties '((hidden? . #t)))
-    (license license:expat)))
-
-(define rust-remove-dir-all-0.5
-  (package
-    (name "rust-remove-dir-all")
-    (version "0.5.2")
-    (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "remove-dir-all" version))
-        (file-name (string-append name "-" version ".crate"))
-        (sha256
-         (base32
-          "0bkrlyg26mgizpiy1yb2hhpgscxcag8r5fnckqsvk25608vzm0sa"))))
-    (build-system cargo-build-system)
-    (home-page "https://github.com/XAMPPRocky/remove_dir_all.git")
-    (synopsis "Implementation of remove_dir_all for Windows")
-    (description
-     "This package provides a safe, reliable implementation of remove_dir_all
-for Windows.")
-    (properties '((hidden? . #t)))
-    (license (list license:asl2.0
-                   license:expat))))
-
-(define rust-ryu-1.0
-  (package
-    (name "rust-ryu")
-    (version "1.0.2")
-    (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "ryu" version))
-        (file-name (string-append name "-" version ".crate"))
-        (sha256
-         (base32
-          "1j0h74f1xqf9hjkhanp8i20mqc1aw35kr1iq9i79q7713mn51a5z"))))
-    (build-system cargo-build-system)
-    (home-page "https://github.com/dtolnay/ryu")
-    (synopsis
-      "Fast floating point to string conversion")
-    (description
-      "Fast floating point to string conversion")
-    (properties '((hidden? . #t)))
-    (license (list license:asl2.0 license:boost1.0))))
-
-(define rust-serde-1.0
-  (package
-    (name "rust-serde")
-    (version "1.0.101")
-    (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "serde" version))
-        (file-name (string-append name "-" version ".crate"))
-        (sha256
-         (base32
-          "1p8r24hagcsrl92w5z32nfrg9040qkgqf8iwwnf7mzigpavwk5lp"))))
-    (build-system cargo-build-system)
-    (home-page "https://serde.rs")
-    (synopsis "Generic serialization/deserialization framework")
-    (description
-     "This package provides a generic serialization/deserialization framework.")
-    (properties '((hidden? . #t)))
-    (license (list license:expat license:asl2.0))))
-
-(define rust-serde-derive-1.0
-  (package
-    (name "rust-serde-derive")
-    (version "1.0.101")
-    (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "serde-derive" version))
-        (file-name (string-append name "-" version ".crate"))
-        (sha256
-         (base32
-          "0bn0wz3j48248187mfmypyqnh73mq734snxxhr05vmgcl51kl4sb"))))
-    (build-system cargo-build-system)
-    (home-page "https://serde.rs")
-    (synopsis
-      "Macros 1.1 implementation of #[derive(Serialize, Deserialize)]")
-    (description
-      "Macros 1.1 implementation of #[derive(Serialize, Deserialize)]")
-    (properties '((hidden? . #t)))
-    (license (list license:expat license:asl2.0))))
-
-(define rust-serde-json-1.0
-  (package
-    (name "rust-serde-json")
-    (version "1.0.41")
-    (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "serde-json" version))
-        (file-name (string-append name "-" version ".crate"))
-        (sha256
-         (base32
-          "1hipk84x40454mf599752mi7l08wb8qakz8vd6d3zp57d0mfnwig"))))
-    (build-system cargo-build-system)
-    (home-page "https://github.com/serde-rs/json")
-    (synopsis "A JSON serialization file format")
-    (description
-     "This package provides a JSON serialization file format.")
-    (properties '((hidden? . #t)))
-    (license (list license:expat license:asl2.0))))
-
-(define rust-strsim-0.8
-  (package
-    (name "rust-strsim")
-    (version "0.8.0")
-    (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "strsim" version))
-        (file-name (string-append name "-" version ".crate"))
-        (sha256
-         (base32
-          "0sjsm7hrvjdifz661pjxq5w4hf190hx53fra8dfvamacvff139cf"))))
-    (build-system cargo-build-system)
-    (home-page "https://github.com/dguo/strsim-rs")
-    (synopsis "Rust implementations of string similarity metrics")
-    (description "This crate includes implementations of string similarity
-metrics.  It includes Hamming, Levenshtein, OSA, Damerau-Levenshtein, Jaro,
-and Jaro-Winkler.")
-    (properties '((hidden? . #t)))
-    (license license:expat)))
-
-(define rust-syn-1.0
-  (package
-    (name "rust-syn")
-    (version "1.0.5")
-    (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "syn" version))
-        (file-name (string-append name "-" version ".crate"))
-        (sha256
-         (base32
-          "1gw03w7lzrlqmp2vislcybikgl5wkhrqi6sy70w93xss2abhx1b6"))))
-    (build-system cargo-build-system)
-    (home-page "https://github.com/dtolnay/syn")
-    (synopsis "Parser for Rust source code")
-    (description "Parser for Rust source code")
-    (properties '((hidden? . #t)))
-    (license (list license:expat license:asl2.0))))
-
-(define rust-tempfile-3.0
-  (package
-    (name "rust-tempfile")
-    (version "3.0.8")
-    (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "tempfile" version))
-        (file-name (string-append name "-" version ".crate"))
-        (sha256
-         (base32
-          "1vqk7aq2l04my2r3jiyyxirnf8f90nzcvjasvrajivb85s7p7i3x"))))
-    (build-system cargo-build-system)
-    (home-page "http://stebalien.com/projects/tempfile-rs")
-    (synopsis "Library for managing temporary files and directories")
-    (description
-     "This package provides a library for managing temporary files and
-directories.")
-    (properties '((hidden? . #t)))
-    (license (list license:expat license:asl2.0))))
-
-(define rust-termion-1.5
-  (package
-    (name "rust-termion")
-    (version "1.5.3")
-    (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "termion" version))
-        (file-name (string-append name "-" version ".crate"))
-        (sha256
-         (base32
-          "0c634rg520zjjfhwnxrc2jbfjz7db0rcpsjs1qici0nyghpv53va"))))
-    (build-system cargo-build-system)
-    (home-page "https://gitlab.redox-os.org/redox-os/termion")
-    (synopsis "Library for manipulating terminals")
-    (description
-     "This package provides a bindless library for manipulating terminals.")
-    (properties '((hidden? . #t)))
-    (license license:expat)))
-
-(define rust-textwrap-0.11
-  (package
-    (name "rust-textwrap")
-    (version "0.11.0")
-    (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "textwrap" version))
-        (file-name (string-append name "-" version ".crate"))
-        (sha256
-         (base32
-          "0q5hky03ik3y50s9sz25r438bc4nwhqc6dqwynv4wylc807n29nk"))))
-    (build-system cargo-build-system)
-    (home-page "https://github.com/mgeisler/textwrap")
-    (synopsis "Library for word wrapping, indenting, and dedenting strings")
-    (description
-     "Textwrap is a small library for word wrapping, indenting, and dedenting
-strings.  You can use it to format strings (such as help and error messages)
-for display in commandline applications.  It is designed to be efficient and
-handle Unicode characters correctly.")
-    (properties '((hidden? . #t)))
-    (license license:expat)))
-
-(define rust-toml-0.5
-  (package
-    (name "rust-toml")
-    (version "0.5.3")
-    (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "toml" version))
-        (file-name (string-append name "-" version ".crate"))
-        (sha256
-         (base32
-          "093p48vpqm4bb8q3514xsij0dkljxlr3jp9ypxr4p48xjisvxan7"))))
-    (build-system cargo-build-system)
-    (home-page "https://github.com/alexcrichton/toml-rs")
-    (synopsis "Rust encoder and decoder of TOML-formatted files and streams")
-    (description
-     "This package provides a native Rust encoder and decoder of TOML-formatted
-files and streams.  Provides implementations of the standard
-Serialize/Deserialize traits for TOML data to facilitate deserializing and
-serializing Rust structures.")
-    (properties '((hidden? . #t)))
-    (license (list license:asl2.0
-                   license:expat))))
-
-(define rust-unicode-width-0.1
-  (package
-    (name "rust-unicode-width")
-    (version "0.1.6")
-    (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "unicode-width" version))
-        (file-name (string-append name "-" version ".crate"))
-        (sha256
-         (base32
-          "082f9hv1r3gcd1xl33whjhrm18p0w9i77zhhhkiccb5r47adn1vh"))))
-    (build-system cargo-build-system)
-    (home-page "https://github.com/unicode-rs/unicode-width")
-    (synopsis "Determine displayed width according to Unicode rules")
-    (description "This crate allows you to determine displayed width of
-@code{char} and @code{str} types according to Unicode Standard Annex #11 rules.")
-    (properties '((hidden? . #t)))
-    (license (list license:asl2.0
-                   license:expat))))
-
-(define rust-unicode-xid-0.2
-  (package
-    (name "rust-unicode-xid")
-    (version "0.2.0")
-    (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "unicode-xid" version))
-        (file-name (string-append name "-" version ".crate"))
-        (sha256
-         (base32
-          "0z09fn515xm7zyr0mmdyxa9mx2f7azcpv74pqmg611iralwpcvl2"))))
-    (build-system cargo-build-system)
-    (home-page "https://github.com/unicode-rs/unicode-xid")
-    (synopsis "Determine Unicode XID related properties")
-    (description "Determine whether characters have the XID_Start
-or XID_Continue properties according to Unicode Standard Annex #31.")
-    (properties '((hidden? . #t)))
-    (license (list license:asl2.0 license:expat))))
-
-(define rust-vec-map-0.8
-  (package
-    (name "rust-vec-map")
-    (version "0.8.1")
-    (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "vec_map" version))
-        (file-name (string-append name "-" version ".crate"))
-        (sha256
-         (base32
-          "06n8hw4hlbcz328a3gbpvmy0ma46vg1lc0r5wf55900szf3qdiq5"))))
-    (build-system cargo-build-system)
-    (home-page "https://github.com/contain-rs/vec-map")
-    (synopsis "Simple map based on a vector for small integer keys")
-    (description
-     "This package provides a simple map based on a vector for small integer keys.")
-    (properties '((hidden? . #t)))
-    (license (list license:asl2.0
-                   license:expat))))
-
-(define rust-winapi-0.3
-  (package
-    (name "rust-winapi")
-    (version "0.3.8")
-    (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "winapi" version))
-        (file-name (string-append name "-" version ".crate"))
-        (sha256
-         (base32
-          "1ii9j9lzrhwri0902652awifzx9fpayimbp6hfhhc296xcg0k4w0"))))
-    (build-system cargo-build-system)
-    ;; This package depends unconditionally on these two crates.
-    (arguments
-     `(#:cargo-inputs
-       (("winapi-i686-pc-windows-gnu" ,rust-winapi-i686-pc-windows-gnu-0.4)
-        ("winapi-x86-64-pc-windows-gnu" ,rust-winapi-x86-64-pc-windows-gnu-0.4))))
-    (home-page "https://github.com/retep998/winapi-rs")
-    (synopsis "Raw FFI bindings for all of Windows API")
-    (description
-     "This package contains raw FFI bindings for all of Windows API.")
-    (properties '((hidden? . #t)))
-    (license (list license:asl2.0
-                   license:expat))))
-
-(define-public rust-winapi-i686-pc-windows-gnu-0.4
-  (package
-    (name "rust-winapi-i686-pc-windows-gnu")
-    (version "0.4.0")
-    (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "winapi-i686-pc-windows-gnu" version))
-        (file-name (string-append name "-" version ".crate"))
-        (sha256
-         (base32
-          "1dmpa6mvcvzz16zg6d5vrfy4bxgg541wxrcip7cnshi06v38ffxc"))))
-    (build-system cargo-build-system)
-    (home-page "https://github.com/retep998/winapi-rs")
-    (synopsis "Import libraries for the i686-pc-windows-gnu target")
-    (description "This crate provides import libraries for the
-i686-pc-windows-gnu target.  Please don't use this crate directly, depend on
-@code{winapi} instead.")
-    (properties '((hidden? . #t)))
-    (license (list license:asl2.0
-                   license:expat))))
-
-(define rust-winapi-x86-64-pc-windows-gnu-0.4
-  (package
-    (name "rust-winapi-x86-64-pc-windows-gnu")
-    (version "0.4.0")
-    (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "winapi-x86_64-pc-windows-gnu" version))
-        (file-name (string-append name "-" version ".crate"))
-        (sha256
-         (base32
-          "0gqq64czqb64kskjryj8isp62m2sgvx25yyj3kpc2myh85w24bki"))))
-    (build-system cargo-build-system)
-    (home-page "https://github.com/retep998/winapi-rs")
-    (synopsis "Import libraries for the x86_64-pc-windows-gnu target")
-    (description "This package provides import libraries for the
-x86_64-pc-windows-gnu target.  Please don't use this crate directly, depend on
-@code{winapi} instead.")
-    (properties '((hidden? . #t)))
-    (license (list license:asl2.0
-                   license:expat))))

From 4ba097b35fbea4b8313e8576dedbe18b1ab0d566 Mon Sep 17 00:00:00 2001
From: Tobias Geerinckx-Rice 
Date: Sun, 27 Oct 2019 21:43:14 +0100
Subject: [PATCH 0470/1112] gnu: perl-io-captureoutput: Update to 1.1105.

* gnu/packages/perl.scm (perl-io-captureoutput): Update to 1.1105.
---
 gnu/packages/perl.scm | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm
index 97d754d4057..d9adf7fe420 100644
--- a/gnu/packages/perl.scm
+++ b/gnu/packages/perl.scm
@@ -4287,7 +4287,7 @@ Perl IO idioms.  It exports a single function called io, which returns a new
 (define-public perl-io-captureoutput
   (package
     (name "perl-io-captureoutput")
-    (version "1.1104")
+    (version "1.1105")
     (source
      (origin
        (method url-fetch)
@@ -4296,8 +4296,7 @@ Perl IO idioms.  It exports a single function called io, which returns a new
              version
              ".tar.gz"))
        (sha256
-        (base32
-         "0c437zvzpqi8f0h3nmblwdi2bvsb92b7g30fndr7my9qnky35izw"))))
+        (base32 "11zlfbahac09q3jvwmpijmkwgihwxps85jwy2q7q0wqjragh16df"))))
     (build-system perl-build-system)
     (home-page "https://metacpan.org/release/IO-CaptureOutput")
     (synopsis "Capture STDOUT and STDERR from Perl code, subprocesses or XS")

From a3dd88710f8a7a2cc334fddc94f3861ea392b336 Mon Sep 17 00:00:00 2001
From: Tobias Geerinckx-Rice 
Date: Sun, 27 Oct 2019 21:49:02 +0100
Subject: [PATCH 0471/1112] gnu: python-pathpy: Update to 11.5.1.

* gnu/packages/python-xyz.scm (python-pathpy): Update to 11.5.1.
---
 gnu/packages/python-xyz.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index e69a17a463a..7d084b7c0df 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -5218,13 +5218,13 @@ releases.")
 (define-public python-pathpy
   (package
     (name "python-pathpy")
-    (version "11.5.0")
+    (version "11.5.1")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri "path.py" version))
        (sha256
-        (base32 "1jxkf91syzxlpiwgm83fjfz1m5xh3jrvv4iyl5wjsnkk599pls5n"))))
+        (base32 "0ir9j1haq2jbi7aip6k2fa9l7q1l03k4hp1awxhjhcwzsnwp3ll8"))))
     (outputs '("out" "doc"))
     (build-system python-build-system)
     (propagated-inputs

From c34d0cd812aa4f0ce6f4438444bbad8c66bbb9e3 Mon Sep 17 00:00:00 2001
From: Tobias Geerinckx-Rice 
Date: Sun, 27 Oct 2019 21:49:36 +0100
Subject: [PATCH 0472/1112] gnu: libasr: Don't use NAME in source URI.

* gnu/packages/dns.scm (libasr)[source]: Hard-code NAME.
---
 gnu/packages/dns.scm | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gnu/packages/dns.scm b/gnu/packages/dns.scm
index b072a43e11f..1c8a4245c49 100644
--- a/gnu/packages/dns.scm
+++ b/gnu/packages/dns.scm
@@ -278,7 +278,7 @@ the two.")
      (origin
        (method url-fetch)
        (uri (string-append "https://www.opensmtpd.org/archives/"
-                           name "-" version ".tar.gz"))
+                           "libasr-" version ".tar.gz"))
        (sha256
         (base32
          "18kdmbjsxrfai16d66qslp48b1zf7gr8him2jj5dcqgbsl44ls75"))))

From ca1f4b19e983276391ae671cd764d0a5f261ef0e Mon Sep 17 00:00:00 2001
From: Tobias Geerinckx-Rice 
Date: Sun, 27 Oct 2019 20:40:37 +0100
Subject: [PATCH 0473/1112] gnu: unbound: Update to 1.9.4.

* gnu/packages/dns.scm (unbound): Update to 1.9.4.
---
 gnu/packages/dns.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/dns.scm b/gnu/packages/dns.scm
index 1c8a4245c49..e120983f804 100644
--- a/gnu/packages/dns.scm
+++ b/gnu/packages/dns.scm
@@ -373,14 +373,14 @@ to result in system-wide compromise.")
 (define-public unbound
   (package
     (name "unbound")
-    (version "1.9.3")
+    (version "1.9.4")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "https://www.unbound.net/downloads/unbound-"
                            version ".tar.gz"))
        (sha256
-        (base32 "1ykdy62sgzv33ggkmzwx2h0ifm7hyyxyfkb4zckv7gz4f28xsm8v"))))
+        (base32 "1c2bjm13x8bkw0ds1mhn9ivd2gzmfrb0x5y76bkz09a04bxjagix"))))
     (build-system gnu-build-system)
     (outputs '("out" "python"))
     (native-inputs

From 6bc0bed18833bbcd1d0741f78b0aecf34122306c Mon Sep 17 00:00:00 2001
From: Tobias Geerinckx-Rice 
Date: Sun, 27 Oct 2019 21:06:11 +0100
Subject: [PATCH 0474/1112] gnu: retroarch: Update to 1.8.0.

* gnu/packages/emulators.scm (retroarch): Update to 1.8.0.
---
 gnu/packages/emulators.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/emulators.scm b/gnu/packages/emulators.scm
index 604214ecbdf..b7ad855a8cf 100644
--- a/gnu/packages/emulators.scm
+++ b/gnu/packages/emulators.scm
@@ -1053,7 +1053,7 @@ emulation community.  It provides highly accurate emulation.")
 (define-public retroarch
   (package
     (name "retroarch")
-    (version "1.7.9.2")
+    (version "1.8.0")
     (source
      (origin
        (method git-fetch)
@@ -1062,7 +1062,7 @@ emulation community.  It provides highly accurate emulation.")
              (commit (string-append "v" version))))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "14kay5g9rnm79mly7b4x5jwkidjaki8qqkpf21hnj1r2z1q7bp5b"))))
+        (base32 "1mgszd8gb5nk08kfykap9b1l5rl4qfy39dbba8crjj0zkc4z1jga"))))
     (build-system gnu-build-system)
     (arguments
      `(#:tests? #f                      ; no tests

From 8f803775a639a50556427f3d2990b1ae1b0928b3 Mon Sep 17 00:00:00 2001
From: Tobias Geerinckx-Rice 
Date: Sat, 19 Oct 2019 20:29:51 +0200
Subject: [PATCH 0475/1112] gnu: libmicrohttpd: Update to 0.9.68.

* gnu/packages/gnunet.scm (libmicrohttpd): Update to 0.9.68.
---
 gnu/packages/gnunet.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/gnunet.scm b/gnu/packages/gnunet.scm
index e07702f994e..0904022f089 100644
--- a/gnu/packages/gnunet.scm
+++ b/gnu/packages/gnunet.scm
@@ -147,14 +147,14 @@ tool to extract metadata from a file and print the results.")
 (define-public libmicrohttpd
   (package
    (name "libmicrohttpd")
-   (version "0.9.66")
+   (version "0.9.68")
    (source (origin
             (method url-fetch)
             (uri (string-append "mirror://gnu/libmicrohttpd/libmicrohttpd-"
                                 version ".tar.gz"))
             (sha256
              (base32
-              "06xblz77bnn29y7sl43avxbcrjbw486x3416plpr3x3l2pdx8rjf"))))
+              "0q8bc4hrxn6llml7w2vam6n833x8injs39wgdkhwkawr50m6wwf5"))))
    (build-system gnu-build-system)
    (inputs
     `(("curl" ,curl)

From da107cf5be52278da472f53f0671407bd5b6e015 Mon Sep 17 00:00:00 2001
From: Tobias Geerinckx-Rice 
Date: Sun, 27 Oct 2019 21:11:47 +0100
Subject: [PATCH 0476/1112] gnu: python-cftime: Update to 1.0.4.2.

* gnu/packages/python-xyz.scm (python-cftime): Update to 1.0.4.2.
---
 gnu/packages/python-xyz.scm | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 7d084b7c0df..8ad5c92239a 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -548,14 +548,13 @@ concepts.")
 (define-public python-cftime
   (package
     (name "python-cftime")
-    (version "1.0.3.4")
+    (version "1.0.4.2")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri "cftime" version))
        (sha256
-        (base32
-         "0362dhxbzk593walyjz30dll6y2y79wialik647cbwdsf3ad0x6x"))))
+        (base32 "0w0gi6jnch38hiygl62j4xkcirv4y3dcwrvxl9p7bsk6j27lzihs"))))
     (build-system python-build-system)
     (propagated-inputs
      `(("python-numpy" ,python-numpy)))

From 6d18427fa5388e19f37ddeda13754fa10e8f7c55 Mon Sep 17 00:00:00 2001
From: Tobias Geerinckx-Rice 
Date: Sun, 27 Oct 2019 22:45:23 +0100
Subject: [PATCH 0477/1112] gnu: postgis: Update to 2.4.8.

* gnu/packages/geo.scm (postgis): Update to 2.4.8.
---
 gnu/packages/geo.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm
index bb9f897e519..5796db3eb97 100644
--- a/gnu/packages/geo.scm
+++ b/gnu/packages/geo.scm
@@ -634,14 +634,14 @@ utilities for data translation and processing.")
 (define-public postgis
   (package
     (name "postgis")
-    (version "2.4.4")
+    (version "2.4.8")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://download.osgeo.org/postgis/source/postgis-"
                                   version ".tar.gz"))
               (sha256
                (base32
-                "1hm8migjb53cymp4qvg1h20yqllmy9f7x0awv5450391i6syyqq6"))))
+                "0nanza15xzfhbpbq49p1xqz96dgbsam5332y9zj6snmz2mq685ll"))))
     (build-system gnu-build-system)
     (arguments
      `(#:tests? #f

From cf7648f882380dd7a4e82760ecc10cc6078498eb Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= 
Date: Sun, 27 Oct 2019 15:18:31 +0100
Subject: [PATCH 0478/1112] derivations: Introduce 'imported+compiled-modules'.

* guix/derivations.scm (imported+compiled-modules): New procedure.
(build-expression->derivation): Use it instead of separate calls to
'%imported-modules' and '%compiled-modules'.
---
 guix/derivations.scm | 23 +++++++++++++++--------
 1 file changed, 15 insertions(+), 8 deletions(-)

diff --git a/guix/derivations.scm b/guix/derivations.scm
index e1073ea39b2..8309f845d98 100644
--- a/guix/derivations.scm
+++ b/guix/derivations.scm
@@ -1207,6 +1207,14 @@ they can refer to each other."
                                   #:guile-for-build guile
                                   #:local-build? #t)))
 
+(define* (imported+compiled-modules store modules #:key
+                                    (system (%current-system))
+                                    (guile (%guile-for-build)))
+  "Return a pair containing the derivation to import MODULES and that where
+MODULES are compiled."
+  (cons (%imported-modules store modules #:system system #:guile guile)
+        (%compiled-modules store modules #:system system #:guile guile)))
+
 (define* (build-expression->derivation store name exp ;deprecated
                                        #:key
                                        (system (%current-system))
@@ -1330,16 +1338,15 @@ and PROPERTIES."
                                       ;; fixed-output.
                                       (filter-map source-path inputs)))
 
-         (mod-drv  (and (pair? modules)
-                        (%imported-modules store modules
-                                           #:guile guile-drv
-                                           #:system system)))
+         (mod+go-drv  (if (pair? modules)
+                          (imported+compiled-modules store modules
+                                                     #:guile guile-drv
+                                                     #:system system)
+                          '(#f . #f)))
+         (mod-drv  (car mod+go-drv))
+         (go-drv   (cdr mod+go-drv))
          (mod-dir  (and mod-drv
                         (derivation->output-path mod-drv)))
-         (go-drv   (and (pair? modules)
-                        (%compiled-modules store modules
-                                           #:guile guile-drv
-                                           #:system system)))
          (go-dir   (and go-drv
                         (derivation->output-path go-drv))))
     (derivation store name guile

From f726f6f8021e78b6a50ca0dbdb4acc91ed2161c4 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= 
Date: Sun, 27 Oct 2019 15:24:41 +0100
Subject: [PATCH 0479/1112] derivations: 'build-expression->derivation' caches
 its module derivations.

This reduces the number of lookups in the 'add-data-to-store' cache from
7505 to 3329 (hit rate from 68% to 27%) when running:

  GUIX_PROFILING=add-data-to-store-cache guix build libreoffice -nd

The execution time of "guix build libreoffice -nd" goes from 2.12s to 1.87s.

* guix/derivations.scm (%module-cache): New variable.
(imported+compiled-modules)[key]: New variable.
Lookup KEY in %MODULE-CACHE and populate %MODULE-CACHE upon cache miss.
---
 guix/derivations.scm | 16 ++++++++++++++--
 1 file changed, 14 insertions(+), 2 deletions(-)

diff --git a/guix/derivations.scm b/guix/derivations.scm
index 8309f845d98..140c22b620d 100644
--- a/guix/derivations.scm
+++ b/guix/derivations.scm
@@ -1207,13 +1207,25 @@ they can refer to each other."
                                   #:guile-for-build guile
                                   #:local-build? #t)))
 
+(define %module-cache
+  ;; Map a list of modules to its 'imported+compiled-modules' result.
+  (make-weak-value-hash-table))
+
 (define* (imported+compiled-modules store modules #:key
                                     (system (%current-system))
                                     (guile (%guile-for-build)))
   "Return a pair containing the derivation to import MODULES and that where
 MODULES are compiled."
-  (cons (%imported-modules store modules #:system system #:guile guile)
-        (%compiled-modules store modules #:system system #:guile guile)))
+  (define key
+    (list modules (derivation-file-name guile) system))
+
+  (or (hash-ref %module-cache key)
+      (let ((result (cons (%imported-modules store modules
+                                             #:system system #:guile guile)
+                          (%compiled-modules store modules
+                                             #:system system #:guile guile))))
+        (hash-set! %module-cache key result)
+        result)))
 
 (define* (build-expression->derivation store name exp ;deprecated
                                        #:key

From f58b45350b0ebfc36a707d9e986f5fe904af3605 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= 
Date: Sun, 27 Oct 2019 18:55:44 +0100
Subject: [PATCH 0480/1112] gexp: Add 'imported+compiled-modules'.

* guix/gexp.scm (imported+compiled-modules): New procedure.
(lower-gexp): Use it instead of separate calls to 'imported-modules' and
'compiled-modules'.
---
 guix/gexp.scm | 45 +++++++++++++++++++++++++++++++--------------
 1 file changed, 31 insertions(+), 14 deletions(-)

diff --git a/guix/gexp.scm b/guix/gexp.scm
index 73232775118..fa74e80cd60 100644
--- a/guix/gexp.scm
+++ b/guix/gexp.scm
@@ -654,6 +654,28 @@ names and file names suitable for the #:allowed-references argument to
   (load-path           lowered-gexp-load-path)    ;list of store items
   (load-compiled-path  lowered-gexp-load-compiled-path)) ;list of store items
 
+(define* (imported+compiled-modules modules system
+                                    #:key (extensions '())
+                                    deprecation-warnings guile
+                                    (module-path %load-path))
+  "Return a pair where the first element is the imported MODULES and the
+second element is the derivation to compile them."
+  (mlet %store-monad ((modules  (if (pair? modules)
+                                    (imported-modules modules
+                                                      #:system system
+                                                      #:module-path module-path)
+                                    (return #f)))
+                      (compiled (if (pair? modules)
+                                    (compiled-modules modules
+                                                      #:system system
+                                                      #:module-path module-path
+                                                      #:extensions extensions
+                                                      #:guile guile
+                                                      #:deprecation-warnings
+                                                      deprecation-warnings)
+                                    (return #f))))
+    (return (cons modules compiled))))
+
 (define* (lower-gexp exp
                      #:key
                      (module-path %load-path)
@@ -719,20 +741,15 @@ derivations--e.g., code evaluated for its side effects."
                                        (lambda (obj)
                                          (lower-object obj system))
                                        extensions))
-                       (modules  (if (pair? %modules)
-                                     (imported-modules %modules
-                                                       #:system system
-                                                       #:module-path module-path)
-                                     (return #f)))
-                       (compiled (if (pair? %modules)
-                                     (compiled-modules %modules
-                                                       #:system system
-                                                       #:module-path module-path
-                                                       #:extensions extensions
-                                                       #:guile guile
-                                                       #:deprecation-warnings
-                                                       deprecation-warnings)
-                                     (return #f))))
+                       (modules+compiled (imported+compiled-modules
+                                          %modules system
+                                          #:extensions extensions
+                                          #:deprecation-warnings
+                                          deprecation-warnings
+                                          #:guile guile
+                                          #:module-path module-path))
+                       (modules ->  (car modules+compiled))
+                       (compiled -> (cdr modules+compiled)))
     (define load-path
       (search-path modules exts
                    (string-append "/share/guile/site/" effective-version)))

From c57e417eff8649fce44041bc8e187a3e0c91b801 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= 
Date: Sun, 27 Oct 2019 19:08:15 +0100
Subject: [PATCH 0481/1112] store: Allow objects in the cache to be inserted
 and search for with 'equal?'.

* guix/store.scm (cache-object-mapping): Add #:vhash-cons parameter and
honor it.
(lookup-cached-object): Add #:vhash-fold* parameter and honor it.
(%mcached): Add #:vhash-fold* and #:vhash-cons and honor them.
(mcached): Add clauses with 'eq?' and 'equal?' as the first argument.
---
 guix/store.scm | 67 ++++++++++++++++++++++++++++++++------------------
 1 file changed, 43 insertions(+), 24 deletions(-)

diff --git a/guix/store.scm b/guix/store.scm
index 382aad29d9a..a276554a52a 100644
--- a/guix/store.scm
+++ b/guix/store.scm
@@ -1612,10 +1612,11 @@ This makes sense only when the daemon was started with '--cache-failures'."
 ;; from %STATE-MONAD.
 (template-directory instantiations %store-monad)
 
-(define* (cache-object-mapping object keys result)
+(define* (cache-object-mapping object keys result
+                               #:key (vhash-cons vhash-consq))
   "Augment the store's object cache with a mapping from OBJECT/KEYS to RESULT.
 KEYS is a list of additional keys to match against, for instance a (SYSTEM
-TARGET) tuple.
+TARGET) tuple.  Use VHASH-CONS to insert OBJECT into the cache.
 
 OBJECT is typically a high-level object such as a  or an ,
 and RESULT is typically its derivation."
@@ -1623,8 +1624,8 @@ and RESULT is typically its derivation."
     (values result
             (store-connection
              (inherit store)
-             (object-cache (vhash-consq object (cons result keys)
-                                        (store-connection-object-cache store)))))))
+             (object-cache (vhash-cons object (cons result keys)
+                                       (store-connection-object-cache store)))))))
 
 (define record-cache-lookup!
   (if (profiled? "object-cache")
@@ -1653,11 +1654,12 @@ and RESULT is typically its derivation."
       (lambda (x y)
         #t)))
 
-(define* (lookup-cached-object object #:optional (keys '()))
+(define* (lookup-cached-object object #:optional (keys '())
+                               #:key (vhash-fold* vhash-foldq*))
   "Return the cached object in the store connection corresponding to OBJECT
-and KEYS.  KEYS is a list of additional keys to match against, and which are
-compared with 'equal?'.  Return #f on failure and the cached result
-otherwise."
+and KEYS; use VHASH-FOLD* to look for OBJECT in the cache.  KEYS is a list of
+additional keys to match against, and which are compared with 'equal?'.
+Return #f on failure and the cached result otherwise."
   (lambda (store)
     (let* ((cache (store-connection-object-cache store))
 
@@ -1665,33 +1667,50 @@ otherwise."
            ;; the whole vlist chain and significantly reduces the number of
            ;; 'hashq' calls.
            (value (let/ec return
-                    (vhash-foldq* (lambda (item result)
-                                    (match item
-                                      ((value . keys*)
-                                       (if (equal? keys keys*)
-                                           (return value)
-                                           result))))
-                                  #f object
-                                  cache))))
+                    (vhash-fold* (lambda (item result)
+                                   (match item
+                                     ((value . keys*)
+                                      (if (equal? keys keys*)
+                                          (return value)
+                                          result))))
+                                 #f object
+                                 cache))))
       (record-cache-lookup! value cache)
       (values value store))))
 
-(define* (%mcached mthunk object #:optional (keys '()))
+(define* (%mcached mthunk object #:optional (keys '())
+                   #:key
+                   (vhash-cons vhash-consq)
+                   (vhash-fold* vhash-foldq*))
   "Bind the monadic value returned by MTHUNK, which supposedly corresponds to
-OBJECT/KEYS, or return its cached value."
-  (mlet %store-monad ((cached (lookup-cached-object object keys)))
+OBJECT/KEYS, or return its cached value.  Use VHASH-CONS to insert OBJECT into
+the cache, and VHASH-FOLD* to look it up."
+  (mlet %store-monad ((cached (lookup-cached-object object keys
+                                                    #:vhash-fold* vhash-fold*)))
     (if cached
         (return cached)
         (>>= (mthunk)
              (lambda (result)
-               (cache-object-mapping object keys result))))))
+               (cache-object-mapping object keys result
+                                     #:vhash-cons vhash-cons))))))
 
-(define-syntax-rule (mcached mvalue object keys ...)
-  "Run MVALUE, which corresponds to OBJECT/KEYS, and cache it; or return the
+(define-syntax mcached
+  (syntax-rules (eq? equal?)
+    "Run MVALUE, which corresponds to OBJECT/KEYS, and cache it; or return the
 value associated with OBJECT/KEYS in the store's object cache if there is
 one."
-  (%mcached (lambda () mvalue)
-            object (list keys ...)))
+    ((_ eq? mvalue object keys ...)
+     (%mcached (lambda () mvalue)
+               object (list keys ...)
+               #:vhash-cons vhash-consq
+               #:vhash-fold* vhash-foldq*))
+    ((_ equal? mvalue object keys ...)
+     (%mcached (lambda () mvalue)
+               object (list keys ...)
+               #:vhash-cons vhash-cons
+               #:vhash-fold* vhash-fold*))
+    ((_ mvalue object keys ...)
+     (mcached eq? mvalue object keys ...))))
 
 (define (preserve-documentation original proc)
   "Return PROC with documentation taken from ORIGINAL."

From f5fca9a82cec76d2e10b8b6c96be2dd79f638ba0 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= 
Date: Sun, 27 Oct 2019 19:12:11 +0100
Subject: [PATCH 0482/1112] gexp: Cache the module to derivation mappings.

This reduces the number of 'add-data-to-store' cache lookups from 3329
to 2743 (hit rate: 27% to 11%) when running:

  GUIX_PROFILING=add-data-to-store-cache guix build libreoffice -nd

Execution time of "guix build libreoffice -nd" goes from 1.86s to 1.80s.

* guix/gexp.scm (imported+compiled-modules): Wrap body in 'mcached'.
---
 guix/gexp.scm | 33 ++++++++++++++++++---------------
 1 file changed, 18 insertions(+), 15 deletions(-)

diff --git a/guix/gexp.scm b/guix/gexp.scm
index fa74e80cd60..b640c079e42 100644
--- a/guix/gexp.scm
+++ b/guix/gexp.scm
@@ -660,21 +660,24 @@ names and file names suitable for the #:allowed-references argument to
                                     (module-path %load-path))
   "Return a pair where the first element is the imported MODULES and the
 second element is the derivation to compile them."
-  (mlet %store-monad ((modules  (if (pair? modules)
-                                    (imported-modules modules
-                                                      #:system system
-                                                      #:module-path module-path)
-                                    (return #f)))
-                      (compiled (if (pair? modules)
-                                    (compiled-modules modules
-                                                      #:system system
-                                                      #:module-path module-path
-                                                      #:extensions extensions
-                                                      #:guile guile
-                                                      #:deprecation-warnings
-                                                      deprecation-warnings)
-                                    (return #f))))
-    (return (cons modules compiled))))
+  (mcached equal?
+           (mlet %store-monad ((modules  (if (pair? modules)
+                                             (imported-modules modules
+                                                               #:system system
+                                                               #:module-path module-path)
+                                             (return #f)))
+                               (compiled (if (pair? modules)
+                                             (compiled-modules modules
+                                                               #:system system
+                                                               #:module-path module-path
+                                                               #:extensions extensions
+                                                               #:guile guile
+                                                               #:deprecation-warnings
+                                                               deprecation-warnings)
+                                             (return #f))))
+             (return (cons modules compiled)))
+           modules
+           system extensions guile deprecation-warnings module-path))
 
 (define* (lower-gexp exp
                      #:key

From d727a9343d861cf775645df8be5bfefd43d6c6f0 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= 
Date: Sun, 27 Oct 2019 19:19:14 +0100
Subject: [PATCH 0483/1112] derivations: Don't memoize
 'derivation->bytevector'.

Its hit rate was only 8%.  Removing it reduces heap size of "guix build
libreoffice -nd" from 69MiB to 61MiB and the wall-clock time is unchanged.

* guix/derivations.scm (derivation->bytevector): Change from 'mlambda'
to 'lambda'.
---
 guix/derivations.scm | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/guix/derivations.scm b/guix/derivations.scm
index 140c22b620d..706c6504694 100644
--- a/guix/derivations.scm
+++ b/guix/derivations.scm
@@ -622,7 +622,7 @@ that form."
      (display ")" port))))
 
 (define derivation->bytevector
-  (mlambda (drv)
+  (lambda (drv)
     "Return the external representation of DRV as a UTF-8-encoded string."
     (with-fluids ((%default-port-encoding "UTF-8"))
       (call-with-values open-bytevector-output-port

From 5166d027308f4cf694f5cff1c0670b6ff622c226 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= 
Date: Sun, 27 Oct 2019 22:32:09 +0100
Subject: [PATCH 0484/1112] gnu: bootstrap: 'bootstrap-origin' preserves
 eq?-ness when no changes are made.

This reduces the number of lookups in the 'add-data-to-store' cache from
2743 to 2705 (hit rate: 11% to 10%) when running

  GUIX_PROFILING=add-data-to-store-cache guix build libreoffice -nd

The execution time of "guix build libreoffice -nd" goes from 1.80s to 1.78s.

* gnu/packages/bootstrap.scm (bootstrap-origin): Return SOURCE unchanged
when its has no patches and no snippet.
---
 gnu/packages/bootstrap.scm | 27 +++++++++++++++------------
 1 file changed, 15 insertions(+), 12 deletions(-)

diff --git a/gnu/packages/bootstrap.scm b/gnu/packages/bootstrap.scm
index ee713db0cff..363c99c7c38 100644
--- a/gnu/packages/bootstrap.scm
+++ b/gnu/packages/bootstrap.scm
@@ -167,19 +167,22 @@ for system '~a'")
       ("patch" ,%bootstrap-coreutils&co)))
 
   (let ((orig-method (origin-method source)))
-    (origin (inherit source)
-      (method (cond ((eq? orig-method url-fetch)
-                     (boot url-fetch))
-                    (else orig-method)))
-      (patch-guile %bootstrap-guile)
-      (patch-inputs %bootstrap-patch-inputs)
+    (if (or (not (null? (origin-patches source)))
+            (origin-snippet source))
+        (origin (inherit source)
+                (method (if (eq? orig-method url-fetch)
+                            (boot url-fetch)
+                            orig-method))
+                (patch-guile %bootstrap-guile)
+                (patch-inputs %bootstrap-patch-inputs)
 
-      ;; Patches can be origins as well, so process them.
-      (patches (map (match-lambda
-                     ((? origin? patch)
-                      (bootstrap-origin patch))
-                     (patch patch))
-                    (origin-patches source))))))
+                ;; Patches can be origins as well, so process them.
+                (patches (map (match-lambda
+                                ((? origin? patch)
+                                 (bootstrap-origin patch))
+                                (patch patch))
+                              (origin-patches source))))
+        source)))
 
 (define* (package-from-tarball name source program-to-test description
                                #:key snippet)

From ac19950507e941b6263f62f4ee4e8934c1b1598e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= 
Date: Sun, 27 Oct 2019 22:42:59 +0100
Subject: [PATCH 0485/1112] gnu: bootstrap: Cache the 'bootstrap-executable'
 origins.

This reduces the number of lookups in the 'add-data-to-store' cache from
2705 to 2685 (hit rate: 10% to 9%) when running:

  GUIX_PROFILING=add-data-to-store-cache guix build libreoffice -nd

* gnu/packages/bootstrap.scm (raw-build)[->store]: Use 'lower-object'
instead of 'origin->derivation'.  This allows the origin-to-derivation
mapping to be cached.
---
 gnu/packages/bootstrap.scm | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/bootstrap.scm b/gnu/packages/bootstrap.scm
index 363c99c7c38..c6e3c697e68 100644
--- a/gnu/packages/bootstrap.scm
+++ b/gnu/packages/bootstrap.scm
@@ -33,6 +33,7 @@
   #:use-module ((guix derivations)
                 #:select (derivation derivation-input derivation->output-path))
   #:use-module ((guix utils) #:select (gnu-triplet->nix-system))
+  #:use-module ((guix gexp) #:select (lower-object))
   #:use-module (guix memoization)
   #:use-module (guix i18n)
   #:use-module (srfi srfi-1)
@@ -348,8 +349,8 @@ or false to signal an error."
                     #:allow-other-keys)
   (define (->store file)
     (run-with-store store
-      (origin->derivation (bootstrap-executable file system)
-                          system)))
+      (lower-object (bootstrap-executable file system)
+                    system)))
 
   (let* ((tar   (->store "tar"))
          (xz    (->store "xz"))

From b74ed90916dce6239dbe6842548f82e22fc8c249 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= 
Date: Sun, 27 Oct 2019 23:00:39 +0100
Subject: [PATCH 0486/1112] channels: Refer to 'guile-json-3'.

Fixes a regression introduced in 84af1e74029fd4c43636f7d8d3e6f82ddab9ce82.

* guix/channels.scm (whole-package-for-legacy): Refer to GUILE-JSON-3,
not GUILE-JSON.
---
 guix/channels.scm | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/guix/channels.scm b/guix/channels.scm
index 2c28dccbcbd..826ee729ade 100644
--- a/guix/channels.scm
+++ b/guix/channels.scm
@@ -505,7 +505,7 @@ modules in the old ~/.config/guix/latest style."
                    ;; In the "old style", %SELF-BUILD-FILE would simply return a
                    ;; derivation that builds modules.  We have to infer what the
                    ;; dependencies of these modules were.
-                   (list guile-json guile-git guile-bytestructures
+                   (list guile-json-3 guile-git guile-bytestructures
                          (ssh -> guile-ssh) (tls -> gnutls)))))
 
 (define (old-style-guix? drv)

From 49af34cfac89d384c46269bfd9388b2c73b1220a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= 
Date: Tue, 22 Oct 2019 18:05:51 +0200
Subject: [PATCH 0487/1112] pull: Honor '/etc/guix/channels.scm'.

* guix/scripts/pull.scm (channel-list)[global-file]: New variable.
[channels]: Honor it.
* doc/guix.texi (Invoking guix pull): Document it.
---
 doc/guix.texi         | 18 +++++++++++++++++-
 guix/scripts/pull.scm |  5 +++++
 2 files changed, 22 insertions(+), 1 deletion(-)

diff --git a/doc/guix.texi b/doc/guix.texi
index a934626e5a1..7cc33c6e22e 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -3666,6 +3666,21 @@ descriptions, and deploys it.  Source code is downloaded from a
 @uref{https://git-scm.com, Git} repository, by default the official
 GNU@tie{}Guix repository, though this can be customized.
 
+Specifically, @command{guix pull} downloads code from the @dfn{channels}
+(@pxref{Channels}) specified by one of the followings, in this order:
+
+@enumerate
+@item
+the @option{--channels} option;
+@item
+the user's @file{~/.config/guix/channels.scm} file;
+@item
+the system-wide @file{/etc/guix/channels.scm} file;
+@item
+the built-in default channels specified in the @code{%default-channels}
+variable.
+@end enumerate
+
 On completion, @command{guix package} will use packages and package
 versions from this just-retrieved copy of Guix.  Not only that, but all
 the Guix commands and Scheme modules will also be taken from that latest
@@ -3763,7 +3778,8 @@ configuration in the @file{~/.config/guix/channels.scm} file or using the
 @item --channels=@var{file}
 @itemx -C @var{file}
 Read the list of channels from @var{file} instead of
-@file{~/.config/guix/channels.scm}.  @var{file} must contain Scheme code that
+@file{~/.config/guix/channels.scm} or @file{/etc/guix/channels.scm}.
+@var{file} must contain Scheme code that
 evaluates to a list of channel objects.  @xref{Channels}, for more
 information.
 
diff --git a/guix/scripts/pull.scm b/guix/scripts/pull.scm
index 7876019eac3..80d070652b7 100644
--- a/guix/scripts/pull.scm
+++ b/guix/scripts/pull.scm
@@ -714,6 +714,9 @@ transformations specified in OPTS (resulting from '--url', '--commit', or
   (define default-file
     (string-append (config-directory) "/channels.scm"))
 
+  (define global-file
+    (string-append %sysconfdir "/guix/channels.scm"))
+
   (define (load-channels file)
     (let ((result (load* file (make-user-module '((guix channels))))))
       (if (and (list? result) (every channel? result))
@@ -725,6 +728,8 @@ transformations specified in OPTS (resulting from '--url', '--commit', or
            (load-channels file))
           ((file-exists? default-file)
            (load-channels default-file))
+          ((file-exists? global-file)
+           (load-channels global-file))
           (else
            %default-channels)))
 

From b13b9384bc43bf93c754c037956c8ef9a99c2b41 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= 
Date: Sun, 27 Oct 2019 23:11:39 +0100
Subject: [PATCH 0488/1112] news: Add entry for /etc/guix/channels.scm.

* etc/news.scm: Add entry to /etc/guix/channels.scm.
---
 etc/news.scm | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git a/etc/news.scm b/etc/news.scm
index 80f7ba522c6..8f79848b7fe 100644
--- a/etc/news.scm
+++ b/etc/news.scm
@@ -9,6 +9,22 @@
 (channel-news
  (version 0)
 
+ (entry (commit "49af34cfac89d384c46269bfd9388b2c73b1220a")
+        (title (en "@command{guix pull} now honors
+@file{/etc/guix/channels.scm")
+               (fr "@command{guix pull} lit maintenant
+@file{/etc/guix/channels.scm}"))
+        (body
+         (en "The @command{guix pull} command will now read the
+@file{/etc/guix/channels.scm} file if it exists and if the per-user
+@file{~/.config/guix/channels.scm} is not present.  This allows administrators
+of multi-user systems to define site-wide defaults.")
+         (fr "La commande @command{guix pull} lira maintenant le fichier
+@file{/etc/guix/channels.scm} s'il existe et si le fichier
+@file{~/.config/guix/channels.scm} par utilisateur·rice n'est pas présent.
+Cela permet aux personnes administrant des systèmes multi-utilisateurs de
+définir les canaux par défaut.")))
+
  (entry (commit "81c580c8664bfeeb767e2c47ea343004e88223c7")
         (title (en "Insecure @file{/var/guix/profiles/per-user} permissions (CVE-2019-18192)")
                (de "Sicherheitslücke in @file{/var/guix/profiles/per-user}-Berechtigungen (CVE-2019-18192)")

From da42873c18de50f8b3a66dbefd068bb0393667cc Mon Sep 17 00:00:00 2001
From: Tobias Geerinckx-Rice 
Date: Sun, 27 Oct 2019 23:13:22 +0100
Subject: [PATCH 0489/1112] gnu: telepathy-mission-control: Don't use NAME in
 source URI.

* gnu/packages/freedesktop.scm (telepathy-mission-control)[source]: Hard-code NAME.
---
 gnu/packages/freedesktop.scm | 15 ++++++++-------
 1 file changed, 8 insertions(+), 7 deletions(-)

diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm
index cb308b77f44..96aab0464b5 100644
--- a/gnu/packages/freedesktop.scm
+++ b/gnu/packages/freedesktop.scm
@@ -1102,13 +1102,14 @@ messaging clients such as Empathy, GNOME Shell or KDE Telepathy.")
   (package
     (name "telepathy-mission-control")
     (version "5.16.4")
-    (source (origin
-              (method url-fetch)
-              (uri (string-append "https://telepathy.freedesktop.org/releases/"
-                                  name "/" name "-" version ".tar.gz"))
-              (sha256
-               (base32
-                "1jz6wwgsfxixha6ys2hbzbk5faqnj9kh2m5qdlgx5anqgandsscp"))))
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://telepathy.freedesktop.org/releases/"
+                           "telepathy-mission-control/"
+                           "telepathy-mission-control-" version ".tar.gz"))
+       (sha256
+        (base32 "1jz6wwgsfxixha6ys2hbzbk5faqnj9kh2m5qdlgx5anqgandsscp"))))
     (build-system gnu-build-system)
     (native-inputs
      `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.

From 6c5401fca8d5b491367f700082b79fb8090ec294 Mon Sep 17 00:00:00 2001
From: Tobias Geerinckx-Rice 
Date: Sun, 27 Oct 2019 23:14:49 +0100
Subject: [PATCH 0490/1112] gnu: telepathy-mission-control: Update to 5.16.5.

* gnu/packages/freedesktop.scm (telepathy-mission-control): Update to 5.16.5.
---
 gnu/packages/freedesktop.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm
index 96aab0464b5..b18d71cb982 100644
--- a/gnu/packages/freedesktop.scm
+++ b/gnu/packages/freedesktop.scm
@@ -1101,7 +1101,7 @@ messaging clients such as Empathy, GNOME Shell or KDE Telepathy.")
 (define-public telepathy-mission-control
   (package
     (name "telepathy-mission-control")
-    (version "5.16.4")
+    (version "5.16.5")
     (source
      (origin
        (method url-fetch)
@@ -1109,7 +1109,7 @@ messaging clients such as Empathy, GNOME Shell or KDE Telepathy.")
                            "telepathy-mission-control/"
                            "telepathy-mission-control-" version ".tar.gz"))
        (sha256
-        (base32 "1jz6wwgsfxixha6ys2hbzbk5faqnj9kh2m5qdlgx5anqgandsscp"))))
+        (base32 "00xxv38cfdirnfvgyd56m60j0nkmsv5fz6p2ydyzsychicxl6ssc"))))
     (build-system gnu-build-system)
     (native-inputs
      `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.

From 271b3c9d16f8880f4a27b52a615cdec611322fae Mon Sep 17 00:00:00 2001
From: Tobias Geerinckx-Rice 
Date: Sun, 27 Oct 2019 23:45:29 +0100
Subject: [PATCH 0491/1112] gnu: fetchmail: Update to 6.4.1.
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

* gnu/packages/mail.scm (fetchmail): Update to 6.4.1.
[source]: Parameterize URI.
[arguments]: Add ‘create-test-environment’ phase.
---
 gnu/packages/mail.scm | 29 +++++++++++++++++++----------
 1 file changed, 19 insertions(+), 10 deletions(-)

diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
index 2c6192ca019..dc7f6c591e2 100644
--- a/gnu/packages/mail.scm
+++ b/gnu/packages/mail.scm
@@ -320,20 +320,29 @@ to run without any changes.")
 (define-public fetchmail
   (package
     (name "fetchmail")
-    (version "6.3.26")
-    (source (origin
-             (method url-fetch)
-             (uri (string-append "mirror://sourceforge/fetchmail/branch_6.3/fetchmail-"
-                                 version ".tar.xz"))
-             (sha256
-              (base32
-               "0l78ayvi9dm8hd190gl139cs2xqsrf7r9ncilslw20mgvd6cbd3r"))))
+    (version "6.4.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "mirror://sourceforge/fetchmail/branch_"
+                           (version-major+minor version) "/"
+                           "fetchmail-" version ".tar.xz"))
+       (sha256
+        (base32 "1859wvfc9fq72mwp4njdiy0x89hnddlfr3nix71qqglcs0fz2crz"))))
     (build-system gnu-build-system)
     (inputs
      `(("openssl" ,openssl)))
     (arguments
-     `(#:configure-flags (list (string-append "--with-ssl="
-                                              (assoc-ref %build-inputs "openssl")))))
+     `(#:configure-flags
+       (list (string-append "--with-ssl="
+                            (assoc-ref %build-inputs "openssl")))
+       #:phases
+       (modify-phases %standard-phases
+         (add-before 'check 'create-test-environment
+           (lambda _
+             ;; Fix ‘Cannot find absolute path for user's home directory’.
+             (setenv "HOME" "/tmp")
+             #t)))))
     (home-page "http://www.fetchmail.info/")
     (synopsis "Remote-mail retrieval and forwarding utility")
     (description

From 447b61d4cfb2a2de39221777590233eeae3aed12 Mon Sep 17 00:00:00 2001
From: Tobias Geerinckx-Rice 
Date: Sun, 27 Oct 2019 23:52:25 +0100
Subject: [PATCH 0492/1112] gnu: fetchmail: Use HTTPS home page.

* gnu/packages/mail.scm (fetchmail)[home-page]: Use HTTPS.
---
 gnu/packages/mail.scm | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
index dc7f6c591e2..f753e3756fd 100644
--- a/gnu/packages/mail.scm
+++ b/gnu/packages/mail.scm
@@ -343,7 +343,7 @@ to run without any changes.")
              ;; Fix ‘Cannot find absolute path for user's home directory’.
              (setenv "HOME" "/tmp")
              #t)))))
-    (home-page "http://www.fetchmail.info/")
+    (home-page "https://www.fetchmail.info/")
     (synopsis "Remote-mail retrieval and forwarding utility")
     (description
      "Fetchmail is a full-featured, robust, well-documented remote-mail

From 1219a7cc0521e4916287acd265e50b0af2bfb336 Mon Sep 17 00:00:00 2001
From: Tobias Geerinckx-Rice 
Date: Sun, 27 Oct 2019 23:58:01 +0100
Subject: [PATCH 0493/1112] gnu: bitcoin-core: Update to 0.18.1.

* gnu/packages/finance.scm (bitcoin-core): Update to 0.18.1.
---
 gnu/packages/finance.scm | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm
index 960e3adeb3b..bbd1aa947ce 100644
--- a/gnu/packages/finance.scm
+++ b/gnu/packages/finance.scm
@@ -86,7 +86,7 @@
 (define-public bitcoin-core
   (package
     (name "bitcoin-core")
-    (version "0.18.0")
+    (version "0.18.1")
     (source (origin
              (method url-fetch)
              (uri
@@ -94,15 +94,15 @@
                              version "/bitcoin-" version ".tar.gz"))
              (sha256
               (base32
-               "0ps0vw9iknz1b1sx74rabd1yhlxvwbd0aimjzn9hlqkvw286hkjy"))))
+               "15mz0gmm058gmq2gdpffbw25jpv7mksyhyfws6i7mqvrapqr6zaw"))))
     (build-system gnu-build-system)
     (native-inputs
      `(("pkg-config" ,pkg-config)
-       ("python" ,python) ; for the tests
-       ("util-linux" ,util-linux)   ; provides the hexdump command for tests
+       ("python" ,python)               ; for the tests
+       ("util-linux" ,util-linux)       ; provides the hexdump command for tests
        ("qttools" ,qttools)))
     (inputs
-     `(("bdb" ,bdb-4.8) ; Bitcoin Core requires bdb 4.8 for compatibility
+     `(("bdb" ,bdb-4.8)                 ; 4.8 required for compatibility
        ("boost" ,boost)
        ("libevent" ,libevent)
        ("miniupnpc" ,miniupnpc)
@@ -133,7 +133,7 @@
             #t))
           (add-before 'check 'set-home
            (lambda _
-            (setenv "HOME" (getenv "TMPDIR"))  ; Tests write to $HOME.
+            (setenv "HOME" (getenv "TMPDIR")) ; tests write to $HOME
             #t))
           (add-after 'check 'check-functional
            (lambda _

From ee51577325525fcecc2828da94e9001b3c5d7636 Mon Sep 17 00:00:00 2001
From: Tobias Geerinckx-Rice 
Date: Mon, 28 Oct 2019 00:08:32 +0100
Subject: [PATCH 0494/1112] gnu: python-ipython: Update to 7.9.0.

* gnu/packages/python-xyz.scm (python-ipython): Update to 7.9.0.
---
 gnu/packages/python-xyz.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 8ad5c92239a..476ac2f5882 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -5624,13 +5624,13 @@ computing.")
 (define-public python-ipython
   (package
     (name "python-ipython")
-    (version "7.5.0")
+    (version "7.9.0")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri "ipython" version ".tar.gz"))
        (sha256
-        (base32 "09mbxq37mfn88xjnib7qfzaq9krr7gf1jxwy1p6mcjr254082h78"))))
+        (base32 "103jkw18z7fnwdal1mdbijjxi1fndzn31g887lmj7ddpf2r07lyz"))))
     (build-system python-build-system)
     (propagated-inputs
      `(("python-backcall" ,python-backcall)

From 3cbf3f74597b3c200b24ed47833747a2743675c6 Mon Sep 17 00:00:00 2001
From: Tobias Geerinckx-Rice 
Date: Mon, 28 Oct 2019 00:10:46 +0100
Subject: [PATCH 0495/1112] gnu: ghc-xmonad-contrib: Update to 0.16.

* gnu/packages/wm.scm (ghc-xmonad-contrib): Update to 0.16.
---
 gnu/packages/wm.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm
index 7c573337d4d..e793d89bfa2 100644
--- a/gnu/packages/wm.scm
+++ b/gnu/packages/wm.scm
@@ -691,14 +691,14 @@ Haskell, no knowledge of the language is required to install and use it.")
 (define-public ghc-xmonad-contrib
   (package
     (name "ghc-xmonad-contrib")
-    (version "0.15")
+    (version "0.16")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "mirror://hackage/package/xmonad-contrib/"
                            "xmonad-contrib-" version ".tar.gz"))
        (sha256
-        (base32 "0r9yzgy67j4mi3dyxx714f0ssk5qzca5kh4zw0fhiz1pf008cxms"))))
+        (base32 "1pddgkvnbww28wykncc7j0yb0lv15bk7xnnhdcbrwkxzw66w6wmd"))))
     (build-system haskell-build-system)
     (propagated-inputs
      `(("ghc-old-time" ,ghc-old-time)

From ea46f9c97c6b7d0a6a8a78f8dcb16997c620bce9 Mon Sep 17 00:00:00 2001
From: Tobias Geerinckx-Rice 
Date: Mon, 28 Oct 2019 00:14:26 +0100
Subject: [PATCH 0496/1112] gnu: btrfs-progs: Update to 5.3.1.

* gnu/packages/linux.scm (btrfs-progs): Update to 5.3.1.
---
 gnu/packages/linux.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 32eaef244ef..8bfa9ce2581 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -3901,7 +3901,7 @@ and copy/paste text in the console and in xterm.")
 (define-public btrfs-progs
   (package
     (name "btrfs-progs")
-    (version "5.3")
+    (version "5.3.1")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://kernel.org/linux/kernel/"
@@ -3909,7 +3909,7 @@ and copy/paste text in the console and in xterm.")
                                   "btrfs-progs-v" version ".tar.xz"))
               (sha256
                (base32
-                "13ivb1b627qkiiqxh2y7zawynarkmgxrnwwpqhx6cci621yyqqqp"))))
+                "0f6s1iwiqbncrvxp74k50s88x6zqf85sjxg04kyni82l1vk1m8xz"))))
     (build-system gnu-build-system)
     (outputs '("out"
                "static"))      ; static versions of the binaries in "out"

From 85f8fb75ee2e4c7ed7da3281618b32c0ba272699 Mon Sep 17 00:00:00 2001
From: Tobias Geerinckx-Rice 
Date: Mon, 28 Oct 2019 00:45:04 +0100
Subject: [PATCH 0497/1112] gnu: wireshark: Update to 3.0.6.

* gnu/packages/networking.scm (wireshark): Update to 3.0.6.
---
 gnu/packages/networking.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
index d9134ff9107..91738714973 100644
--- a/gnu/packages/networking.scm
+++ b/gnu/packages/networking.scm
@@ -595,14 +595,14 @@ of the same name.")
 (define-public wireshark
   (package
     (name "wireshark")
-    (version "3.0.5")
+    (version "3.0.6")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "https://www.wireshark.org/download/src/wireshark-"
                            version ".tar.xz"))
        (sha256
-        (base32 "087qv7nd7zlbckvcs37fkkg7v0mw0hjd5yfbghqym764fpjgqlf5"))))
+        (base32 "0gp3qg0280ysrsaa97yfazka8xcyrspsrw8bfgqxnpf1l0i40zx8"))))
     (build-system cmake-build-system)
     (arguments
      `(#:phases

From e30808ddb33f4aa0c4940ce8596ddc71ff55ed2a Mon Sep 17 00:00:00 2001
From: Hartmut Goebel 
Date: Mon, 28 Oct 2019 09:36:32 +0100
Subject: [PATCH 0498/1112] gnu: weasyprint: Add note to patch.

* gnu/packages/patches/weasyprint-library-paths.patch: Add note.
---
 gnu/packages/patches/weasyprint-library-paths.patch | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/gnu/packages/patches/weasyprint-library-paths.patch b/gnu/packages/patches/weasyprint-library-paths.patch
index eabbdbdcd6e..317f0c542e5 100644
--- a/gnu/packages/patches/weasyprint-library-paths.patch
+++ b/gnu/packages/patches/weasyprint-library-paths.patch
@@ -1,3 +1,8 @@
+Make weasyprint load dynamic libraries from hard-coded path.
+
+From NixOS
+pkgs/development/python-modules/weasyprint/library-paths.patch
+
 diff --git a/weasyprint/fonts.py b/weasyprint/fonts.py
 index 377716c1..2016e01c 100644
 --- a/weasyprint/fonts.py

From f6c27c554138279f5d41e5db0e73fdcdb4d51e85 Mon Sep 17 00:00:00 2001
From: Pierre Neidhardt 
Date: Mon, 28 Oct 2019 09:56:09 +0100
Subject: [PATCH 0499/1112] doc: Fix some typos in "Guix Profiles in Practice".

* doc/guix-cookbook.texi (Guix Profiles in Practice): Fix typos.
---
 doc/guix-cookbook.texi | 12 +++++++-----
 1 file changed, 7 insertions(+), 5 deletions(-)

diff --git a/doc/guix-cookbook.texi b/doc/guix-cookbook.texi
index 1b081a820ed..6026f589a88 100644
--- a/doc/guix-cookbook.texi
+++ b/doc/guix-cookbook.texi
@@ -801,7 +801,7 @@ reference.
 
 Guix provides a very useful feature that may be quite foreign to newcomers:
 @emph{profiles}.  They are a way to group package installations together and all users
-on a same system are free to use as many profiles as they want.
+on the same system are free to use as many profiles as they want.
 
 Whether you're a developer or not, you may find that multiple profiles bring you
 great power and flexibility.  While they shift the paradigm somewhat compared to
@@ -830,7 +830,7 @@ shells, each of them running different profiles.
 
 @item
 Isolation: Programs from one profile will not use programs from the other, and
-they user can even install different versions of the same programs to the two
+the user can even install different versions of the same programs to the two
 profiles without conflict.
 
 @item
@@ -840,8 +840,10 @@ This makes multiple profiles storage-efficient.
 @item
 Reproducible: when used with declarative manifests, a profile can be fully
 specified by the Guix commit that was active when it was set up.  This means
-that the exact same profile can be @uref{https://guix.gnu.org/blog/2018/multi-dimensional-transactions-and-rollbacks-oh-my/, set up anywhere, anytime}, with just the
-commit information.  See the section on @ref{Reproducible profiles}.
+that the exact same profile can be
+@uref{https://guix.gnu.org/blog/2018/multi-dimensional-transactions-and-rollbacks-oh-my/,
+set up anywhere and anytime}, with just the commit information.  See the
+section on @ref{Reproducible profiles}.
 
 @item
 Easier upgrades and maintenance: Multiple profiles make it easy to keep
@@ -1012,7 +1014,7 @@ the profile is loaded, you've got two options:
 @item
 Either export the variable manually, e.g.
 @example
-export MANPATH=/path/to/profile$@{MANPATH:+:@}$MANPATH"
+export MANPATH=/path/to/profile$@{MANPATH:+:@}$MANPATH
 @end example
 
 @item

From ffe059afb5bdbc4ab099d9fb60bde1c511d752cb Mon Sep 17 00:00:00 2001
From: Pierre Neidhardt 
Date: Mon, 28 Oct 2019 10:29:55 +0100
Subject: [PATCH 0500/1112] doc: Finish importing the "Packaging Tutorial".

* doc/guix-cookbook.texi (Packaging Tutorial): Import all sections after the
  Scheme crash course.
---
 doc/guix-cookbook.texi | 780 ++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 779 insertions(+), 1 deletion(-)

diff --git a/doc/guix-cookbook.texi b/doc/guix-cookbook.texi
index 6026f589a88..04eb5498eca 100644
--- a/doc/guix-cookbook.texi
+++ b/doc/guix-cookbook.texi
@@ -331,6 +331,7 @@ It does not assume much knowledge of the Guix system nor of the Lisp language.
 The reader is only expected to be familiar with the command line and to have some
 basic programming knowledge.
 
+@node A "Hello World" package
 @subsection A "Hello World" package
 
 The “Defining Packages” section of the manual introduces the basics of Guix
@@ -521,8 +522,785 @@ We've gone as far as we could without any knowledge of Scheme.  Before moving
 on to more complex packages, now is the right time to brush up on your Scheme
 knowledge.  @pxref{A Scheme Crash Course} to get up to speed.
 
-@c TODO: Continue the tutorial
+@node Setup
+@subsection Setup
 
+In the rest of this chapter we will rely on some basic Scheme
+programming knowledge.  Now let's detail the different possible setups
+for working on Guix packages.
+
+There are several ways to set up a Guix packaging environment.
+
+We recommend you work directly on the Guix source checkout since it makes it
+easier for everyone to contribute to the project.
+
+But first, let's look at other possibilities.
+
+@node Local file
+@subsubsection Local file
+
+This is what we previously did with @samp{my-hello}.  With the Scheme basics we've
+covered, we are now able to explain the leading chunks.  As stated in @code{guix
+package --help}:
+
+@example
+  -f, --install-from-file=FILE
+                         install the package that the code within FILE
+                         evaluates to
+@end example
+
+Thus the last expression @emph{must} return a package, which is the case in our
+earlier example.
+
+The @code{use-modules} expression tells which of the modules we need in the file.
+Modules are a collection of values and procedures.  They are commonly called
+"libraries" or "packages" in other programming languages.
+
+@node @samp{GUIX_PACKAGE_PATH}
+@subsubsection @samp{GUIX_PACKAGE_PATH}
+
+@emph{Note: Starting from Guix 0.16, the more flexible Guix "channels" are the
+preferred way and supersede @samp{GUIX_PACKAGE_PATH}.  See next section.}
+
+It can be tedious to specify the file from the command line instead of simply
+calling @code{guix package --install my-hello} as you would do with the official
+packages.
+
+Guix makes it possible to streamline the process by adding as many "package
+declaration paths" as you want.
+
+Create a directory, say @samp{~./guix-packages} and add it to the @samp{GUIX_PACKAGE_PATH}
+environment variable:
+
+@example
+$ mkdir ~/guix-packages
+$ export GUIX_PACKAGE_PATH=~/guix-packages
+@end example
+
+To add several directories, separate them with a colon (@code{:}).
+
+Our previous @samp{my-hello} needs some adjustments though:
+
+@example
+(define-module (my-hello)
+  #:use-module (guix licenses)
+  #:use-module (guix packages)
+  #:use-module (guix build-system gnu)
+  #:use-module (guix download))
+
+(define-public my-hello
+  (package
+    (name "my-hello")
+    (version "2.10")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "mirror://gnu/hello/hello-" version
+                                  ".tar.gz"))
+              (sha256
+               (base32
+                "0ssi1wpaf7plaswqqjwigppsg5fyh99vdlb9kzl7c9lng89ndq1i"))))
+    (build-system gnu-build-system)
+    (synopsis "Hello, Guix world: An example custom Guix package")
+    (description
+     "GNU Hello prints the message \"Hello, world!\" and then exits.  It
+serves as an example of standard GNU coding practices.  As such, it supports
+command-line arguments, multiple languages, and so on.")
+    (home-page "https://www.gnu.org/software/hello/")
+    (license gpl3+)))
+@end example
+
+Note that we have assigned the package value to an exported variable name with
+@code{define-public}.  This is effectively assigning the package to the @code{my-hello}
+variable so that it can be referenced, among other as dependency of other
+packages.
+
+If you use @code{guix package --install-from-file=my-hello.scm} on the above file, it
+will fail because the last expression, @code{define-public}, does not return a
+package.  If you want to use @code{define-public} in this use-case nonetheless, make
+sure the file ends with an evaluation of @code{my-hello}:
+
+@example
+; ...
+(define-public my-hello
+  ; ...
+  )
+
+my-hello
+@end example
+
+This last example is not very typical.
+
+Now @samp{my-hello} should be part of the package collection like all other official
+packages.  You can verify this with:
+
+@example
+$ guix package --show=my-hello
+@end example
+
+@node Guix channels
+@subsubsection Guix channels
+
+Guix 0.16 features channels, which is very similar to @samp{GUIX_PACKAGE_PATH} but
+provides better integration and provenance tracking.  Channels are not
+necessarily local, they can be maintained as a public Git repository for
+instance.  Of course, several channels can be used at the same time.
+
+@xref{Channels,,, guix, GNU Guix Reference Manual} for setup details.
+
+@node Direct checkout hacking
+@subsubsection Direct checkout hacking
+
+Working directly on the Guix project is recommended: it reduces the friction
+when the time comes to submit your changes upstream to let the community benefit
+from your hard work!
+
+Unlike most software distributions, the Guix repository holds in one place both
+the tooling (including the package manager) and the package definitions.  This
+choice was made so that it would give developers the flexibility to modify the
+API without breakage by updating all packages at the same time.  This reduces
+development inertia.
+
+Check out the official @uref{https://git-scm.com/, Git} repository:
+
+@example
+$ git clone https://git.savannah.gnu.org/git/guix.git
+@end example
+
+In the rest of this article, we use @samp{$GUIX_CHECKOUT} to refer to the location of
+the checkout.
+
+
+Follow the instruction in the manual (@pxref{Contributing,,, guix, GNU Guix
+Reference Manual}) to set up the repository environment.
+
+Once ready, you should be able to use the package definitions from the
+repository environment.
+
+Feel free to edit package definitions found in @samp{$GUIX_CHECKOUT/gnu/packages}.
+
+The @samp{$GUIX_CHECKOUT/pre-inst-env} script lets you use @samp{guix} over the package
+collection of the repository.
+
+@itemize
+@item
+Search packages, such as Ruby:
+
+@example
+  $ cd $GUIX_CHECKOUT
+  $ ./pre-inst-env guix package --list-available=ruby
+      ruby    1.8.7-p374      out     gnu/packages/ruby.scm:119:2
+      ruby    2.1.6   out     gnu/packages/ruby.scm:91:2
+      ruby    2.2.2   out     gnu/packages/ruby.scm:39:2
+@end example
+
+@item
+Build a package, here Ruby version 2.1:
+
+@example
+  $ ./pre-inst-env guix build --keep-failed ruby@@2.1
+  /gnu/store/c13v73jxmj2nir2xjqaz5259zywsa9zi-ruby-2.1.6
+@end example
+
+@item
+Install it to your user profile:
+
+@example
+  $ ./pre-inst-env guix package --install ruby@@2.1
+@end example
+
+@item
+Check for common mistakes:
+
+@example
+  $ ./pre-inst-env guix lint ruby@@2.1
+@end example
+@end itemize
+
+Guix strives at maintaining a high packaging standard; when contributing to the
+Guix project, remember to
+
+@itemize
+@item
+follow the coding style (@pxref{Coding Style,,, guix, GNU Guix Reference Manual}),
+@item
+and review the check list from the manual (@pxref{Submitting Patches,,, guix, GNU Guix Reference Manual}).
+@end itemize
+
+Once you are happy with the result, you are welcome to send your contribution to
+make it part of Guix.  This process is also detailed in the manual.  (@pxref{Contributing,,, guix, GNU Guix Reference Manual})
+
+
+It's a community effort so the more join in, the better Guix becomes!
+
+@node Extended example
+@subsection Extended example
+
+The above "Hello World" example is as simple as it goes.  Packages can be more
+complex than that and Guix can handle more advanced scenarios.  Let's look at
+another, more sophisticated package (slightly modified from the source):
+
+@example
+(define-module (gnu packages version-control)
+  #:use-module ((guix licenses) #:prefix license:)
+  #:use-module (guix utils)
+  #:use-module (guix packages)
+  #:use-module (guix git-download)
+  #:use-module (guix build-system cmake)
+  #:use-module (gnu packages ssh)
+  #:use-module (gnu packages web)
+  #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages python)
+  #:use-module (gnu packages compression)
+  #:use-module (gnu packages tls))
+
+(define-public my-libgit2
+  (let ((commit "e98d0a37c93574d2c6107bf7f31140b548c6a7bf")
+        (revision "1"))
+    (package
+      (name "my-libgit2")
+      (version (git-version "0.26.6" revision commit))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://github.com/libgit2/libgit2/")
+                      (commit commit)))
+                (file-name (git-file-name name version))
+                (sha256
+                 (base32
+                  "17pjvprmdrx4h6bb1hhc98w9qi6ki7yl57f090n9kbhswxqfs7s3"))
+                (patches (search-patches "libgit2-mtime-0.patch"))
+                (modules '((guix build utils)))
+                (snippet '(begin
+                            ;; Remove bundled software.
+                            (delete-file-recursively "deps")
+                            #t))))
+      (build-system cmake-build-system)
+      (outputs '("out" "debug"))
+      (arguments
+       `(#:tests? #t                            ; Run the test suite (this is the default)
+         #:configure-flags '("-DUSE_SHA1DC=ON") ; SHA-1 collision detection
+         #:phases
+         (modify-phases %standard-phases
+           (add-after 'unpack 'fix-hardcoded-paths
+             (lambda _
+               (substitute* "tests/repo/init.c"
+                 (("#!/bin/sh") (string-append "#!" (which "sh"))))
+               (substitute* "tests/clar/fs.h"
+                 (("/bin/cp") (which "cp"))
+                 (("/bin/rm") (which "rm")))
+               #t))
+           ;; Run checks more verbosely.
+           (replace 'check
+             (lambda _ (invoke "./libgit2_clar" "-v" "-Q")))
+           (add-after 'unpack 'make-files-writable-for-tests
+               (lambda _ (for-each make-file-writable (find-files "." ".*")))))))
+      (inputs
+       `(("libssh2" ,libssh2)
+         ("http-parser" ,http-parser)
+         ("python" ,python-wrapper)))
+      (native-inputs
+       `(("pkg-config" ,pkg-config)))
+      (propagated-inputs
+       ;; These two libraries are in 'Requires.private' in libgit2.pc.
+       `(("openssl" ,openssl)
+         ("zlib" ,zlib)))
+      (home-page "https://libgit2.github.com/")
+      (synopsis "Library providing Git core methods")
+      (description
+       "Libgit2 is a portable, pure C implementation of the Git core methods
+provided as a re-entrant linkable library with a solid API, allowing you to
+write native speed custom Git applications in any language with bindings.")
+      ;; GPLv2 with linking exception
+      (license license:gpl2))))
+@end example
+
+(In those cases were you only want to tweak a few fields from a package
+definition, you should rely on inheritance instead of copy-pasting everything.
+See below.)
+
+Let's discuss those fields in depth.
+
+@subsubsection @code{git-fetch} method
+
+Unlike the @code{url-fetch} method, @code{git-fetch} expects a @code{git-reference} which takes
+a Git repository and a commit.  The commit can be any Git reference such as
+tags, so if the @code{version} is tagged, then it can be used directly.  Sometimes
+the tag is prefixed with a @code{v}, in which case you'd use @code{(commit (string-append
+"v" version))}.
+
+To ensure that the source code from the Git repository is stored in a unique
+directory with a readable name we use @code{(file-name (git-file-name name
+version))}.
+
+Note that there is also a @code{git-version} procedure that can be used to derive the
+version when packaging programs for a specific commit.
+
+@subsubsection Snippets
+
+Snippets are quoted (i.e. non-evaluated) Scheme code that are a means of patching
+the source.  They are a Guix-y alternative to the traditional @samp{.patch} files.
+Because of the quote, the code in only evaluated when passed to the Guix daemon
+for building.
+
+There can be as many snippet as needed.
+
+Snippets might need additional Guile modules which can be imported from the
+@code{modules} field.
+
+@subsubsection Inputs
+
+First, a syntactic comment: See the quasi-quote / comma syntax?
+
+@example
+    (native-inputs
+     `(("pkg-config" ,pkg-config)))
+@end example
+
+is equivalent to
+
+@example
+    (native-inputs
+     (list (list "pkg-config" pkg-config)))
+@end example
+
+You'll mostly see the former because it's shorter.
+
+There are 3 different input types.  In short:
+
+@table @asis
+@item native-inputs
+Required for building but not runtime -- installing a package
+through a substitute won't install these inputs.
+@item inputs
+Installed in the store but not in the profile, as well as being
+present at build time.
+@item propagated-inputs
+Installed in the store and in the profile, as well as
+being present at build time.
+@end table
+
+@xref{Package Reference,,, guix, GNU Guix Reference Manual} for more details.
+
+The distinction between the various inputs is important: if a dependency can be
+handled as an @emph{input} instead of a @emph{propagated input}, it should be done so, or
+else it "pollutes" the user profile for no good reason.
+
+For instance, a user installing a graphical program that depends on a
+command line tool might only be interested in the graphical part, so there is no
+need to force the command line tool into the user profile.  The dependency is a
+concern to the package, not to the user.  @emph{Inputs} make it possible to handle
+dependencies without bugging the user by adding undesired executable files (or
+libraries) to their profile.
+
+Same goes for @emph{native-inputs}: once the program is installed, build-time
+dependencies can be safely garbage-collected.
+It also matters when a substitute is available, in which case only the @emph{inputs}
+and @emph{propagated inputs} will be fetched: the @emph{native inputs} are not required to
+install a package from a substitute.
+
+@subsubsection Outputs
+
+Just like how a package can have multiple inputs, it can also produce multiple
+outputs.
+
+Each output corresponds to a separate directory in the store.
+
+The user can choose which output to install; this is useful to save space or
+to avoid polluting the user profile with unwanted executables or libraries.
+
+Output separation is optional.  When the @code{outputs} field is left out, the
+default and only output (the complete package) is referred to as @code{"out"}.
+
+Typical separate output names include @code{debug} and @code{doc}.
+
+It's advised to separate outputs only when you've shown it's worth it: if the
+output size is significant (compare with @code{guix size}) or in case the package is
+modular.
+
+@subsubsection Build system arguments
+
+The @code{arguments} is a keyword-value list used to configure the build process.
+
+The simplest argument @code{#:tests?} can be used to disable the test suite when
+building the package.  This is mostly useful when the package does not feature
+any test suite.  It's strongly recommended to keep the test suite on if there is
+one.
+
+Another  common argument is @code{:make-flags}, which specifies a list of flags to
+append when running make, as you would from the command line.  For instance, the
+following flags
+
+@example
+#:make-flags (list (string-append "prefix=" (assoc-ref %outputs "out"))
+                   "CC=gcc")
+@end example
+
+translate into
+
+@example
+$ make CC=gcc prefix=/gnu/store/...-
+@end example
+
+This sets the C compiler to @code{gcc} and the @code{prefix} variable (the installation
+directory in Make parlance) to @code{(assoc-ref %outputs "out")}, which is a build-stage
+global variable pointing to the destination directory in the store (something like
+@samp{/gnu/store/...-my-libgit2-20180408}).
+
+Similarly, it's possible to set the "configure" flags.
+
+@example
+#:configure-flags '("-DUSE_SHA1DC=ON")
+@end example
+
+The @code{%build-inputs} variable is also generated in scope.  It's an association
+table that maps the input names to their store directories.
+
+The @code{phases} keyword lists the sequential steps of the build system.  Typically
+phases include @code{unpack}, @code{configure}, @code{build}, @code{install} and @code{check}.  To know
+more about those phases, you need to work out the appropriate build system
+definition in @samp{$GUIX_CHECKOUT/guix/build/gnu-build-system.scm}:
+
+@example
+(define %standard-phases
+  ;; Standard build phases, as a list of symbol/procedure pairs.
+  (let-syntax ((phases (syntax-rules ()
+                         ((_ p ...) `((p . ,p) ...)))))
+    (phases set-SOURCE-DATE-EPOCH set-paths install-locale unpack
+            bootstrap
+            patch-usr-bin-file
+            patch-source-shebangs configure patch-generated-file-shebangs
+            build check install
+            patch-shebangs strip
+            validate-runpath
+            validate-documentation-location
+            delete-info-dir-file
+            patch-dot-desktop-files
+            install-license-files
+            reset-gzip-timestamps
+            compress-documentation)))
+@end example
+
+Or from the REPL:
+
+@example
+> (add-to-load-path "/path/to/guix/checkout")
+> ,module (guix build gnu-build-system)
+> (map first %standard-phases)
+(set-SOURCE-DATE-EPOCH set-paths install-locale unpack bootstrap patch-usr-bin-file patch-source-shebangs configure patch-generated-file-shebangs build check install patch-shebangs strip validate-runpath validate-documentation-location delete-info-dir-file patch-dot-desktop-files install-license-files reset-gzip-timestamps compress-documentation)
+@end example
+
+If you want to know more about what happens during those phases, consult the
+associated procedures.
+
+For instance, as of this writing the definition of @code{unpack} for the GNU build
+system is
+
+@example
+(define* (unpack #:key source #:allow-other-keys)
+  "Unpack SOURCE in the working directory, and change directory within the
+source.  When SOURCE is a directory, copy it in a sub-directory of the current
+working directory."
+  (if (file-is-directory? source)
+      (begin
+        (mkdir "source")
+        (chdir "source")
+
+        ;; Preserve timestamps (set to the Epoch) on the copied tree so that
+        ;; things work deterministically.
+        (copy-recursively source "."
+                          #:keep-mtime? #t))
+      (begin
+        (if (string-suffix? ".zip" source)
+            (invoke "unzip" source)
+            (invoke "tar" "xvf" source))
+        (chdir (first-subdirectory "."))))
+  #t)
+@end example
+
+Note the @code{chdir} call: it changes the working directory to where the source was
+unpacked.
+Thus every phase following the @code{unpack} will use the source as a working
+directory, which is why we can directly work on the source files.
+That is to say, unless a later phase changes the working directory to something
+else.
+
+We modify the list of @code{%standard-phases} of the build system with the
+@code{modify-phases} macro as per the list of specified modifications, which may have
+the following forms:
+
+@itemize
+@item
+@code{(add-before PHASE NEW-PHASE PROCEDURE)}: Run @code{PROCEDURE} named @code{NEW-PHASE} before @code{PHASE}.
+@item
+@code{(add-after PHASE NEW-PHASE PROCEDURE)}: Same, but afterwards.
+@item
+@code{(replace PHASE PROCEDURE)}.
+@item
+@code{(delete PHASE)}.
+@end itemize
+
+The @code{PROCEDURE} supports the keyword arguments @code{inputs} and @code{outputs}.  Each
+input (whether @emph{native}, @emph{propagated} or not) and output directory is referenced
+by their name in those variables.  Thus @code{(assoc-ref outputs "out")} is the store
+directory of the main output of the package.  A phase procedure may look like
+this:
+
+@example
+(lambda* (#:key inputs outputs #:allow-other-keys)
+  (let (((bash-directory (assoc-ref inputs "bash"))
+         (output-directory (assoc-ref outputs "out"))
+         (doc-directory (assoc-ref outputs "doc"))
+  ; ...
+  #t)
+@end example
+
+The procedure must return @code{#t} on success.  It's brittle to rely on the return
+value of the last expression used to tweak the phase because there is no
+guarantee it would be a @code{#t}.  Hence the trailing @code{#t} to ensure the right value
+is returned on success.
+
+@subsubsection Code staging
+
+The astute reader may have noticed the quasi-quote and comma syntax in the
+argument field.  Indeed, the build code in the package declaration should not be
+evaluated on the client side, but only when passed to the Guix daemon.  This
+mechanism of passing code around two running processes is called @uref{https://arxiv.org/abs/1709.00833, code staging}.
+
+@subsubsection "Utils" functions
+
+When customizing @code{phases}, we often need to write code that mimics the
+equivalent system invocations (@code{make}, @code{mkdir}, @code{cp}, etc.) commonly used during
+regular "Unix-style" installations.
+
+Some like @code{chmod} are native to Guile.
+@xref{,,, guile, Guile reference manual} for a complete list.
+
+Guix provides additional helper functions which prove especially handy in the
+context of package management.
+
+Some of those functions can be found in
+@samp{$GUIX_CHECKOUT/guix/guix/build/utils.scm}.  Most of them mirror the behaviour
+of the traditional Unix system commands:
+
+@table @asis
+@item which
+Like the @samp{which} system command.
+@item find-files
+Akin to the @samp{find} system command.
+@item mkdir-p
+Like @samp{mkdir -p}, which creates all parents as needed.
+@item install-file
+Similar to @samp{install} when installing a file to a (possibly
+non-existing) directory.  Guile has @code{copy-file} which works
+like @samp{cp}.
+@item copy-recursively
+Like @samp{cp -r}.
+@item delete-file-recursively
+Like @samp{rm -rf}.
+@item invoke
+Run an executable.  This should be used instead of @code{system*}.
+@item with-directory-excursion
+Run the body in a different working directory,
+then restore the previous working directory.
+@item substitute*
+A "sed-like" function.
+@end table
+
+@subsubsection Module prefix
+
+The license in our last example needs a prefix: this is because of how the
+@code{license} module was imported in the package, as @code{#:use-module ((guix licenses)
+#:prefix license:)}.  The Guile module import mechanism
+(@pxref{Using Guile Modules,,, guile, Guile reference manual})
+gives the user full control over namespacing: this is needed to avoid
+clashes between, say, the
+@samp{zlib} variable from @samp{licenses.scm} (a @emph{license} value) and the @samp{zlib} variable
+from @samp{compression.scm} (a @emph{package} value).
+
+@node Other build systems
+@subsection Other build systems
+
+What we've seen so far covers the majority of packages using a build system
+other than the @code{trivial-build-system}.  The latter does not automate anything
+and leaves you to build everything manually.  This can be more demanding and we
+won't cover it here for now, but thankfully it is rarely necessary to fall back
+on this system.
+
+For the other build systems, such as ASDF, Emacs, Perl, Ruby and many more, the
+process is very similar to the GNU build system except for a few specialized
+arguments.
+
+Learn more about build systems in
+@itemize
+@item
+@uref{https://www.gnu.org/software/guix/manual/en/html_node/Build-Systems.html#Build-Systems, the manual, section 4.2 Build systems},
+@item
+the source code in the @samp{$GUIX_CHECKOUT/guix/build} and
+@samp{$GUIX_CHECKOUT/guix/build-system} directories.
+@end itemize
+
+@node Programmable and automated package definition
+@subsection Programmable and automated package definition
+
+We can't repeat it enough: having a full-fledged programming language at hand
+empowers us in ways that reach far beyond traditional package management.
+
+Let's illustrate this with some awesome features of Guix!
+
+@node Recursive importers
+@subsubsection Recursive importers
+
+You might find some build systems good enough that there is little to do at all
+to write a package, to the point that it becomes repetitive and tedious after a
+while.  A @emph{raison d'être} of computers is to replace human beings at those
+boring tasks.  So let's tell Guix to do this for us and create the package
+definition of an R package from CRAN (the output is trimmed for conciseness):
+
+@example
+$ guix import cran --recursive walrus
+
+(define-public r-mc2d
+    ; ...
+    (license gpl2+)))
+
+(define-public r-jmvcore
+    ; ...
+    (license gpl2+)))
+
+(define-public r-wrs2
+    ; ...
+    (license gpl3)))
+
+(define-public r-walrus
+  (package
+    (name "r-walrus")
+    (version "1.0.3")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (cran-uri "walrus" version))
+        (sha256
+          (base32
+            "1nk2glcvy4hyksl5ipq2mz8jy4fss90hx6cq98m3w96kzjni6jjj"))))
+    (build-system r-build-system)
+    (propagated-inputs
+      `(("r-ggplot2" ,r-ggplot2)
+        ("r-jmvcore" ,r-jmvcore)
+        ("r-r6" ,r-r6)
+        ("r-wrs2" ,r-wrs2)))
+    (home-page "https://github.com/jamovi/walrus")
+    (synopsis "Robust Statistical Methods")
+    (description
+      "This package provides a toolbox of common robust statistical
+tests, including robust descriptives, robust t-tests, and robust ANOVA.
+It is also available as a module for 'jamovi' (see
+ for more information).  Walrus is based on the
+WRS2 package by Patrick Mair, which is in turn based on the scripts and
+work of Rand Wilcox.  These analyses are described in depth in the book
+'Introduction to Robust Estimation & Hypothesis Testing'.")
+    (license gpl3)))
+@end example
+
+The recursive importer won't import packages for which Guix already has package
+definitions, except for the very first.
+
+Not all applications can be packaged this way, only those relying on a select
+number of supported systems.  Read about the full list of importers in
+the guix import section of the manual
+(@pxref{Invoking guix import,,, guix, GNU Guix Reference Manual}).
+
+@node Automatic update
+@subsubsection Automatic update
+
+Guix can be smart enough to check for updates on systems it knows.  It can
+report outdated package definitions with
+
+@example
+$ guix refresh hello
+@end example
+
+In most cases, updating a package to a newer version requires little more than
+changing the version number and the checksum.  Guix can do that automatically as
+well:
+
+@example
+$ guix refresh hello --update
+@end example
+
+@node Inheritance
+@subsubsection Inheritance
+
+If you've started browsing the existing package definitions, you might have
+noticed that a significant number of them have a @code{inherit} field:
+
+@example
+(define-public adwaita-icon-theme
+  (package (inherit gnome-icon-theme)
+    (name "adwaita-icon-theme")
+    (version "3.26.1")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "mirror://gnome/sources/" name "/"
+                                  (version-major+minor version) "/"
+                                  name "-" version ".tar.xz"))
+              (sha256
+               (base32
+                "17fpahgh5dyckgz7rwqvzgnhx53cx9kr2xw0szprc6bnqy977fi8"))))
+    (native-inputs
+     `(("gtk-encode-symbolic-svg" ,gtk+ "bin")))))
+@end example
+
+All unspecified fields are inherited from the parent package.  This is very
+convenient to create alternative packages, for instance with different source,
+version or compilation options.
+
+@node Getting help
+@subsection Getting help
+
+Sadly, some applications can be tough to package.  Sometimes they need a patch to
+work with the non-standard filesystem hierarchy enforced by the store.
+Sometimes the tests won't run properly.  (They can be skipped but this is not
+recommended.)  Other times the resulting package won't be reproducible.
+
+Should you be stuck, unable to figure out how to fix any sort of packaging
+issue, don't hesitate to ask the community for help.
+
+See the @uref{https://www.gnu.org/software/guix/contact/, Guix homepage} for information on the mailing lists, IRC, etc.
+
+@node Conclusion
+@subsection Conclusion
+
+This tutorial was a showcase of the sophisticated package management that Guix
+boasts.  At this point we have mostly restricted this introduction to the
+@code{gnu-build-system} which is a core abstraction layer on which more advanced
+abstractions are based.
+
+Where do we go from here?  Next we ought to dissect the innards of the build
+system by removing all abstractions, using the @code{trivial-build-system}: this
+should give us a thorough understanding of the process before investigating some
+more advanced packaging techniques and edge cases.
+
+Other features worth exploring are the interactive editing and debugging
+capabilities of Guix provided by the Guile REPL@.
+
+Those fancy features are completely optional and can wait; now is a good time
+to take a well-deserved break.  With what we've introduced here you should be
+well armed to package lots of programs.  You can get started right away and
+hopefully we will see your contributions soon!
+
+@node References
+@subsection References
+
+@itemize
+@item
+The @uref{https://www.gnu.org/software/guix/manual/en/html_node/Defining-Packages.html, package reference in the manual}
+
+@item
+@uref{https://gitlab.com/pjotrp/guix-notes/blob/master/HACKING.org, Pjotr’s hacking guide to GNU Guix}
+
+@item
+@uref{https://www.gnu.org/software/guix/guix-ghm-andreas-20130823.pdf, "GNU Guix: Package without a scheme!"}, by Andreas Enge
+@end itemize
 
 @c *********************************************************************
 @node System Configuration

From ed79636c8b2c1e59a4ba2c5c0f3b561fbe15b025 Mon Sep 17 00:00:00 2001
From: Pierre Neidhardt 
Date: Mon, 28 Oct 2019 11:07:27 +0100
Subject: [PATCH 0501/1112] doc: Link to SICP Info page in "A Scheme Crash
 Course".

* doc/guix-cookbook.texi (Scheme tutorials): Replace Emacs Info reader hint
  with more useful interactive link to SICP Info page.
---
 doc/guix-cookbook.texi | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/doc/guix-cookbook.texi b/doc/guix-cookbook.texi
index 04eb5498eca..4e60862d221 100644
--- a/doc/guix-cookbook.texi
+++ b/doc/guix-cookbook.texi
@@ -269,7 +269,7 @@ online}, together with
 @uref{https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-001-structure-and-interpretation-of-computer-programs-spring-2005/video-lectures/,
 videos of the lectures by the authors}.  The book is available in Texinfo
 format as the @code{sicp} Guix package.  Go ahead, run @code{guix install
-sicp} and start reading with @code{info sicp} (or with the Emacs Info reader).
+sicp} and start reading with @code{info sicp} (@pxref{,,, sicp, Structure and Interpretation of Computer Programs}).
 An @uref{https://sarabander.github.io/sicp/, unofficial ebook is also
 available}.
 

From 6bb93af8553c746e50934792f3969f2e72013a14 Mon Sep 17 00:00:00 2001
From: Tanguy Le Carrour 
Date: Sat, 26 Oct 2019 23:11:07 +0200
Subject: [PATCH 0502/1112] gnu: profanity: Add configure flags for better
 defaults.

* gnu/packages/messaging.scm (profanity)[arguments]<#configure-flags>:
Add --enable-omemo, --enable-notifications and --enable-icon,
[native-inputs]: add libnotify and libsignal-protocol-c.

Signed-off-by: Mathieu Othacehe 
---
 gnu/packages/messaging.scm | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index f890ad8dd5d..b56a3e92cb6 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -1627,6 +1627,11 @@ are both supported).")
                (base32
                 "0nxh81j8ky0fzv47pip1jb7rs5rrin3jx0f3h632bvpjiya45r1z"))))
     (build-system gnu-build-system)
+    (arguments
+     '(#:configure-flags
+       (list "--enable-omemo"
+             "--enable-icons"
+             "--enable-notifications")))
     (inputs
      `(("curl" ,curl)
        ("expat" ,expat)
@@ -1642,7 +1647,10 @@ are both supported).")
        ("autoconf-archive" ,autoconf-archive)
        ("automake" ,automake)
        ("cmocka" ,cmocka)
+       ("gtk+" ,gtk+-2)
+       ("libnotify" ,libnotify)
        ("libtool" ,libtool)
+       ("libsignal-protocol-c" ,libsignal-protocol-c)
        ("pkg-config" ,pkg-config)))
     (synopsis "Console-based XMPP client")
     (description "Profanity is a console based XMPP client written in C

From 3dfd73f0a2362beddd70e910745a1ab452a714b8 Mon Sep 17 00:00:00 2001
From: Tanguy Le Carrour 
Date: Sat, 26 Oct 2019 23:11:08 +0200
Subject: [PATCH 0503/1112] gnu: profanity: Update home-page URL.

* gnu/packages/messaging.scm (profanity)[home-page]: Update URL.

Signed-off-by: Mathieu Othacehe 
---
 gnu/packages/messaging.scm | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index b56a3e92cb6..63b14287ce8 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -1655,7 +1655,7 @@ are both supported).")
     (synopsis "Console-based XMPP client")
     (description "Profanity is a console based XMPP client written in C
 using ncurses and libmesode, inspired by Irssi.")
-    (home-page "http://www.profanity.im")
+    (home-page "https://profanity-im.github.io")
     (license license:gpl3+)))
 
 (define-public libircclient

From 7644b8b5a6fe1f0dfec9ca42c7611e90e7eb2173 Mon Sep 17 00:00:00 2001
From: Tanguy Le Carrour 
Date: Sat, 26 Oct 2019 23:11:09 +0200
Subject: [PATCH 0504/1112] gnu: profanity: Add configure flags so that build
 fails if libs are missing.

* gnu/packages/messaging.scm (profanity)[arguments]<#configure-flags>:
Add --enable-c-plugins and --enable-otr.

Signed-off-by: Mathieu Othacehe 
---
 gnu/packages/messaging.scm | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index 63b14287ce8..626aec4908f 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -1629,7 +1629,9 @@ are both supported).")
     (build-system gnu-build-system)
     (arguments
      '(#:configure-flags
-       (list "--enable-omemo"
+       (list "--enable-c-plugins"
+             "--enable-otr"
+             "--enable-omemo"
              "--enable-icons"
              "--enable-notifications")))
     (inputs

From a2c609953e4b7135c4e8880e174d11db7f9b03f0 Mon Sep 17 00:00:00 2001
From: Tanguy Le Carrour 
Date: Sat, 26 Oct 2019 23:11:10 +0200
Subject: [PATCH 0505/1112] gnu: profanity: Enable pgp support.

* gnu/packages/messaging.scm (profanity)[arguments]<#configure-flags>:
Add --enable-pgp.

Signed-off-by: Mathieu Othacehe 
---
 gnu/packages/messaging.scm | 1 +
 1 file changed, 1 insertion(+)

diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index 626aec4908f..a6e9dcbbb3d 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -1632,6 +1632,7 @@ are both supported).")
        (list "--enable-c-plugins"
              "--enable-otr"
              "--enable-omemo"
+             "--enable-pgp"
              "--enable-icons"
              "--enable-notifications")))
     (inputs

From e24e652239f3574d223f196f7d693d2784d628d1 Mon Sep 17 00:00:00 2001
From: Tanguy Le Carrour 
Date: Mon, 28 Oct 2019 11:16:13 +0100
Subject: [PATCH 0506/1112] gnu: evince: Update to 3.34.1.

* gnu/packages/gnome.scm (evince): Update to 3.34.1.
---
 gnu/packages/gnome.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 12993eadeff..bb842574b27 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -772,7 +772,7 @@ forgotten when the session ends.")
 (define-public evince
   (package
     (name "evince")
-    (version "3.30.2")
+    (version "3.34.1")
     (source (origin
              (method url-fetch)
              (uri (string-append "mirror://gnome/sources/" name "/"
@@ -780,7 +780,7 @@ forgotten when the session ends.")
                                  name "-" version ".tar.xz"))
              (sha256
               (base32
-               "0k7jln6dpg4bpv61niicjzkzyq6fhb3yfld7pc8ck71c8pmvsnx9"))))
+               "1pr6fvbaam1mzxjwyqd53hcxzdjzf73idn10j4j7n54nwg6hgr45"))))
     (build-system glib-or-gtk-build-system)
     (arguments
      `(#:configure-flags '("--disable-nautilus")

From e927823c06f86aee5eb15369ae063257c743bde2 Mon Sep 17 00:00:00 2001
From: Tanguy Le Carrour 
Date: Mon, 28 Oct 2019 11:20:00 +0100
Subject: [PATCH 0507/1112] gnu: dunst: Update to 1.4.1.

* gnu/packages/dunst.scm (dunst): Update to 1.4.1.
---
 gnu/packages/dunst.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/dunst.scm b/gnu/packages/dunst.scm
index 31b7f58758b..2621fc55ab1 100644
--- a/gnu/packages/dunst.scm
+++ b/gnu/packages/dunst.scm
@@ -33,7 +33,7 @@
 (define-public dunst
   (package
     (name "dunst")
-    (version "1.3.2")
+    (version "1.4.1")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -42,7 +42,7 @@
               (file-name (string-append name "-" version ".tar.gz"))
               (sha256
                (base32
-                "12nj8qw3y3nl8sm24wizy2a7k06v1p88bnz1xr9l39h527xyidma"))))
+                "1zmx30qp2s9ca4q70j9ny4aq97pp442j9vfvsyihfcxgks6gwqqm"))))
     (build-system gnu-build-system)
     (arguments
      '(#:tests? #f                      ; no check target

From 601171a9bc7ca6e4acb932895a07c0ca9aedfdac Mon Sep 17 00:00:00 2001
From: Efraim Flashner 
Date: Mon, 28 Oct 2019 09:41:15 +0200
Subject: [PATCH 0508/1112] gnu: xorriso: Update to 1.5.2.

* gnu/packages/cdrom.scm (xorriso): Update to 1.5.2.
[source]: Remove patches.
* gnu/packages/patches/xorriso-no-partition-table-in-inner-efi.patch,
* gnu/packages/patches/xorriso-no-mbr-in-inner-efi.patch: Remove files.
* gnu/local.mk (dist_patch_DATA): Remove them.
---
 gnu/local.mk                                  |   4 +-
 gnu/packages/cdrom.scm                        |   9 +-
 .../patches/xorriso-no-mbr-in-inner-efi.patch |  47 --------
 ...riso-no-partition-table-in-inner-efi.patch | 107 ------------------
 4 files changed, 4 insertions(+), 163 deletions(-)
 delete mode 100644 gnu/packages/patches/xorriso-no-mbr-in-inner-efi.patch
 delete mode 100644 gnu/packages/patches/xorriso-no-partition-table-in-inner-efi.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index ad5464cb86d..5b81791542a 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1445,9 +1445,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/xfce4-panel-plugins.patch		\
   %D%/packages/patches/xfce4-settings-defaults.patch		\
   %D%/packages/patches/xinetd-fix-fd-leak.patch			\
-  %D%/packages/patches/xinetd-CVE-2013-4342.patch		\
-  %D%/packages/patches/xorriso-no-partition-table-in-inner-efi.patch \
-  %D%/packages/patches/xorriso-no-mbr-in-inner-efi.patch
+  %D%/packages/patches/xinetd-CVE-2013-4342.patch
 
 MISC_DISTRO_FILES =				\
   %D%/packages/ld-wrapper.in
diff --git a/gnu/packages/cdrom.scm b/gnu/packages/cdrom.scm
index ef4ce022e44..59f32deb78b 100644
--- a/gnu/packages/cdrom.scm
+++ b/gnu/packages/cdrom.scm
@@ -3,7 +3,7 @@
 ;;; Copyright © 2013, 2014 Andreas Enge 
 ;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer 
 ;;; Copyright © 2015 Paul van der Walt 
-;;; Copyright © 2015, 2016, 2017, 2018 Efraim Flashner 
+;;; Copyright © 2015, 2016, 2017, 2018, 2019 Efraim Flashner 
 ;;; Copyright © 2016 Alex Kost 
 ;;; Copyright © 2016 Marius Bakke 
 ;;; Copyright © 2017 John Darrington 
@@ -155,17 +155,14 @@ libcdio.")
 (define-public xorriso
   (package
     (name "xorriso")
-    (version "1.5.0")
+    (version "1.5.2")
     (source (origin
              (method url-fetch)
              (uri (string-append "mirror://gnu/xorriso/xorriso-"
                                  version ".tar.gz"))
              (sha256
               (base32
-               "0aq6lvlwlkxz56l5sbvgycr6j5c82ch2bv6zrnc2345ibfpafgx9"))
-             (patches
-              (search-patches "xorriso-no-partition-table-in-inner-efi.patch"
-                              "xorriso-no-mbr-in-inner-efi.patch"))))
+               "1rqpzj95f70jfwpn4lamasfgqpizjsipz12aprdhri777b4zas9v"))))
     (build-system gnu-build-system)
     (arguments
      `(#:phases
diff --git a/gnu/packages/patches/xorriso-no-mbr-in-inner-efi.patch b/gnu/packages/patches/xorriso-no-mbr-in-inner-efi.patch
deleted file mode 100644
index a43889d2c65..00000000000
--- a/gnu/packages/patches/xorriso-no-mbr-in-inner-efi.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-https://dev.lovelyhq.com/libburnia/libisoburn/commit/1eb51f44dadb8b6c5f87533ca357186cdc1ac625
-diff --git a/frontend/grub-mkrescue-sed.sh b/frontend/grub-mkrescue-sed.sh
-index b3948c99..dcd9d696 100755
---- a/frontend/grub-mkrescue-sed.sh
-+++ b/frontend/grub-mkrescue-sed.sh
-@@ -120,6 +120,7 @@ fi
- # "yes" overwrites the MBR partition table area in the EFI boot image by zeros.
- # Some EFI implementations get stuck when seeing in the EFI partition a
- # partition table entry which begins at LBA 0.
-+# "extra" not only zeros the partition table but also the MBR signature.
- efi_zero_inner_pt=no
- if test -n "$MKRESCUE_SED_IN_EFI_NO_PT"
- then
-@@ -192,24 +193,31 @@ then
-   find "$dir"
- fi
- 
--if test "$efi_zero_inner_pt" = yes
-+if test "$efi_zero_inner_pt" = yes -o "$efi_zero_inner_pt" = extra
- then
-   did_dd=0
-   if test -e "$dir"/efi.img
-   then
-+    # Look for 0x55 0xAA in bytes 510 and 511
-     magic=$(dd bs=1 skip=510 count=2 if="$dir"/efi.img 2>/dev/null | \
-             od -c | head -1 | awk '{print $2 " " $3}')
-     if test "$magic" = "U 252"
-     then
-+      echo "Performing actions for MKRESCUE_SED_IN_EFI_NO_PT=$efi_zero_inner_pt" >&2
-       dd if=/dev/zero bs=1 seek=446 count=64 conv=notrunc of="$dir"/efi.img
-       did_dd=1
-+      if test "$efi_zero_inner_pt" = extra
-+      then
-+        dd if=/dev/zero bs=1 seek=510 count=2 conv=notrunc of="$dir"/efi.img
-+      fi
-+      echo >&2
-     fi
-   fi
-   if test "$did_dd" = 0
-   then
-     echo >&2
-     echo "$0 : NOTE : No EFI image found or no MBR signature in it." >&2
--    echo "$0 : NOTE : Will not obey MKRESCUE_SED_IN_EFI_NO_PT=yes" >&2
-+    echo "$0 : NOTE : Will not obey MKRESCUE_SED_IN_EFI_NO_PT=$efi_zero_inner_pt" >&2
-     echo >&2
-   fi
- fi
diff --git a/gnu/packages/patches/xorriso-no-partition-table-in-inner-efi.patch b/gnu/packages/patches/xorriso-no-partition-table-in-inner-efi.patch
deleted file mode 100644
index a719ca1f896..00000000000
--- a/gnu/packages/patches/xorriso-no-partition-table-in-inner-efi.patch
+++ /dev/null
@@ -1,107 +0,0 @@
-https://dev.lovelyhq.com/libburnia/libisoburn/commit/3a2a3ba737a06162c22ace0ae09d33ba97aa2673
-diff --git a/frontend/grub-mkrescue-sed.sh b/frontend/grub-mkrescue-sed.sh
-index d772ff22..b3948c99 100755
---- a/frontend/grub-mkrescue-sed.sh
-+++ b/frontend/grub-mkrescue-sed.sh
-@@ -1,6 +1,6 @@
- #!/bin/sh
- 
--# Copyright (C) 2015 - 2016
-+# Copyright (C) 2015 - 2019
- # Thomas Schmitt , libburnia-project.org
- # Provided under BSD license: Use, modify, and distribute as you like.
- 
-@@ -117,6 +117,15 @@ fi
- #  command line.)
- # Each argument must be a single word. No whitespace. No quotation marks.
- 
-+# "yes" overwrites the MBR partition table area in the EFI boot image by zeros.
-+# Some EFI implementations get stuck when seeing in the EFI partition a
-+# partition table entry which begins at LBA 0.
-+efi_zero_inner_pt=no
-+if test -n "$MKRESCUE_SED_IN_EFI_NO_PT"
-+then
-+  efi_zero_inner_pt="$MKRESCUE_SED_IN_EFI_NO_PT"
-+fi
-+
- 
- #
- #                               Do the work 
-@@ -183,12 +192,48 @@ then
-   find "$dir"
- fi
- 
-+if test "$efi_zero_inner_pt" = yes
-+then
-+  did_dd=0
-+  if test -e "$dir"/efi.img
-+  then
-+    magic=$(dd bs=1 skip=510 count=2 if="$dir"/efi.img 2>/dev/null | \
-+            od -c | head -1 | awk '{print $2 " " $3}')
-+    if test "$magic" = "U 252"
-+    then
-+      dd if=/dev/zero bs=1 seek=446 count=64 conv=notrunc of="$dir"/efi.img
-+      did_dd=1
-+    fi
-+  fi
-+  if test "$did_dd" = 0
-+  then
-+    echo >&2
-+    echo "$0 : NOTE : No EFI image found or no MBR signature in it." >&2
-+    echo "$0 : NOTE : Will not obey MKRESCUE_SED_IN_EFI_NO_PT=yes" >&2
-+    echo >&2
-+  fi
-+fi
-+
- efi_tmp_name=
-+if test x"$mode" = xmjg \
-+     -o x"$mode" = xmbr_only \
-+     -o x"$mode" = xgpt_appended \
-+     -o x"$mode" = xmbr_hfs
-+then
-+  # Move EFI partition image file out of the "$dir" tree, i.e. out of the ISO
-+  efi_tmp_name=grub-mkrescue-sed-efi-img.$$
-+  if test -e "$dir"/efi.img
-+  then
-+    mv "$dir"/efi.img /tmp/$efi_tmp_name
-+  elif test -e /tmp/$efi_tmp_name
-+  then
-+    rm /tmp/$efi_tmp_name
-+  fi
-+fi
-+
- if test x"$mode" = xmjg
- then
-   # Exchange arguments for the experimental GRUB2 mjg layout
--  efi_tmp_name=grub-mkrescue-sed-efi-img.$$
--  mv "$dir"/efi.img /tmp/$efi_tmp_name
-   x=$(echo " $*" | sed \
-     -e "s/-efi-boot-part --efi-boot-image/-no-pad -append_partition $partno 0xef \/tmp\/$efi_tmp_name/" \
-     -e "s/--efi-boot efi\.img/-eltorito-alt-boot -e --interval:appended_partition_${partno}:all:: -no-emul-boot -isohybrid-gpt-basdat/" \
-@@ -207,8 +252,6 @@ then
- elif test x"$mode" = xmbr_only
- then
-   # Exchange arguments for no-HFS MBR-only layout
--  efi_tmp_name=grub-mkrescue-sed-efi-img.$$
--  mv "$dir"/efi.img /tmp/$efi_tmp_name
-   x=$(echo " $*" | sed \
-     -e "s/-efi-boot-part --efi-boot-image/$iso_mbr_part_type -no-pad -append_partition 2 0xef \/tmp\/$efi_tmp_name/" \
-     -e "s/--efi-boot efi\.img/-eltorito-alt-boot -e --interval:appended_partition_2:all:: -no-emul-boot/" \
-@@ -228,8 +271,6 @@ then
- elif test x"$mode" = xmbr_hfs
- then
-   # Exchange arguments for MBR and HFS+ layout
--  efi_tmp_name=grub-mkrescue-sed-efi-img.$$
--  mv "$dir"/efi.img /tmp/$efi_tmp_name
-   x=$(echo " $*" | sed \
-     -e "s/-efi-boot-part --efi-boot-image/$iso_mbr_part_type -no-pad -append_partition 2 0xef \/tmp\/$efi_tmp_name/" \
-     -e "s/--efi-boot efi\.img/-eltorito-alt-boot -e --interval:appended_partition_2:all:: -no-emul-boot/" \
-@@ -247,8 +288,6 @@ then
- elif test x"$mode" = xgpt_appended
- then
-   # Exchange arguments for no-HFS MBR-only layout
--  efi_tmp_name=grub-mkrescue-sed-efi-img.$$
--  mv "$dir"/efi.img /tmp/$efi_tmp_name
-   x=$(echo " $*" | sed \
-     -e "s/-efi-boot-part --efi-boot-image/-no-pad -append_partition 2 0xef \/tmp\/$efi_tmp_name -appended_part_as_gpt -partition_offset 16/" \
-     -e "s/--efi-boot efi\.img/-eltorito-alt-boot -e --interval:appended_partition_2:all:: -no-emul-boot/" \

From 8c8d60752e1ad73d5bd87d8497b357f8a8a389ab Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= 
Date: Mon, 28 Oct 2019 15:54:47 +0100
Subject: [PATCH 0509/1112] derivation: Remove memoization invalidation for
 'derivation->bytevector'.

This is a followup to d727a9343d861cf775645df8be5bfefd43d6c6f0, which
broke 'hydra-jobs' from (gnu ci).

* guix/derivations.scm (invalidate-derivation-caches!): Remove call to
'invalidate-memoization!' for 'derivation->bytevector'.
---
 guix/derivations.scm | 1 -
 1 file changed, 1 deletion(-)

diff --git a/guix/derivations.scm b/guix/derivations.scm
index 706c6504694..bde937044a2 100644
--- a/guix/derivations.scm
+++ b/guix/derivations.scm
@@ -919,7 +919,6 @@ derivation.  It is kept as-is, uninterpreted, in the derivation."
 long-running processes that know what they're doing.  Use with care!"
   ;; Typically this is meant to be used by Cuirass and Hydra, which can clear
   ;; caches when they start evaluating packages for another architecture.
-  (invalidate-memoization! derivation->bytevector)
   (invalidate-memoization! derivation-base16-hash)
 
   ;; FIXME: Comment out to work around .

From 8ca565ec1a0f0c3a5b7acf9d323e345e40be1473 Mon Sep 17 00:00:00 2001
From: Tobias Geerinckx-Rice 
Date: Mon, 28 Oct 2019 12:49:49 +0100
Subject: [PATCH 0510/1112] gnu: x265: Update to 3.2.

* gnu/packages/video.scm (x265): Update to 3.2.
---
 gnu/packages/video.scm | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index cef2d50a89d..97af4b84f79 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -508,7 +508,7 @@ H.264 (MPEG-4 AVC) video streams.")
 (define-public x265
   (package
     (name "x265")
-    (version "3.1.2")
+    (version "3.2")
     (outputs '("out" "static"))
     (source
       (origin
@@ -518,8 +518,7 @@ H.264 (MPEG-4 AVC) video streams.")
                    (string-append "https://download.videolan.org/videolan/x265/"
                                   "x265_" version ".tar.gz")))
         (sha256
-         (base32
-          "1ajr59gjj47gnczfb2qhmzclj746pdiq9a1d81b0mq22k8f5yy3g"))
+         (base32 "0fqkhfhr22gzavxn60cpnj3agwdf5afivszxf3haj5k1sny7jk9n"))
         (patches (search-patches "x265-arm-flags.patch"))
         (modules '((guix build utils)))
         (snippet '(begin

From 57705f47497b97a0ed42362148f4a523ae5fc8ce Mon Sep 17 00:00:00 2001
From: Jesse Gibbons 
Date: Wed, 9 Oct 2019 22:29:16 -0600
Subject: [PATCH 0511/1112] gnu: add filters.

* gnu/packages/toys.scm (filters): New variable.

Signed-off-by: Tobias Geerinckx-Rice .
---
 gnu/packages/toys.scm | 92 +++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 92 insertions(+)

diff --git a/gnu/packages/toys.scm b/gnu/packages/toys.scm
index 87706d22771..8c1a03b5d25 100644
--- a/gnu/packages/toys.scm
+++ b/gnu/packages/toys.scm
@@ -1,5 +1,6 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice 
+;;; Copyright © 2019 Jesse Gibbons 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -17,7 +18,10 @@
 ;;; along with GNU Guix.  If not, see .
 
 (define-module (gnu packages toys)
+  #:use-module (gnu packages bison)
+  #:use-module (gnu packages flex)
   #:use-module (gnu packages ncurses)
+  #:use-module (gnu packages perl)
   #:use-module (guix build-system gnu)
   #:use-module (guix git-download)
   #:use-module ((guix licenses) #:prefix license:)
@@ -64,3 +68,91 @@ on the text terminal.  It serves no useful purpose but to discourage mistakenly
 typing @command{sl} instead of @command{ls}.")
     (license (license:non-copyleft "file://LICENSE"
                                    "See LICENSE in the distribution."))))
+
+(define-public filters
+  (let ((version "2.55")
+        (commit "c5c291916b52ed9e6418448a8eee30475fb9adcf"))
+    (package
+      (name "filters")
+      (version "2.55")
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://git.joeyh.name/filters")
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32 "1gaigpda1w9wxfh8an3sam1hpacc1bhxl696w4yj0vzhc6izqvxs"))
+         (modules '((guix build utils)))
+         (snippet '(begin
+                     ;; kenny is under nonfree Artistic License (Perl) 1.0.
+                     (delete-file "kenny")
+                     (substitute* "Makefile"
+                       (("kenny")
+                        ""))))))
+      (build-system gnu-build-system)
+      (arguments
+       `(#:make-flags
+         (list "CC=gcc" (string-append "DESTDIR=" %output))
+         #:phases
+         (modify-phases %standard-phases
+           (delete 'configure)
+           (add-after 'unpack 'fix-install-directories
+             (lambda _
+               (substitute* "Makefile"
+                 (("/usr/games")
+                  "/bin/")
+                 (("/usr/share/")
+                  "/share/"))
+               #t)))
+         #:tests? #f))                  ; no test suite
+      (native-inputs
+       `(("bison" ,bison)
+         ("flex" ,flex)))
+      (inputs
+       `(("perl" ,perl)))
+      (home-page "https://joeyh.name/code/filters/")
+      (synopsis "Various amusing text filters")
+      (description
+       "The filters collection harks back to the late 1980s, when various text
+filters were written to munge written language in amusing ways.  The earliest
+and best known were legends such as the Swedish Chef filter and B1FF.
+
+This package contains the following filter commands:
+@enumerate
+@item b1ff: a satire of a stereotypical Usenet newbie
+@item censor: comply with the @acronym{CDA, Communications Decency Act}
+@item chef: convert English to Mock Swedish
+@item cockney: Cockney English
+@item elee: k3wl hacker slang
+@item fanboy: a stereotypical fan (supports custom fandoms)
+@item fudd: Elmer Fudd
+@item jethro: hillbilly text filter
+@item jibberish: a random selection of these filters
+@item jive: Jive English
+@item ken: turn English into Cockney
+@item kraut: a bad German accent
+@item ky00te: a very cute accent
+@item LOLCAT: as seen in Internet GIFs everywhere
+@item nethackify: wiped-out text as found in nethack
+@item newspeak: à la 1984
+@item nyc: Brooklyn English
+@item pirate: talk like a pirate
+@item rasterman: straight from the keyboard of Carsten Haitzler
+@item scottish: fake Scottish (Dwarven) accent
+@item scramble: scramble the \"inner\" letters of each word
+@item spammer: turn honest text into something liable to be flagged as spam
+@item studly: studly caps.
+@item uniencode: use glorious Unicode to the fullest possible extent
+@item upside-down: flip the text upside down
+@end enumerate
+
+The GNU project hosts a similar collection of filters, the GNU talkfilters.")
+      (license                    ; see debian/copyright
+       (list license:gpl2+        ; most of the filters
+             license:gpl2         ; rasterman, ky00te.dir/* nethackify, pirate
+             license:gpl3+        ; scramble, scottish
+             license:public-domain      ; jethro, kraut, ken, studly
+             license:gpl1+         ; cockney, jive, nyc only say "gpl"
+             license:expat)))))    ; newspeak

From 42521ab225e031517790dc738ee7a5d8fc846f72 Mon Sep 17 00:00:00 2001
From: Tobias Geerinckx-Rice 
Date: Mon, 28 Oct 2019 21:10:37 +0100
Subject: [PATCH 0512/1112] gnu: vim-syntastic: Update to 3.10.0.

* gnu/packages/vim.scm (vim-syntastic): Update to 3.10.0.
---
 gnu/packages/vim.scm | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/gnu/packages/vim.scm b/gnu/packages/vim.scm
index 63bd50390c9..fbc0b488980 100644
--- a/gnu/packages/vim.scm
+++ b/gnu/packages/vim.scm
@@ -4,7 +4,7 @@
 ;;; Copyright © 2016, 2017 ng0 
 ;;; Copyright © 2017 Ricardo Wurmus 
 ;;; Copyright © 2017 Marius Bakke 
-;;; Copyright © 2018 Tobias Geerinckx-Rice 
+;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice 
 ;;; Copyright © 2019 HiPhish 
 ;;; Copyright © 2019 Julien Lepiller 
 ;;;
@@ -609,7 +609,7 @@ and powerline symbols, etc.")
 (define-public vim-syntastic
   (package
     (name "vim-syntastic")
-    (version "3.9.0")
+    (version "3.10.0")
     (source
      (origin
        (method git-fetch)
@@ -618,8 +618,7 @@ and powerline symbols, etc.")
              (commit version)))
        (file-name (git-file-name name version))
        (sha256
-        (base32
-         "121a1mxgfng2y5zmivyyk02mca8pyw72crivf4f1q9nhn0barf57"))))
+        (base32 "0j91f72jaz1s6aw1hpjiz30vk2ds2aqd9gisk91grsldy6nz6hhz"))))
     (build-system gnu-build-system)
     (arguments
      `(#:tests? #f

From aa243f9d4830cdaffd554be87d817f35a9ec6f9d Mon Sep 17 00:00:00 2001
From: Tobias Geerinckx-Rice 
Date: Mon, 28 Oct 2019 21:22:16 +0100
Subject: [PATCH 0513/1112] gnu: ndctl: Update to 67.

* gnu/packages/disk.scm (ndctl): Update to 67.
---
 gnu/packages/disk.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/disk.scm b/gnu/packages/disk.scm
index 08ce9eb2d7a..88a917dda7d 100644
--- a/gnu/packages/disk.scm
+++ b/gnu/packages/disk.scm
@@ -612,7 +612,7 @@ passphrases.")
 (define-public ndctl
   (package
     (name "ndctl")
-    (version "65")
+    (version "67")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -621,7 +621,7 @@ passphrases.")
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "0d8hzfvyxs2q8kgkwgdizlml41kin4mhx3vpdsjk34pfi7mqy69y"))))
+                "076jgw1g2aafqgnq705in0wnabysqk46dq5yxdv1qzgjmyhka39n"))))
     (build-system gnu-build-system)
     (native-inputs
      `(("asciidoc" ,asciidoc)

From 6b00a5f4a79819db08cb4d8e9f24a01445b7962b Mon Sep 17 00:00:00 2001
From: Tobias Geerinckx-Rice 
Date: Mon, 28 Oct 2019 22:12:37 +0100
Subject: [PATCH 0514/1112] news: Fix typo.

Reported by Eric Bavier .

* etc/news.scm: Fix typo in English title of latest news item.
---
 etc/news.scm | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/etc/news.scm b/etc/news.scm
index 8f79848b7fe..5bcd075057c 100644
--- a/etc/news.scm
+++ b/etc/news.scm
@@ -11,7 +11,7 @@
 
  (entry (commit "49af34cfac89d384c46269bfd9388b2c73b1220a")
         (title (en "@command{guix pull} now honors
-@file{/etc/guix/channels.scm")
+@file{/etc/guix/channels.scm}")
                (fr "@command{guix pull} lit maintenant
 @file{/etc/guix/channels.scm}"))
         (body

From d332fd860f89ed426a2b05eaa8f7a76ff6aab58f Mon Sep 17 00:00:00 2001
From: Vagrant Cascadian 
Date: Mon, 28 Oct 2019 13:33:43 -0700
Subject: [PATCH 0515/1112] gnu: diffoscope: Update to 129.

* gnu/packages/diffoscope (diffoscope): Update to 129.
---
 gnu/packages/diffoscope.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/diffoscope.scm b/gnu/packages/diffoscope.scm
index 23acf0aeb83..47dd36b9194 100644
--- a/gnu/packages/diffoscope.scm
+++ b/gnu/packages/diffoscope.scm
@@ -67,7 +67,7 @@
   #:use-module (ice-9 match))
 
 (define-public diffoscope
-  (let ((version "126"))
+  (let ((version "129"))
     (package
       (name "diffoscope")
       (version version)
@@ -79,7 +79,7 @@
                 (file-name (git-file-name name version))
                 (sha256
                  (base32
-                  "0lmn2116g5l05nns8qd2kwsnnd144zrqhs53fsr88inzf0mkqwhj"))))
+                  "1r8hq93gga9n4jv4fyf1divc9cwvvjadkzl47lazzrfy3nn1qjwr"))))
       (build-system python-build-system)
       (arguments
        `(#:phases (modify-phases %standard-phases

From 2a74f9284e7a798c26938d8475522c8312c33dea Mon Sep 17 00:00:00 2001
From: Giacomo Leidi 
Date: Mon, 28 Oct 2019 21:54:16 +0100
Subject: [PATCH 0516/1112] gnu: python-lxml: Update to 4.4.1.

* gnu/packages/python-xyz.scm (python-lxml): Update to 4.4.1.

Signed-off-by: Marius Bakke 
---
 gnu/packages/python-xyz.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 476ac2f5882..3a3c573c6f9 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -5963,14 +5963,14 @@ the GObject Introspection bindings to libnotify for non-GTK applications.")
 (define-public python-lxml
   (package
     (name "python-lxml")
-    (version "4.2.5")
+    (version "4.4.1")
     (source
       (origin
         (method url-fetch)
         (uri (pypi-uri "lxml" version))
         (sha256
          (base32
-          "0zw0y9hs0nflxhl9cs6ipwwh53szi3w2x06wl0k9cylyqac0cwin"))))
+          "14jnpfcpgqr9sx8ppd286jzcbk0b36hbqsvd8jkvffipzw5v8768"))))
     (build-system python-build-system)
     (inputs
       `(("libxml2" ,libxml2)

From 2f3c2dafefa08244e0d5834f06416d8dd5a102e4 Mon Sep 17 00:00:00 2001
From: Marius Bakke 
Date: Mon, 28 Oct 2019 22:33:09 +0100
Subject: [PATCH 0517/1112] gnu: python-lxml: Run the test suite.

* gnu/packages/python-xyz.scm (python-lxml)[arguments]: New field.
---
 gnu/packages/python-xyz.scm | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 3a3c573c6f9..e11a3ea42bb 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -5972,6 +5972,11 @@ the GObject Introspection bindings to libnotify for non-GTK applications.")
          (base32
           "14jnpfcpgqr9sx8ppd286jzcbk0b36hbqsvd8jkvffipzw5v8768"))))
     (build-system python-build-system)
+    (arguments
+     `(#:phases (modify-phases %standard-phases
+                  (replace 'check
+                    (lambda _
+                      (invoke "make" "test"))))))
     (inputs
       `(("libxml2" ,libxml2)
         ("libxslt" ,libxslt)))

From 3ce91d44290cee4e10d4436d3fcfba4141b67fcb Mon Sep 17 00:00:00 2001
From: Giacomo Leidi 
Date: Mon, 28 Oct 2019 18:44:14 +0100
Subject: [PATCH 0518/1112] gnu: python-pyro4: Update to 4.77.

* gnu/packages/python-xyz.scm (python-pyro4): Update to 4.77.

Signed-off-by: Marius Bakke 
---
 gnu/packages/python-xyz.scm | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index e11a3ea42bb..bf5371c07aa 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -14329,14 +14329,20 @@ such as figshare or Zenodo.")
 (define-public python-pyro4
   (package
     (name "python-pyro4")
-    (version "4.75")
+    (version "4.77")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri "Pyro4" version))
        (sha256
-        (base32 "1dfpp36imddx19yv0kd28gk1l71ckhpqy6jd590wpm2680jw15rq"))))
+        (base32 "0gsjg869y4gpy265s1gj1f2qy6jn5iz8r2bwwnq78r1r5yi15zib"))))
     (build-system python-build-system)
+    (arguments
+     '(#:tests? #f)) ;FIXME: Some tests require network access.
+    (native-inputs
+     `(("python-cloudpickle" ,python-cloudpickle)
+       ("python-dill" ,python-dill)
+       ("python-msgpack" ,python-msgpack)))
     (propagated-inputs
      `(("python-serpent" ,python-serpent)))
     (home-page "https://pyro4.readthedocs.io")

From b2b8a39c4130b6a7bb1c9a96078cd14f0f086860 Mon Sep 17 00:00:00 2001
From: Giacomo Leidi 
Date: Mon, 28 Oct 2019 18:23:58 +0100
Subject: [PATCH 0519/1112] gnu: python-coloredlogs: Update to 10.0.

* gnu/packages/python-xyz.scm (python-coloredlogs): Update to 10.0.

Signed-off-by: Marius Bakke 
---
 gnu/packages/python-xyz.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index bf5371c07aa..04d72e285b9 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -933,14 +933,14 @@ add the log levels NOTICE, SPAM, SUCCESS and VERBOSE.")
 (define-public python-coloredlogs
   (package
     (name "python-coloredlogs")
-    (version "7.3")
+    (version "10.0")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri "coloredlogs" version))
        (sha256
         (base32
-         "1blcann6dyg5dhps9pg12rn0q0rjrlajpmmil0gy0j4cbvnl2il9"))))
+         "0dkw6xp0r1dwgz4s2f58npx5nxfq51wf4l6qkm5ib27slgfs4sdq"))))
     (build-system python-build-system)
     (arguments
      `(;Tests require some updated modules

From 84836379cd63f427dedda619d97aee0b352b86cd Mon Sep 17 00:00:00 2001
From: Brendan Tildesley 
Date: Tue, 29 Oct 2019 00:46:33 +0900
Subject: [PATCH 0520/1112] gnu: scdoc: Set PREFIX instead of patching
 Makefile.

* gnu/packages/man.scm (scdoc)[arguments]: Set PREFIX instead of patching
Makefile with output path.

Signed-off-by: Marius Bakke 
---
 gnu/packages/man.scm | 10 +++-------
 1 file changed, 3 insertions(+), 7 deletions(-)

diff --git a/gnu/packages/man.scm b/gnu/packages/man.scm
index 86efe64e523..e7e14c54ae2 100644
--- a/gnu/packages/man.scm
+++ b/gnu/packages/man.scm
@@ -251,15 +251,11 @@ automatically.")
        "00zc3rzj97gscby31djlqyczvqpyhrl66i44czwzmmn7rc5j03m1"))))
    (build-system gnu-build-system)
    (arguments
-    `(#:make-flags '("CC=gcc")
+    `(#:make-flags
+      (list "CC=gcc" (string-append "PREFIX=" (assoc-ref %outputs "out")))
       #:phases
       (modify-phases %standard-phases
-        (delete 'configure)
-        (add-before 'install 'hardcode-paths
-          (lambda* (#:key outputs #:allow-other-keys)
-            (substitute* "Makefile"
-                         (("/usr/local") (assoc-ref outputs "out")))
-            #t)))))
+        (delete 'configure))))
    (home-page "https://git.sr.ht/~sircmpwn/scdoc")
    (synopsis "Simple man page generator")
    (description "scdoc is a simple man page generator written for POSIX systems

From e27a9c18974aae4b628c6ae400ddfdf06d1679e0 Mon Sep 17 00:00:00 2001
From: Tobias Geerinckx-Rice 
Date: Mon, 28 Oct 2019 22:38:21 +0100
Subject: [PATCH 0521/1112] gnu: emacs-csv-mode: Update to 1.10.

* gnu/packages/emacs-xyz.scm (emacs-csv-mode): Update to 1.10.
---
 gnu/packages/emacs-xyz.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 688206452e6..0ce8739a77f 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -10823,14 +10823,14 @@ let users kill or mark things easily.")
 (define-public emacs-csv-mode
   (package
     (name "emacs-csv-mode")
-    (version "1.9")
+    (version "1.10")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "https://elpa.gnu.org/packages/csv-mode-"
                            version ".el"))
        (sha256
-        (base32 "0sdnyi9in904k49yy5imapypnmk75lv14k9c1yyjhjpalvvh6br1"))))
+        (base32 "0q7j2cmj7vs6hz8cnf7j7lmlcjmig3jn2p6az345z96agl8a5xsq"))))
     (build-system emacs-build-system)
     (home-page "https://elpa.gnu.org/packages/csv-mode.html")
     (synopsis "Major mode for editing comma/char separated values")

From b3cbae383679a7c294c81df11917c1c80cb25abe Mon Sep 17 00:00:00 2001
From: Tobias Geerinckx-Rice 
Date: Mon, 28 Oct 2019 23:06:18 +0100
Subject: [PATCH 0522/1112] gnu: gtkmm: Update to 3.24.2.

* gnu/packages/gtk.scm (gtkmm): Update to 3.24.2.
---
 gnu/packages/gtk.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 74f61967f64..b0dd0c6cc67 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -1093,7 +1093,7 @@ toolkit.")
 (define-public gtkmm
   (package
     (name "gtkmm")
-    (version "3.24.1")
+    (version "3.24.2")
     (source (origin
              (method url-fetch)
              (uri (string-append "mirror://gnome/sources/" name "/"
@@ -1101,7 +1101,7 @@ toolkit.")
                                  name "-" version ".tar.xz"))
              (sha256
               (base32
-               "1zfj89spr8ianib5y10wcw63ybdmyjy58a15vqs0m8jq4knl5znx"))))
+               "1hxdnhavjyvbcpxhd5z17l9fj4182028s66lc0s16qqqrldhjwbd"))))
     (build-system gnu-build-system)
     (native-inputs `(("pkg-config" ,pkg-config)
                      ("glib" ,glib "bin")        ;for 'glib-compile-resources'

From 3b97a00d82a203427be96b3592b08b064e869131 Mon Sep 17 00:00:00 2001
From: Tobias Geerinckx-Rice 
Date: Mon, 28 Oct 2019 23:07:06 +0100
Subject: [PATCH 0523/1112] gnu: perl-scalar-list-utils: Update to 1.53.

* gnu/packages/perl.scm (perl-scalar-list-utils): Update to 1.53.
---
 gnu/packages/perl.scm | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm
index d9adf7fe420..35722f992e6 100644
--- a/gnu/packages/perl.scm
+++ b/gnu/packages/perl.scm
@@ -9631,15 +9631,14 @@ files, using JSON::PP and/or CPAN::Meta::YAML.")
 (define-public perl-scalar-list-utils
   (package
     (name "perl-scalar-list-utils")
-    (version "1.50")
+    (version "1.53")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "mirror://cpan/authors/id/P/PE/PEVANS/"
                            "Scalar-List-Utils-" version ".tar.gz"))
        (sha256
-        (base32
-         "0x9n0617gjjcqa4nk5biiwkxdi90xpdfg6z07gjr009qjg3bkah6"))))
+        (base32 "16dfpnrcf5846j998rdd6gra16m9030rnz9fpsh1hfzvcsq8ch5x"))))
     (build-system perl-build-system)
     (home-page "https://metacpan.org/release/Scalar-List-Utils")
     (synopsis "Common Scalar and List utility subroutines")

From 5c4772d7be030cec97df8e6545465cbcc033f5ac Mon Sep 17 00:00:00 2001
From: Tobias Geerinckx-Rice 
Date: Mon, 28 Oct 2019 23:10:08 +0100
Subject: [PATCH 0524/1112] gnu: fluidsynth: Update to 2.0.8.

* gnu/packages/audio.scm (fluidsynth): Update to 2.0.8.
---
 gnu/packages/audio.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index 110903e2fe6..88b5696a9ba 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -1107,7 +1107,7 @@ follower.")
 (define-public fluidsynth
   (package
     (name "fluidsynth")
-    (version "2.0.7")
+    (version "2.0.8")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -1116,7 +1116,7 @@ follower.")
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "1h1dj3wmjwzny2hgr41k3p67w4kxvzn365kkqwyfd6yk0v3rahic"))))
+                "1s32c0jxjica2agy0mp36vgvpgj2vl5i5zvacd6igmbam0x4gs7c"))))
     (build-system cmake-build-system)
     (arguments
      '(#:tests? #f                      ; no check target

From ec84186fe4c4d88c2fef37c6044d49baca6a8149 Mon Sep 17 00:00:00 2001
From: Tobias Geerinckx-Rice 
Date: Mon, 28 Oct 2019 23:31:48 +0100
Subject: [PATCH 0525/1112] gnu: libisofs: Update to 1.5.2.

* gnu/packages/cdrom.scm (libisofs): Update to 1.5.2.
---
 gnu/packages/cdrom.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/cdrom.scm b/gnu/packages/cdrom.scm
index 59f32deb78b..9c2b11c0475 100644
--- a/gnu/packages/cdrom.scm
+++ b/gnu/packages/cdrom.scm
@@ -812,14 +812,14 @@ DVD-RW, DVD-R, DVD-R/DL, BD-R, and BD-RE.")
 (define-public libisofs
   (package
     (name "libisofs")
-    (version "1.5.0")
+    (version "1.5.2")
     (source (origin
              (method url-fetch)
              (uri (string-append "http://files.libburnia-project.org/releases/"
                                  "libisofs-" version ".tar.gz"))
              (sha256
               (base32
-               "001l3akf3wb6msl9man776w560iqyvsbwwzs7d7y7msx13irspys"))))
+               "002mcyqwg625a8hqvsrmgm26mhhfwj0j7rahfhsqirmk02b16npg"))))
     (build-system gnu-build-system)
     (inputs
      `(("zlib" ,zlib)

From 0aa217e7600f54cae1d595714bfd5d77d0cab970 Mon Sep 17 00:00:00 2001
From: Tobias Geerinckx-Rice 
Date: Mon, 28 Oct 2019 23:51:30 +0100
Subject: [PATCH 0526/1112] gnu: libasr: Update to 1.0.3.
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

* gnu/packages/dns.scm (libasr): Update to 1.0.3.
[arguments]: Replace ‘bootstrap’ and add ‘install-documentation’ phase.
[native-inputs]: Add libtool and remove groff.
---
 gnu/packages/dns.scm | 22 +++++++++++++++++-----
 1 file changed, 17 insertions(+), 5 deletions(-)

diff --git a/gnu/packages/dns.scm b/gnu/packages/dns.scm
index e120983f804..ec4008bf19b 100644
--- a/gnu/packages/dns.scm
+++ b/gnu/packages/dns.scm
@@ -273,21 +273,33 @@ the two.")
 (define-public libasr
   (package
     (name "libasr")
-    (version "201602131606")
+    (version "1.0.3")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "https://www.opensmtpd.org/archives/"
                            "libasr-" version ".tar.gz"))
        (sha256
-        (base32
-         "18kdmbjsxrfai16d66qslp48b1zf7gr8him2jj5dcqgbsl44ls75"))))
+        (base32 "13fn4sr4vlcx1xijpl26nmnxawyls4lr5q3mi11jdm76f80qxn4w"))))
     (build-system gnu-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (replace 'bootstrap
+           ;; ‘GNU build system bootstrapping not needed’, the default lies.
+           (lambda _
+             (invoke "sh" "./bootstrap")))
+         (add-after 'install 'install-documentation
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let ((out (assoc-ref outputs "out")))
+               (install-file "src/asr_run.3"
+                             (string-append out "/share/man/man3"))
+               #t))))))
     (native-inputs
      `(("autoconf" ,autoconf)
        ("automake" ,automake)
-       ("pkg-config" ,pkg-config)
-       ("groff" ,groff)))
+       ("libtool" ,libtool)
+       ("pkg-config" ,pkg-config)))
     (home-page "https://www.opensmtpd.org")
     (synopsis "Asynchronous resolver library by the OpenBSD project")
     (description

From a95533ac86df1ea0bf8608575a4ce13ce4998ae8 Mon Sep 17 00:00:00 2001
From: Tobias Geerinckx-Rice 
Date: Tue, 29 Oct 2019 00:00:54 +0100
Subject: [PATCH 0527/1112] gnu: perl-cpanel-json-xs: Update to 4.15.

* gnu/packages/perl.scm (perl-cpanel-json-xs): Update to 4.15.
---
 gnu/packages/perl.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm
index 35722f992e6..d6976b79b74 100644
--- a/gnu/packages/perl.scm
+++ b/gnu/packages/perl.scm
@@ -1611,14 +1611,14 @@ CPAN::Meta object are present.")
 (define-public perl-cpanel-json-xs
   (package
     (name "perl-cpanel-json-xs")
-    (version "4.12")
+    (version "4.15")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "mirror://cpan/authors/id/R/RU/RURBAN/"
                            "Cpanel-JSON-XS-" version ".tar.gz"))
        (sha256
-        (base32 "0n66da8s88srr591i7gm1d611z9jbcz488fhqxy604diiw8pnha9"))))
+        (base32 "1695408fj6jjx6dv5082hhxg5am480x1nz7s0f355npv0wm776wx"))))
     (build-system perl-build-system)
     (propagated-inputs
      `(("perl-common-sense" ,perl-common-sense)))

From ce23c5ffd2cbb123943c424f09d1442f557a14ed Mon Sep 17 00:00:00 2001
From: Tobias Geerinckx-Rice 
Date: Tue, 29 Oct 2019 01:53:07 +0100
Subject: [PATCH 0528/1112] gnu: avidemux: Update to 2.7.4.

* gnu/packages/video.scm (avidemux): Update to 2.7.4.
[arguments]: Update bundled ffmpeg version.
---
 gnu/packages/video.scm | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index 97af4b84f79..2b4f16207de 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -1925,7 +1925,7 @@ for use with HTML5 video.")
 (define-public avidemux
   (package
     (name "avidemux")
-    (version "2.7.3")
+    (version "2.7.4")
     (source (origin
              (method url-fetch)
              (uri (string-append
@@ -1933,7 +1933,7 @@ for use with HTML5 video.")
                    "avidemux_" version ".tar.gz"))
              (sha256
               (base32
-               "17x2mnnr5h8pp764p55l1xcn2ljnzhbj8cykajlllvk4rc4qwxld"))
+               "1acdb3m37vdzzbm8mwyibcn8msi7birb5v30qfi7jli5r00src3x"))
              (patches (search-patches "avidemux-install-to-lib.patch"))))
     (build-system cmake-build-system)
     (native-inputs
@@ -1966,7 +1966,7 @@ for use with HTML5 video.")
        #:phases
        ;; Make sure files inside the included ffmpeg tarball are
        ;; patch-shebanged.
-       (let ((ffmpeg "ffmpeg-4.1.1"))
+       (let ((ffmpeg "ffmpeg-4.1.4"))
          (modify-phases %standard-phases
            (add-before 'patch-source-shebangs 'unpack-ffmpeg
              (lambda _

From a06193603b7e7922439fc5a9d616b7ef872b8b03 Mon Sep 17 00:00:00 2001
From: Mark H Weaver 
Date: Sat, 26 Oct 2019 22:17:05 -0400
Subject: [PATCH 0529/1112] gnu: icecat: Include generally-useful fixes in the
 source tarball.

This commit moves some important fixes into a patch applied to the upstream
gnuzilla git repository, whereas previously they were applied in such a way
that only benefitted Guix users.

* gnu/packages/patches/icecat-default-search-ddg.patch,
gnu/packages/patches/icecat-disable-sync.patch: Delete files.
* gnu/packages/patches/icecat-gnuzilla-fixes.patch: New file.
* gnu/local.mk (dist_patch_DATA): Adapt accordingly.
* gnu/packages/gnuzilla.scm (icecat-source): Apply the new patch to the
gnuzilla checkout.
(icecat)[native-inputs]: Remove deleted patches.
[arguments]: In the 'wrap-program' phase, remove MOZ_LEGACY_PROFILES=1
from the wrapper.
---
 gnu/local.mk                                  |    3 +-
 gnu/packages/gnuzilla.scm                     |   11 +-
 .../patches/icecat-default-search-ddg.patch   | 1108 ----------------
 .../patches/icecat-disable-sync.patch         |    9 -
 .../patches/icecat-gnuzilla-fixes.patch       | 1164 +++++++++++++++++
 gnu/packages/patches/icecat-makeicecat.patch  |    4 +-
 6 files changed, 1172 insertions(+), 1127 deletions(-)
 delete mode 100644 gnu/packages/patches/icecat-default-search-ddg.patch
 delete mode 100644 gnu/packages/patches/icecat-disable-sync.patch
 create mode 100644 gnu/packages/patches/icecat-gnuzilla-fixes.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index 5b81791542a..1b04485422a 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -975,9 +975,8 @@ dist_patch_DATA =						\
   %D%/packages/patches/hurd-fix-eth-multiplexer-dependency.patch        \
   %D%/packages/patches/hplip-remove-imageprocessor.patch	\
   %D%/packages/patches/hydra-disable-darcs-test.patch		\
+  %D%/packages/patches/icecat-gnuzilla-fixes.patch			\
   %D%/packages/patches/icecat-makeicecat.patch			\
-  %D%/packages/patches/icecat-default-search-ddg.patch		\
-  %D%/packages/patches/icecat-disable-sync.patch		\
   %D%/packages/patches/icecat-avoid-bundled-libraries.patch	\
   %D%/packages/patches/icecat-use-system-graphite2+harfbuzz.patch	\
   %D%/packages/patches/icecat-use-system-media-libs.patch	\
diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm
index db7106c4dab..3902f490d03 100644
--- a/gnu/packages/gnuzilla.scm
+++ b/gnu/packages/gnuzilla.scm
@@ -588,6 +588,8 @@ from forcing GEXP-PROMISE."
              (base32
               "1ll3j2kpsfp1f9dxy67fay1cidsng02l8a3a23wdjqkxgrg1cf4g"))))
 
+         (gnuzilla-fixes-patch
+          (local-file (search-patch "icecat-gnuzilla-fixes.patch")))
          (makeicecat-patch
           (local-file (search-patch "icecat-makeicecat.patch"))))
 
@@ -633,6 +635,8 @@ from forcing GEXP-PROMISE."
 
                 (with-directory-excursion "/tmp/gnuzilla"
                   (make-file-writable "makeicecat")
+                  (invoke "patch" "--force" "--no-backup-if-mismatch"
+                          "-p1" "--input" #+gnuzilla-fixes-patch)
                   (invoke "patch" "--force" "--no-backup-if-mismatch"
                           "-p1" "--input" #+makeicecat-patch)
                   (patch-shebang "makeicecat")
@@ -772,10 +776,6 @@ from forcing GEXP-PROMISE."
        ;;  ,(search-patch "icecat-use-system-graphite2+harfbuzz.patch"))
        ;; ("icecat-use-system-media-libs.patch"
        ;;  ,(search-patch "icecat-use-system-media-libs.patch"))
-       ("icecat-default-search-ddg.patch"
-        ,(search-patch "icecat-default-search-ddg.patch"))
-       ("icecat-disable-sync.patch"
-        ,(search-patch "icecat-disable-sync.patch"))
 
        ("patch" ,(canonical-package patch))
 
@@ -1079,8 +1079,7 @@ from forcing GEXP-PROMISE."
                     (pulseaudio-lib (string-append pulseaudio "/lib")))
                (wrap-program (car (find-files lib "^icecat$"))
                  `("XDG_DATA_DIRS" prefix (,gtk-share))
-                 `("LD_LIBRARY_PATH" prefix (,pulseaudio-lib))
-                 `("MOZ_LEGACY_PROFILES" = ("1")))
+                 `("LD_LIBRARY_PATH" prefix (,pulseaudio-lib)))
                #t))))))
     (home-page "https://www.gnu.org/software/gnuzilla/")
     (synopsis "Entirely free browser derived from Mozilla Firefox")
diff --git a/gnu/packages/patches/icecat-default-search-ddg.patch b/gnu/packages/patches/icecat-default-search-ddg.patch
deleted file mode 100644
index 9eea07bcab2..00000000000
--- a/gnu/packages/patches/icecat-default-search-ddg.patch
+++ /dev/null
@@ -1,1108 +0,0 @@
---- a/browser/components/search/SearchTelemetry.jsm.orig	1980-01-01 18:59:51.000000000 -0500
-+++ b/browser/components/search/SearchTelemetry.jsm	2019-10-25 06:58:49.564335696 -0400
-@@ -40,6 +40,12 @@
-  *     page mightbe an advert.
-  */
- const SEARCH_PROVIDER_INFO = {
-+  duckduckgo: {
-+    regexp: /^https:\/\/duckduckgo\.com\//,
-+    queryParam: "q",
-+    codeParam: "t",
-+    codePrefixes: ["ff"],
-+  },
-   google: {
-     regexp: /^https:\/\/www\.google\.(?:.+)\/search/,
-     queryParam: "q",
-@@ -50,12 +56,6 @@
-       /^https:\/\/www\.googleadservices\.com\/(?:pagead\/)?aclk/,
-     ],
-   },
--  duckduckgo: {
--    regexp: /^https:\/\/duckduckgo\.com\//,
--    queryParam: "q",
--    codeParam: "t",
--    codePrefixes: ["ff"],
--  },
-   yahoo: {
-     regexp: /^https:\/\/(?:.*)search\.yahoo\.com\/search/,
-     queryParam: "p",
---- a/browser/components/search/extensions/list.json.orig	1980-01-01 18:59:51.000000000 -0500
-+++ b/browser/components/search/extensions/list.json	2019-10-25 07:27:58.209006756 -0400
-@@ -1,9 +1,9 @@
- {
-   "default": {
--    "searchDefault": "Google",
--    "searchOrder": ["Google", "Bing"],
-+    "searchDefault": "DuckDuckGo",
-+    "searchOrder": ["DuckDuckGo", "Google", "Bing"],
-     "visibleDefaultEngines": [
--      "google-b-d", "amazondotcom", "bing", "ddg", "ebay", "twitter", "wikipedia"
-+      "ddg", "google-b-d", "amazondotcom", "bing", "ebay", "twitter", "wikipedia"
-     ]
-   },
-   "regionOverrides": {
-@@ -54,32 +54,32 @@
-     "en-US": {
-       "default": {
-         "visibleDefaultEngines": [
--          "google-b-d", "amazondotcom", "bing", "ddg", "ebay", "twitter", "wikipedia"
-+          "ddg", "google-b-d", "amazondotcom", "bing", "ebay", "twitter", "wikipedia"
-         ]
-       },
-       "KZ": {
-         "visibleDefaultEngines": [
--          "amazondotcom", "bing", "google", "twitter", "wikipedia", "ddg", "yandex-en"
-+          "ddg", "amazondotcom", "bing", "google", "twitter", "wikipedia", "yandex-en"
-         ],
--        "searchDefault": "Yandex"
-+        "searchDefault": "DuckDuckGo"
-       },
-       "BY": {
-         "visibleDefaultEngines": [
--          "amazondotcom", "bing", "google", "twitter", "wikipedia", "ddg", "yandex-en"
-+          "ddg", "amazondotcom", "bing", "google", "twitter", "wikipedia", "yandex-en"
-         ],
--        "searchDefault": "Yandex"
-+        "searchDefault": "DuckDuckGo"
-       },
-       "RU": {
-         "visibleDefaultEngines": [
--          "amazondotcom", "bing", "google", "twitter", "wikipedia", "ddg", "yandex-en"
-+          "ddg", "amazondotcom", "bing", "google", "twitter", "wikipedia", "yandex-en"
-         ],
--        "searchDefault": "Yandex"
-+        "searchDefault": "DuckDuckGo"
-       },
-       "TR": {
-         "visibleDefaultEngines": [
--          "amazondotcom", "bing", "google", "twitter", "wikipedia", "ddg", "yandex-en"
-+          "ddg", "amazondotcom", "bing", "google", "twitter", "wikipedia", "yandex-en"
-         ],
--        "searchDefault": "Yandex"
-+        "searchDefault": "DuckDuckGo"
-       },
-       "experimental-hidden": {
-         "visibleDefaultEngines": [
-@@ -90,131 +90,131 @@
-     "ach": {
-       "default": {
-         "visibleDefaultEngines": [
--          "google-b-d", "bing", "amazondotcom", "ddg", "twitter", "wikipedia"
-+          "ddg", "google-b-d", "bing", "amazondotcom", "twitter", "wikipedia"
-         ]
-       }
-     },
-     "af": {
-       "default": {
-         "visibleDefaultEngines": [
--          "google-b-d", "bing", "amazondotcom", "ddg", "wikipedia-af"
-+          "ddg", "google-b-d", "bing", "amazondotcom", "wikipedia-af"
-         ]
-       }
-     },
-     "an": {
-       "default": {
-         "visibleDefaultEngines": [
--          "google-b-d", "bing", "ebay-es", "wikipedia-an", "ddg", "twitter"
-+          "ddg", "google-b-d", "bing", "ebay-es", "wikipedia-an", "twitter"
-         ]
-       }
-     },
-     "ar": {
-       "default": {
-         "visibleDefaultEngines": [
--          "google-b-d", "bing", "amazondotcom", "ddg", "wikipedia-ar"
-+          "ddg", "google-b-d", "bing", "amazondotcom", "wikipedia-ar"
-         ]
-       }
-     },
-     "as": {
-       "default": {
-         "visibleDefaultEngines": [
--          "google-b-d", "amazon-in", "ddg", "wikipedia-as"
-+          "ddg", "google-b-d", "amazon-in", "wikipedia-as"
-         ]
-       }
-     },
-     "ast": {
-       "default": {
-         "visibleDefaultEngines": [
--          "google-b-d", "bing", "ddg", "ebay-es", "wikipedia-ast"
-+          "ddg", "google-b-d", "bing", "ebay-es", "wikipedia-ast"
-         ]
-       }
-     },
-     "az": {
-       "default": {
-         "visibleDefaultEngines": [
--          "google-b-d", "amazondotcom", "azerdict", "bing", "ddg", "wikipedia-az", "yandex-az"
-+          "ddg", "google-b-d", "amazondotcom", "azerdict", "bing", "wikipedia-az", "yandex-az"
-         ]
-       }
-     },
-     "be": {
-       "default": {
-         "visibleDefaultEngines": [
--          "yandex-by", "google-b-d", "ddg", "wikipedia-be", "wikipedia-be-tarask"
-+          "ddg", "yandex-by", "google-b-d", "wikipedia-be", "wikipedia-be-tarask"
-         ]
-       },
-       "BY": {
--        "searchDefault": "Яндекс"
-+        "searchDefault": "DuckDuckGo"
-       },
-       "KZ": {
--        "searchDefault": "Яндекс"
-+        "searchDefault": "DuckDuckGo"
-       },
-       "RU": {
--        "searchDefault": "Яндекс"
-+        "searchDefault": "DuckDuckGo"
-       },
-       "TR": {
--        "searchDefault": "Яндекс"
-+        "searchDefault": "DuckDuckGo"
-       }
-     },
-     "bg": {
-       "default": {
-         "visibleDefaultEngines": [
--          "google-b-d", "amazondotcom", "ddg", "pazaruvaj", "wikipedia-bg"
-+          "ddg", "google-b-d", "amazondotcom", "pazaruvaj", "wikipedia-bg"
-         ]
-       }
-     },
-     "bn": {
-       "default": {
-         "visibleDefaultEngines": [
--          "google-b-d", "amazon-in", "bing", "ddg", "wikipedia-bn"
-+          "ddg", "google-b-d", "amazon-in", "bing", "wikipedia-bn"
-         ]
-       }
-     },
-     "bn-BD": {
-       "default": {
-         "visibleDefaultEngines": [
--          "google-b-d", "bing", "ddg", "wikipedia-bn"
-+          "ddg", "google-b-d", "bing", "wikipedia-bn"
-         ]
-       }
-     },
-     "bn-IN": {
-       "default": {
-         "visibleDefaultEngines": [
--          "google-b-d", "amazon-in", "bing", "ddg", "wikipedia-bn"
-+          "ddg", "google-b-d", "amazon-in", "bing", "wikipedia-bn"
-         ]
-       }
-     },
-     "br": {
-       "default": {
-         "visibleDefaultEngines": [
--          "google-b-d", "amazon-france", "ddg", "ebay-fr", "freelang", "wikipedia-br"
-+          "ddg", "google-b-d", "amazon-france", "ebay-fr", "freelang", "wikipedia-br"
-         ]
-       }
-     },
-     "bs": {
-       "default": {
-         "visibleDefaultEngines": [
--          "google-b-d", "ddg", "olx", "twitter", "wikipedia-bs"
-+          "ddg", "google-b-d", "olx", "twitter", "wikipedia-bs"
-         ]
-       }
-     },
-     "ca": {
-       "default": {
-         "visibleDefaultEngines": [
--          "google-b-d", "bing", "diec2", "ddg", "ebay-es", "twitter", "wikipedia-ca"
-+          "ddg", "google-b-d", "bing", "diec2", "ebay-es", "twitter", "wikipedia-ca"
-         ]
-       }
-     },
-     "cak": {
-       "default": {
-         "visibleDefaultEngines": [
--          "google-b-d", "bing", "amazondotcom", "ddg", "wikipedia-es"
-+          "ddg", "google-b-d", "bing", "amazondotcom", "wikipedia-es"
-         ]
-       }
-     },
-     "crh": {
-       "default": {
-         "visibleDefaultEngines": [
--          "google-b-d", "ddg", "twitter", "wikipedia-crh"
-+          "ddg", "google-b-d", "twitter", "wikipedia-crh"
-         ]
-       }
-     },
-@@ -222,74 +222,74 @@
-       "default": {
-         "searchOrder": ["Google", "Seznam"],
-         "visibleDefaultEngines": [
--          "google-b-d", "seznam-cz", "ddg", "heureka-cz", "mapy-cz", "wikipedia-cz"
-+          "ddg", "google-b-d", "seznam-cz", "heureka-cz", "mapy-cz", "wikipedia-cz"
-         ]
-       }
-     },
-     "cy": {
-       "default": {
-         "visibleDefaultEngines": [
--          "google-b-d", "amazon-en-GB", "ddg", "ebay-uk", "palasprint", "wikipedia-cy"
-+          "ddg", "google-b-d", "amazon-en-GB", "ebay-uk", "palasprint", "wikipedia-cy"
-         ]
-       }
-     },
-     "da": {
-       "default": {
-         "visibleDefaultEngines": [
--          "google-b-d", "bing", "amazon-en-GB", "ddg", "wikipedia-da"
-+          "ddg", "google-b-d", "bing", "amazon-en-GB", "wikipedia-da"
-         ]
-       }
-     },
-     "de": {
-       "default": {
-         "visibleDefaultEngines": [
--          "google-b-d", "amazon-de", "bing", "ddg", "ebay-de", "ecosia", "leo_ende_de", "wikipedia-de"
-+          "ddg", "google-b-d", "amazon-de", "bing", "ebay-de", "ecosia", "leo_ende_de", "wikipedia-de"
-         ]
-       }
-     },
-     "dsb": {
-       "default": {
-         "visibleDefaultEngines": [
--          "google-b-d", "bing", "amazon-de", "ddg", "ebay-de", "leo_ende_de", "wikipedia-dsb"
-+          "ddg", "google-b-d", "bing", "amazon-de", "ebay-de", "leo_ende_de", "wikipedia-dsb"
-         ]
-       }
-     },
-     "el": {
-       "default": {
-         "visibleDefaultEngines": [
--          "google-b-d", "amazon-en-GB", "bing", "ddg", "wikipedia-el"
-+          "ddg", "google-b-d", "amazon-en-GB", "bing", "wikipedia-el"
-         ]
-       }
-     },
-     "en-CA": {
-       "default": {
-         "visibleDefaultEngines": [
--          "google-b-d", "amazon-ca", "bing", "ddg", "ebay-ca", "twitter", "wikipedia"
-+          "ddg", "google-b-d", "amazon-ca", "bing", "ebay-ca", "twitter", "wikipedia"
-         ]
-       },
-       "KZ": {
-         "visibleDefaultEngines": [
--          "yandex-en", "google-b-d", "amazon-ca", "bing", "ddg", "ebay-ca", "twitter", "wikipedia"
-+          "ddg", "yandex-en", "google-b-d", "amazon-ca", "bing", "ebay-ca", "twitter", "wikipedia"
-         ],
--        "searchDefault": "Yandex"
-+        "searchDefault": "DuckDuckGo"
-       },
-       "BY": {
-         "visibleDefaultEngines": [
--          "yandex-en", "google-b-d", "amazon-ca", "bing", "ddg", "ebay-ca", "twitter", "wikipedia"
-+          "ddg", "yandex-en", "google-b-d", "amazon-ca", "bing", "ebay-ca", "twitter", "wikipedia"
-         ],
--        "searchDefault": "Yandex"
-+        "searchDefault": "DuckDuckGo"
-       },
-       "RU": {
-         "visibleDefaultEngines": [
--          "yandex-en", "google-b-d", "amazon-ca", "bing", "ddg", "ebay-ca", "twitter", "wikipedia"
-+          "ddg", "yandex-en", "google-b-d", "amazon-ca", "bing", "ebay-ca", "twitter", "wikipedia"
-         ],
--        "searchDefault": "Yandex"
-+        "searchDefault": "DuckDuckGo"
-       },
-       "TR": {
-         "visibleDefaultEngines": [
--          "yandex-en", "google-b-d", "amazon-ca", "bing", "ddg", "ebay-ca", "twitter", "wikipedia"
-+          "ddg", "yandex-en", "google-b-d", "amazon-ca", "bing", "ebay-ca", "twitter", "wikipedia"
-         ],
--        "searchDefault": "Yandex"
-+        "searchDefault": "DuckDuckGo"
-       },
-       "experimental-hidden": {
-         "visibleDefaultEngines": [
-@@ -300,32 +300,32 @@
-     "en-GB": {
-       "default": {
-         "visibleDefaultEngines": [
--          "google-b-d", "bing", "amazon-en-GB", "chambers-en-GB", "ddg", "ebay-uk", "twitter", "wikipedia"
-+          "ddg", "google-b-d", "bing", "amazon-en-GB", "chambers-en-GB", "ebay-uk", "twitter", "wikipedia"
-         ]
-       },
-       "KZ": {
-         "visibleDefaultEngines": [
--          "yandex-en", "google-b-d", "bing", "amazon-en-GB", "chambers-en-GB", "ddg", "ebay-uk", "twitter", "wikipedia"
-+          "ddg", "yandex-en", "google-b-d", "bing", "amazon-en-GB", "chambers-en-GB", "ebay-uk", "twitter", "wikipedia"
-         ],
--        "searchDefault": "Yandex"
-+        "searchDefault": "DuckDuckGo"
-       },
-       "BY": {
-         "visibleDefaultEngines": [
--          "yandex-en", "google-b-d", "bing", "amazon-en-GB", "chambers-en-GB", "ddg", "ebay-uk", "twitter", "wikipedia"
-+          "ddg", "yandex-en", "google-b-d", "bing", "amazon-en-GB", "chambers-en-GB", "ebay-uk", "twitter", "wikipedia"
-         ],
--        "searchDefault": "Yandex"
-+        "searchDefault": "DuckDuckGo"
-       },
-       "RU": {
-         "visibleDefaultEngines": [
--          "yandex-en", "google-b-d", "bing", "amazon-en-GB", "chambers-en-GB", "ddg", "ebay-uk", "twitter", "wikipedia"
-+          "ddg", "yandex-en", "google-b-d", "bing", "amazon-en-GB", "chambers-en-GB", "ebay-uk", "twitter", "wikipedia"
-         ],
--        "searchDefault": "Yandex"
-+        "searchDefault": "DuckDuckGo"
-       },
-       "TR": {
-         "visibleDefaultEngines": [
--          "yandex-en", "google-b-d", "bing", "amazon-en-GB", "chambers-en-GB", "ddg", "ebay-uk", "twitter", "wikipedia"
-+          "ddg", "yandex-en", "google-b-d", "bing", "amazon-en-GB", "chambers-en-GB", "ebay-uk", "twitter", "wikipedia"
-         ],
--        "searchDefault": "Yandex"
-+        "searchDefault": "DuckDuckGo"
-       },
-       "experimental-hidden": {
-         "visibleDefaultEngines": [
-@@ -336,66 +336,66 @@
-     "en-ZA": {
-       "default": {
-         "visibleDefaultEngines": [
--          "google-b-d", "bing", "amazondotcom", "ddg", "twitter", "wikipedia"
-+          "ddg", "google-b-d", "bing", "amazondotcom", "twitter", "wikipedia"
-         ]
-       },
-       "KZ": {
-         "visibleDefaultEngines": [
--          "yandex-en", "google-b-d", "bing", "amazondotcom", "ddg", "twitter", "wikipedia"
-+          "ddg", "yandex-en", "google-b-d", "bing", "amazondotcom", "twitter", "wikipedia"
-         ],
--        "searchDefault": "Yandex"
-+        "searchDefault": "DuckDuckGo"
-       },
-       "BY": {
-         "visibleDefaultEngines": [
--          "yandex-en", "google-b-d", "bing", "amazondotcom", "ddg", "twitter", "wikipedia"
-+          "ddg", "yandex-en", "google-b-d", "bing", "amazondotcom", "twitter", "wikipedia"
-         ],
--        "searchDefault": "Yandex"
-+        "searchDefault": "DuckDuckGo"
-       },
-       "RU": {
-         "visibleDefaultEngines": [
--          "yandex-en", "google-b-d", "bing", "amazondotcom", "ddg", "twitter", "wikipedia"
-+          "ddg", "yandex-en", "google-b-d", "bing", "amazondotcom", "twitter", "wikipedia"
-         ],
--        "searchDefault": "Yandex"
-+        "searchDefault": "DuckDuckGo"
-       },
-       "TR": {
-         "visibleDefaultEngines": [
--          "yandex-en", "google-b-d", "bing", "amazondotcom", "ddg", "twitter", "wikipedia"
-+          "ddg", "yandex-en", "google-b-d", "bing", "amazondotcom", "twitter", "wikipedia"
-         ],
--        "searchDefault": "Yandex"
-+        "searchDefault": "DuckDuckGo"
-       }
-     },
-     "eo": {
-       "default": {
-         "visibleDefaultEngines": [
--          "google-b-d", "bing", "amazondotcom", "ddg", "wikipedia-eo"
-+          "ddg", "google-b-d", "bing", "amazondotcom", "wikipedia-eo"
-         ]
-       }
-     },
-     "es-AR": {
-       "default": {
-         "visibleDefaultEngines": [
--          "google-b-d", "amazondotcom", "drae", "ddg", "mercadolibre-ar", "wikipedia-es"
-+          "ddg", "google-b-d", "amazondotcom", "drae", "mercadolibre-ar", "wikipedia-es"
-         ]
-       }
-     },
-     "es-CL": {
-       "default": {
-         "visibleDefaultEngines": [
--          "google-b-d", "bing", "drae", "ddg", "mercadolibre-cl", "wikipedia-es"
-+          "ddg", "google-b-d", "bing", "drae", "mercadolibre-cl", "wikipedia-es"
-         ]
-       }
-     },
-     "es-ES": {
-       "default": {
-         "visibleDefaultEngines": [
--          "google-b-d", "bing", "drae", "ddg", "ebay-es", "twitter", "wikipedia-es"
-+          "ddg", "google-b-d", "bing", "drae", "ebay-es", "twitter", "wikipedia-es"
-         ]
-       }
-     },
-     "es-MX": {
-       "default": {
-         "visibleDefaultEngines": [
--          "google-b-d", "bing", "ddg", "mercadolibre-mx", "wikipedia-es"
-+          "ddg", "google-b-d", "bing", "mercadolibre-mx", "wikipedia-es"
-         ]
-       },
-       "experimental-hidden": {
-@@ -407,49 +407,49 @@
-     "et": {
-       "default": {
-         "visibleDefaultEngines": [
--          "google-b-d", "neti-ee", "ddg", "osta-ee", "wikipedia-et", "eki-ee"
-+          "ddg", "google-b-d", "neti-ee", "osta-ee", "wikipedia-et", "eki-ee"
-         ]
-       }
-     },
-     "eu": {
-       "default": {
-         "visibleDefaultEngines": [
--          "google-b-d", "bing", "amazon-en-GB", "ddg", "ebay-es", "wikipedia-eu"
-+          "ddg", "google-b-d", "bing", "amazon-en-GB", "ebay-es", "wikipedia-eu"
-         ]
-       }
-     },
-     "fa": {
-       "default": {
-         "visibleDefaultEngines": [
--          "google-b-d", "amazondotcom", "bing", "ddg", "wikipedia-fa"
-+          "ddg", "google-b-d", "amazondotcom", "bing", "wikipedia-fa"
-         ]
-       }
-     },
-     "ff": {
-       "default": {
-         "visibleDefaultEngines": [
--          "google-b-d", "bing", "amazon-france", "ddg", "wikipedia-fr"
-+          "ddg", "google-b-d", "bing", "amazon-france", "wikipedia-fr"
-         ]
-       }
-     },
-     "fi": {
-       "default": {
-         "visibleDefaultEngines": [
--          "google-b-d", "bing", "ddg", "wikipedia-fi"
-+          "ddg", "google-b-d", "bing", "wikipedia-fi"
-         ]
-       }
-     },
-     "fr": {
-       "default": {
-         "visibleDefaultEngines": [
--          "google-b-d", "bing", "amazon-france", "ddg", "ebay-fr", "qwant", "wikipedia-fr"
-+          "ddg", "google-b-d", "bing", "amazon-france", "ebay-fr", "qwant", "wikipedia-fr"
-         ]
-       }
-     },
-     "fy-NL": {
-       "default": {
-         "visibleDefaultEngines": [
--          "google-b-d", "bing", "bolcom-fy-NL", "ddg", "ebay-nl", "marktplaats-fy-NL", "wikipedia-fy-NL"
-+          "ddg", "google-b-d", "bing", "bolcom-fy-NL", "ebay-nl", "marktplaats-fy-NL", "wikipedia-fy-NL"
-         ]
-       },
-       "experimental-hidden": {
-@@ -461,105 +461,105 @@
-     "ga-IE": {
-       "default": {
-         "visibleDefaultEngines": [
--          "google-b-d", "amazon-en-GB", "ddg", "ebay-ie", "tearma", "twitter", "wikipedia-ga-IE"
-+          "ddg", "google-b-d", "amazon-en-GB", "ebay-ie", "tearma", "twitter", "wikipedia-ga-IE"
-         ]
-       }
-     },
-     "gd": {
-       "default": {
-         "visibleDefaultEngines": [
--          "google-b-d", "amazon-en-GB", "bbc-alba", "ddg", "ebay-uk", "faclair-beag", "wikipedia-gd"
-+          "ddg", "google-b-d", "amazon-en-GB", "bbc-alba", "ebay-uk", "faclair-beag", "wikipedia-gd"
-         ]
-       }
-     },
-     "gl": {
-       "default": {
-         "visibleDefaultEngines": [
--          "google-b-d", "amazon-en-GB", "ddg", "ebay-es", "wikipedia-gl"
-+          "ddg", "google-b-d", "amazon-en-GB", "ebay-es", "wikipedia-gl"
-         ]
-       }
-     },
-     "gn": {
-       "default": {
-         "visibleDefaultEngines": [
--          "google-b-d", "bing", "amazondotcom", "ddg", "twitter", "wikipedia-gn"
-+          "ddg", "google-b-d", "bing", "amazondotcom", "twitter", "wikipedia-gn"
-         ]
-       }
-     },
-     "gu-IN": {
-       "default": {
-         "visibleDefaultEngines": [
--          "google-b-d", "bing", "amazon-in", "ddg", "wikipedia-gu"
-+          "ddg", "google-b-d", "bing", "amazon-in", "wikipedia-gu"
-         ]
-       }
-     },
-     "he": {
-       "default": {
-         "visibleDefaultEngines": [
--          "google-b-d", "ddg", "wikipedia-he", "morfix-dic"
-+          "ddg", "google-b-d", "wikipedia-he", "morfix-dic"
-         ]
-       }
-     },
-     "hi-IN": {
-       "default": {
-         "visibleDefaultEngines": [
--          "google-b-d", "bing", "ddg", "wikipedia-hi"
-+          "ddg", "google-b-d", "bing", "wikipedia-hi"
-         ]
-       }
-     },
-     "hr": {
-       "default": {
-         "visibleDefaultEngines": [
--          "google-b-d", "amazon-en-GB", "bing", "ddg", "eudict", "twitter", "wikipedia-hr"
-+          "ddg", "google-b-d", "amazon-en-GB", "bing", "eudict", "twitter", "wikipedia-hr"
-         ]
-       }
-     },
-     "hsb": {
-       "default": {
-         "visibleDefaultEngines": [
--          "google-b-d", "bing", "amazon-de", "ddg", "ebay-de", "leo_ende_de", "wikipedia-hsb"
-+          "ddg", "google-b-d", "bing", "amazon-de", "ebay-de", "leo_ende_de", "wikipedia-hsb"
-         ]
-       }
-     },
-     "hu": {
-       "default": {
-         "visibleDefaultEngines": [
--          "google-b-d", "ddg", "vatera", "wikipedia-hu"
-+          "ddg", "google-b-d", "vatera", "wikipedia-hu"
-         ]
-       }
-     },
-     "hy-AM": {
-       "default": {
-         "visibleDefaultEngines": [
--          "google-b-d", "amazondotcom", "ddg", "list-am", "wikipedia-hy"
-+          "ddg", "google-b-d", "amazondotcom", "list-am", "wikipedia-hy"
-         ]
-       }
-     },
-     "ia": {
-       "default": {
-         "visibleDefaultEngines": [
--          "google-b-d", "bing", "amazondotcom", "ddg", "twitter", "wikipedia-ia"
-+          "ddg", "google-b-d", "bing", "amazondotcom", "twitter", "wikipedia-ia"
-         ]
-       }
-     },
-     "id": {
-       "default": {
-         "visibleDefaultEngines": [
--          "google-b-d", "ddg", "wikipedia-id"
-+          "ddg", "google-b-d", "wikipedia-id"
-         ]
-       }
-     },
-     "is": {
-       "default": {
-         "visibleDefaultEngines": [
--          "google-b-d", "bing", "amazondotcom", "ddg", "wikipedia-is"
-+          "ddg", "google-b-d", "bing", "amazondotcom", "wikipedia-is"
-         ]
-       }
-     },
-     "it": {
-       "default": {
-         "visibleDefaultEngines": [
--          "google-b-d", "bing", "amazon-it", "ddg", "ebay-it", "wikipedia-it"
-+          "ddg", "google-b-d", "bing", "amazon-it", "ebay-it", "wikipedia-it"
-         ]
-       }
-     },
-@@ -567,7 +567,7 @@
-       "default": {
-         "searchOrder": ["Google", "Yahoo! JAPAN", "Bing", "Amazon.co.jp", "楽天市場", "ヤフオク!", "教えて!goo", "Twitter", "Wikipedia (ja)"],
-         "visibleDefaultEngines": [
--          "google-b-d", "yahoo-jp", "bing", "amazon-jp", "rakuten", "yahoo-jp-auctions", "oshiete-goo", "twitter-ja", "wikipedia-ja", "ddg"
-+          "ddg", "google-b-d", "yahoo-jp", "bing", "amazon-jp", "rakuten", "yahoo-jp-auctions", "oshiete-goo", "twitter-ja", "wikipedia-ja"
-         ]
-       }
-     },
-@@ -575,159 +575,159 @@
-       "default": {
-         "searchOrder": ["Google", "Yahoo! JAPAN", "Bing", "Amazon.co.jp", "楽天市場", "ヤフオク!", "教えて!goo", "Twitter", "Wikipedia (ja)"],
-         "visibleDefaultEngines": [
--          "google-b-d", "yahoo-jp", "bing", "amazon-jp", "rakuten", "yahoo-jp-auctions", "oshiete-goo", "twitter-ja", "wikipedia-ja", "ddg"
-+            "ddg", "google-b-d", "yahoo-jp", "bing", "amazon-jp", "rakuten", "yahoo-jp-auctions", "oshiete-goo", "twitter-ja", "wikipedia-ja"
-         ]
-       }
-     },
-     "ka": {
-       "default": {
-         "visibleDefaultEngines": [
--          "google-b-d", "bing", "amazondotcom", "ddg", "twitter", "wikipedia-ka"
-+          "ddg", "google-b-d", "bing", "amazondotcom", "twitter", "wikipedia-ka"
-         ]
-       }
-     },
-     "kab": {
-       "default": {
-         "visibleDefaultEngines": [
--          "google-b-d", "bing", "ddg", "wikipedia-kab"
-+          "ddg", "google-b-d", "bing", "wikipedia-kab"
-         ]
-       }
-     },
-     "kk": {
-       "default": {
-         "visibleDefaultEngines": [
--          "yandex-kk", "google-b-d", "ddg", "flip", "twitter", "wikipedia-kk"
-+          "ddg", "yandex-kk", "google-b-d", "flip", "twitter", "wikipedia-kk"
-         ]
-       },
-       "KZ": {
--        "searchDefault": "Яндекс"
-+        "searchDefault": "DuckDuckGo"
-       },
-       "BY": {
--        "searchDefault": "Яндекс"
-+        "searchDefault": "DuckDuckGo"
-       },
-       "RU": {
--        "searchDefault": "Яндекс"
-+        "searchDefault": "DuckDuckGo"
-       },
-       "TR": {
--        "searchDefault": "Яндекс"
-+        "searchDefault": "DuckDuckGo"
-       }
-     },
-     "km": {
-       "default": {
-         "visibleDefaultEngines": [
--          "google-b-d", "bing", "amazondotcom", "ddg", "twitter", "wikipedia-km"
-+          "ddg", "google-b-d", "bing", "amazondotcom", "twitter", "wikipedia-km"
-         ]
-       }
-     },
-     "kn": {
-       "default": {
-         "visibleDefaultEngines": [
--          "google-b-d", "bing", "amazon-in", "ddg", "kannadastore", "wikipedia-kn"
-+          "ddg", "google-b-d", "bing", "amazon-in", "kannadastore", "wikipedia-kn"
-         ]
-       }
-     },
-     "ko": {
-       "default": {
-         "visibleDefaultEngines": [
--          "google-b-d", "ddg", "naver-kr", "daum-kr", "wikipedia-kr"
-+          "ddg", "google-b-d", "naver-kr", "daum-kr", "wikipedia-kr"
-         ]
-       }
-     },
-     "lij": {
-       "default": {
-         "visibleDefaultEngines": [
--          "google-b-d", "bing", "amazon-it", "ddg", "ebay-it", "wikipedia-lij"
-+          "ddg", "google-b-d", "bing", "amazon-it", "ebay-it", "wikipedia-lij"
-         ]
-       }
-     },
-     "lo": {
-       "default": {
-         "visibleDefaultEngines": [
--          "google-b-d", "bing", "ddg", "wikipedia-lo", "twitter"
-+          "ddg", "google-b-d", "bing", "wikipedia-lo", "twitter"
-         ]
-       }
-     },
-     "lt": {
-       "default": {
-         "visibleDefaultEngines": [
--          "google-b-d", "wikipedia-lt", "bing", "amazondotcom", "ddg", "twitter"
-+          "ddg", "google-b-d", "wikipedia-lt", "bing", "amazondotcom", "twitter"
-         ]
-       }
-     },
-     "ltg": {
-       "default": {
-         "visibleDefaultEngines": [
--          "google-b-d", "ddg", "salidzinilv", "sslv", "wikipedia-ltg"
-+          "ddg", "google-b-d", "salidzinilv", "sslv", "wikipedia-ltg"
-         ]
-       }
-     },
-     "lv": {
-       "default": {
-         "visibleDefaultEngines": [
--          "google-b-d", "ddg", "salidzinilv", "sslv", "wikipedia-lv"
-+          "ddg", "google-b-d", "salidzinilv", "sslv", "wikipedia-lv"
-         ]
-       }
-     },
-     "mai": {
-       "default": {
-         "visibleDefaultEngines": [
--          "google-b-d", "bing", "amazon-in", "ddg", "twitter", "wikipedia-hi"
-+          "ddg", "google-b-d", "bing", "amazon-in", "twitter", "wikipedia-hi"
-         ]
-       }
-     },
-     "mk": {
-       "default": {
-         "visibleDefaultEngines": [
--          "google-b-d", "bing", "amazondotcom", "ddg", "wikipedia-mk"
-+          "ddg", "google-b-d", "bing", "amazondotcom", "wikipedia-mk"
-         ]
-       }
-     },
-     "ml": {
-       "default": {
-         "visibleDefaultEngines": [
--          "google-b-d", "bing", "amazon-in", "ddg", "wikipedia", "wikipedia-ml"
-+          "ddg", "google-b-d", "bing", "amazon-in", "wikipedia", "wikipedia-ml"
-         ]
-       }
-     },
-     "mr": {
-       "default": {
-         "visibleDefaultEngines": [
--          "google-b-d", "amazon-in", "ddg", "wikipedia-mr"
-+          "ddg", "google-b-d", "amazon-in", "wikipedia-mr"
-         ]
-       }
-     },
-     "ms": {
-       "default": {
-         "visibleDefaultEngines": [
--          "google-b-d", "bing", "amazondotcom", "ddg", "twitter", "wikipedia-ms"
-+          "ddg", "google-b-d", "bing", "amazondotcom", "twitter", "wikipedia-ms"
-         ]
-       }
-     },
-     "my": {
-       "default": {
-         "visibleDefaultEngines": [
--          "google-b-d", "bing", "amazondotcom", "ddg", "twitter", "wikipedia-my"
-+          "ddg", "google-b-d", "bing", "amazondotcom", "twitter", "wikipedia-my"
-         ]
-       }
-     },
-     "nb-NO": {
-       "default": {
-         "visibleDefaultEngines": [
--          "google-b-d", "amazon-en-GB", "bing", "ddg", "gulesider-NO", "bok-NO", "qxl-NO", "wikipedia-NO"
-+          "ddg", "google-b-d", "amazon-en-GB", "bing", "gulesider-NO", "bok-NO", "qxl-NO", "wikipedia-NO"
-         ]
-       }
-     },
-     "ne-NP": {
-       "default": {
-         "visibleDefaultEngines": [
--          "google-b-d", "bing", "ddg", "twitter", "wikipedia-ne"
-+          "ddg", "google-b-d", "bing", "twitter", "wikipedia-ne"
-         ]
-       }
-     },
-     "nl": {
-       "default": {
-         "visibleDefaultEngines": [
--          "google-b-d", "bing", "bolcom-nl", "ddg", "ebay-nl", "marktplaats-nl", "wikipedia-nl"
-+          "ddg", "google-b-d", "bing", "bolcom-nl", "ebay-nl", "marktplaats-nl", "wikipedia-nl"
-         ]
-       },
-       "experimental-hidden": {
-@@ -739,244 +739,244 @@
-     "nn-NO": {
-       "default": {
-         "visibleDefaultEngines": [
--          "google-b-d", "bing", "amazon-en-GB", "ddg", "gulesider-NO", "bok-NO", "qxl-NO", "wikipedia-NN"
-+          "ddg", "google-b-d", "bing", "amazon-en-GB", "gulesider-NO", "bok-NO", "qxl-NO", "wikipedia-NN"
-         ]
-       }
-     },
-     "oc": {
-       "default": {
-         "visibleDefaultEngines": [
--          "google-b-d", "bing", "ddg", "twitter", "wikipedia-oc", "wiktionary-oc"
-+          "ddg", "google-b-d", "bing", "twitter", "wikipedia-oc", "wiktionary-oc"
-         ]
-       }
-     },
-     "or": {
-       "default": {
-         "visibleDefaultEngines": [
--          "google-b-d", "bing", "amazon-in", "ddg", "wikipedia-or"
-+          "ddg", "google-b-d", "bing", "amazon-in", "wikipedia-or"
-         ]
-       }
-     },
-     "pa-IN": {
-       "default": {
-         "visibleDefaultEngines": [
--          "google-b-d", "bing", "amazon-in", "ddg", "wikipedia-pa"
-+          "ddg", "google-b-d", "bing", "amazon-in", "wikipedia-pa"
-         ]
-       }
-     },
-     "pl": {
-       "default": {
-         "visibleDefaultEngines": [
--          "google-b-d", "allegro-pl", "ddg", "pwn-pl", "wikipedia-pl", "wolnelektury-pl"
-+          "ddg", "google-b-d", "allegro-pl", "pwn-pl", "wikipedia-pl", "wolnelektury-pl"
-         ]
-       }
-     },
-     "pt-BR": {
-       "default": {
-         "visibleDefaultEngines": [
--          "google-b-d", "bing", "ddg", "mercadolivre", "twitter", "wikipedia-pt"
-+          "ddg", "google-b-d", "bing", "mercadolivre", "twitter", "wikipedia-pt"
-         ]
-       }
-     },
-     "pt-PT": {
-       "default": {
-         "visibleDefaultEngines": [
--          "google-b-d", "amazon-en-GB", "ddg", "priberam", "wikipedia-pt"
-+          "ddg", "google-b-d", "amazon-en-GB", "priberam", "wikipedia-pt"
-         ]
-       }
-     },
-     "rm": {
-       "default": {
-         "visibleDefaultEngines": [
--          "google-b-d", "bing", "ddg", "ebay-ch", "leo_ende_de", "wikipedia-rm"
-+          "ddg", "google-b-d", "bing", "ebay-ch", "leo_ende_de", "wikipedia-rm"
-         ]
-       }
-     },
-     "ro": {
-       "default": {
-         "visibleDefaultEngines": [
--          "google-b-d", "bing", "amazondotcom", "ddg", "wikipedia-ro"
-+          "ddg", "google-b-d", "bing", "amazondotcom", "wikipedia-ro"
-         ]
-       }
-     },
-     "ru": {
-       "default": {
-         "visibleDefaultEngines": [
--          "yandex-ru", "google-b-d", "ddg", "ozonru", "priceru", "wikipedia-ru", "mailru"
-+          "ddg", "yandex-ru", "google-b-d", "ozonru", "priceru", "wikipedia-ru", "mailru"
-         ]
-       },
-       "RU": {
--        "searchDefault": "Яндекс"
-+        "searchDefault": "DuckDuckGo"
-       },
-       "BY": {
--        "searchDefault": "Яндекс"
-+        "searchDefault": "DuckDuckGo"
-       },
-       "KZ": {
--        "searchDefault": "Яндекс"
-+        "searchDefault": "DuckDuckGo"
-       },
-       "TR": {
--        "searchDefault": "Яндекс"
-+        "searchDefault": "DuckDuckGo"
-       }
-     },
-     "si": {
-       "default": {
-         "visibleDefaultEngines": [
--          "google-b-d", "amazondotcom", "ddg", "wikipedia-si"
-+          "ddg", "google-b-d", "amazondotcom", "wikipedia-si"
-         ]
-       }
-     },
-     "sk": {
-       "default": {
-         "visibleDefaultEngines": [
--          "google-b-d", "azet-sk", "atlas-sk", "ddg", "wikipedia-sk", "zoznam-sk"
-+          "ddg", "google-b-d", "azet-sk", "atlas-sk", "wikipedia-sk", "zoznam-sk"
-         ]
-       }
-     },
-     "sl": {
-       "default": {
-         "visibleDefaultEngines": [
--          "google-b-d", "ceneji", "ddg", "najdi-si", "odpiralni", "twitter", "wikipedia-sl"
-+          "ddg", "google-b-d", "ceneji", "najdi-si", "odpiralni", "twitter", "wikipedia-sl"
-         ]
-       }
-     },
-     "son": {
-       "default": {
-         "visibleDefaultEngines": [
--          "google-b-d", "bing", "amazon-france", "ddg", "wikipedia-fr"
-+          "ddg", "google-b-d", "bing", "amazon-france", "wikipedia-fr"
-         ]
-       }
-     },
-     "sq": {
-       "default": {
-         "visibleDefaultEngines": [
--          "google-b-d", "bing", "amazon-en-GB", "ddg", "wikipedia-sq"
-+          "ddg", "google-b-d", "bing", "amazon-en-GB", "wikipedia-sq"
-         ]
-       }
-     },
-     "sr": {
-       "default": {
-         "visibleDefaultEngines": [
--          "google-b-d", "amazon-en-GB", "bing", "ddg", "wikipedia-sr", "pogodak"
-+          "ddg", "google-b-d", "amazon-en-GB", "bing", "wikipedia-sr", "pogodak"
-         ]
-       }
-     },
-     "sv-SE": {
-       "default": {
-         "visibleDefaultEngines": [
--          "google-b-d", "bing", "allaannonser-sv-SE", "ddg", "prisjakt-sv-SE", "tyda-sv-SE", "wikipedia-sv-SE"
-+          "ddg", "google-b-d", "bing", "allaannonser-sv-SE", "prisjakt-sv-SE", "tyda-sv-SE", "wikipedia-sv-SE"
-         ]
-       }
-     },
-     "ta": {
-       "default": {
-         "visibleDefaultEngines": [
--          "google-b-d", "amazon-in", "ddg", "wikipedia-ta"
-+          "ddg", "google-b-d", "amazon-in", "wikipedia-ta"
-         ]
-       }
-     },
-     "te": {
-       "default": {
-         "visibleDefaultEngines": [
--          "google-b-d", "amazon-in", "ddg", "wikipedia-te", "wiktionary-te"
-+          "ddg", "google-b-d", "amazon-in", "wikipedia-te", "wiktionary-te"
-         ]
-       }
-     },
-     "th": {
-       "default": {
-         "visibleDefaultEngines": [
--          "google-b-d", "amazondotcom", "bing", "ddg", "longdo", "wikipedia-th"
-+          "ddg", "google-b-d", "amazondotcom", "bing", "longdo", "wikipedia-th"
-         ]
-       }
-     },
-     "tl": {
-       "default": {
-         "visibleDefaultEngines": [
--          "google-b-d", "bing", "amazondotcom", "ddg", "twitter", "wikipedia-tl"
-+          "ddg", "google-b-d", "bing", "amazondotcom", "twitter", "wikipedia-tl"
-         ]
-       }
-     },
-     "tr": {
-       "default": {
-         "visibleDefaultEngines": [
--          "yandex-tr", "google-b-d", "ddg", "twitter", "wikipedia-tr"
-+          "ddg", "yandex-tr", "google-b-d", "twitter", "wikipedia-tr"
-         ]
-       },
-       "TR": {
--        "searchDefault": "Yandex"
-+        "searchDefault": "DuckDuckGo"
-       },
-       "BY": {
--        "searchDefault": "Yandex"
-+        "searchDefault": "DuckDuckGo"
-       },
-       "KZ": {
--        "searchDefault": "Yandex"
-+        "searchDefault": "DuckDuckGo"
-       },
-       "RU": {
--        "searchDefault": "Yandex"
-+        "searchDefault": "DuckDuckGo"
-       }
-     },
-     "trs": {
-       "default": {
-         "visibleDefaultEngines": [
--          "google-b-d", "bing", "amazondotcom", "ddg", "wikipedia-es"
-+          "ddg", "google-b-d", "bing", "amazondotcom", "wikipedia-es"
-         ]
-       }
-     },
-     "uk": {
-       "default": {
-         "visibleDefaultEngines": [
--          "google-b-d", "bing", "ddg", "wikipedia-uk", "hotline-ua"
-+          "ddg", "google-b-d", "bing", "wikipedia-uk", "hotline-ua"
-         ]
-       }
-     },
-     "ur": {
-       "default": {
-         "visibleDefaultEngines": [
--          "google-b-d", "bing", "amazon-in", "ddg", "twitter", "wikipedia-ur"
-+          "ddg", "google-b-d", "bing", "amazon-in", "twitter", "wikipedia-ur"
-         ]
-       }
-     },
-     "uz": {
-       "default": {
-         "visibleDefaultEngines": [
--          "google-b-d", "bing", "amazondotcom", "ddg", "twitter", "wikipedia-uz"
-+          "ddg", "google-b-d", "bing", "amazondotcom", "twitter", "wikipedia-uz"
-         ]
-       }
-     },
-     "vi": {
-       "default": {
-         "visibleDefaultEngines": [
--          "google-b-d", "coccoc", "ddg", "wikipedia-vi"
-+          "ddg", "google-b-d", "coccoc", "wikipedia-vi"
-         ]
-       }
-     },
-     "wo": {
-       "default": {
-         "visibleDefaultEngines": [
--          "google-b-d", "bing", "amazon-france", "ddg", "ebay-fr", "twitter", "wikipedia-wo"
-+          "ddg", "google-b-d", "bing", "amazon-france", "ebay-fr", "twitter", "wikipedia-wo"
-         ]
-       }
-     },
-     "xh": {
-       "default": {
-         "visibleDefaultEngines": [
--          "google-b-d", "bing", "ddg", "wikipedia"
-+          "ddg", "google-b-d", "bing", "wikipedia"
-         ]
-       }
-     },
-     "zh-CN": {
-       "default": {
-         "visibleDefaultEngines": [
--          "baidu", "google-b-d", "bing", "ddg", "wikipedia-zh-CN", "amazondotcn"
-+          "ddg", "baidu", "google-b-d", "bing", "wikipedia-zh-CN", "amazondotcn"
-         ]
-       },
-       "CN": {
--        "searchDefault": "百度"
-+        "searchDefault": "DuckDuckGo"
-       }
-     },
-     "zh-TW": {
-       "default": {
-         "visibleDefaultEngines": [
--          "google-b-d", "ddg", "readmoo", "wikipedia-zh-TW"
-+          "ddg", "google-b-d", "readmoo", "wikipedia-zh-TW"
-         ]
-       }
-     }
diff --git a/gnu/packages/patches/icecat-disable-sync.patch b/gnu/packages/patches/icecat-disable-sync.patch
deleted file mode 100644
index 6d4459ee319..00000000000
--- a/gnu/packages/patches/icecat-disable-sync.patch
+++ /dev/null
@@ -1,9 +0,0 @@
---- a/browser/app/profile/icecat.js.orig	1980-01-01 18:59:51.000000000 -0500
-+++ b/browser/app/profile/icecat.js	2019-10-25 06:24:03.065989309 -0400
-@@ -2275,3 +2275,6 @@
- pref("general.buildID.override", "Gecko/20100101");
- pref("general.oscpu.override", "Windows NT 6.1");
- pref("general.platform.override", "Win32");
-+
-+// Disable Firefox Accounts and Sign in to Sync.
-+pref("identity.fxaccounts.enabled", false);
diff --git a/gnu/packages/patches/icecat-gnuzilla-fixes.patch b/gnu/packages/patches/icecat-gnuzilla-fixes.patch
new file mode 100644
index 00000000000..f3ceaebd03c
--- /dev/null
+++ b/gnu/packages/patches/icecat-gnuzilla-fixes.patch
@@ -0,0 +1,1164 @@
+diff --git a/makeicecat b/makeicecat
+index b04c731..8e4947c 100644
+--- a/makeicecat
++++ b/makeicecat
+@@ -80,10 +80,10 @@ mv compare-locales $SOURCEDIR/l10n
+ 
+ cd $SOURCEDIR
+ 
+-#for patch in $DATA/patches/*; do
+-#    echo Patching with file: $patch
+-#    patch -p1 < $patch
+-#done
++for patch in $DATA/patches/*.patch; do
++    echo Patching with file: $patch
++    patch -p1 --force --no-backup-if-mismatch --input $patch
++done
+ 
+ cp $DATA/Changelog.IceCat $DATA/README.IceCat .
+ 
+diff --git a/data/settings.js b/data/settings.js
+index 03af220..7b2f33a 100644
+--- a/data/settings.js
++++ b/data/settings.js
+@@ -211,6 +211,9 @@ pref("toolkit.telemetry.enabled", false);
+ pref("media.eme.enabled", false);
+ pref("media.eme.apiVisible", false);
+ 
++// Firefox Accounts
++pref("identity.fxaccounts.enabled", false);
++
+ // WebRTC
+ pref("media.peerconnection.enabled", true);
+ // Don't reveal your internal IP when WebRTC is enabled
+diff --git a/data/patches/default-search-duckduckgo.patch b/data/patches/default-search-duckduckgo.patch
+new file mode 100644
+index 0000000..9eea07b
+--- /dev/null
++++ b/data/patches/default-search-duckduckgo.patch
+@@ -0,0 +1,1108 @@
++--- a/browser/components/search/SearchTelemetry.jsm.orig	1980-01-01 18:59:51.000000000 -0500
+++++ b/browser/components/search/SearchTelemetry.jsm	2019-10-25 06:58:49.564335696 -0400
++@@ -40,6 +40,12 @@
++  *     page mightbe an advert.
++  */
++ const SEARCH_PROVIDER_INFO = {
+++  duckduckgo: {
+++    regexp: /^https:\/\/duckduckgo\.com\//,
+++    queryParam: "q",
+++    codeParam: "t",
+++    codePrefixes: ["ff"],
+++  },
++   google: {
++     regexp: /^https:\/\/www\.google\.(?:.+)\/search/,
++     queryParam: "q",
++@@ -50,12 +56,6 @@
++       /^https:\/\/www\.googleadservices\.com\/(?:pagead\/)?aclk/,
++     ],
++   },
++-  duckduckgo: {
++-    regexp: /^https:\/\/duckduckgo\.com\//,
++-    queryParam: "q",
++-    codeParam: "t",
++-    codePrefixes: ["ff"],
++-  },
++   yahoo: {
++     regexp: /^https:\/\/(?:.*)search\.yahoo\.com\/search/,
++     queryParam: "p",
++--- a/browser/components/search/extensions/list.json.orig	1980-01-01 18:59:51.000000000 -0500
+++++ b/browser/components/search/extensions/list.json	2019-10-25 07:27:58.209006756 -0400
++@@ -1,9 +1,9 @@
++ {
++   "default": {
++-    "searchDefault": "Google",
++-    "searchOrder": ["Google", "Bing"],
+++    "searchDefault": "DuckDuckGo",
+++    "searchOrder": ["DuckDuckGo", "Google", "Bing"],
++     "visibleDefaultEngines": [
++-      "google-b-d", "amazondotcom", "bing", "ddg", "ebay", "twitter", "wikipedia"
+++      "ddg", "google-b-d", "amazondotcom", "bing", "ebay", "twitter", "wikipedia"
++     ]
++   },
++   "regionOverrides": {
++@@ -54,32 +54,32 @@
++     "en-US": {
++       "default": {
++         "visibleDefaultEngines": [
++-          "google-b-d", "amazondotcom", "bing", "ddg", "ebay", "twitter", "wikipedia"
+++          "ddg", "google-b-d", "amazondotcom", "bing", "ebay", "twitter", "wikipedia"
++         ]
++       },
++       "KZ": {
++         "visibleDefaultEngines": [
++-          "amazondotcom", "bing", "google", "twitter", "wikipedia", "ddg", "yandex-en"
+++          "ddg", "amazondotcom", "bing", "google", "twitter", "wikipedia", "yandex-en"
++         ],
++-        "searchDefault": "Yandex"
+++        "searchDefault": "DuckDuckGo"
++       },
++       "BY": {
++         "visibleDefaultEngines": [
++-          "amazondotcom", "bing", "google", "twitter", "wikipedia", "ddg", "yandex-en"
+++          "ddg", "amazondotcom", "bing", "google", "twitter", "wikipedia", "yandex-en"
++         ],
++-        "searchDefault": "Yandex"
+++        "searchDefault": "DuckDuckGo"
++       },
++       "RU": {
++         "visibleDefaultEngines": [
++-          "amazondotcom", "bing", "google", "twitter", "wikipedia", "ddg", "yandex-en"
+++          "ddg", "amazondotcom", "bing", "google", "twitter", "wikipedia", "yandex-en"
++         ],
++-        "searchDefault": "Yandex"
+++        "searchDefault": "DuckDuckGo"
++       },
++       "TR": {
++         "visibleDefaultEngines": [
++-          "amazondotcom", "bing", "google", "twitter", "wikipedia", "ddg", "yandex-en"
+++          "ddg", "amazondotcom", "bing", "google", "twitter", "wikipedia", "yandex-en"
++         ],
++-        "searchDefault": "Yandex"
+++        "searchDefault": "DuckDuckGo"
++       },
++       "experimental-hidden": {
++         "visibleDefaultEngines": [
++@@ -90,131 +90,131 @@
++     "ach": {
++       "default": {
++         "visibleDefaultEngines": [
++-          "google-b-d", "bing", "amazondotcom", "ddg", "twitter", "wikipedia"
+++          "ddg", "google-b-d", "bing", "amazondotcom", "twitter", "wikipedia"
++         ]
++       }
++     },
++     "af": {
++       "default": {
++         "visibleDefaultEngines": [
++-          "google-b-d", "bing", "amazondotcom", "ddg", "wikipedia-af"
+++          "ddg", "google-b-d", "bing", "amazondotcom", "wikipedia-af"
++         ]
++       }
++     },
++     "an": {
++       "default": {
++         "visibleDefaultEngines": [
++-          "google-b-d", "bing", "ebay-es", "wikipedia-an", "ddg", "twitter"
+++          "ddg", "google-b-d", "bing", "ebay-es", "wikipedia-an", "twitter"
++         ]
++       }
++     },
++     "ar": {
++       "default": {
++         "visibleDefaultEngines": [
++-          "google-b-d", "bing", "amazondotcom", "ddg", "wikipedia-ar"
+++          "ddg", "google-b-d", "bing", "amazondotcom", "wikipedia-ar"
++         ]
++       }
++     },
++     "as": {
++       "default": {
++         "visibleDefaultEngines": [
++-          "google-b-d", "amazon-in", "ddg", "wikipedia-as"
+++          "ddg", "google-b-d", "amazon-in", "wikipedia-as"
++         ]
++       }
++     },
++     "ast": {
++       "default": {
++         "visibleDefaultEngines": [
++-          "google-b-d", "bing", "ddg", "ebay-es", "wikipedia-ast"
+++          "ddg", "google-b-d", "bing", "ebay-es", "wikipedia-ast"
++         ]
++       }
++     },
++     "az": {
++       "default": {
++         "visibleDefaultEngines": [
++-          "google-b-d", "amazondotcom", "azerdict", "bing", "ddg", "wikipedia-az", "yandex-az"
+++          "ddg", "google-b-d", "amazondotcom", "azerdict", "bing", "wikipedia-az", "yandex-az"
++         ]
++       }
++     },
++     "be": {
++       "default": {
++         "visibleDefaultEngines": [
++-          "yandex-by", "google-b-d", "ddg", "wikipedia-be", "wikipedia-be-tarask"
+++          "ddg", "yandex-by", "google-b-d", "wikipedia-be", "wikipedia-be-tarask"
++         ]
++       },
++       "BY": {
++-        "searchDefault": "Яндекс"
+++        "searchDefault": "DuckDuckGo"
++       },
++       "KZ": {
++-        "searchDefault": "Яндекс"
+++        "searchDefault": "DuckDuckGo"
++       },
++       "RU": {
++-        "searchDefault": "Яндекс"
+++        "searchDefault": "DuckDuckGo"
++       },
++       "TR": {
++-        "searchDefault": "Яндекс"
+++        "searchDefault": "DuckDuckGo"
++       }
++     },
++     "bg": {
++       "default": {
++         "visibleDefaultEngines": [
++-          "google-b-d", "amazondotcom", "ddg", "pazaruvaj", "wikipedia-bg"
+++          "ddg", "google-b-d", "amazondotcom", "pazaruvaj", "wikipedia-bg"
++         ]
++       }
++     },
++     "bn": {
++       "default": {
++         "visibleDefaultEngines": [
++-          "google-b-d", "amazon-in", "bing", "ddg", "wikipedia-bn"
+++          "ddg", "google-b-d", "amazon-in", "bing", "wikipedia-bn"
++         ]
++       }
++     },
++     "bn-BD": {
++       "default": {
++         "visibleDefaultEngines": [
++-          "google-b-d", "bing", "ddg", "wikipedia-bn"
+++          "ddg", "google-b-d", "bing", "wikipedia-bn"
++         ]
++       }
++     },
++     "bn-IN": {
++       "default": {
++         "visibleDefaultEngines": [
++-          "google-b-d", "amazon-in", "bing", "ddg", "wikipedia-bn"
+++          "ddg", "google-b-d", "amazon-in", "bing", "wikipedia-bn"
++         ]
++       }
++     },
++     "br": {
++       "default": {
++         "visibleDefaultEngines": [
++-          "google-b-d", "amazon-france", "ddg", "ebay-fr", "freelang", "wikipedia-br"
+++          "ddg", "google-b-d", "amazon-france", "ebay-fr", "freelang", "wikipedia-br"
++         ]
++       }
++     },
++     "bs": {
++       "default": {
++         "visibleDefaultEngines": [
++-          "google-b-d", "ddg", "olx", "twitter", "wikipedia-bs"
+++          "ddg", "google-b-d", "olx", "twitter", "wikipedia-bs"
++         ]
++       }
++     },
++     "ca": {
++       "default": {
++         "visibleDefaultEngines": [
++-          "google-b-d", "bing", "diec2", "ddg", "ebay-es", "twitter", "wikipedia-ca"
+++          "ddg", "google-b-d", "bing", "diec2", "ebay-es", "twitter", "wikipedia-ca"
++         ]
++       }
++     },
++     "cak": {
++       "default": {
++         "visibleDefaultEngines": [
++-          "google-b-d", "bing", "amazondotcom", "ddg", "wikipedia-es"
+++          "ddg", "google-b-d", "bing", "amazondotcom", "wikipedia-es"
++         ]
++       }
++     },
++     "crh": {
++       "default": {
++         "visibleDefaultEngines": [
++-          "google-b-d", "ddg", "twitter", "wikipedia-crh"
+++          "ddg", "google-b-d", "twitter", "wikipedia-crh"
++         ]
++       }
++     },
++@@ -222,74 +222,74 @@
++       "default": {
++         "searchOrder": ["Google", "Seznam"],
++         "visibleDefaultEngines": [
++-          "google-b-d", "seznam-cz", "ddg", "heureka-cz", "mapy-cz", "wikipedia-cz"
+++          "ddg", "google-b-d", "seznam-cz", "heureka-cz", "mapy-cz", "wikipedia-cz"
++         ]
++       }
++     },
++     "cy": {
++       "default": {
++         "visibleDefaultEngines": [
++-          "google-b-d", "amazon-en-GB", "ddg", "ebay-uk", "palasprint", "wikipedia-cy"
+++          "ddg", "google-b-d", "amazon-en-GB", "ebay-uk", "palasprint", "wikipedia-cy"
++         ]
++       }
++     },
++     "da": {
++       "default": {
++         "visibleDefaultEngines": [
++-          "google-b-d", "bing", "amazon-en-GB", "ddg", "wikipedia-da"
+++          "ddg", "google-b-d", "bing", "amazon-en-GB", "wikipedia-da"
++         ]
++       }
++     },
++     "de": {
++       "default": {
++         "visibleDefaultEngines": [
++-          "google-b-d", "amazon-de", "bing", "ddg", "ebay-de", "ecosia", "leo_ende_de", "wikipedia-de"
+++          "ddg", "google-b-d", "amazon-de", "bing", "ebay-de", "ecosia", "leo_ende_de", "wikipedia-de"
++         ]
++       }
++     },
++     "dsb": {
++       "default": {
++         "visibleDefaultEngines": [
++-          "google-b-d", "bing", "amazon-de", "ddg", "ebay-de", "leo_ende_de", "wikipedia-dsb"
+++          "ddg", "google-b-d", "bing", "amazon-de", "ebay-de", "leo_ende_de", "wikipedia-dsb"
++         ]
++       }
++     },
++     "el": {
++       "default": {
++         "visibleDefaultEngines": [
++-          "google-b-d", "amazon-en-GB", "bing", "ddg", "wikipedia-el"
+++          "ddg", "google-b-d", "amazon-en-GB", "bing", "wikipedia-el"
++         ]
++       }
++     },
++     "en-CA": {
++       "default": {
++         "visibleDefaultEngines": [
++-          "google-b-d", "amazon-ca", "bing", "ddg", "ebay-ca", "twitter", "wikipedia"
+++          "ddg", "google-b-d", "amazon-ca", "bing", "ebay-ca", "twitter", "wikipedia"
++         ]
++       },
++       "KZ": {
++         "visibleDefaultEngines": [
++-          "yandex-en", "google-b-d", "amazon-ca", "bing", "ddg", "ebay-ca", "twitter", "wikipedia"
+++          "ddg", "yandex-en", "google-b-d", "amazon-ca", "bing", "ebay-ca", "twitter", "wikipedia"
++         ],
++-        "searchDefault": "Yandex"
+++        "searchDefault": "DuckDuckGo"
++       },
++       "BY": {
++         "visibleDefaultEngines": [
++-          "yandex-en", "google-b-d", "amazon-ca", "bing", "ddg", "ebay-ca", "twitter", "wikipedia"
+++          "ddg", "yandex-en", "google-b-d", "amazon-ca", "bing", "ebay-ca", "twitter", "wikipedia"
++         ],
++-        "searchDefault": "Yandex"
+++        "searchDefault": "DuckDuckGo"
++       },
++       "RU": {
++         "visibleDefaultEngines": [
++-          "yandex-en", "google-b-d", "amazon-ca", "bing", "ddg", "ebay-ca", "twitter", "wikipedia"
+++          "ddg", "yandex-en", "google-b-d", "amazon-ca", "bing", "ebay-ca", "twitter", "wikipedia"
++         ],
++-        "searchDefault": "Yandex"
+++        "searchDefault": "DuckDuckGo"
++       },
++       "TR": {
++         "visibleDefaultEngines": [
++-          "yandex-en", "google-b-d", "amazon-ca", "bing", "ddg", "ebay-ca", "twitter", "wikipedia"
+++          "ddg", "yandex-en", "google-b-d", "amazon-ca", "bing", "ebay-ca", "twitter", "wikipedia"
++         ],
++-        "searchDefault": "Yandex"
+++        "searchDefault": "DuckDuckGo"
++       },
++       "experimental-hidden": {
++         "visibleDefaultEngines": [
++@@ -300,32 +300,32 @@
++     "en-GB": {
++       "default": {
++         "visibleDefaultEngines": [
++-          "google-b-d", "bing", "amazon-en-GB", "chambers-en-GB", "ddg", "ebay-uk", "twitter", "wikipedia"
+++          "ddg", "google-b-d", "bing", "amazon-en-GB", "chambers-en-GB", "ebay-uk", "twitter", "wikipedia"
++         ]
++       },
++       "KZ": {
++         "visibleDefaultEngines": [
++-          "yandex-en", "google-b-d", "bing", "amazon-en-GB", "chambers-en-GB", "ddg", "ebay-uk", "twitter", "wikipedia"
+++          "ddg", "yandex-en", "google-b-d", "bing", "amazon-en-GB", "chambers-en-GB", "ebay-uk", "twitter", "wikipedia"
++         ],
++-        "searchDefault": "Yandex"
+++        "searchDefault": "DuckDuckGo"
++       },
++       "BY": {
++         "visibleDefaultEngines": [
++-          "yandex-en", "google-b-d", "bing", "amazon-en-GB", "chambers-en-GB", "ddg", "ebay-uk", "twitter", "wikipedia"
+++          "ddg", "yandex-en", "google-b-d", "bing", "amazon-en-GB", "chambers-en-GB", "ebay-uk", "twitter", "wikipedia"
++         ],
++-        "searchDefault": "Yandex"
+++        "searchDefault": "DuckDuckGo"
++       },
++       "RU": {
++         "visibleDefaultEngines": [
++-          "yandex-en", "google-b-d", "bing", "amazon-en-GB", "chambers-en-GB", "ddg", "ebay-uk", "twitter", "wikipedia"
+++          "ddg", "yandex-en", "google-b-d", "bing", "amazon-en-GB", "chambers-en-GB", "ebay-uk", "twitter", "wikipedia"
++         ],
++-        "searchDefault": "Yandex"
+++        "searchDefault": "DuckDuckGo"
++       },
++       "TR": {
++         "visibleDefaultEngines": [
++-          "yandex-en", "google-b-d", "bing", "amazon-en-GB", "chambers-en-GB", "ddg", "ebay-uk", "twitter", "wikipedia"
+++          "ddg", "yandex-en", "google-b-d", "bing", "amazon-en-GB", "chambers-en-GB", "ebay-uk", "twitter", "wikipedia"
++         ],
++-        "searchDefault": "Yandex"
+++        "searchDefault": "DuckDuckGo"
++       },
++       "experimental-hidden": {
++         "visibleDefaultEngines": [
++@@ -336,66 +336,66 @@
++     "en-ZA": {
++       "default": {
++         "visibleDefaultEngines": [
++-          "google-b-d", "bing", "amazondotcom", "ddg", "twitter", "wikipedia"
+++          "ddg", "google-b-d", "bing", "amazondotcom", "twitter", "wikipedia"
++         ]
++       },
++       "KZ": {
++         "visibleDefaultEngines": [
++-          "yandex-en", "google-b-d", "bing", "amazondotcom", "ddg", "twitter", "wikipedia"
+++          "ddg", "yandex-en", "google-b-d", "bing", "amazondotcom", "twitter", "wikipedia"
++         ],
++-        "searchDefault": "Yandex"
+++        "searchDefault": "DuckDuckGo"
++       },
++       "BY": {
++         "visibleDefaultEngines": [
++-          "yandex-en", "google-b-d", "bing", "amazondotcom", "ddg", "twitter", "wikipedia"
+++          "ddg", "yandex-en", "google-b-d", "bing", "amazondotcom", "twitter", "wikipedia"
++         ],
++-        "searchDefault": "Yandex"
+++        "searchDefault": "DuckDuckGo"
++       },
++       "RU": {
++         "visibleDefaultEngines": [
++-          "yandex-en", "google-b-d", "bing", "amazondotcom", "ddg", "twitter", "wikipedia"
+++          "ddg", "yandex-en", "google-b-d", "bing", "amazondotcom", "twitter", "wikipedia"
++         ],
++-        "searchDefault": "Yandex"
+++        "searchDefault": "DuckDuckGo"
++       },
++       "TR": {
++         "visibleDefaultEngines": [
++-          "yandex-en", "google-b-d", "bing", "amazondotcom", "ddg", "twitter", "wikipedia"
+++          "ddg", "yandex-en", "google-b-d", "bing", "amazondotcom", "twitter", "wikipedia"
++         ],
++-        "searchDefault": "Yandex"
+++        "searchDefault": "DuckDuckGo"
++       }
++     },
++     "eo": {
++       "default": {
++         "visibleDefaultEngines": [
++-          "google-b-d", "bing", "amazondotcom", "ddg", "wikipedia-eo"
+++          "ddg", "google-b-d", "bing", "amazondotcom", "wikipedia-eo"
++         ]
++       }
++     },
++     "es-AR": {
++       "default": {
++         "visibleDefaultEngines": [
++-          "google-b-d", "amazondotcom", "drae", "ddg", "mercadolibre-ar", "wikipedia-es"
+++          "ddg", "google-b-d", "amazondotcom", "drae", "mercadolibre-ar", "wikipedia-es"
++         ]
++       }
++     },
++     "es-CL": {
++       "default": {
++         "visibleDefaultEngines": [
++-          "google-b-d", "bing", "drae", "ddg", "mercadolibre-cl", "wikipedia-es"
+++          "ddg", "google-b-d", "bing", "drae", "mercadolibre-cl", "wikipedia-es"
++         ]
++       }
++     },
++     "es-ES": {
++       "default": {
++         "visibleDefaultEngines": [
++-          "google-b-d", "bing", "drae", "ddg", "ebay-es", "twitter", "wikipedia-es"
+++          "ddg", "google-b-d", "bing", "drae", "ebay-es", "twitter", "wikipedia-es"
++         ]
++       }
++     },
++     "es-MX": {
++       "default": {
++         "visibleDefaultEngines": [
++-          "google-b-d", "bing", "ddg", "mercadolibre-mx", "wikipedia-es"
+++          "ddg", "google-b-d", "bing", "mercadolibre-mx", "wikipedia-es"
++         ]
++       },
++       "experimental-hidden": {
++@@ -407,49 +407,49 @@
++     "et": {
++       "default": {
++         "visibleDefaultEngines": [
++-          "google-b-d", "neti-ee", "ddg", "osta-ee", "wikipedia-et", "eki-ee"
+++          "ddg", "google-b-d", "neti-ee", "osta-ee", "wikipedia-et", "eki-ee"
++         ]
++       }
++     },
++     "eu": {
++       "default": {
++         "visibleDefaultEngines": [
++-          "google-b-d", "bing", "amazon-en-GB", "ddg", "ebay-es", "wikipedia-eu"
+++          "ddg", "google-b-d", "bing", "amazon-en-GB", "ebay-es", "wikipedia-eu"
++         ]
++       }
++     },
++     "fa": {
++       "default": {
++         "visibleDefaultEngines": [
++-          "google-b-d", "amazondotcom", "bing", "ddg", "wikipedia-fa"
+++          "ddg", "google-b-d", "amazondotcom", "bing", "wikipedia-fa"
++         ]
++       }
++     },
++     "ff": {
++       "default": {
++         "visibleDefaultEngines": [
++-          "google-b-d", "bing", "amazon-france", "ddg", "wikipedia-fr"
+++          "ddg", "google-b-d", "bing", "amazon-france", "wikipedia-fr"
++         ]
++       }
++     },
++     "fi": {
++       "default": {
++         "visibleDefaultEngines": [
++-          "google-b-d", "bing", "ddg", "wikipedia-fi"
+++          "ddg", "google-b-d", "bing", "wikipedia-fi"
++         ]
++       }
++     },
++     "fr": {
++       "default": {
++         "visibleDefaultEngines": [
++-          "google-b-d", "bing", "amazon-france", "ddg", "ebay-fr", "qwant", "wikipedia-fr"
+++          "ddg", "google-b-d", "bing", "amazon-france", "ebay-fr", "qwant", "wikipedia-fr"
++         ]
++       }
++     },
++     "fy-NL": {
++       "default": {
++         "visibleDefaultEngines": [
++-          "google-b-d", "bing", "bolcom-fy-NL", "ddg", "ebay-nl", "marktplaats-fy-NL", "wikipedia-fy-NL"
+++          "ddg", "google-b-d", "bing", "bolcom-fy-NL", "ebay-nl", "marktplaats-fy-NL", "wikipedia-fy-NL"
++         ]
++       },
++       "experimental-hidden": {
++@@ -461,105 +461,105 @@
++     "ga-IE": {
++       "default": {
++         "visibleDefaultEngines": [
++-          "google-b-d", "amazon-en-GB", "ddg", "ebay-ie", "tearma", "twitter", "wikipedia-ga-IE"
+++          "ddg", "google-b-d", "amazon-en-GB", "ebay-ie", "tearma", "twitter", "wikipedia-ga-IE"
++         ]
++       }
++     },
++     "gd": {
++       "default": {
++         "visibleDefaultEngines": [
++-          "google-b-d", "amazon-en-GB", "bbc-alba", "ddg", "ebay-uk", "faclair-beag", "wikipedia-gd"
+++          "ddg", "google-b-d", "amazon-en-GB", "bbc-alba", "ebay-uk", "faclair-beag", "wikipedia-gd"
++         ]
++       }
++     },
++     "gl": {
++       "default": {
++         "visibleDefaultEngines": [
++-          "google-b-d", "amazon-en-GB", "ddg", "ebay-es", "wikipedia-gl"
+++          "ddg", "google-b-d", "amazon-en-GB", "ebay-es", "wikipedia-gl"
++         ]
++       }
++     },
++     "gn": {
++       "default": {
++         "visibleDefaultEngines": [
++-          "google-b-d", "bing", "amazondotcom", "ddg", "twitter", "wikipedia-gn"
+++          "ddg", "google-b-d", "bing", "amazondotcom", "twitter", "wikipedia-gn"
++         ]
++       }
++     },
++     "gu-IN": {
++       "default": {
++         "visibleDefaultEngines": [
++-          "google-b-d", "bing", "amazon-in", "ddg", "wikipedia-gu"
+++          "ddg", "google-b-d", "bing", "amazon-in", "wikipedia-gu"
++         ]
++       }
++     },
++     "he": {
++       "default": {
++         "visibleDefaultEngines": [
++-          "google-b-d", "ddg", "wikipedia-he", "morfix-dic"
+++          "ddg", "google-b-d", "wikipedia-he", "morfix-dic"
++         ]
++       }
++     },
++     "hi-IN": {
++       "default": {
++         "visibleDefaultEngines": [
++-          "google-b-d", "bing", "ddg", "wikipedia-hi"
+++          "ddg", "google-b-d", "bing", "wikipedia-hi"
++         ]
++       }
++     },
++     "hr": {
++       "default": {
++         "visibleDefaultEngines": [
++-          "google-b-d", "amazon-en-GB", "bing", "ddg", "eudict", "twitter", "wikipedia-hr"
+++          "ddg", "google-b-d", "amazon-en-GB", "bing", "eudict", "twitter", "wikipedia-hr"
++         ]
++       }
++     },
++     "hsb": {
++       "default": {
++         "visibleDefaultEngines": [
++-          "google-b-d", "bing", "amazon-de", "ddg", "ebay-de", "leo_ende_de", "wikipedia-hsb"
+++          "ddg", "google-b-d", "bing", "amazon-de", "ebay-de", "leo_ende_de", "wikipedia-hsb"
++         ]
++       }
++     },
++     "hu": {
++       "default": {
++         "visibleDefaultEngines": [
++-          "google-b-d", "ddg", "vatera", "wikipedia-hu"
+++          "ddg", "google-b-d", "vatera", "wikipedia-hu"
++         ]
++       }
++     },
++     "hy-AM": {
++       "default": {
++         "visibleDefaultEngines": [
++-          "google-b-d", "amazondotcom", "ddg", "list-am", "wikipedia-hy"
+++          "ddg", "google-b-d", "amazondotcom", "list-am", "wikipedia-hy"
++         ]
++       }
++     },
++     "ia": {
++       "default": {
++         "visibleDefaultEngines": [
++-          "google-b-d", "bing", "amazondotcom", "ddg", "twitter", "wikipedia-ia"
+++          "ddg", "google-b-d", "bing", "amazondotcom", "twitter", "wikipedia-ia"
++         ]
++       }
++     },
++     "id": {
++       "default": {
++         "visibleDefaultEngines": [
++-          "google-b-d", "ddg", "wikipedia-id"
+++          "ddg", "google-b-d", "wikipedia-id"
++         ]
++       }
++     },
++     "is": {
++       "default": {
++         "visibleDefaultEngines": [
++-          "google-b-d", "bing", "amazondotcom", "ddg", "wikipedia-is"
+++          "ddg", "google-b-d", "bing", "amazondotcom", "wikipedia-is"
++         ]
++       }
++     },
++     "it": {
++       "default": {
++         "visibleDefaultEngines": [
++-          "google-b-d", "bing", "amazon-it", "ddg", "ebay-it", "wikipedia-it"
+++          "ddg", "google-b-d", "bing", "amazon-it", "ebay-it", "wikipedia-it"
++         ]
++       }
++     },
++@@ -567,7 +567,7 @@
++       "default": {
++         "searchOrder": ["Google", "Yahoo! JAPAN", "Bing", "Amazon.co.jp", "楽天市場", "ヤフオク!", "教えて!goo", "Twitter", "Wikipedia (ja)"],
++         "visibleDefaultEngines": [
++-          "google-b-d", "yahoo-jp", "bing", "amazon-jp", "rakuten", "yahoo-jp-auctions", "oshiete-goo", "twitter-ja", "wikipedia-ja", "ddg"
+++          "ddg", "google-b-d", "yahoo-jp", "bing", "amazon-jp", "rakuten", "yahoo-jp-auctions", "oshiete-goo", "twitter-ja", "wikipedia-ja"
++         ]
++       }
++     },
++@@ -575,159 +575,159 @@
++       "default": {
++         "searchOrder": ["Google", "Yahoo! JAPAN", "Bing", "Amazon.co.jp", "楽天市場", "ヤフオク!", "教えて!goo", "Twitter", "Wikipedia (ja)"],
++         "visibleDefaultEngines": [
++-          "google-b-d", "yahoo-jp", "bing", "amazon-jp", "rakuten", "yahoo-jp-auctions", "oshiete-goo", "twitter-ja", "wikipedia-ja", "ddg"
+++            "ddg", "google-b-d", "yahoo-jp", "bing", "amazon-jp", "rakuten", "yahoo-jp-auctions", "oshiete-goo", "twitter-ja", "wikipedia-ja"
++         ]
++       }
++     },
++     "ka": {
++       "default": {
++         "visibleDefaultEngines": [
++-          "google-b-d", "bing", "amazondotcom", "ddg", "twitter", "wikipedia-ka"
+++          "ddg", "google-b-d", "bing", "amazondotcom", "twitter", "wikipedia-ka"
++         ]
++       }
++     },
++     "kab": {
++       "default": {
++         "visibleDefaultEngines": [
++-          "google-b-d", "bing", "ddg", "wikipedia-kab"
+++          "ddg", "google-b-d", "bing", "wikipedia-kab"
++         ]
++       }
++     },
++     "kk": {
++       "default": {
++         "visibleDefaultEngines": [
++-          "yandex-kk", "google-b-d", "ddg", "flip", "twitter", "wikipedia-kk"
+++          "ddg", "yandex-kk", "google-b-d", "flip", "twitter", "wikipedia-kk"
++         ]
++       },
++       "KZ": {
++-        "searchDefault": "Яндекс"
+++        "searchDefault": "DuckDuckGo"
++       },
++       "BY": {
++-        "searchDefault": "Яндекс"
+++        "searchDefault": "DuckDuckGo"
++       },
++       "RU": {
++-        "searchDefault": "Яндекс"
+++        "searchDefault": "DuckDuckGo"
++       },
++       "TR": {
++-        "searchDefault": "Яндекс"
+++        "searchDefault": "DuckDuckGo"
++       }
++     },
++     "km": {
++       "default": {
++         "visibleDefaultEngines": [
++-          "google-b-d", "bing", "amazondotcom", "ddg", "twitter", "wikipedia-km"
+++          "ddg", "google-b-d", "bing", "amazondotcom", "twitter", "wikipedia-km"
++         ]
++       }
++     },
++     "kn": {
++       "default": {
++         "visibleDefaultEngines": [
++-          "google-b-d", "bing", "amazon-in", "ddg", "kannadastore", "wikipedia-kn"
+++          "ddg", "google-b-d", "bing", "amazon-in", "kannadastore", "wikipedia-kn"
++         ]
++       }
++     },
++     "ko": {
++       "default": {
++         "visibleDefaultEngines": [
++-          "google-b-d", "ddg", "naver-kr", "daum-kr", "wikipedia-kr"
+++          "ddg", "google-b-d", "naver-kr", "daum-kr", "wikipedia-kr"
++         ]
++       }
++     },
++     "lij": {
++       "default": {
++         "visibleDefaultEngines": [
++-          "google-b-d", "bing", "amazon-it", "ddg", "ebay-it", "wikipedia-lij"
+++          "ddg", "google-b-d", "bing", "amazon-it", "ebay-it", "wikipedia-lij"
++         ]
++       }
++     },
++     "lo": {
++       "default": {
++         "visibleDefaultEngines": [
++-          "google-b-d", "bing", "ddg", "wikipedia-lo", "twitter"
+++          "ddg", "google-b-d", "bing", "wikipedia-lo", "twitter"
++         ]
++       }
++     },
++     "lt": {
++       "default": {
++         "visibleDefaultEngines": [
++-          "google-b-d", "wikipedia-lt", "bing", "amazondotcom", "ddg", "twitter"
+++          "ddg", "google-b-d", "wikipedia-lt", "bing", "amazondotcom", "twitter"
++         ]
++       }
++     },
++     "ltg": {
++       "default": {
++         "visibleDefaultEngines": [
++-          "google-b-d", "ddg", "salidzinilv", "sslv", "wikipedia-ltg"
+++          "ddg", "google-b-d", "salidzinilv", "sslv", "wikipedia-ltg"
++         ]
++       }
++     },
++     "lv": {
++       "default": {
++         "visibleDefaultEngines": [
++-          "google-b-d", "ddg", "salidzinilv", "sslv", "wikipedia-lv"
+++          "ddg", "google-b-d", "salidzinilv", "sslv", "wikipedia-lv"
++         ]
++       }
++     },
++     "mai": {
++       "default": {
++         "visibleDefaultEngines": [
++-          "google-b-d", "bing", "amazon-in", "ddg", "twitter", "wikipedia-hi"
+++          "ddg", "google-b-d", "bing", "amazon-in", "twitter", "wikipedia-hi"
++         ]
++       }
++     },
++     "mk": {
++       "default": {
++         "visibleDefaultEngines": [
++-          "google-b-d", "bing", "amazondotcom", "ddg", "wikipedia-mk"
+++          "ddg", "google-b-d", "bing", "amazondotcom", "wikipedia-mk"
++         ]
++       }
++     },
++     "ml": {
++       "default": {
++         "visibleDefaultEngines": [
++-          "google-b-d", "bing", "amazon-in", "ddg", "wikipedia", "wikipedia-ml"
+++          "ddg", "google-b-d", "bing", "amazon-in", "wikipedia", "wikipedia-ml"
++         ]
++       }
++     },
++     "mr": {
++       "default": {
++         "visibleDefaultEngines": [
++-          "google-b-d", "amazon-in", "ddg", "wikipedia-mr"
+++          "ddg", "google-b-d", "amazon-in", "wikipedia-mr"
++         ]
++       }
++     },
++     "ms": {
++       "default": {
++         "visibleDefaultEngines": [
++-          "google-b-d", "bing", "amazondotcom", "ddg", "twitter", "wikipedia-ms"
+++          "ddg", "google-b-d", "bing", "amazondotcom", "twitter", "wikipedia-ms"
++         ]
++       }
++     },
++     "my": {
++       "default": {
++         "visibleDefaultEngines": [
++-          "google-b-d", "bing", "amazondotcom", "ddg", "twitter", "wikipedia-my"
+++          "ddg", "google-b-d", "bing", "amazondotcom", "twitter", "wikipedia-my"
++         ]
++       }
++     },
++     "nb-NO": {
++       "default": {
++         "visibleDefaultEngines": [
++-          "google-b-d", "amazon-en-GB", "bing", "ddg", "gulesider-NO", "bok-NO", "qxl-NO", "wikipedia-NO"
+++          "ddg", "google-b-d", "amazon-en-GB", "bing", "gulesider-NO", "bok-NO", "qxl-NO", "wikipedia-NO"
++         ]
++       }
++     },
++     "ne-NP": {
++       "default": {
++         "visibleDefaultEngines": [
++-          "google-b-d", "bing", "ddg", "twitter", "wikipedia-ne"
+++          "ddg", "google-b-d", "bing", "twitter", "wikipedia-ne"
++         ]
++       }
++     },
++     "nl": {
++       "default": {
++         "visibleDefaultEngines": [
++-          "google-b-d", "bing", "bolcom-nl", "ddg", "ebay-nl", "marktplaats-nl", "wikipedia-nl"
+++          "ddg", "google-b-d", "bing", "bolcom-nl", "ebay-nl", "marktplaats-nl", "wikipedia-nl"
++         ]
++       },
++       "experimental-hidden": {
++@@ -739,244 +739,244 @@
++     "nn-NO": {
++       "default": {
++         "visibleDefaultEngines": [
++-          "google-b-d", "bing", "amazon-en-GB", "ddg", "gulesider-NO", "bok-NO", "qxl-NO", "wikipedia-NN"
+++          "ddg", "google-b-d", "bing", "amazon-en-GB", "gulesider-NO", "bok-NO", "qxl-NO", "wikipedia-NN"
++         ]
++       }
++     },
++     "oc": {
++       "default": {
++         "visibleDefaultEngines": [
++-          "google-b-d", "bing", "ddg", "twitter", "wikipedia-oc", "wiktionary-oc"
+++          "ddg", "google-b-d", "bing", "twitter", "wikipedia-oc", "wiktionary-oc"
++         ]
++       }
++     },
++     "or": {
++       "default": {
++         "visibleDefaultEngines": [
++-          "google-b-d", "bing", "amazon-in", "ddg", "wikipedia-or"
+++          "ddg", "google-b-d", "bing", "amazon-in", "wikipedia-or"
++         ]
++       }
++     },
++     "pa-IN": {
++       "default": {
++         "visibleDefaultEngines": [
++-          "google-b-d", "bing", "amazon-in", "ddg", "wikipedia-pa"
+++          "ddg", "google-b-d", "bing", "amazon-in", "wikipedia-pa"
++         ]
++       }
++     },
++     "pl": {
++       "default": {
++         "visibleDefaultEngines": [
++-          "google-b-d", "allegro-pl", "ddg", "pwn-pl", "wikipedia-pl", "wolnelektury-pl"
+++          "ddg", "google-b-d", "allegro-pl", "pwn-pl", "wikipedia-pl", "wolnelektury-pl"
++         ]
++       }
++     },
++     "pt-BR": {
++       "default": {
++         "visibleDefaultEngines": [
++-          "google-b-d", "bing", "ddg", "mercadolivre", "twitter", "wikipedia-pt"
+++          "ddg", "google-b-d", "bing", "mercadolivre", "twitter", "wikipedia-pt"
++         ]
++       }
++     },
++     "pt-PT": {
++       "default": {
++         "visibleDefaultEngines": [
++-          "google-b-d", "amazon-en-GB", "ddg", "priberam", "wikipedia-pt"
+++          "ddg", "google-b-d", "amazon-en-GB", "priberam", "wikipedia-pt"
++         ]
++       }
++     },
++     "rm": {
++       "default": {
++         "visibleDefaultEngines": [
++-          "google-b-d", "bing", "ddg", "ebay-ch", "leo_ende_de", "wikipedia-rm"
+++          "ddg", "google-b-d", "bing", "ebay-ch", "leo_ende_de", "wikipedia-rm"
++         ]
++       }
++     },
++     "ro": {
++       "default": {
++         "visibleDefaultEngines": [
++-          "google-b-d", "bing", "amazondotcom", "ddg", "wikipedia-ro"
+++          "ddg", "google-b-d", "bing", "amazondotcom", "wikipedia-ro"
++         ]
++       }
++     },
++     "ru": {
++       "default": {
++         "visibleDefaultEngines": [
++-          "yandex-ru", "google-b-d", "ddg", "ozonru", "priceru", "wikipedia-ru", "mailru"
+++          "ddg", "yandex-ru", "google-b-d", "ozonru", "priceru", "wikipedia-ru", "mailru"
++         ]
++       },
++       "RU": {
++-        "searchDefault": "Яндекс"
+++        "searchDefault": "DuckDuckGo"
++       },
++       "BY": {
++-        "searchDefault": "Яндекс"
+++        "searchDefault": "DuckDuckGo"
++       },
++       "KZ": {
++-        "searchDefault": "Яндекс"
+++        "searchDefault": "DuckDuckGo"
++       },
++       "TR": {
++-        "searchDefault": "Яндекс"
+++        "searchDefault": "DuckDuckGo"
++       }
++     },
++     "si": {
++       "default": {
++         "visibleDefaultEngines": [
++-          "google-b-d", "amazondotcom", "ddg", "wikipedia-si"
+++          "ddg", "google-b-d", "amazondotcom", "wikipedia-si"
++         ]
++       }
++     },
++     "sk": {
++       "default": {
++         "visibleDefaultEngines": [
++-          "google-b-d", "azet-sk", "atlas-sk", "ddg", "wikipedia-sk", "zoznam-sk"
+++          "ddg", "google-b-d", "azet-sk", "atlas-sk", "wikipedia-sk", "zoznam-sk"
++         ]
++       }
++     },
++     "sl": {
++       "default": {
++         "visibleDefaultEngines": [
++-          "google-b-d", "ceneji", "ddg", "najdi-si", "odpiralni", "twitter", "wikipedia-sl"
+++          "ddg", "google-b-d", "ceneji", "najdi-si", "odpiralni", "twitter", "wikipedia-sl"
++         ]
++       }
++     },
++     "son": {
++       "default": {
++         "visibleDefaultEngines": [
++-          "google-b-d", "bing", "amazon-france", "ddg", "wikipedia-fr"
+++          "ddg", "google-b-d", "bing", "amazon-france", "wikipedia-fr"
++         ]
++       }
++     },
++     "sq": {
++       "default": {
++         "visibleDefaultEngines": [
++-          "google-b-d", "bing", "amazon-en-GB", "ddg", "wikipedia-sq"
+++          "ddg", "google-b-d", "bing", "amazon-en-GB", "wikipedia-sq"
++         ]
++       }
++     },
++     "sr": {
++       "default": {
++         "visibleDefaultEngines": [
++-          "google-b-d", "amazon-en-GB", "bing", "ddg", "wikipedia-sr", "pogodak"
+++          "ddg", "google-b-d", "amazon-en-GB", "bing", "wikipedia-sr", "pogodak"
++         ]
++       }
++     },
++     "sv-SE": {
++       "default": {
++         "visibleDefaultEngines": [
++-          "google-b-d", "bing", "allaannonser-sv-SE", "ddg", "prisjakt-sv-SE", "tyda-sv-SE", "wikipedia-sv-SE"
+++          "ddg", "google-b-d", "bing", "allaannonser-sv-SE", "prisjakt-sv-SE", "tyda-sv-SE", "wikipedia-sv-SE"
++         ]
++       }
++     },
++     "ta": {
++       "default": {
++         "visibleDefaultEngines": [
++-          "google-b-d", "amazon-in", "ddg", "wikipedia-ta"
+++          "ddg", "google-b-d", "amazon-in", "wikipedia-ta"
++         ]
++       }
++     },
++     "te": {
++       "default": {
++         "visibleDefaultEngines": [
++-          "google-b-d", "amazon-in", "ddg", "wikipedia-te", "wiktionary-te"
+++          "ddg", "google-b-d", "amazon-in", "wikipedia-te", "wiktionary-te"
++         ]
++       }
++     },
++     "th": {
++       "default": {
++         "visibleDefaultEngines": [
++-          "google-b-d", "amazondotcom", "bing", "ddg", "longdo", "wikipedia-th"
+++          "ddg", "google-b-d", "amazondotcom", "bing", "longdo", "wikipedia-th"
++         ]
++       }
++     },
++     "tl": {
++       "default": {
++         "visibleDefaultEngines": [
++-          "google-b-d", "bing", "amazondotcom", "ddg", "twitter", "wikipedia-tl"
+++          "ddg", "google-b-d", "bing", "amazondotcom", "twitter", "wikipedia-tl"
++         ]
++       }
++     },
++     "tr": {
++       "default": {
++         "visibleDefaultEngines": [
++-          "yandex-tr", "google-b-d", "ddg", "twitter", "wikipedia-tr"
+++          "ddg", "yandex-tr", "google-b-d", "twitter", "wikipedia-tr"
++         ]
++       },
++       "TR": {
++-        "searchDefault": "Yandex"
+++        "searchDefault": "DuckDuckGo"
++       },
++       "BY": {
++-        "searchDefault": "Yandex"
+++        "searchDefault": "DuckDuckGo"
++       },
++       "KZ": {
++-        "searchDefault": "Yandex"
+++        "searchDefault": "DuckDuckGo"
++       },
++       "RU": {
++-        "searchDefault": "Yandex"
+++        "searchDefault": "DuckDuckGo"
++       }
++     },
++     "trs": {
++       "default": {
++         "visibleDefaultEngines": [
++-          "google-b-d", "bing", "amazondotcom", "ddg", "wikipedia-es"
+++          "ddg", "google-b-d", "bing", "amazondotcom", "wikipedia-es"
++         ]
++       }
++     },
++     "uk": {
++       "default": {
++         "visibleDefaultEngines": [
++-          "google-b-d", "bing", "ddg", "wikipedia-uk", "hotline-ua"
+++          "ddg", "google-b-d", "bing", "wikipedia-uk", "hotline-ua"
++         ]
++       }
++     },
++     "ur": {
++       "default": {
++         "visibleDefaultEngines": [
++-          "google-b-d", "bing", "amazon-in", "ddg", "twitter", "wikipedia-ur"
+++          "ddg", "google-b-d", "bing", "amazon-in", "twitter", "wikipedia-ur"
++         ]
++       }
++     },
++     "uz": {
++       "default": {
++         "visibleDefaultEngines": [
++-          "google-b-d", "bing", "amazondotcom", "ddg", "twitter", "wikipedia-uz"
+++          "ddg", "google-b-d", "bing", "amazondotcom", "twitter", "wikipedia-uz"
++         ]
++       }
++     },
++     "vi": {
++       "default": {
++         "visibleDefaultEngines": [
++-          "google-b-d", "coccoc", "ddg", "wikipedia-vi"
+++          "ddg", "google-b-d", "coccoc", "wikipedia-vi"
++         ]
++       }
++     },
++     "wo": {
++       "default": {
++         "visibleDefaultEngines": [
++-          "google-b-d", "bing", "amazon-france", "ddg", "ebay-fr", "twitter", "wikipedia-wo"
+++          "ddg", "google-b-d", "bing", "amazon-france", "ebay-fr", "twitter", "wikipedia-wo"
++         ]
++       }
++     },
++     "xh": {
++       "default": {
++         "visibleDefaultEngines": [
++-          "google-b-d", "bing", "ddg", "wikipedia"
+++          "ddg", "google-b-d", "bing", "wikipedia"
++         ]
++       }
++     },
++     "zh-CN": {
++       "default": {
++         "visibleDefaultEngines": [
++-          "baidu", "google-b-d", "bing", "ddg", "wikipedia-zh-CN", "amazondotcn"
+++          "ddg", "baidu", "google-b-d", "bing", "wikipedia-zh-CN", "amazondotcn"
++         ]
++       },
++       "CN": {
++-        "searchDefault": "百度"
+++        "searchDefault": "DuckDuckGo"
++       }
++     },
++     "zh-TW": {
++       "default": {
++         "visibleDefaultEngines": [
++-          "google-b-d", "ddg", "readmoo", "wikipedia-zh-TW"
+++          "ddg", "google-b-d", "readmoo", "wikipedia-zh-TW"
++         ]
++       }
++     }
+diff --git a/data/patches/legacy-profiles.patch b/data/patches/legacy-profiles.patch
+new file mode 100644
+index 0000000..33e9e99
+--- /dev/null
++++ b/data/patches/legacy-profiles.patch
+@@ -0,0 +1,11 @@
++--- a/browser/moz.configure.orig	1980-01-01 18:59:51.000000000 -0500
+++++ b/browser/moz.configure	2019-10-26 21:58:37.719617701 -0400
++@@ -7,7 +7,7 @@
++ imply_option('MOZ_PLACES', True)
++ imply_option('MOZ_SERVICES_HEALTHREPORT', True)
++ imply_option('MOZ_SERVICES_SYNC', True)
++-imply_option('MOZ_DEDICATED_PROFILES', True)
+++imply_option('MOZ_DEDICATED_PROFILES', False)
++ imply_option('MOZ_BLOCK_PROFILE_DOWNGRADE', True)
++ 
++ with only_when(target_is_linux & compile_environment):
diff --git a/gnu/packages/patches/icecat-makeicecat.patch b/gnu/packages/patches/icecat-makeicecat.patch
index f0b36d7d524..a9920d64746 100644
--- a/gnu/packages/patches/icecat-makeicecat.patch
+++ b/gnu/packages/patches/icecat-makeicecat.patch
@@ -96,8 +96,8 @@ index b04c731..06d1f3f 100644
 -cd $SOURCEDIR
 +# cd $SOURCEDIR
  
- #for patch in $DATA/patches/*; do
- #    echo Patching with file: $patch
+ for patch in $DATA/patches/*.patch; do
+     echo Patching with file: $patch
 @@ -226,10 +226,10 @@ cp $DATA/bookmarks.html.in browser/locales/generic/profile/bookmarks.html.in
  
  find -wholename '*/brand.dtd' |xargs /bin/sed 's/trademarkInfo.part1.*/trademarkInfo.part1 "">/' -i

From 7a1b2ba54560a593eb02a3bf4d0462b66c50f2c3 Mon Sep 17 00:00:00 2001
From: Mark H Weaver 
Date: Mon, 28 Oct 2019 01:27:02 -0400
Subject: [PATCH 0530/1112] gnu: icecat: Update to 68.2.0-guix0-preview2.

* gnu/packages/gnuzilla.scm (%icecat-version): Update.
(%icecat-build-id): New variable.
(icecat-source): Update gnuzilla repo commit and hash.
(icecat)[arguments]: In the custom 'configure' phase, set the MOZ_BUILD_DATE
environment variable to the value of %icecat-build-id.
* gnu/packages/patches/icecat-gnuzilla-fixes.patch: Remove changes that
are now in the upstream repository.  Add more pending changes, including
disabling the MOZ_SERVICES_HEALTHREPORT and MOZ_BLOCK_PROFILE_DOWNGRADE
build flags, fixing a problem that prevented MOZ_DATA_REPORTING
from being disabled, and fixes to the branding.
* gnu/packages/patches/icecat-makeicecat.patch: Adapt to upstream changes,
and changes in icecat-gnuzilla-fixes.patch.  Remove a hunk that disabled
rewrites to aboutRights.dtd in the l10n directory.
---
 gnu/packages/gnuzilla.scm                     |    8 +-
 .../patches/icecat-gnuzilla-fixes.patch       | 1369 +++--------------
 gnu/packages/patches/icecat-makeicecat.patch  |   23 +-
 3 files changed, 232 insertions(+), 1168 deletions(-)

diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm
index 3902f490d03..16d3fe5db90 100644
--- a/gnu/packages/gnuzilla.scm
+++ b/gnu/packages/gnuzilla.scm
@@ -550,7 +550,8 @@ from forcing GEXP-PROMISE."
                       #:system system
                       #:guile-for-build guile)))
 
-(define %icecat-version "68.2.0-guix0-preview1")
+(define %icecat-version "68.2.0-guix0-preview2")
+(define %icecat-build-id "20191028000000") ;must be of the form YYYYMMDDhhmmss
 
 ;; 'icecat-source' is a "computed" origin that generates an IceCat tarball
 ;; from the corresponding upstream Firefox ESR tarball, using the 'makeicecat'
@@ -576,7 +577,7 @@ from forcing GEXP-PROMISE."
 
          (upstream-icecat-base-version "68.1.0") ; maybe older than base-version
          ;;(gnuzilla-commit (string-append "v" upstream-icecat-base-version))
-         (gnuzilla-commit "395cc0798600cde44a30abaa3f5d08ce8b68f782")
+         (gnuzilla-commit "aa7ab9483a64c43e77736917dd83841ccc437300")
          (gnuzilla-source
           (origin
             (method git-fetch)
@@ -586,7 +587,7 @@ from forcing GEXP-PROMISE."
             (file-name (git-file-name "gnuzilla" upstream-icecat-base-version))
             (sha256
              (base32
-              "1ll3j2kpsfp1f9dxy67fay1cidsng02l8a3a23wdjqkxgrg1cf4g"))))
+              "03jygq1zna621y0ba6370cff4v2g9l57g3015y3vxbahnmzn9msa"))))
 
          (gnuzilla-fixes-patch
           (local-file (search-patch "icecat-gnuzilla-fixes.patch")))
@@ -1016,6 +1017,7 @@ from forcing GEXP-PROMISE."
                (setenv "CONFIG_SHELL" bash)
                (setenv "AUTOCONF" (which "autoconf")) ; must be autoconf-2.13
                (setenv "CC" "gcc")  ; apparently needed when Stylo is enabled
+               (setenv "MOZ_BUILD_DATE" ,%icecat-build-id) ; avoid timestamp
                (mkdir "../build")
                (chdir "../build")
                (format #t "build directory: ~s~%" (getcwd))
diff --git a/gnu/packages/patches/icecat-gnuzilla-fixes.patch b/gnu/packages/patches/icecat-gnuzilla-fixes.patch
index f3ceaebd03c..41f0d2e3a33 100644
--- a/gnu/packages/patches/icecat-gnuzilla-fixes.patch
+++ b/gnu/packages/patches/icecat-gnuzilla-fixes.patch
@@ -1,1164 +1,241 @@
+From 2676d4e1eb64e18d2e4722c0ea0babdc1f716fa4 Mon Sep 17 00:00:00 2001
+From: Mark H Weaver 
+Date: Mon, 28 Oct 2019 01:54:19 -0400
+Subject: [PATCH 1/4] Update to 68.2.0-gnu1.
+
+* makeicecat: Update to FFMINOR to 2, and update the expected
+sha256sum of the firefox source tarball.
+---
+ makeicecat | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
 diff --git a/makeicecat b/makeicecat
-index b04c731..8e4947c 100644
+index 97ee473..1bcf465 100644
 --- a/makeicecat
 +++ b/makeicecat
-@@ -80,10 +80,10 @@ mv compare-locales $SOURCEDIR/l10n
+@@ -21,7 +21,7 @@
+ set -euxo pipefail
  
- cd $SOURCEDIR
+ FFMAJOR=68
+-FFMINOR=1
++FFMINOR=2
+ FFSUB=0
+ GNUVERSION=1
+ FFVERSION=$FFMAJOR.$FFMINOR.$FFSUB
+@@ -43,7 +43,7 @@ wget -N https://ftp.mozilla.org/pub/mozilla.org/firefox/releases/${FFVERSION}esr
+ wget -N https://ftp.mozilla.org/pub/mozilla.org/firefox/releases/${FFVERSION}esr/source/firefox-${FFVERSION}esr.source.tar.xz.asc
+ gpg --recv-keys --keyserver keyserver.ubuntu.com 14F26682D0916CDD81E37B6D61B7B526D98F0353
+ gpg --verify firefox-${FFVERSION}esr.source.tar.xz.asc
+-echo -n f56f5fa5a4744be0b9acf259cb991254d708a50b9a0a12d1d846ffa5a6c409ac firefox-${FFVERSION}esr.source.tar.xz |sha256sum -c -
++echo -n 85f1c2eaf68ebedcbc0b78a342f6d16ef0865dedd426a1bba94b75c85f716f38 firefox-${FFVERSION}esr.source.tar.xz |sha256sum -c -
  
--#for patch in $DATA/patches/*; do
--#    echo Patching with file: $patch
--#    patch -p1 < $patch
--#done
-+for patch in $DATA/patches/*.patch; do
-+    echo Patching with file: $patch
-+    patch -p1 --force --no-backup-if-mismatch --input $patch
-+done
- 
- cp $DATA/Changelog.IceCat $DATA/README.IceCat .
- 
-diff --git a/data/settings.js b/data/settings.js
-index 03af220..7b2f33a 100644
---- a/data/settings.js
-+++ b/data/settings.js
-@@ -211,6 +211,9 @@ pref("toolkit.telemetry.enabled", false);
- pref("media.eme.enabled", false);
- pref("media.eme.apiVisible", false);
- 
-+// Firefox Accounts
-+pref("identity.fxaccounts.enabled", false);
-+
- // WebRTC
- pref("media.peerconnection.enabled", true);
- // Don't reveal your internal IP when WebRTC is enabled
-diff --git a/data/patches/default-search-duckduckgo.patch b/data/patches/default-search-duckduckgo.patch
+ echo Extracting Firefox tarball
+ tar -xf firefox-${FFVERSION}esr.source.tar.xz
+-- 
+2.23.0
+
+From c3a7b761f11c75d3764779e731a7c7e86b072d2f Mon Sep 17 00:00:00 2001
+From: Mark H Weaver 
+Date: Mon, 28 Oct 2019 04:18:26 -0400
+Subject: [PATCH 2/4] Disable MOZ_SERVICES_HEALTHREPORT and MOZ_DATA_REPORTING.
+
+* data/patches/fix-data-reporting-check.patch: New file.
+* data/patches/legacy-profiles.patch: Rename to ...
+* data/patches/moz-configure-changes.patch: ... this,
+and set MOZ_SERVICES_HEALTHREPORT to False.
+---
+ data/patches/fix-data-reporting-check.patch | 22 +++++++++++++++++++++
+ data/patches/legacy-profiles.patch          | 11 -----------
+ data/patches/moz-configure-changes.patch    | 14 +++++++++++++
+ 3 files changed, 36 insertions(+), 11 deletions(-)
+ create mode 100644 data/patches/fix-data-reporting-check.patch
+ delete mode 100644 data/patches/legacy-profiles.patch
+ create mode 100644 data/patches/moz-configure-changes.patch
+
+diff --git a/data/patches/fix-data-reporting-check.patch b/data/patches/fix-data-reporting-check.patch
 new file mode 100644
-index 0000000..9eea07b
+index 0000000..d586dc5
 --- /dev/null
-+++ b/data/patches/default-search-duckduckgo.patch
-@@ -0,0 +1,1108 @@
-+--- a/browser/components/search/SearchTelemetry.jsm.orig	1980-01-01 18:59:51.000000000 -0500
-++++ b/browser/components/search/SearchTelemetry.jsm	2019-10-25 06:58:49.564335696 -0400
-+@@ -40,6 +40,12 @@
-+  *     page mightbe an advert.
-+  */
-+ const SEARCH_PROVIDER_INFO = {
-++  duckduckgo: {
-++    regexp: /^https:\/\/duckduckgo\.com\//,
-++    queryParam: "q",
-++    codeParam: "t",
-++    codePrefixes: ["ff"],
-++  },
-+   google: {
-+     regexp: /^https:\/\/www\.google\.(?:.+)\/search/,
-+     queryParam: "q",
-+@@ -50,12 +56,6 @@
-+       /^https:\/\/www\.googleadservices\.com\/(?:pagead\/)?aclk/,
-+     ],
-+   },
-+-  duckduckgo: {
-+-    regexp: /^https:\/\/duckduckgo\.com\//,
-+-    queryParam: "q",
-+-    codeParam: "t",
-+-    codePrefixes: ["ff"],
-+-  },
-+   yahoo: {
-+     regexp: /^https:\/\/(?:.*)search\.yahoo\.com\/search/,
-+     queryParam: "p",
-+--- a/browser/components/search/extensions/list.json.orig	1980-01-01 18:59:51.000000000 -0500
-++++ b/browser/components/search/extensions/list.json	2019-10-25 07:27:58.209006756 -0400
-+@@ -1,9 +1,9 @@
-+ {
-+   "default": {
-+-    "searchDefault": "Google",
-+-    "searchOrder": ["Google", "Bing"],
-++    "searchDefault": "DuckDuckGo",
-++    "searchOrder": ["DuckDuckGo", "Google", "Bing"],
-+     "visibleDefaultEngines": [
-+-      "google-b-d", "amazondotcom", "bing", "ddg", "ebay", "twitter", "wikipedia"
-++      "ddg", "google-b-d", "amazondotcom", "bing", "ebay", "twitter", "wikipedia"
-+     ]
-+   },
-+   "regionOverrides": {
-+@@ -54,32 +54,32 @@
-+     "en-US": {
-+       "default": {
-+         "visibleDefaultEngines": [
-+-          "google-b-d", "amazondotcom", "bing", "ddg", "ebay", "twitter", "wikipedia"
-++          "ddg", "google-b-d", "amazondotcom", "bing", "ebay", "twitter", "wikipedia"
-+         ]
-+       },
-+       "KZ": {
-+         "visibleDefaultEngines": [
-+-          "amazondotcom", "bing", "google", "twitter", "wikipedia", "ddg", "yandex-en"
-++          "ddg", "amazondotcom", "bing", "google", "twitter", "wikipedia", "yandex-en"
-+         ],
-+-        "searchDefault": "Yandex"
-++        "searchDefault": "DuckDuckGo"
-+       },
-+       "BY": {
-+         "visibleDefaultEngines": [
-+-          "amazondotcom", "bing", "google", "twitter", "wikipedia", "ddg", "yandex-en"
-++          "ddg", "amazondotcom", "bing", "google", "twitter", "wikipedia", "yandex-en"
-+         ],
-+-        "searchDefault": "Yandex"
-++        "searchDefault": "DuckDuckGo"
-+       },
-+       "RU": {
-+         "visibleDefaultEngines": [
-+-          "amazondotcom", "bing", "google", "twitter", "wikipedia", "ddg", "yandex-en"
-++          "ddg", "amazondotcom", "bing", "google", "twitter", "wikipedia", "yandex-en"
-+         ],
-+-        "searchDefault": "Yandex"
-++        "searchDefault": "DuckDuckGo"
-+       },
-+       "TR": {
-+         "visibleDefaultEngines": [
-+-          "amazondotcom", "bing", "google", "twitter", "wikipedia", "ddg", "yandex-en"
-++          "ddg", "amazondotcom", "bing", "google", "twitter", "wikipedia", "yandex-en"
-+         ],
-+-        "searchDefault": "Yandex"
-++        "searchDefault": "DuckDuckGo"
-+       },
-+       "experimental-hidden": {
-+         "visibleDefaultEngines": [
-+@@ -90,131 +90,131 @@
-+     "ach": {
-+       "default": {
-+         "visibleDefaultEngines": [
-+-          "google-b-d", "bing", "amazondotcom", "ddg", "twitter", "wikipedia"
-++          "ddg", "google-b-d", "bing", "amazondotcom", "twitter", "wikipedia"
-+         ]
-+       }
-+     },
-+     "af": {
-+       "default": {
-+         "visibleDefaultEngines": [
-+-          "google-b-d", "bing", "amazondotcom", "ddg", "wikipedia-af"
-++          "ddg", "google-b-d", "bing", "amazondotcom", "wikipedia-af"
-+         ]
-+       }
-+     },
-+     "an": {
-+       "default": {
-+         "visibleDefaultEngines": [
-+-          "google-b-d", "bing", "ebay-es", "wikipedia-an", "ddg", "twitter"
-++          "ddg", "google-b-d", "bing", "ebay-es", "wikipedia-an", "twitter"
-+         ]
-+       }
-+     },
-+     "ar": {
-+       "default": {
-+         "visibleDefaultEngines": [
-+-          "google-b-d", "bing", "amazondotcom", "ddg", "wikipedia-ar"
-++          "ddg", "google-b-d", "bing", "amazondotcom", "wikipedia-ar"
-+         ]
-+       }
-+     },
-+     "as": {
-+       "default": {
-+         "visibleDefaultEngines": [
-+-          "google-b-d", "amazon-in", "ddg", "wikipedia-as"
-++          "ddg", "google-b-d", "amazon-in", "wikipedia-as"
-+         ]
-+       }
-+     },
-+     "ast": {
-+       "default": {
-+         "visibleDefaultEngines": [
-+-          "google-b-d", "bing", "ddg", "ebay-es", "wikipedia-ast"
-++          "ddg", "google-b-d", "bing", "ebay-es", "wikipedia-ast"
-+         ]
-+       }
-+     },
-+     "az": {
-+       "default": {
-+         "visibleDefaultEngines": [
-+-          "google-b-d", "amazondotcom", "azerdict", "bing", "ddg", "wikipedia-az", "yandex-az"
-++          "ddg", "google-b-d", "amazondotcom", "azerdict", "bing", "wikipedia-az", "yandex-az"
-+         ]
-+       }
-+     },
-+     "be": {
-+       "default": {
-+         "visibleDefaultEngines": [
-+-          "yandex-by", "google-b-d", "ddg", "wikipedia-be", "wikipedia-be-tarask"
-++          "ddg", "yandex-by", "google-b-d", "wikipedia-be", "wikipedia-be-tarask"
-+         ]
-+       },
-+       "BY": {
-+-        "searchDefault": "Яндекс"
-++        "searchDefault": "DuckDuckGo"
-+       },
-+       "KZ": {
-+-        "searchDefault": "Яндекс"
-++        "searchDefault": "DuckDuckGo"
-+       },
-+       "RU": {
-+-        "searchDefault": "Яндекс"
-++        "searchDefault": "DuckDuckGo"
-+       },
-+       "TR": {
-+-        "searchDefault": "Яндекс"
-++        "searchDefault": "DuckDuckGo"
-+       }
-+     },
-+     "bg": {
-+       "default": {
-+         "visibleDefaultEngines": [
-+-          "google-b-d", "amazondotcom", "ddg", "pazaruvaj", "wikipedia-bg"
-++          "ddg", "google-b-d", "amazondotcom", "pazaruvaj", "wikipedia-bg"
-+         ]
-+       }
-+     },
-+     "bn": {
-+       "default": {
-+         "visibleDefaultEngines": [
-+-          "google-b-d", "amazon-in", "bing", "ddg", "wikipedia-bn"
-++          "ddg", "google-b-d", "amazon-in", "bing", "wikipedia-bn"
-+         ]
-+       }
-+     },
-+     "bn-BD": {
-+       "default": {
-+         "visibleDefaultEngines": [
-+-          "google-b-d", "bing", "ddg", "wikipedia-bn"
-++          "ddg", "google-b-d", "bing", "wikipedia-bn"
-+         ]
-+       }
-+     },
-+     "bn-IN": {
-+       "default": {
-+         "visibleDefaultEngines": [
-+-          "google-b-d", "amazon-in", "bing", "ddg", "wikipedia-bn"
-++          "ddg", "google-b-d", "amazon-in", "bing", "wikipedia-bn"
-+         ]
-+       }
-+     },
-+     "br": {
-+       "default": {
-+         "visibleDefaultEngines": [
-+-          "google-b-d", "amazon-france", "ddg", "ebay-fr", "freelang", "wikipedia-br"
-++          "ddg", "google-b-d", "amazon-france", "ebay-fr", "freelang", "wikipedia-br"
-+         ]
-+       }
-+     },
-+     "bs": {
-+       "default": {
-+         "visibleDefaultEngines": [
-+-          "google-b-d", "ddg", "olx", "twitter", "wikipedia-bs"
-++          "ddg", "google-b-d", "olx", "twitter", "wikipedia-bs"
-+         ]
-+       }
-+     },
-+     "ca": {
-+       "default": {
-+         "visibleDefaultEngines": [
-+-          "google-b-d", "bing", "diec2", "ddg", "ebay-es", "twitter", "wikipedia-ca"
-++          "ddg", "google-b-d", "bing", "diec2", "ebay-es", "twitter", "wikipedia-ca"
-+         ]
-+       }
-+     },
-+     "cak": {
-+       "default": {
-+         "visibleDefaultEngines": [
-+-          "google-b-d", "bing", "amazondotcom", "ddg", "wikipedia-es"
-++          "ddg", "google-b-d", "bing", "amazondotcom", "wikipedia-es"
-+         ]
-+       }
-+     },
-+     "crh": {
-+       "default": {
-+         "visibleDefaultEngines": [
-+-          "google-b-d", "ddg", "twitter", "wikipedia-crh"
-++          "ddg", "google-b-d", "twitter", "wikipedia-crh"
-+         ]
-+       }
-+     },
-+@@ -222,74 +222,74 @@
-+       "default": {
-+         "searchOrder": ["Google", "Seznam"],
-+         "visibleDefaultEngines": [
-+-          "google-b-d", "seznam-cz", "ddg", "heureka-cz", "mapy-cz", "wikipedia-cz"
-++          "ddg", "google-b-d", "seznam-cz", "heureka-cz", "mapy-cz", "wikipedia-cz"
-+         ]
-+       }
-+     },
-+     "cy": {
-+       "default": {
-+         "visibleDefaultEngines": [
-+-          "google-b-d", "amazon-en-GB", "ddg", "ebay-uk", "palasprint", "wikipedia-cy"
-++          "ddg", "google-b-d", "amazon-en-GB", "ebay-uk", "palasprint", "wikipedia-cy"
-+         ]
-+       }
-+     },
-+     "da": {
-+       "default": {
-+         "visibleDefaultEngines": [
-+-          "google-b-d", "bing", "amazon-en-GB", "ddg", "wikipedia-da"
-++          "ddg", "google-b-d", "bing", "amazon-en-GB", "wikipedia-da"
-+         ]
-+       }
-+     },
-+     "de": {
-+       "default": {
-+         "visibleDefaultEngines": [
-+-          "google-b-d", "amazon-de", "bing", "ddg", "ebay-de", "ecosia", "leo_ende_de", "wikipedia-de"
-++          "ddg", "google-b-d", "amazon-de", "bing", "ebay-de", "ecosia", "leo_ende_de", "wikipedia-de"
-+         ]
-+       }
-+     },
-+     "dsb": {
-+       "default": {
-+         "visibleDefaultEngines": [
-+-          "google-b-d", "bing", "amazon-de", "ddg", "ebay-de", "leo_ende_de", "wikipedia-dsb"
-++          "ddg", "google-b-d", "bing", "amazon-de", "ebay-de", "leo_ende_de", "wikipedia-dsb"
-+         ]
-+       }
-+     },
-+     "el": {
-+       "default": {
-+         "visibleDefaultEngines": [
-+-          "google-b-d", "amazon-en-GB", "bing", "ddg", "wikipedia-el"
-++          "ddg", "google-b-d", "amazon-en-GB", "bing", "wikipedia-el"
-+         ]
-+       }
-+     },
-+     "en-CA": {
-+       "default": {
-+         "visibleDefaultEngines": [
-+-          "google-b-d", "amazon-ca", "bing", "ddg", "ebay-ca", "twitter", "wikipedia"
-++          "ddg", "google-b-d", "amazon-ca", "bing", "ebay-ca", "twitter", "wikipedia"
-+         ]
-+       },
-+       "KZ": {
-+         "visibleDefaultEngines": [
-+-          "yandex-en", "google-b-d", "amazon-ca", "bing", "ddg", "ebay-ca", "twitter", "wikipedia"
-++          "ddg", "yandex-en", "google-b-d", "amazon-ca", "bing", "ebay-ca", "twitter", "wikipedia"
-+         ],
-+-        "searchDefault": "Yandex"
-++        "searchDefault": "DuckDuckGo"
-+       },
-+       "BY": {
-+         "visibleDefaultEngines": [
-+-          "yandex-en", "google-b-d", "amazon-ca", "bing", "ddg", "ebay-ca", "twitter", "wikipedia"
-++          "ddg", "yandex-en", "google-b-d", "amazon-ca", "bing", "ebay-ca", "twitter", "wikipedia"
-+         ],
-+-        "searchDefault": "Yandex"
-++        "searchDefault": "DuckDuckGo"
-+       },
-+       "RU": {
-+         "visibleDefaultEngines": [
-+-          "yandex-en", "google-b-d", "amazon-ca", "bing", "ddg", "ebay-ca", "twitter", "wikipedia"
-++          "ddg", "yandex-en", "google-b-d", "amazon-ca", "bing", "ebay-ca", "twitter", "wikipedia"
-+         ],
-+-        "searchDefault": "Yandex"
-++        "searchDefault": "DuckDuckGo"
-+       },
-+       "TR": {
-+         "visibleDefaultEngines": [
-+-          "yandex-en", "google-b-d", "amazon-ca", "bing", "ddg", "ebay-ca", "twitter", "wikipedia"
-++          "ddg", "yandex-en", "google-b-d", "amazon-ca", "bing", "ebay-ca", "twitter", "wikipedia"
-+         ],
-+-        "searchDefault": "Yandex"
-++        "searchDefault": "DuckDuckGo"
-+       },
-+       "experimental-hidden": {
-+         "visibleDefaultEngines": [
-+@@ -300,32 +300,32 @@
-+     "en-GB": {
-+       "default": {
-+         "visibleDefaultEngines": [
-+-          "google-b-d", "bing", "amazon-en-GB", "chambers-en-GB", "ddg", "ebay-uk", "twitter", "wikipedia"
-++          "ddg", "google-b-d", "bing", "amazon-en-GB", "chambers-en-GB", "ebay-uk", "twitter", "wikipedia"
-+         ]
-+       },
-+       "KZ": {
-+         "visibleDefaultEngines": [
-+-          "yandex-en", "google-b-d", "bing", "amazon-en-GB", "chambers-en-GB", "ddg", "ebay-uk", "twitter", "wikipedia"
-++          "ddg", "yandex-en", "google-b-d", "bing", "amazon-en-GB", "chambers-en-GB", "ebay-uk", "twitter", "wikipedia"
-+         ],
-+-        "searchDefault": "Yandex"
-++        "searchDefault": "DuckDuckGo"
-+       },
-+       "BY": {
-+         "visibleDefaultEngines": [
-+-          "yandex-en", "google-b-d", "bing", "amazon-en-GB", "chambers-en-GB", "ddg", "ebay-uk", "twitter", "wikipedia"
-++          "ddg", "yandex-en", "google-b-d", "bing", "amazon-en-GB", "chambers-en-GB", "ebay-uk", "twitter", "wikipedia"
-+         ],
-+-        "searchDefault": "Yandex"
-++        "searchDefault": "DuckDuckGo"
-+       },
-+       "RU": {
-+         "visibleDefaultEngines": [
-+-          "yandex-en", "google-b-d", "bing", "amazon-en-GB", "chambers-en-GB", "ddg", "ebay-uk", "twitter", "wikipedia"
-++          "ddg", "yandex-en", "google-b-d", "bing", "amazon-en-GB", "chambers-en-GB", "ebay-uk", "twitter", "wikipedia"
-+         ],
-+-        "searchDefault": "Yandex"
-++        "searchDefault": "DuckDuckGo"
-+       },
-+       "TR": {
-+         "visibleDefaultEngines": [
-+-          "yandex-en", "google-b-d", "bing", "amazon-en-GB", "chambers-en-GB", "ddg", "ebay-uk", "twitter", "wikipedia"
-++          "ddg", "yandex-en", "google-b-d", "bing", "amazon-en-GB", "chambers-en-GB", "ebay-uk", "twitter", "wikipedia"
-+         ],
-+-        "searchDefault": "Yandex"
-++        "searchDefault": "DuckDuckGo"
-+       },
-+       "experimental-hidden": {
-+         "visibleDefaultEngines": [
-+@@ -336,66 +336,66 @@
-+     "en-ZA": {
-+       "default": {
-+         "visibleDefaultEngines": [
-+-          "google-b-d", "bing", "amazondotcom", "ddg", "twitter", "wikipedia"
-++          "ddg", "google-b-d", "bing", "amazondotcom", "twitter", "wikipedia"
-+         ]
-+       },
-+       "KZ": {
-+         "visibleDefaultEngines": [
-+-          "yandex-en", "google-b-d", "bing", "amazondotcom", "ddg", "twitter", "wikipedia"
-++          "ddg", "yandex-en", "google-b-d", "bing", "amazondotcom", "twitter", "wikipedia"
-+         ],
-+-        "searchDefault": "Yandex"
-++        "searchDefault": "DuckDuckGo"
-+       },
-+       "BY": {
-+         "visibleDefaultEngines": [
-+-          "yandex-en", "google-b-d", "bing", "amazondotcom", "ddg", "twitter", "wikipedia"
-++          "ddg", "yandex-en", "google-b-d", "bing", "amazondotcom", "twitter", "wikipedia"
-+         ],
-+-        "searchDefault": "Yandex"
-++        "searchDefault": "DuckDuckGo"
-+       },
-+       "RU": {
-+         "visibleDefaultEngines": [
-+-          "yandex-en", "google-b-d", "bing", "amazondotcom", "ddg", "twitter", "wikipedia"
-++          "ddg", "yandex-en", "google-b-d", "bing", "amazondotcom", "twitter", "wikipedia"
-+         ],
-+-        "searchDefault": "Yandex"
-++        "searchDefault": "DuckDuckGo"
-+       },
-+       "TR": {
-+         "visibleDefaultEngines": [
-+-          "yandex-en", "google-b-d", "bing", "amazondotcom", "ddg", "twitter", "wikipedia"
-++          "ddg", "yandex-en", "google-b-d", "bing", "amazondotcom", "twitter", "wikipedia"
-+         ],
-+-        "searchDefault": "Yandex"
-++        "searchDefault": "DuckDuckGo"
-+       }
-+     },
-+     "eo": {
-+       "default": {
-+         "visibleDefaultEngines": [
-+-          "google-b-d", "bing", "amazondotcom", "ddg", "wikipedia-eo"
-++          "ddg", "google-b-d", "bing", "amazondotcom", "wikipedia-eo"
-+         ]
-+       }
-+     },
-+     "es-AR": {
-+       "default": {
-+         "visibleDefaultEngines": [
-+-          "google-b-d", "amazondotcom", "drae", "ddg", "mercadolibre-ar", "wikipedia-es"
-++          "ddg", "google-b-d", "amazondotcom", "drae", "mercadolibre-ar", "wikipedia-es"
-+         ]
-+       }
-+     },
-+     "es-CL": {
-+       "default": {
-+         "visibleDefaultEngines": [
-+-          "google-b-d", "bing", "drae", "ddg", "mercadolibre-cl", "wikipedia-es"
-++          "ddg", "google-b-d", "bing", "drae", "mercadolibre-cl", "wikipedia-es"
-+         ]
-+       }
-+     },
-+     "es-ES": {
-+       "default": {
-+         "visibleDefaultEngines": [
-+-          "google-b-d", "bing", "drae", "ddg", "ebay-es", "twitter", "wikipedia-es"
-++          "ddg", "google-b-d", "bing", "drae", "ebay-es", "twitter", "wikipedia-es"
-+         ]
-+       }
-+     },
-+     "es-MX": {
-+       "default": {
-+         "visibleDefaultEngines": [
-+-          "google-b-d", "bing", "ddg", "mercadolibre-mx", "wikipedia-es"
-++          "ddg", "google-b-d", "bing", "mercadolibre-mx", "wikipedia-es"
-+         ]
-+       },
-+       "experimental-hidden": {
-+@@ -407,49 +407,49 @@
-+     "et": {
-+       "default": {
-+         "visibleDefaultEngines": [
-+-          "google-b-d", "neti-ee", "ddg", "osta-ee", "wikipedia-et", "eki-ee"
-++          "ddg", "google-b-d", "neti-ee", "osta-ee", "wikipedia-et", "eki-ee"
-+         ]
-+       }
-+     },
-+     "eu": {
-+       "default": {
-+         "visibleDefaultEngines": [
-+-          "google-b-d", "bing", "amazon-en-GB", "ddg", "ebay-es", "wikipedia-eu"
-++          "ddg", "google-b-d", "bing", "amazon-en-GB", "ebay-es", "wikipedia-eu"
-+         ]
-+       }
-+     },
-+     "fa": {
-+       "default": {
-+         "visibleDefaultEngines": [
-+-          "google-b-d", "amazondotcom", "bing", "ddg", "wikipedia-fa"
-++          "ddg", "google-b-d", "amazondotcom", "bing", "wikipedia-fa"
-+         ]
-+       }
-+     },
-+     "ff": {
-+       "default": {
-+         "visibleDefaultEngines": [
-+-          "google-b-d", "bing", "amazon-france", "ddg", "wikipedia-fr"
-++          "ddg", "google-b-d", "bing", "amazon-france", "wikipedia-fr"
-+         ]
-+       }
-+     },
-+     "fi": {
-+       "default": {
-+         "visibleDefaultEngines": [
-+-          "google-b-d", "bing", "ddg", "wikipedia-fi"
-++          "ddg", "google-b-d", "bing", "wikipedia-fi"
-+         ]
-+       }
-+     },
-+     "fr": {
-+       "default": {
-+         "visibleDefaultEngines": [
-+-          "google-b-d", "bing", "amazon-france", "ddg", "ebay-fr", "qwant", "wikipedia-fr"
-++          "ddg", "google-b-d", "bing", "amazon-france", "ebay-fr", "qwant", "wikipedia-fr"
-+         ]
-+       }
-+     },
-+     "fy-NL": {
-+       "default": {
-+         "visibleDefaultEngines": [
-+-          "google-b-d", "bing", "bolcom-fy-NL", "ddg", "ebay-nl", "marktplaats-fy-NL", "wikipedia-fy-NL"
-++          "ddg", "google-b-d", "bing", "bolcom-fy-NL", "ebay-nl", "marktplaats-fy-NL", "wikipedia-fy-NL"
-+         ]
-+       },
-+       "experimental-hidden": {
-+@@ -461,105 +461,105 @@
-+     "ga-IE": {
-+       "default": {
-+         "visibleDefaultEngines": [
-+-          "google-b-d", "amazon-en-GB", "ddg", "ebay-ie", "tearma", "twitter", "wikipedia-ga-IE"
-++          "ddg", "google-b-d", "amazon-en-GB", "ebay-ie", "tearma", "twitter", "wikipedia-ga-IE"
-+         ]
-+       }
-+     },
-+     "gd": {
-+       "default": {
-+         "visibleDefaultEngines": [
-+-          "google-b-d", "amazon-en-GB", "bbc-alba", "ddg", "ebay-uk", "faclair-beag", "wikipedia-gd"
-++          "ddg", "google-b-d", "amazon-en-GB", "bbc-alba", "ebay-uk", "faclair-beag", "wikipedia-gd"
-+         ]
-+       }
-+     },
-+     "gl": {
-+       "default": {
-+         "visibleDefaultEngines": [
-+-          "google-b-d", "amazon-en-GB", "ddg", "ebay-es", "wikipedia-gl"
-++          "ddg", "google-b-d", "amazon-en-GB", "ebay-es", "wikipedia-gl"
-+         ]
-+       }
-+     },
-+     "gn": {
-+       "default": {
-+         "visibleDefaultEngines": [
-+-          "google-b-d", "bing", "amazondotcom", "ddg", "twitter", "wikipedia-gn"
-++          "ddg", "google-b-d", "bing", "amazondotcom", "twitter", "wikipedia-gn"
-+         ]
-+       }
-+     },
-+     "gu-IN": {
-+       "default": {
-+         "visibleDefaultEngines": [
-+-          "google-b-d", "bing", "amazon-in", "ddg", "wikipedia-gu"
-++          "ddg", "google-b-d", "bing", "amazon-in", "wikipedia-gu"
-+         ]
-+       }
-+     },
-+     "he": {
-+       "default": {
-+         "visibleDefaultEngines": [
-+-          "google-b-d", "ddg", "wikipedia-he", "morfix-dic"
-++          "ddg", "google-b-d", "wikipedia-he", "morfix-dic"
-+         ]
-+       }
-+     },
-+     "hi-IN": {
-+       "default": {
-+         "visibleDefaultEngines": [
-+-          "google-b-d", "bing", "ddg", "wikipedia-hi"
-++          "ddg", "google-b-d", "bing", "wikipedia-hi"
-+         ]
-+       }
-+     },
-+     "hr": {
-+       "default": {
-+         "visibleDefaultEngines": [
-+-          "google-b-d", "amazon-en-GB", "bing", "ddg", "eudict", "twitter", "wikipedia-hr"
-++          "ddg", "google-b-d", "amazon-en-GB", "bing", "eudict", "twitter", "wikipedia-hr"
-+         ]
-+       }
-+     },
-+     "hsb": {
-+       "default": {
-+         "visibleDefaultEngines": [
-+-          "google-b-d", "bing", "amazon-de", "ddg", "ebay-de", "leo_ende_de", "wikipedia-hsb"
-++          "ddg", "google-b-d", "bing", "amazon-de", "ebay-de", "leo_ende_de", "wikipedia-hsb"
-+         ]
-+       }
-+     },
-+     "hu": {
-+       "default": {
-+         "visibleDefaultEngines": [
-+-          "google-b-d", "ddg", "vatera", "wikipedia-hu"
-++          "ddg", "google-b-d", "vatera", "wikipedia-hu"
-+         ]
-+       }
-+     },
-+     "hy-AM": {
-+       "default": {
-+         "visibleDefaultEngines": [
-+-          "google-b-d", "amazondotcom", "ddg", "list-am", "wikipedia-hy"
-++          "ddg", "google-b-d", "amazondotcom", "list-am", "wikipedia-hy"
-+         ]
-+       }
-+     },
-+     "ia": {
-+       "default": {
-+         "visibleDefaultEngines": [
-+-          "google-b-d", "bing", "amazondotcom", "ddg", "twitter", "wikipedia-ia"
-++          "ddg", "google-b-d", "bing", "amazondotcom", "twitter", "wikipedia-ia"
-+         ]
-+       }
-+     },
-+     "id": {
-+       "default": {
-+         "visibleDefaultEngines": [
-+-          "google-b-d", "ddg", "wikipedia-id"
-++          "ddg", "google-b-d", "wikipedia-id"
-+         ]
-+       }
-+     },
-+     "is": {
-+       "default": {
-+         "visibleDefaultEngines": [
-+-          "google-b-d", "bing", "amazondotcom", "ddg", "wikipedia-is"
-++          "ddg", "google-b-d", "bing", "amazondotcom", "wikipedia-is"
-+         ]
-+       }
-+     },
-+     "it": {
-+       "default": {
-+         "visibleDefaultEngines": [
-+-          "google-b-d", "bing", "amazon-it", "ddg", "ebay-it", "wikipedia-it"
-++          "ddg", "google-b-d", "bing", "amazon-it", "ebay-it", "wikipedia-it"
-+         ]
-+       }
-+     },
-+@@ -567,7 +567,7 @@
-+       "default": {
-+         "searchOrder": ["Google", "Yahoo! JAPAN", "Bing", "Amazon.co.jp", "楽天市場", "ヤフオク!", "教えて!goo", "Twitter", "Wikipedia (ja)"],
-+         "visibleDefaultEngines": [
-+-          "google-b-d", "yahoo-jp", "bing", "amazon-jp", "rakuten", "yahoo-jp-auctions", "oshiete-goo", "twitter-ja", "wikipedia-ja", "ddg"
-++          "ddg", "google-b-d", "yahoo-jp", "bing", "amazon-jp", "rakuten", "yahoo-jp-auctions", "oshiete-goo", "twitter-ja", "wikipedia-ja"
-+         ]
-+       }
-+     },
-+@@ -575,159 +575,159 @@
-+       "default": {
-+         "searchOrder": ["Google", "Yahoo! JAPAN", "Bing", "Amazon.co.jp", "楽天市場", "ヤフオク!", "教えて!goo", "Twitter", "Wikipedia (ja)"],
-+         "visibleDefaultEngines": [
-+-          "google-b-d", "yahoo-jp", "bing", "amazon-jp", "rakuten", "yahoo-jp-auctions", "oshiete-goo", "twitter-ja", "wikipedia-ja", "ddg"
-++            "ddg", "google-b-d", "yahoo-jp", "bing", "amazon-jp", "rakuten", "yahoo-jp-auctions", "oshiete-goo", "twitter-ja", "wikipedia-ja"
-+         ]
-+       }
-+     },
-+     "ka": {
-+       "default": {
-+         "visibleDefaultEngines": [
-+-          "google-b-d", "bing", "amazondotcom", "ddg", "twitter", "wikipedia-ka"
-++          "ddg", "google-b-d", "bing", "amazondotcom", "twitter", "wikipedia-ka"
-+         ]
-+       }
-+     },
-+     "kab": {
-+       "default": {
-+         "visibleDefaultEngines": [
-+-          "google-b-d", "bing", "ddg", "wikipedia-kab"
-++          "ddg", "google-b-d", "bing", "wikipedia-kab"
-+         ]
-+       }
-+     },
-+     "kk": {
-+       "default": {
-+         "visibleDefaultEngines": [
-+-          "yandex-kk", "google-b-d", "ddg", "flip", "twitter", "wikipedia-kk"
-++          "ddg", "yandex-kk", "google-b-d", "flip", "twitter", "wikipedia-kk"
-+         ]
-+       },
-+       "KZ": {
-+-        "searchDefault": "Яндекс"
-++        "searchDefault": "DuckDuckGo"
-+       },
-+       "BY": {
-+-        "searchDefault": "Яндекс"
-++        "searchDefault": "DuckDuckGo"
-+       },
-+       "RU": {
-+-        "searchDefault": "Яндекс"
-++        "searchDefault": "DuckDuckGo"
-+       },
-+       "TR": {
-+-        "searchDefault": "Яндекс"
-++        "searchDefault": "DuckDuckGo"
-+       }
-+     },
-+     "km": {
-+       "default": {
-+         "visibleDefaultEngines": [
-+-          "google-b-d", "bing", "amazondotcom", "ddg", "twitter", "wikipedia-km"
-++          "ddg", "google-b-d", "bing", "amazondotcom", "twitter", "wikipedia-km"
-+         ]
-+       }
-+     },
-+     "kn": {
-+       "default": {
-+         "visibleDefaultEngines": [
-+-          "google-b-d", "bing", "amazon-in", "ddg", "kannadastore", "wikipedia-kn"
-++          "ddg", "google-b-d", "bing", "amazon-in", "kannadastore", "wikipedia-kn"
-+         ]
-+       }
-+     },
-+     "ko": {
-+       "default": {
-+         "visibleDefaultEngines": [
-+-          "google-b-d", "ddg", "naver-kr", "daum-kr", "wikipedia-kr"
-++          "ddg", "google-b-d", "naver-kr", "daum-kr", "wikipedia-kr"
-+         ]
-+       }
-+     },
-+     "lij": {
-+       "default": {
-+         "visibleDefaultEngines": [
-+-          "google-b-d", "bing", "amazon-it", "ddg", "ebay-it", "wikipedia-lij"
-++          "ddg", "google-b-d", "bing", "amazon-it", "ebay-it", "wikipedia-lij"
-+         ]
-+       }
-+     },
-+     "lo": {
-+       "default": {
-+         "visibleDefaultEngines": [
-+-          "google-b-d", "bing", "ddg", "wikipedia-lo", "twitter"
-++          "ddg", "google-b-d", "bing", "wikipedia-lo", "twitter"
-+         ]
-+       }
-+     },
-+     "lt": {
-+       "default": {
-+         "visibleDefaultEngines": [
-+-          "google-b-d", "wikipedia-lt", "bing", "amazondotcom", "ddg", "twitter"
-++          "ddg", "google-b-d", "wikipedia-lt", "bing", "amazondotcom", "twitter"
-+         ]
-+       }
-+     },
-+     "ltg": {
-+       "default": {
-+         "visibleDefaultEngines": [
-+-          "google-b-d", "ddg", "salidzinilv", "sslv", "wikipedia-ltg"
-++          "ddg", "google-b-d", "salidzinilv", "sslv", "wikipedia-ltg"
-+         ]
-+       }
-+     },
-+     "lv": {
-+       "default": {
-+         "visibleDefaultEngines": [
-+-          "google-b-d", "ddg", "salidzinilv", "sslv", "wikipedia-lv"
-++          "ddg", "google-b-d", "salidzinilv", "sslv", "wikipedia-lv"
-+         ]
-+       }
-+     },
-+     "mai": {
-+       "default": {
-+         "visibleDefaultEngines": [
-+-          "google-b-d", "bing", "amazon-in", "ddg", "twitter", "wikipedia-hi"
-++          "ddg", "google-b-d", "bing", "amazon-in", "twitter", "wikipedia-hi"
-+         ]
-+       }
-+     },
-+     "mk": {
-+       "default": {
-+         "visibleDefaultEngines": [
-+-          "google-b-d", "bing", "amazondotcom", "ddg", "wikipedia-mk"
-++          "ddg", "google-b-d", "bing", "amazondotcom", "wikipedia-mk"
-+         ]
-+       }
-+     },
-+     "ml": {
-+       "default": {
-+         "visibleDefaultEngines": [
-+-          "google-b-d", "bing", "amazon-in", "ddg", "wikipedia", "wikipedia-ml"
-++          "ddg", "google-b-d", "bing", "amazon-in", "wikipedia", "wikipedia-ml"
-+         ]
-+       }
-+     },
-+     "mr": {
-+       "default": {
-+         "visibleDefaultEngines": [
-+-          "google-b-d", "amazon-in", "ddg", "wikipedia-mr"
-++          "ddg", "google-b-d", "amazon-in", "wikipedia-mr"
-+         ]
-+       }
-+     },
-+     "ms": {
-+       "default": {
-+         "visibleDefaultEngines": [
-+-          "google-b-d", "bing", "amazondotcom", "ddg", "twitter", "wikipedia-ms"
-++          "ddg", "google-b-d", "bing", "amazondotcom", "twitter", "wikipedia-ms"
-+         ]
-+       }
-+     },
-+     "my": {
-+       "default": {
-+         "visibleDefaultEngines": [
-+-          "google-b-d", "bing", "amazondotcom", "ddg", "twitter", "wikipedia-my"
-++          "ddg", "google-b-d", "bing", "amazondotcom", "twitter", "wikipedia-my"
-+         ]
-+       }
-+     },
-+     "nb-NO": {
-+       "default": {
-+         "visibleDefaultEngines": [
-+-          "google-b-d", "amazon-en-GB", "bing", "ddg", "gulesider-NO", "bok-NO", "qxl-NO", "wikipedia-NO"
-++          "ddg", "google-b-d", "amazon-en-GB", "bing", "gulesider-NO", "bok-NO", "qxl-NO", "wikipedia-NO"
-+         ]
-+       }
-+     },
-+     "ne-NP": {
-+       "default": {
-+         "visibleDefaultEngines": [
-+-          "google-b-d", "bing", "ddg", "twitter", "wikipedia-ne"
-++          "ddg", "google-b-d", "bing", "twitter", "wikipedia-ne"
-+         ]
-+       }
-+     },
-+     "nl": {
-+       "default": {
-+         "visibleDefaultEngines": [
-+-          "google-b-d", "bing", "bolcom-nl", "ddg", "ebay-nl", "marktplaats-nl", "wikipedia-nl"
-++          "ddg", "google-b-d", "bing", "bolcom-nl", "ebay-nl", "marktplaats-nl", "wikipedia-nl"
-+         ]
-+       },
-+       "experimental-hidden": {
-+@@ -739,244 +739,244 @@
-+     "nn-NO": {
-+       "default": {
-+         "visibleDefaultEngines": [
-+-          "google-b-d", "bing", "amazon-en-GB", "ddg", "gulesider-NO", "bok-NO", "qxl-NO", "wikipedia-NN"
-++          "ddg", "google-b-d", "bing", "amazon-en-GB", "gulesider-NO", "bok-NO", "qxl-NO", "wikipedia-NN"
-+         ]
-+       }
-+     },
-+     "oc": {
-+       "default": {
-+         "visibleDefaultEngines": [
-+-          "google-b-d", "bing", "ddg", "twitter", "wikipedia-oc", "wiktionary-oc"
-++          "ddg", "google-b-d", "bing", "twitter", "wikipedia-oc", "wiktionary-oc"
-+         ]
-+       }
-+     },
-+     "or": {
-+       "default": {
-+         "visibleDefaultEngines": [
-+-          "google-b-d", "bing", "amazon-in", "ddg", "wikipedia-or"
-++          "ddg", "google-b-d", "bing", "amazon-in", "wikipedia-or"
-+         ]
-+       }
-+     },
-+     "pa-IN": {
-+       "default": {
-+         "visibleDefaultEngines": [
-+-          "google-b-d", "bing", "amazon-in", "ddg", "wikipedia-pa"
-++          "ddg", "google-b-d", "bing", "amazon-in", "wikipedia-pa"
-+         ]
-+       }
-+     },
-+     "pl": {
-+       "default": {
-+         "visibleDefaultEngines": [
-+-          "google-b-d", "allegro-pl", "ddg", "pwn-pl", "wikipedia-pl", "wolnelektury-pl"
-++          "ddg", "google-b-d", "allegro-pl", "pwn-pl", "wikipedia-pl", "wolnelektury-pl"
-+         ]
-+       }
-+     },
-+     "pt-BR": {
-+       "default": {
-+         "visibleDefaultEngines": [
-+-          "google-b-d", "bing", "ddg", "mercadolivre", "twitter", "wikipedia-pt"
-++          "ddg", "google-b-d", "bing", "mercadolivre", "twitter", "wikipedia-pt"
-+         ]
-+       }
-+     },
-+     "pt-PT": {
-+       "default": {
-+         "visibleDefaultEngines": [
-+-          "google-b-d", "amazon-en-GB", "ddg", "priberam", "wikipedia-pt"
-++          "ddg", "google-b-d", "amazon-en-GB", "priberam", "wikipedia-pt"
-+         ]
-+       }
-+     },
-+     "rm": {
-+       "default": {
-+         "visibleDefaultEngines": [
-+-          "google-b-d", "bing", "ddg", "ebay-ch", "leo_ende_de", "wikipedia-rm"
-++          "ddg", "google-b-d", "bing", "ebay-ch", "leo_ende_de", "wikipedia-rm"
-+         ]
-+       }
-+     },
-+     "ro": {
-+       "default": {
-+         "visibleDefaultEngines": [
-+-          "google-b-d", "bing", "amazondotcom", "ddg", "wikipedia-ro"
-++          "ddg", "google-b-d", "bing", "amazondotcom", "wikipedia-ro"
-+         ]
-+       }
-+     },
-+     "ru": {
-+       "default": {
-+         "visibleDefaultEngines": [
-+-          "yandex-ru", "google-b-d", "ddg", "ozonru", "priceru", "wikipedia-ru", "mailru"
-++          "ddg", "yandex-ru", "google-b-d", "ozonru", "priceru", "wikipedia-ru", "mailru"
-+         ]
-+       },
-+       "RU": {
-+-        "searchDefault": "Яндекс"
-++        "searchDefault": "DuckDuckGo"
-+       },
-+       "BY": {
-+-        "searchDefault": "Яндекс"
-++        "searchDefault": "DuckDuckGo"
-+       },
-+       "KZ": {
-+-        "searchDefault": "Яндекс"
-++        "searchDefault": "DuckDuckGo"
-+       },
-+       "TR": {
-+-        "searchDefault": "Яндекс"
-++        "searchDefault": "DuckDuckGo"
-+       }
-+     },
-+     "si": {
-+       "default": {
-+         "visibleDefaultEngines": [
-+-          "google-b-d", "amazondotcom", "ddg", "wikipedia-si"
-++          "ddg", "google-b-d", "amazondotcom", "wikipedia-si"
-+         ]
-+       }
-+     },
-+     "sk": {
-+       "default": {
-+         "visibleDefaultEngines": [
-+-          "google-b-d", "azet-sk", "atlas-sk", "ddg", "wikipedia-sk", "zoznam-sk"
-++          "ddg", "google-b-d", "azet-sk", "atlas-sk", "wikipedia-sk", "zoznam-sk"
-+         ]
-+       }
-+     },
-+     "sl": {
-+       "default": {
-+         "visibleDefaultEngines": [
-+-          "google-b-d", "ceneji", "ddg", "najdi-si", "odpiralni", "twitter", "wikipedia-sl"
-++          "ddg", "google-b-d", "ceneji", "najdi-si", "odpiralni", "twitter", "wikipedia-sl"
-+         ]
-+       }
-+     },
-+     "son": {
-+       "default": {
-+         "visibleDefaultEngines": [
-+-          "google-b-d", "bing", "amazon-france", "ddg", "wikipedia-fr"
-++          "ddg", "google-b-d", "bing", "amazon-france", "wikipedia-fr"
-+         ]
-+       }
-+     },
-+     "sq": {
-+       "default": {
-+         "visibleDefaultEngines": [
-+-          "google-b-d", "bing", "amazon-en-GB", "ddg", "wikipedia-sq"
-++          "ddg", "google-b-d", "bing", "amazon-en-GB", "wikipedia-sq"
-+         ]
-+       }
-+     },
-+     "sr": {
-+       "default": {
-+         "visibleDefaultEngines": [
-+-          "google-b-d", "amazon-en-GB", "bing", "ddg", "wikipedia-sr", "pogodak"
-++          "ddg", "google-b-d", "amazon-en-GB", "bing", "wikipedia-sr", "pogodak"
-+         ]
-+       }
-+     },
-+     "sv-SE": {
-+       "default": {
-+         "visibleDefaultEngines": [
-+-          "google-b-d", "bing", "allaannonser-sv-SE", "ddg", "prisjakt-sv-SE", "tyda-sv-SE", "wikipedia-sv-SE"
-++          "ddg", "google-b-d", "bing", "allaannonser-sv-SE", "prisjakt-sv-SE", "tyda-sv-SE", "wikipedia-sv-SE"
-+         ]
-+       }
-+     },
-+     "ta": {
-+       "default": {
-+         "visibleDefaultEngines": [
-+-          "google-b-d", "amazon-in", "ddg", "wikipedia-ta"
-++          "ddg", "google-b-d", "amazon-in", "wikipedia-ta"
-+         ]
-+       }
-+     },
-+     "te": {
-+       "default": {
-+         "visibleDefaultEngines": [
-+-          "google-b-d", "amazon-in", "ddg", "wikipedia-te", "wiktionary-te"
-++          "ddg", "google-b-d", "amazon-in", "wikipedia-te", "wiktionary-te"
-+         ]
-+       }
-+     },
-+     "th": {
-+       "default": {
-+         "visibleDefaultEngines": [
-+-          "google-b-d", "amazondotcom", "bing", "ddg", "longdo", "wikipedia-th"
-++          "ddg", "google-b-d", "amazondotcom", "bing", "longdo", "wikipedia-th"
-+         ]
-+       }
-+     },
-+     "tl": {
-+       "default": {
-+         "visibleDefaultEngines": [
-+-          "google-b-d", "bing", "amazondotcom", "ddg", "twitter", "wikipedia-tl"
-++          "ddg", "google-b-d", "bing", "amazondotcom", "twitter", "wikipedia-tl"
-+         ]
-+       }
-+     },
-+     "tr": {
-+       "default": {
-+         "visibleDefaultEngines": [
-+-          "yandex-tr", "google-b-d", "ddg", "twitter", "wikipedia-tr"
-++          "ddg", "yandex-tr", "google-b-d", "twitter", "wikipedia-tr"
-+         ]
-+       },
-+       "TR": {
-+-        "searchDefault": "Yandex"
-++        "searchDefault": "DuckDuckGo"
-+       },
-+       "BY": {
-+-        "searchDefault": "Yandex"
-++        "searchDefault": "DuckDuckGo"
-+       },
-+       "KZ": {
-+-        "searchDefault": "Yandex"
-++        "searchDefault": "DuckDuckGo"
-+       },
-+       "RU": {
-+-        "searchDefault": "Yandex"
-++        "searchDefault": "DuckDuckGo"
-+       }
-+     },
-+     "trs": {
-+       "default": {
-+         "visibleDefaultEngines": [
-+-          "google-b-d", "bing", "amazondotcom", "ddg", "wikipedia-es"
-++          "ddg", "google-b-d", "bing", "amazondotcom", "wikipedia-es"
-+         ]
-+       }
-+     },
-+     "uk": {
-+       "default": {
-+         "visibleDefaultEngines": [
-+-          "google-b-d", "bing", "ddg", "wikipedia-uk", "hotline-ua"
-++          "ddg", "google-b-d", "bing", "wikipedia-uk", "hotline-ua"
-+         ]
-+       }
-+     },
-+     "ur": {
-+       "default": {
-+         "visibleDefaultEngines": [
-+-          "google-b-d", "bing", "amazon-in", "ddg", "twitter", "wikipedia-ur"
-++          "ddg", "google-b-d", "bing", "amazon-in", "twitter", "wikipedia-ur"
-+         ]
-+       }
-+     },
-+     "uz": {
-+       "default": {
-+         "visibleDefaultEngines": [
-+-          "google-b-d", "bing", "amazondotcom", "ddg", "twitter", "wikipedia-uz"
-++          "ddg", "google-b-d", "bing", "amazondotcom", "twitter", "wikipedia-uz"
-+         ]
-+       }
-+     },
-+     "vi": {
-+       "default": {
-+         "visibleDefaultEngines": [
-+-          "google-b-d", "coccoc", "ddg", "wikipedia-vi"
-++          "ddg", "google-b-d", "coccoc", "wikipedia-vi"
-+         ]
-+       }
-+     },
-+     "wo": {
-+       "default": {
-+         "visibleDefaultEngines": [
-+-          "google-b-d", "bing", "amazon-france", "ddg", "ebay-fr", "twitter", "wikipedia-wo"
-++          "ddg", "google-b-d", "bing", "amazon-france", "ebay-fr", "twitter", "wikipedia-wo"
-+         ]
-+       }
-+     },
-+     "xh": {
-+       "default": {
-+         "visibleDefaultEngines": [
-+-          "google-b-d", "bing", "ddg", "wikipedia"
-++          "ddg", "google-b-d", "bing", "wikipedia"
-+         ]
-+       }
-+     },
-+     "zh-CN": {
-+       "default": {
-+         "visibleDefaultEngines": [
-+-          "baidu", "google-b-d", "bing", "ddg", "wikipedia-zh-CN", "amazondotcn"
-++          "ddg", "baidu", "google-b-d", "bing", "wikipedia-zh-CN", "amazondotcn"
-+         ]
-+       },
-+       "CN": {
-+-        "searchDefault": "百度"
-++        "searchDefault": "DuckDuckGo"
-+       }
-+     },
-+     "zh-TW": {
-+       "default": {
-+         "visibleDefaultEngines": [
-+-          "google-b-d", "ddg", "readmoo", "wikipedia-zh-TW"
-++          "ddg", "google-b-d", "readmoo", "wikipedia-zh-TW"
-+         ]
-+       }
-+     }
++++ b/data/patches/fix-data-reporting-check.patch
+@@ -0,0 +1,22 @@
++--- a/old-configure.in.orig	1980-01-01 18:59:51.000000000 -0500
+++++ b/old-configure.in	2019-10-28 04:13:17.343606008 -0400
++@@ -3116,7 +3116,7 @@
++ dnl If we have any service that uploads data (and requires data submission
++ dnl policy alert), set MOZ_DATA_REPORTING.
++ dnl We need SUBST for build system and DEFINE for xul preprocessor.
++-if test -n "$MOZ_TELEMETRY_REPORTING" || test -n "$MOZ_SERVICES_HEALTHREPORT" || test -n "$MOZ_CRASHREPORTER"; then
+++if test "$MOZ_TELEMETRY_REPORTING" = 1 || test "$MOZ_SERVICES_HEALTHREPORT" = 1 || test "$MOZ_CRASHREPORTER" = 1; then
++   MOZ_DATA_REPORTING=1
++   AC_DEFINE(MOZ_DATA_REPORTING)
++   AC_SUBST(MOZ_DATA_REPORTING)
++--- a/old-configure.orig	1980-01-01 18:59:51.000000000 -0500
+++++ b/old-configure	2019-10-28 04:15:41.772322191 -0400
++@@ -12150,7 +12150,7 @@
++ 
++ 
++ 
++-if test -n "$MOZ_TELEMETRY_REPORTING" || test -n "$MOZ_SERVICES_HEALTHREPORT" || test -n "$MOZ_CRASHREPORTER"; then
+++if test "$MOZ_TELEMETRY_REPORTING" = 1 || test "$MOZ_SERVICES_HEALTHREPORT" = 1 || test "$MOZ_CRASHREPORTER" = 1; then
++   MOZ_DATA_REPORTING=1
++   cat >> confdefs.pytmp <<\EOF
++     (''' MOZ_DATA_REPORTING ''', ' 1 ')
 diff --git a/data/patches/legacy-profiles.patch b/data/patches/legacy-profiles.patch
+deleted file mode 100644
+index 33e9e99..0000000
+--- a/data/patches/legacy-profiles.patch
++++ /dev/null
+@@ -1,11 +0,0 @@
+---- a/browser/moz.configure.orig	1980-01-01 18:59:51.000000000 -0500
+-+++ b/browser/moz.configure	2019-10-26 21:58:37.719617701 -0400
+-@@ -7,7 +7,7 @@
+- imply_option('MOZ_PLACES', True)
+- imply_option('MOZ_SERVICES_HEALTHREPORT', True)
+- imply_option('MOZ_SERVICES_SYNC', True)
+--imply_option('MOZ_DEDICATED_PROFILES', True)
+-+imply_option('MOZ_DEDICATED_PROFILES', False)
+- imply_option('MOZ_BLOCK_PROFILE_DOWNGRADE', True)
+- 
+- with only_when(target_is_linux & compile_environment):
+diff --git a/data/patches/moz-configure-changes.patch b/data/patches/moz-configure-changes.patch
 new file mode 100644
-index 0000000..33e9e99
+index 0000000..aa6f1a5
 --- /dev/null
-+++ b/data/patches/legacy-profiles.patch
-@@ -0,0 +1,11 @@
++++ b/data/patches/moz-configure-changes.patch
+@@ -0,0 +1,14 @@
 +--- a/browser/moz.configure.orig	1980-01-01 18:59:51.000000000 -0500
-++++ b/browser/moz.configure	2019-10-26 21:58:37.719617701 -0400
-+@@ -7,7 +7,7 @@
+++++ b/browser/moz.configure	2019-10-28 01:36:13.132873871 -0400
++@@ -5,9 +5,9 @@
++ # file, You can obtain one at http://mozilla.org/MPL/2.0/.
++ 
 + imply_option('MOZ_PLACES', True)
-+ imply_option('MOZ_SERVICES_HEALTHREPORT', True)
++-imply_option('MOZ_SERVICES_HEALTHREPORT', True)
+++imply_option('MOZ_SERVICES_HEALTHREPORT', False)
 + imply_option('MOZ_SERVICES_SYNC', True)
 +-imply_option('MOZ_DEDICATED_PROFILES', True)
 ++imply_option('MOZ_DEDICATED_PROFILES', False)
 + imply_option('MOZ_BLOCK_PROFILE_DOWNGRADE', True)
 + 
 + with only_when(target_is_linux & compile_environment):
+-- 
+2.23.0
+
+From 62f50f15abc91483c6aa7a2ac7ebb972e6f9affd Mon Sep 17 00:00:00 2001
+From: Mark H Weaver 
+Date: Mon, 28 Oct 2019 13:05:28 -0400
+Subject: [PATCH 3/4] Disable MOZ_BLOCK_PROFILE_DOWNGRADE.
+
+It would be desirable to prevent downgrades from one major version of
+IceCat to another.  However, as MOZ_BLOCK_PROFILE_DOWNGRADE is
+currently implemented, it prevents downgrades from one build of
+IceCat-68.2 to an earlier build of IceCat-68.2.  Until we can find a
+satisfactory solution, we disable this functionality entirely.
+
+* data/patches/moz-configure-changes.patch: Set
+MOZ_BLOCK_PROFILE_DOWNGRADE to 'False'.
+---
+ data/patches/moz-configure-changes.patch | 8 +++++---
+ 1 file changed, 5 insertions(+), 3 deletions(-)
+
+diff --git a/data/patches/moz-configure-changes.patch b/data/patches/moz-configure-changes.patch
+index aa6f1a5..53091a4 100644
+--- a/data/patches/moz-configure-changes.patch
++++ b/data/patches/moz-configure-changes.patch
+@@ -1,6 +1,6 @@
+ --- a/browser/moz.configure.orig	1980-01-01 18:59:51.000000000 -0500
+-+++ b/browser/moz.configure	2019-10-28 01:36:13.132873871 -0400
+-@@ -5,9 +5,9 @@
+++++ b/browser/moz.configure	2019-10-28 13:04:11.469562089 -0400
++@@ -5,10 +5,10 @@
+  # file, You can obtain one at http://mozilla.org/MPL/2.0/.
+  
+  imply_option('MOZ_PLACES', True)
+@@ -8,7 +8,9 @@
+ +imply_option('MOZ_SERVICES_HEALTHREPORT', False)
+  imply_option('MOZ_SERVICES_SYNC', True)
+ -imply_option('MOZ_DEDICATED_PROFILES', True)
++-imply_option('MOZ_BLOCK_PROFILE_DOWNGRADE', True)
+ +imply_option('MOZ_DEDICATED_PROFILES', False)
+- imply_option('MOZ_BLOCK_PROFILE_DOWNGRADE', True)
+++imply_option('MOZ_BLOCK_PROFILE_DOWNGRADE', False)
+  
+  with only_when(target_is_linux & compile_environment):
++     option(env='MOZ_NO_PIE_COMPAT',
+-- 
+2.23.0
+
+From 036f74092d223976054f9eafd8caa056f5975c54 Mon Sep 17 00:00:00 2001
+From: Mark H Weaver 
+Date: Mon, 28 Oct 2019 19:57:37 -0400
+Subject: [PATCH 4/4] Improve branding for version 68 ESR.
+
+* data/branding/icecat/locales/en-US/brand.dtd: Add brandProductName.
+* data/branding/icecat/locales/en-US/brand.ftl: Add
+brand-shorter-name, brand-full-name, brand-product-name,
+vendor-short-name, and trademarkInfo.
+* data/branding/icecat/locales/en-US/brand.properties: Add
+brandProductName.
+* makeicecat: Limit replacement of trademarkInfo.part1 of brand.dtd
+files to only be done within l10n directory.  Replace trademarkInfo of
+brand.ftl files within l10n directory.
+---
+ data/branding/icecat/locales/en-US/brand.dtd        | 1 +
+ data/branding/icecat/locales/en-US/brand.ftl        | 5 +++++
+ data/branding/icecat/locales/en-US/brand.properties | 1 +
+ makeicecat                                          | 3 ++-
+ 4 files changed, 9 insertions(+), 1 deletion(-)
+
+diff --git a/data/branding/icecat/locales/en-US/brand.dtd b/data/branding/icecat/locales/en-US/brand.dtd
+index 3788266..475ce7d 100644
+--- a/data/branding/icecat/locales/en-US/brand.dtd
++++ b/data/branding/icecat/locales/en-US/brand.dtd
+@@ -5,5 +5,6 @@
+ 
+ 
+ 
++
+ 
+ 
+diff --git a/data/branding/icecat/locales/en-US/brand.ftl b/data/branding/icecat/locales/en-US/brand.ftl
+index bd7fbe0..7c9fcc8 100644
+--- a/data/branding/icecat/locales/en-US/brand.ftl
++++ b/data/branding/icecat/locales/en-US/brand.ftl
+@@ -2,4 +2,9 @@
+ # License, v. 2.0. If a copy of the MPL was not distributed with this
+ # file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ 
++-brand-shorter-name = IceCat
+ -brand-short-name = IceCat
++-brand-full-name = GNU IceCat
++-brand-product-name = IceCat
++-vendor-short-name = GNU
++trademarkInfo = The IceCat logo is Copyright 2008-2015 Free Software Foundation, released under the terms of the GNU Lesser General Public License, version 3 or any later version.
+diff --git a/data/branding/icecat/locales/en-US/brand.properties b/data/branding/icecat/locales/en-US/brand.properties
+index 85e2894..9b9cf97 100644
+--- a/data/branding/icecat/locales/en-US/brand.properties
++++ b/data/branding/icecat/locales/en-US/brand.properties
+@@ -5,6 +5,7 @@
+ brandShorterName=IceCat
+ brandShortName=IceCat
+ brandFullName=IceCat
++brandProductName=IceCat
+ vendorShortName=GNU
+ 
+ syncBrandShortName=Sync
+diff --git a/makeicecat b/makeicecat
+index 1bcf465..3ff2ead 100644
+--- a/makeicecat
++++ b/makeicecat
+@@ -226,7 +226,8 @@ cp $DATA/bookmarks.html.in browser/locales/generic/profile/bookmarks.html.in
+ 
+ # Custom legal about pages
+ 
+-find -wholename '*/brand.dtd' |xargs /bin/sed 's/trademarkInfo.part1.*/trademarkInfo.part1 "">/' -i
++find l10n -wholename '*/brand.dtd' |xargs /bin/sed 's/trademarkInfo.part1.*/trademarkInfo.part1 "">/' -i
++find l10n -wholename '*/brand.ftl' |xargs /bin/sed 's/^trademarkInfo = .*/trademarkInfo = The IceCat logo is Copyright 2008-2015 Free Software Foundation, released under the terms of the GNU Lesser General Public License, version 3 or any later version./' -i
+ 
+ for STRING in rights.intro-point3-unbranded rights.intro-point4a-unbranded rights.intro-point4b-unbranded rights.intro-point4c-unbranded
+ do
+-- 
+2.23.0
+
diff --git a/gnu/packages/patches/icecat-makeicecat.patch b/gnu/packages/patches/icecat-makeicecat.patch
index a9920d64746..90a79eebc95 100644
--- a/gnu/packages/patches/icecat-makeicecat.patch
+++ b/gnu/packages/patches/icecat-makeicecat.patch
@@ -25,7 +25,7 @@ index b04c731..06d1f3f 100644
 -wget -N https://ftp.mozilla.org/pub/mozilla.org/firefox/releases/${FFVERSION}esr/source/firefox-${FFVERSION}esr.source.tar.xz.asc
 -gpg --recv-keys --keyserver keyserver.ubuntu.com 14F26682D0916CDD81E37B6D61B7B526D98F0353
 -gpg --verify firefox-${FFVERSION}esr.source.tar.xz.asc
--echo -n f56f5fa5a4744be0b9acf259cb991254d708a50b9a0a12d1d846ffa5a6c409ac firefox-${FFVERSION}esr.source.tar.xz |sha256sum -c -
+-echo -n 85f1c2eaf68ebedcbc0b78a342f6d16ef0865dedd426a1bba94b75c85f716f38 firefox-${FFVERSION}esr.source.tar.xz |sha256sum -c -
 -
 -echo Extracting Firefox tarball
 -tar -xf firefox-${FFVERSION}esr.source.tar.xz
@@ -37,7 +37,7 @@ index b04c731..06d1f3f 100644
 +# wget -N https://ftp.mozilla.org/pub/mozilla.org/firefox/releases/${FFVERSION}esr/source/firefox-${FFVERSION}esr.source.tar.xz.asc
 +# gpg --recv-keys --keyserver keyserver.ubuntu.com 14F26682D0916CDD81E37B6D61B7B526D98F0353
 +# gpg --verify firefox-${FFVERSION}esr.source.tar.xz.asc
-+# echo -n f56f5fa5a4744be0b9acf259cb991254d708a50b9a0a12d1d846ffa5a6c409ac firefox-${FFVERSION}esr.source.tar.xz |sha256sum -c -
++# echo -n 85f1c2eaf68ebedcbc0b78a342f6d16ef0865dedd426a1bba94b75c85f716f38 firefox-${FFVERSION}esr.source.tar.xz |sha256sum -c -
 +# 
 +# echo Extracting Firefox tarball
 +# tar -xf firefox-${FFVERSION}esr.source.tar.xz
@@ -96,24 +96,9 @@ index b04c731..06d1f3f 100644
 -cd $SOURCEDIR
 +# cd $SOURCEDIR
  
+ shopt -s nullglob
  for patch in $DATA/patches/*.patch; do
-     echo Patching with file: $patch
-@@ -226,10 +226,10 @@ cp $DATA/bookmarks.html.in browser/locales/generic/profile/bookmarks.html.in
- 
- find -wholename '*/brand.dtd' |xargs /bin/sed 's/trademarkInfo.part1.*/trademarkInfo.part1 "">/' -i
- 
--for STRING in rights.intro-point3-unbranded rights.intro-point4a-unbranded rights.intro-point4b-unbranded rights.intro-point4c-unbranded
--do
-- find -name aboutRights.dtd | xargs sed -i "s/ENTITY $STRING.*/ENTITY $STRING \"\">/"
--done
-+# for STRING in rights.intro-point3-unbranded rights.intro-point4a-unbranded rights.intro-point4b-unbranded rights.intro-point4c-unbranded
-+# do
-+#  find -name aboutRights.dtd | xargs sed -i "s/ENTITY $STRING.*/ENTITY $STRING \"\">/"
-+# done
- 
- for STRING in rights-intro-point-2 rights-intro-point-3 rights-intro-point-4 rights-intro-point-5 rights-intro-point-6 rights-webservices rights-safebrowsing
- do
-@@ -595,6 +595,6 @@ sed 's/777/755/;' -i toolkit/crashreporter/google-breakpad/Makefile.in
+@@ -598,6 +598,6 @@ sed 's/777/755/;' -i toolkit/crashreporter/google-breakpad/Makefile.in
  # Fix CVE-2012-3386
  /bin/sed 's/chmod a+w/chmod u+w/' -i ./js/src/ctypes/libffi/Makefile.in ./toolkit/crashreporter/google-breakpad/Makefile.in ./toolkit/crashreporter/google-breakpad/src/third_party/glog/Makefile.in || true
  

From 36f5f23c1af640782aa47dbfed6352e3d4c957ff Mon Sep 17 00:00:00 2001
From: Vagrant Cascadian 
Date: Tue, 29 Oct 2019 00:04:26 -0700
Subject: [PATCH 0531/1112] gnu: diffoscope: Add additional native-inputs for
 tests.

* gnu/packages/diffoscope (diffoscope)[native-inputs]: Add python-pypdf2 and
  python-progressbar33.
---
 gnu/packages/diffoscope.scm | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/gnu/packages/diffoscope.scm b/gnu/packages/diffoscope.scm
index 47dd36b9194..cfa98f63f27 100644
--- a/gnu/packages/diffoscope.scm
+++ b/gnu/packages/diffoscope.scm
@@ -153,6 +153,8 @@
       (native-inputs `(("python-pytest" ,python-pytest)
                        ("python-chardet" ,python-chardet)
                        ("python-binwalk" ,python-binwalk)
+                       ("python-pypdf2" ,python-pypdf2)
+                       ("python-progressbar33" ,python-progressbar33)
                        ;; test suite skips tests when tool is missing
                        ,@(match (%current-system)
                                 ;; ghc is only available on x86 currently.

From af2d37133b43ec232d99960b924f22575624d7af Mon Sep 17 00:00:00 2001
From: Tanguy Le Carrour 
Date: Mon, 28 Oct 2019 15:41:29 +0100
Subject: [PATCH 0532/1112] gnu: python-cleo: Update to 0.6.8.

* gnu/packages/python-xyz.scm (python-cleo): Update to 0.6.8.

Signed-off-by: Mathieu Othacehe 
---
 gnu/packages/python-xyz.scm | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 04d72e285b9..f1132c52060 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -10592,16 +10592,16 @@ Wikipedia code samples at
 (define-public python-cleo
   (package
     (name "python-cleo")
-    (version "0.6.1")
+    (version "0.6.8")
     (source (origin
               (method url-fetch)
               (uri (pypi-uri "cleo" version))
               (sha256
                (base32
-                "0q1cf0szr0d54am4pypzwdnm74zpladdsinad94c2fz5i06fdpf7"))))
+                "06zp695hq835rkaq6irr1ds1dp2qfzyf32v60vxpd8rcnxv319l5"))))
     (build-system python-build-system)
     (native-inputs
-     `(;; For testing
+     `( ;; For testing
        ("python-mock" ,python-mock)
        ("python-pytest-mock" ,python-pytest-mock)
        ("python-pytest" ,python-pytest)))

From 2be85c4531adcf2b59641b75e66c458b895e5a96 Mon Sep 17 00:00:00 2001
From: Tanguy Le Carrour 
Date: Mon, 28 Oct 2019 15:41:30 +0100
Subject: [PATCH 0533/1112] gnu: Add python-tomlkit.

* gnu/packages/python-xyz.scm (python-tomlkit): New public variable.

Signed-off-by: Mathieu Othacehe 
---
 gnu/packages/python-xyz.scm | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index f1132c52060..1ed79a9a4f2 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -10619,6 +10619,31 @@ docstring and colored output.")
 (define-public python2-cleo
   (package-with-python2 python-cleo))
 
+(define-public python-tomlkit
+  (package
+    (name "python-tomlkit")
+    (version "0.5.7")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "tomlkit" version))
+       (sha256
+        (base32
+         "18820ga5z3if1w8dvykxrfm000akracq01ic402xrbljgbn5grn4"))))
+    (build-system python-build-system)
+    (native-inputs
+     `(("python-pytest" ,python-pytest)))
+    (home-page
+     "https://github.com/sdispater/tomlkit")
+    (synopsis "Style preserving TOML library")
+    (description
+     "TOML Kit is a 0.5.0-compliant TOML library.  It includes a parser that
+preserves all comments, indentations, whitespace and internal element ordering,
+and makes them accessible and editable via an intuitive API.  It can also
+create new TOML documents from scratch using the provided helpers.  Part of the
+implementation as been adapted, improved and fixed from Molten.")
+    (license license:expat)))
+
 (define-public python-lazy-object-proxy
   (package
     (name "python-lazy-object-proxy")

From 0bb322014084ee76f193bbc3348f29479f014e23 Mon Sep 17 00:00:00 2001
From: Tanguy Le Carrour 
Date: Mon, 28 Oct 2019 15:41:31 +0100
Subject: [PATCH 0534/1112] gnu: Add python-shellingham.

* gnu/packages/python-xyz.scm (python-shellingham): New public variable.

Signed-off-by: Mathieu Othacehe 
---
 gnu/packages/python-xyz.scm | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 1ed79a9a4f2..edca7195476 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -10644,6 +10644,26 @@ create new TOML documents from scratch using the provided helpers.  Part of the
 implementation as been adapted, improved and fixed from Molten.")
     (license license:expat)))
 
+(define-public python-shellingham
+  (package
+    (name "python-shellingham")
+    (version "1.3.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "shellingham" version))
+       (sha256
+        (base32
+         "1q7kws7w4x2hji3g7y0ni9ddk4sd676ylrb3db54gbpys6xj6nwq"))))
+    (build-system python-build-system)
+    (home-page
+     "https://github.com/sarugaku/shellingham")
+    (synopsis "Tool to detect surrounding shell")
+    (description
+     "Shellingham detects what shell the current Python executable is
+running in.")
+    (license license:isc)))
+
 (define-public python-lazy-object-proxy
   (package
     (name "python-lazy-object-proxy")

From aee92957b5032196cb830f0288557de864c9c644 Mon Sep 17 00:00:00 2001
From: Tanguy Le Carrour 
Date: Mon, 28 Oct 2019 15:41:32 +0100
Subject: [PATCH 0535/1112] gnu: Add python-memcached.

* gnu/packages/python-xyz.scm (python-memcached): New public variable.

Signed-off-by: Mathieu Othacehe 
---
 gnu/packages/python-xyz.scm | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index edca7195476..e082351e366 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -10664,6 +10664,28 @@ implementation as been adapted, improved and fixed from Molten.")
 running in.")
     (license license:isc)))
 
+(define-public python-memcached
+  (package
+    (name "python-memcached")
+    (version "1.59")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "python-memcached" version))
+       (sha256
+        (base32
+         "0kvyapavbirk2x3n1jx4yb9nyigrj1s3x15nm3qhpvhkpqvqdqm2"))))
+    (build-system python-build-system)
+    (propagated-inputs `(("python-six" ,python-six)))
+    (home-page
+     "https://github.com/linsomniac/python-memcached")
+    (synopsis "Pure python memcached client")
+    (description
+     "This software is a pure Python interface to the memcached memory cache
+daemon.  It is the client side software which allows storing values in one or
+more, possibly remote, memcached servers.")
+    (license license:psfl)))
+
 (define-public python-lazy-object-proxy
   (package
     (name "python-lazy-object-proxy")

From b2ac2508b09f264b11721fa42edefd2b96ac6476 Mon Sep 17 00:00:00 2001
From: Tanguy Le Carrour 
Date: Mon, 28 Oct 2019 15:41:33 +0100
Subject: [PATCH 0536/1112] gnu: Add python-clikit.

* gnu/packages/python-xyz.scm (python-clikit): New public variable.

Signed-off-by: Mathieu Othacehe 
---
 gnu/packages/python-xyz.scm | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index e082351e366..00bc41083a2 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -10686,6 +10686,28 @@ daemon.  It is the client side software which allows storing values in one or
 more, possibly remote, memcached servers.")
     (license license:psfl)))
 
+(define-public python-clikit
+  (package
+    (name "python-clikit")
+    (version "0.2.4")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "clikit" version))
+       (sha256
+        (base32
+         "0dc8czib5f4j9px1ivcpqnmivnx2zjpc0xb00ldrhsqylks7r06n"))))
+    (build-system python-build-system)
+    (propagated-inputs
+     `(("python-pastel" ,python-pastel)
+       ("python-pylev" ,python-pylev)))
+    (home-page "https://github.com/sdispater/clikit")
+    (synopsis "Group of utilities to build command line interfaces")
+    (description
+     "CliKit is a group of utilities to build testable command line
+interfaces.")
+    (license license:expat)))
+
 (define-public python-lazy-object-proxy
   (package
     (name "python-lazy-object-proxy")

From c6f008d6266a443344ce89e222c9534b2056d806 Mon Sep 17 00:00:00 2001
From: Tanguy Le Carrour 
Date: Mon, 28 Oct 2019 15:41:34 +0100
Subject: [PATCH 0537/1112] gnu: Add python-msgpack-python.

* gnu/packages/python-xyz.scm (python-msgpack-python): New public variable.

Signed-off-by: Mathieu Othacehe 
---
 gnu/packages/python-xyz.scm | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 00bc41083a2..c518783bb02 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -10708,6 +10708,27 @@ more, possibly remote, memcached servers.")
 interfaces.")
     (license license:expat)))
 
+(define-public python-msgpack-python
+  (package
+    (name "python-msgpack-python")
+    (version "0.5.6")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "msgpack-python" version))
+       (sha256
+        (base32
+         "16wh8qgybmfh4pjp8vfv78mdlkxfmcasg78lzlnm6nslsfkci31p"))))
+    (build-system python-build-system)
+    (home-page "http://msgpack.org/")
+    (synopsis "Package to deserialize messages in MessagePack binary format")
+    (description
+     "MessagePack is an efficient binary serialization format.  It lets you
+exchange data among multiple languages like JSON.  But it's faster and
+smaller.  Small integers are encoded into a single byte, and typical short
+strings require only one extra byte in addition to the strings themselves.")
+    (license license:asl2.0)))
+
 (define-public python-lazy-object-proxy
   (package
     (name "python-lazy-object-proxy")

From badc1c630f6406b060cdcfbc7b846ba7c5e3c612 Mon Sep 17 00:00:00 2001
From: Tanguy Le Carrour 
Date: Mon, 28 Oct 2019 15:41:35 +0100
Subject: [PATCH 0538/1112] gnu: Add python-cachy.

* gnu/packages/python-xyz.scm (python-cachy): New public variable.

Signed-off-by: Mathieu Othacehe 
---
 gnu/packages/python-xyz.scm | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index c518783bb02..09276010277 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -10729,6 +10729,34 @@ smaller.  Small integers are encoded into a single byte, and typical short
 strings require only one extra byte in addition to the strings themselves.")
     (license license:asl2.0)))
 
+(define-public python-cachy
+  (package
+    (name "python-cachy")
+    (version "0.2.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "cachy" version))
+       (sha256
+        (base32
+         "0v6mjyhgx6j7ya20bk69cr3gdzdkdf6psay0h090rscclgji65dp"))))
+    (build-system python-build-system)
+    (native-inputs
+     `(("python-fakeredis" ,python-fakeredis)
+       ("python-flexmock" ,python-flexmock)
+       ("python-pytest" ,python-pytest)))
+    (propagated-inputs
+     `(("python-memcached" ,python-memcached)
+       ("python-msgpack-python" ,python-msgpack-python)
+       ("python-redis" ,python-redis)))
+    (home-page "https://github.com/sdispater/cachy")
+    (synopsis "Simple yet effective caching library")
+    (description
+     "Cachy provides a simple yet effective caching library.  A simple but
+powerful API: thread-safety; decorator syntax; support for memcached, redis,
+database, file, dict stores.  Cachy supports python versions 2.7+ and 3.2+.")
+    (license license:expat)))
+
 (define-public python-lazy-object-proxy
   (package
     (name "python-lazy-object-proxy")

From 2015767cd1143889dca4f73c35ad2764059984f9 Mon Sep 17 00:00:00 2001
From: Tanguy Le Carrour 
Date: Mon, 28 Oct 2019 15:41:36 +0100
Subject: [PATCH 0539/1112] gnu: python-cachecontrol: Update to 0.12.5.

* gnu/packages/python-web.scm (python-cachecontrol): Update to 0.12.5.

Signed-off-by: Mathieu Othacehe 
---
 gnu/packages/python-web.scm | 23 +++++------------------
 1 file changed, 5 insertions(+), 18 deletions(-)

diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
index b79b10d51e2..eb25bd0ade6 100644
--- a/gnu/packages/python-web.scm
+++ b/gnu/packages/python-web.scm
@@ -2013,7 +2013,7 @@ provide an easy-to-use Python interface for building OAuth1 and OAuth2 clients."
 (define-public python-cachecontrol
   (package
     (name "python-cachecontrol")
-    (version "0.11.6")
+    (version "0.12.5")
     (source
      (origin
        (method git-fetch)
@@ -2024,25 +2024,12 @@ provide an easy-to-use Python interface for building OAuth1 and OAuth2 clients."
        (file-name (git-file-name name version))
        (sha256
         (base32
-         "0pb16bzbkk99nh317xyfk8fxc2ngimsbz7lz9pxsw8c82n83d4dh"))))
+         "03lgc65sl04n0cgzmmgg99bk83f9i6k8yrmcd4hpl46q1pymn0kz"))))
     (build-system python-build-system)
     (arguments
-     `(#:phases
-       (modify-phases %standard-phases
-         (replace 'check
-           (lambda _
-             ;; Drop test that requires internet access.
-             (delete-file "tests/test_regressions.py")
-             (setenv "PYTHONPATH"
-                     (string-append (getcwd) "/build/lib:"
-                                    (getenv "PYTHONPATH")))
-             (invoke "py.test" "-vv")
-             #t)))))
-    (native-inputs
-     `(("python-pytest" ,python-pytest)
-       ("python-redis" ,python-redis)
-       ("python-webtest" ,python-webtest)
-       ("python-mock" ,python-mock)))
+     ;; Versions > 0.11.6 depend on CherryPy for testing.
+     ;; It's too much work to package CherryPy for now.
+     `(#:tests? #f))
     (propagated-inputs
      `(("python-requests" ,python-requests)
        ("python-lockfile" ,python-lockfile)))

From 617bb67b4eb2a2de7a440c77853de85e9c4c09eb Mon Sep 17 00:00:00 2001
From: Tanguy Le Carrour 
Date: Mon, 28 Oct 2019 15:41:37 +0100
Subject: [PATCH 0540/1112] gnu: Add poetry.

* gnu/packages/python-xyz.scm (poetry): New public variable.

Signed-off-by: Mathieu Othacehe 
---
 gnu/packages/python-xyz.scm | 47 +++++++++++++++++++++++++++++++++++++
 1 file changed, 47 insertions(+)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 09276010277..98e2d7e92b4 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -10757,6 +10757,53 @@ powerful API: thread-safety; decorator syntax; support for memcached, redis,
 database, file, dict stores.  Cachy supports python versions 2.7+ and 3.2+.")
     (license license:expat)))
 
+(define-public poetry
+  (package
+    (name "poetry")
+    (version "0.12.17")
+    ;; Poetry can only be built from source with poetry.
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "poetry" version))
+       (sha256
+        (base32
+         "0gxwcd65qjmzqzppf53x51sic1rbcd9py6cdzx3aprppipimslvf"))))
+    (build-system python-build-system)
+    (arguments
+     `(#:tests? #f ;; Pypi does not have tests.
+       #:phases
+       (modify-phases %standard-phases
+         (replace 'build
+           (lambda _
+             ;; Bug in poetry https://github.com/sdispater/poetry/issues/866.
+             (invoke "sed" "-i" "-e" "s/from distutils.core/from setuptools/"
+                     "setup.py")
+             #t)))))
+    (propagated-inputs
+     `(("python-cachecontrol" ,python-cachecontrol)
+       ("python-cachy" ,python-cachy)
+       ("python-cleo" ,python-cleo)
+       ("python-glob2" ,python-glob2)
+       ("python-html5lib" ,python-html5lib)
+       ("python-jsonschema" ,python-jsonschema)
+       ("python-msgpack" ,python-msgpack)
+       ("python-pathlib2" ,python-pathlib2)
+       ("python-pkginfo" ,python-pkginfo)
+       ("python-pyparsing" ,python-pyparsing)
+       ("python-pyrsistent" ,python-pyrsistent)
+       ("python-requests" ,python-requests)
+       ("python-requests-toolbelt" ,python-requests-toolbelt)
+       ("python-shellingham" ,python-shellingham)
+       ("python-tomlkit" ,python-tomlkit)
+       ("python-virtualenv" ,python-virtualenv)))
+    (home-page "https://poetry.eustace.io/")
+    (synopsis "Python dependency management and packaging made easy")
+    (description "Poetry is a tool for dependency management and packaging
+in Python.  It allows you to declare the libraries your project depends on and
+it will manage (install/update) them for you.")
+    (license license:expat)))
+
 (define-public python-lazy-object-proxy
   (package
     (name "python-lazy-object-proxy")

From 32325c999995322009f6aecb732d44c3a642f7e6 Mon Sep 17 00:00:00 2001
From: Stephen Webber 
Date: Mon, 28 Oct 2019 20:46:58 -0500
Subject: [PATCH 0541/1112] gnu: emacs-helm-projectile: Update package.

* gnu/packages/emacs-xyz.scm (emacs-helm-projectile): Update package.

Signed-off-by: Mathieu Othacehe 
---
 gnu/packages/emacs-xyz.scm | 48 +++++++++++++++++++++-----------------
 1 file changed, 26 insertions(+), 22 deletions(-)

diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 0ce8739a77f..67f9c8c3be5 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -6955,29 +6955,33 @@ for search-based navigation of buffers.")
 as well as features for editing search results.")
       (license license:gpl3+))))
 
+;; There hasn't been a tag or release since 2016, so we take the latest
+;; commit.
 (define-public emacs-helm-projectile
-  (package
-    (name "emacs-helm-projectile")
-    (version "0.14.0")
-    (source
-     (origin
-       (method git-fetch)
-       (uri (git-reference
-             (url "https://github.com/bbatsov/helm-projectile.git")
-             (commit (string-append "v" version))))
-       (file-name (git-file-name name version))
-       (sha256
-        (base32 "0lph38p112fridighqcizpsyzjbv7qr3d8prbfj6w6q6gfl6cna4"))))
-    (build-system emacs-build-system)
-    (propagated-inputs
-     `(("emacs-dash" ,emacs-dash)
-       ("emacs-helm" ,emacs-helm)
-       ("emacs-projectile" ,emacs-projectile)))
-    (home-page "https://github.com/bbatsov/helm-projectile")
-    (synopsis "Helm integration for Projectile")
-    (description
-     "This Emacs library provides a Helm interface for Projectile.")
-    (license license:gpl3+)))
+  (let ((commit "5328b74dddcee8d1913803ca8167868831a07463")
+        (version "0.14.0")
+        (revision "1"))
+    (package
+      (name "emacs-helm-projectile")
+      (version (git-version version revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/bbatsov/helm-projectile.git")
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32 "0a811cblrvc8llpv771b8dppgxs6bwjyvjy3qn2xns4nigvn93s0"))))
+      (build-system emacs-build-system)
+      (propagated-inputs
+       `(("emacs-helm" ,emacs-helm)
+         ("emacs-projectile" ,emacs-projectile)))
+      (home-page "https://github.com/bbatsov/helm-projectile")
+      (synopsis "Helm integration for Projectile")
+      (description
+       "This Emacs library provides a Helm interface for Projectile.")
+      (license license:gpl3+))))
 
 (define-public emacs-taskrunner
   (let ((commit "3afd4a546d42339543d3d4e51b175fc3e82b3358")

From 3af12c75f9b6d6da1ded9ae4c7d4afe9071eeb68 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Cl=C3=A9ment=20Lassieur?= 
Date: Mon, 28 Oct 2019 16:32:02 +0100
Subject: [PATCH 0542/1112] gnu: emacs-evil: Remove undo-tree dependency.

Because it is buggy and unnecessary.  See
.

* gnu/packages/emacs-xyz.scm (emacs-evil)[propagated-inputs]: Remove
emacs-undo-tree and emacs-goto-chg.
---
 gnu/packages/emacs-xyz.scm | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 67f9c8c3be5..c12c174e2ea 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -7422,9 +7422,6 @@ news items, openrc and runscripts.")
         (base32
          "1833w397xhac5g3pp25szr2gyvclxy91aw27azvbmsx94pyk2a3q"))))
     (build-system emacs-build-system)
-    (propagated-inputs
-     `(("emacs-undo-tree" ,emacs-undo-tree)
-       ("emacs-goto-chg" ,emacs-goto-chg)))
     (home-page "https://github.com/emacs-evil/evil")
     (synopsis "Extensible Vi layer for Emacs")
     (description

From 10224994dab466638fa70dfc9a257cc6e18288e7 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Cl=C3=A9ment=20Lassieur?= 
Date: Tue, 29 Oct 2019 11:59:41 +0100
Subject: [PATCH 0543/1112] gnu: emacs-evil: Fix test helpers.

* gnu/packages/emacs-xyz.scm (emacs-evil)[arguments]: Add a 'fix-test-helpers'
phase.
---
 gnu/packages/emacs-xyz.scm | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index c12c174e2ea..1be819728fc 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -7421,6 +7421,14 @@ news items, openrc and runscripts.")
        (sha256
         (base32
          "1833w397xhac5g3pp25szr2gyvclxy91aw27azvbmsx94pyk2a3q"))))
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-before 'check 'fix-test-helpers
+           (lambda _
+             (substitute* "evil-test-helpers.el"
+               (("\\(undo-tree-mode 1\\)") ""))
+             #t)))))
     (build-system emacs-build-system)
     (home-page "https://github.com/emacs-evil/evil")
     (synopsis "Extensible Vi layer for Emacs")

From e1e00e87e6e625d255477d5ec61e70bb70290189 Mon Sep 17 00:00:00 2001
From: Tobias Geerinckx-Rice 
Date: Tue, 29 Oct 2019 13:06:51 +0100
Subject: [PATCH 0544/1112] gnu: perl-http-cookies: Update to 6.05.

* gnu/packages/web.scm (perl-http-cookies): Update to 6.05.
---
 gnu/packages/web.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
index 8748fe06810..07437e4f283 100644
--- a/gnu/packages/web.scm
+++ b/gnu/packages/web.scm
@@ -2860,7 +2860,7 @@ jar in conformance with RFC 6265 .")
 (define-public perl-http-cookies
   (package
     (name "perl-http-cookies")
-    (version "6.04")
+    (version "6.05")
     (source (origin
              (method url-fetch)
              (uri (string-append
@@ -2868,7 +2868,7 @@ jar in conformance with RFC 6265 .")
                    version ".tar.gz"))
              (sha256
               (base32
-               "1m0kxcirbvbkrm2c59p1bkbvzlcdymg8fdpa7wlxijlx0xwz1iqc"))))
+               "0pbgns2gwgvgg9rglah7ryw0jj13aykyf38lnhm3rwzw3c2cvqaq"))))
     (build-system perl-build-system)
     (propagated-inputs
      `(("perl-http-message" ,perl-http-message)))

From 0300085cc984236c9557d16badbe9e6e46633ef3 Mon Sep 17 00:00:00 2001
From: Tobias Geerinckx-Rice 
Date: Tue, 29 Oct 2019 13:11:47 +0100
Subject: [PATCH 0545/1112] gnu: cereal: Don't use unstable tarball.

* gnu/packages/serialization.scm (cereal)[source]: Use GIT-FETCH and
GIT-FILE-NAME.
---
 gnu/packages/serialization.scm | 17 +++++++++--------
 1 file changed, 9 insertions(+), 8 deletions(-)

diff --git a/gnu/packages/serialization.scm b/gnu/packages/serialization.scm
index ea016bc6c2f..249b6f1af57 100644
--- a/gnu/packages/serialization.scm
+++ b/gnu/packages/serialization.scm
@@ -53,14 +53,15 @@
   (package
     (name "cereal")
     (version "1.2.1")
-    (source (origin
-              (method url-fetch)
-              (uri (string-append "https://github.com/USCiLab/cereal/archive/v"
-                                  version ".tar.gz"))
-              (file-name (string-append name "-" version ".tar.gz"))
-              (sha256
-               (base32
-                "0kj32h3j2128anig0g9gzw82kfyd5xqfkwq6vdyv900jx8i1qckx"))))
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/USCiLab/cereal.git")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "1vxkrsnxkiblzi1z61vfix167c184fy868sgwj2dxxgbgjcq2nrh"))))
     (build-system cmake-build-system)
     (arguments
      `(;; The only included tests are portability tests requiring

From ff68988aa17e11bc771f3e25506b4746b1117b92 Mon Sep 17 00:00:00 2001
From: Tobias Geerinckx-Rice 
Date: Tue, 29 Oct 2019 13:12:20 +0100
Subject: [PATCH 0546/1112] gnu: perl-libwww: Update to 6.41.

* gnu/packages/web.scm (perl-libwww): Update to 6.41.
---
 gnu/packages/web.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
index 07437e4f283..d106bf7a6f9 100644
--- a/gnu/packages/web.scm
+++ b/gnu/packages/web.scm
@@ -3204,7 +3204,7 @@ select or poll.")
 (define-public perl-libwww
   (package
     (name "perl-libwww")
-    (version "6.39")
+    (version "6.41")
     (source (origin
              (method url-fetch)
              (uri (string-append
@@ -3212,7 +3212,7 @@ select or poll.")
                    version ".tar.gz"))
              (sha256
               (base32
-               "1mblfwz3g7vmyykmb0mcbmmad77rwx55fwaca9ymv9wajd3pg3cs"))))
+               "0jh67946fwd33ap3xy8df0421d2mr6lmhalhkf1p7dx2b7fil9wf"))))
     (build-system perl-build-system)
     (native-inputs
      `(("perl-test-fatal" ,perl-test-fatal)

From cbaf756caeee7935b69010ba1882f7dce6d0690f Mon Sep 17 00:00:00 2001
From: Tobias Geerinckx-Rice 
Date: Tue, 29 Oct 2019 13:58:17 +0100
Subject: [PATCH 0547/1112] gnu: sudo: Update to 1.8.29.

* gnu/packages/admin.scm (sudo): Update to 1.8.29.
[arguments]: Disable new /etc/sudoers syntax check.
---
 gnu/packages/admin.scm | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
index 82f1bb4eb82..08dac76a417 100644
--- a/gnu/packages/admin.scm
+++ b/gnu/packages/admin.scm
@@ -1128,7 +1128,7 @@ system administrator.")
 (define-public sudo
   (package
     (name "sudo")
-    (version "1.8.28p1")
+    (version "1.8.29")
     (source (origin
               (method url-fetch)
               (uri
@@ -1138,7 +1138,7 @@ system administrator.")
                                     version ".tar.gz")))
               (sha256
                (base32
-                "09xhx2k7j6wlqs9bl7snamd4k6lkyv9ycjwdspgbbqrimy25mfi3"))
+                "0z4wyadh9cks17gdpfgx4kvbrlnyb6nai2sd6chk7qh4jsngylyf"))
               (modules '((guix build utils)))
               (snippet
                '(begin
@@ -1184,6 +1184,12 @@ system administrator.")
                (("\\$\\(DESTDIR\\)\\$\\(vardir\\)")
                 ;; Don't try to create /var/db/sudo.
                 "$(TMPDIR)/dummy"))
+
+             ;; ‘Checking existing [/etc/]sudoers file for syntax errors’ is
+             ;; not the task of the build system, and fails.
+             (substitute* "plugins/sudoers/Makefile.in"
+               (("^pre-install:" match)
+                (string-append match "\ndisabled-" match)))
              #t)))
 
        ;; XXX: The 'testsudoers' test series expects user 'root' to exist, but

From dd88c89e0d0c0a47caff8c4f6fbbfc76a23ee5d9 Mon Sep 17 00:00:00 2001
From: Tobias Geerinckx-Rice 
Date: Tue, 29 Oct 2019 14:03:18 +0100
Subject: [PATCH 0548/1112] gnu: love: Update to 11.3.

* gnu/packages/game-development.scm (love): Update to 11.3.
---
 gnu/packages/game-development.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm
index eb92443e0d8..526a29a3ce7 100644
--- a/gnu/packages/game-development.scm
+++ b/gnu/packages/game-development.scm
@@ -622,14 +622,14 @@ archive on a per-file basis.")
 (define-public love
   (package
     (name "love")
-    (version "11.1")
+    (version "11.3")
     (source (origin
              (method url-fetch)
              (uri (string-append "https://bitbucket.org/rude/love/downloads/"
                                  "love-" version "-linux-src.tar.gz"))
              (sha256
               (base32
-               "1pkwiszmjs0xrwk0wqbc5cp9108b1y8gwsid0gqk1s0x09q9lpmw"))))
+               "0m8lvlabmcchskx4qpzkdlsm44360f3j0q3vvvj2388cfnvhv7v4"))))
     (build-system gnu-build-system)
     (native-inputs
      `(("pkg-config" ,pkg-config)))

From 3275d43dd93fd99358d6b67fdc9262a9bfe12d8c Mon Sep 17 00:00:00 2001
From: Tobias Geerinckx-Rice 
Date: Tue, 29 Oct 2019 14:09:55 +0100
Subject: [PATCH 0549/1112] gnu: lollypop: Don't use NAME in source URI.

* gnu/packages/gnome.scm (lollypop)[source]: Hard-code NAME.
---
 gnu/packages/gnome.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index bb842574b27..3c7882ca3db 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -7789,8 +7789,8 @@ views can be printed as PDF or PostScript files, or exported to HTML.")
      (origin
        (method url-fetch)
        (uri (string-append "https://gitlab.gnome.org/World/lollypop/uploads/"
-                           "5a7cd7c72b6d83ae08d0c54c4691f9df/"
-                           name "-" version ".tar.xz"))
+                           "aa4fbd92bf338296c28e54710271ccab/"
+                           "lollypop-" version ".tar.xz"))
        (sha256
         (base32
          "1r5wn0bja9psz6nr1rcaysdkkwz84rbyzpdfw66cxa6wiy52pkjm"))))

From e14d7f20f4359b2ff744042fbcb41c9d4dab6781 Mon Sep 17 00:00:00 2001
From: Tobias Geerinckx-Rice 
Date: Tue, 29 Oct 2019 14:37:21 +0100
Subject: [PATCH 0550/1112] gnu: xf86-input-wacom: Update to 0.38.0.

* gnu/packages/xdisorg.scm (xf86-input-wacom): Update to 0.38.0.
---
 gnu/packages/xdisorg.scm | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm
index d4312f4635c..cb2f9d40ae8 100644
--- a/gnu/packages/xdisorg.scm
+++ b/gnu/packages/xdisorg.scm
@@ -997,7 +997,7 @@ Wacom tablet applet.")
 (define-public xf86-input-wacom
   (package
     (name "xf86-input-wacom")
-    (version "0.36.1")
+    (version "0.38.0")
     (source
      (origin
        (method url-fetch)
@@ -1006,8 +1006,7 @@ Wacom tablet applet.")
              "xf86-input-wacom-" version "/"
              "xf86-input-wacom-" version ".tar.bz2"))
        (sha256
-        (base32
-         "029y8varbricba2dzhzhy0ndd7lbfif411ca8c3wxzni9qmbj1ij"))))
+        (base32 "0w53hv3g7d5vv328x04wb57sa1lyv2h631c37csp1drfp7ghikd1"))))
     (arguments
      `(#:configure-flags
        (list (string-append "--with-sdkdir="

From 9b6410b96aed1f51a4eae9d123358a1e41f54374 Mon Sep 17 00:00:00 2001
From: Tobias Geerinckx-Rice 
Date: Tue, 29 Oct 2019 15:04:54 +0100
Subject: [PATCH 0551/1112] gnu: qbittorrent: Update to 4.1.9.

* gnu/packages/bittorrent.scm (qbittorrent): Update to 4.1.9.
---
 gnu/packages/bittorrent.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/bittorrent.scm b/gnu/packages/bittorrent.scm
index 416186409c1..6b6998b3235 100644
--- a/gnu/packages/bittorrent.scm
+++ b/gnu/packages/bittorrent.scm
@@ -416,7 +416,7 @@ desktops.")
 (define-public qbittorrent
   (package
     (name "qbittorrent")
-    (version "4.1.8")
+    (version "4.1.9")
     (source
      (origin
        (method git-fetch)
@@ -425,7 +425,7 @@ desktops.")
              (commit (string-append "release-" version))))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "1mx59mazfmd5yaqdgb6cm8hr5sbp2xgzz3y3yipq1fwq85dj3r5w"))))
+        (base32 "044r3y3vvm2rqagmwlqlhvb4kkyqpkmpnlhv68hzkl3w5bvf8zl8"))))
     (build-system gnu-build-system)
     (arguments
      `(#:configure-flags

From 7ff157c16cc74d367978170815313a37fc0fff93 Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus 
Date: Tue, 29 Oct 2019 12:58:10 +0100
Subject: [PATCH 0552/1112] gnu: Add guile-ffi-fftw.

* gnu/packages/guile-xyz.scm (guile-ffi-fftw): New variable.
---
 gnu/packages/guile-xyz.scm | 45 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 45 insertions(+)

diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm
index 3a55585251b..d5c7325ba47 100644
--- a/gnu/packages/guile-xyz.scm
+++ b/gnu/packages/guile-xyz.scm
@@ -41,6 +41,7 @@
 (define-module (gnu packages guile-xyz)
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (gnu packages)
+  #:use-module (gnu packages algebra)
   #:use-module (gnu packages aspell)
   #:use-module (gnu packages autotools)
   #:use-module (gnu packages base)
@@ -2608,3 +2609,47 @@ bindings to Vigra C (a C wrapper to most of the Vigra functionality) and is
 enriched with pure Guile Scheme algorithms, all accessible through a nice,
 clean and easy to use high level API.")
     (license license:gpl3+)))
+
+(define-public guile-ffi-fftw
+  (let ((commit "95d7ffb55860f3163c5283ecec1ef43bc3d174dd")
+        (revision "1"))
+    (package
+      (name "guile-ffi-fftw")
+      (version (git-version "0" revision commit))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://github.com/lloda/guile-ffi-fftw.git")
+                      (commit commit)))
+                (file-name (git-file-name "guile-ffi-fftw" version))
+                (sha256
+                 (base32
+                  "0v9vk9cr4x9gn36lihi9gfkxyiqak0i598v5li6qw8bg95004p49"))))
+      (build-system guile-build-system)
+      (arguments
+       `(#:source-directory "mod"
+         #:phases
+         (modify-phases %standard-phases
+           (add-after 'unpack 'prepare-build
+             (lambda* (#:key inputs #:allow-other-keys)
+               (substitute* "mod/ffi/fftw.scm"
+                 (("\\(getenv \"GUILE_FFI_FFTW_LIBFFTW3_PATH\"\\)")
+                  (format #f "\"~a/lib\"" (assoc-ref inputs "fftw"))))
+               #t))
+           (add-after 'build 'check
+             (lambda _
+               (invoke "guile" "-L" "mod"
+                       "-s" "test/test-ffi-fftw.scm"))))))
+      (inputs
+       `(("fftw" ,fftw)
+         ("guile" ,guile-2.2)))
+      (home-page "https://github.com/lloda/guile-ffi-fftw/")
+      (synopsis "Access FFTW through Guile's FFI")
+      (description "This is a minimal set of Guile FFI bindings for the FFTW
+library's ‘guru interface’.  It provides two functions: @code{fftw-dft! rank
+sign in out} and @code{fftw-dft rank sign in}.  These bindings being minimal,
+there is no support for computing & reusing plans, or split r/i transforms, or
+anything other than straight complex DFTs.")
+      ;; TODO: This might actually be LGPLv3+
+      ;; See https://github.com/lloda/guile-ffi-fftw/issues/1
+      (license license:gpl3+))))

From 878e0e1bb0d15809c6582436d53498f3e6385524 Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus 
Date: Tue, 29 Oct 2019 15:07:25 +0100
Subject: [PATCH 0553/1112] gnu: mpd-service-type: Support configuration of
 outputs.

* gnu/services/audio.scm (): New record type.
()[outputs]: New field.
(mpd-output, mpd-output?, mpd-output->string): New procedures.
(mpd-config->file): Use mpd-output->string.
* doc/guix.texi (Audio Services): Document mpd-output fields.
---
 doc/guix.texi          | 60 +++++++++++++++++++++++++++++
 gnu/services/audio.scm | 85 +++++++++++++++++++++++++++++++++---------
 2 files changed, 128 insertions(+), 17 deletions(-)

diff --git a/doc/guix.texi b/doc/guix.texi
index 7cc33c6e22e..f6dcb2ac63f 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -22394,9 +22394,69 @@ The port to run mpd on.
 The address that mpd will bind to.  To use a Unix domain socket,
 an absolute path can be specified here.
 
+@item @code{outputs} (default: @code{"(list (mpd-output))"})
+The audio outputs that MPD can use.  By default this is a single output using pulseaudio.
+
 @end table
 @end deftp
 
+@deftp {Data Type} mpd-output
+Data type representing an @command{mpd} audio output.
+
+@table @asis
+@item @code{name} (default: @code{"MPD"})
+The name of the audio output.
+
+@item @code{type} (default: @code{"pulse"})
+The type of audio output.
+
+@item @code{enabled?} (default: @code{#t})
+Specifies whether this audio output is enabled when MPD is started.  By
+default, all audio outputs are enabled.  This is just the default
+setting when there is no state file; with a state file, the previous
+state is restored.
+
+@item @code{tags?} (default: @code{#t})
+If set to @code{#f}, then MPD will not send tags to this output.  This
+is only useful for output plugins that can receive tags, for example the
+@code{httpd} output plugin.
+
+@item @code{always-on?} (default: @code{#f})
+If set to @code{#t}, then MPD attempts to keep this audio output always
+open. This may be useful for streaming servers, when you don’t want to
+disconnect all listeners even when playback is accidentally stopped.
+
+@item @code{mixer-type}
+This field accepts a symbol that specifies which mixer should be used
+for this audio output: the @code{hardware} mixer, the @code{software}
+mixer, the @code{null} mixer (allows setting the volume, but with no
+effect; this can be used as a trick to implement an external mixer
+External Mixer) or no mixer (@code{none}).
+
+@item @code{extra-options} (default: @code{'()"})
+An association list of option symbols to string values to be appended to
+the audio output configuration.
+
+@end table
+@end deftp
+
+The following example shows a configuration of @code{mpd} that provides
+an HTTP audio streaming output.
+
+@lisp
+(service mpd-service-type
+         (mpd-configuration
+           (outputs
+             (list (mpd-output
+                     (name "streaming")
+                     (type "httpd")
+                     (mixer-type 'null)
+                     (extra-options
+                      `((encoder . "vorbis")
+                        (port    . "8080"))))))))
+@end lisp
+
+
 @node Virtualization Services
 @subsection Virtualization services
 
diff --git a/gnu/services/audio.scm b/gnu/services/audio.scm
index ebfe05abd05..471c5fd95fb 100644
--- a/gnu/services/audio.scm
+++ b/gnu/services/audio.scm
@@ -1,5 +1,6 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2017 Peter Mikkelsen 
+;;; Copyright © 2019 Ricardo Wurmus 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -23,7 +24,9 @@
   #:use-module (gnu packages mpd)
   #:use-module (guix records)
   #:use-module (ice-9 match)
-  #:export (mpd-configuration
+  #:export (mpd-output
+            mpd-output?
+            mpd-configuration
             mpd-configuration?
             mpd-service-type))
 
@@ -33,6 +36,25 @@
 ;;;
 ;;; Code:
 
+(define-record-type* 
+  mpd-output make-mpd-output
+  mpd-output?
+  (type          mpd-output-type
+                 (default "pulse"))
+  (name          mpd-output-name
+                 (default "MPD"))
+  (enabled?      mpd-output-enabled?
+                 (default #t))
+  (tags?         mpd-output-tags?
+                 (default #t))
+  (always-on?    mpd-output-always-on?
+                 (default #f))
+  (mixer-type    mpd-output-mixer-type
+                 ;; valid: hardware, software, null, none
+                 (default #f))
+  (extra-options mpd-output-extra-options
+                 (default '())))
+
 (define-record-type* 
   mpd-configuration make-mpd-configuration
   mpd-configuration?
@@ -51,27 +73,56 @@
   (port         mpd-configuration-port
                 (default "6600"))
   (address      mpd-configuration-address
-                (default "any")))
+                (default "any"))
+  (outputs      mpd-configuration-outputs
+                (default (list (mpd-output)))))
+
+(define (mpd-output->string output)
+  "Convert the OUTPUT of type  to a configuration file snippet."
+  (let ((extra (string-join
+                (map (match-lambda
+                       ((key . value)
+                        (format #f "  ~a \"~a\""
+                                (string-map
+                                 (lambda (c) (if (char=? c #\-) #\_ c))
+                                 (symbol->string key))
+                                value)))
+                     (mpd-output-extra-options output))
+                "\n")))
+    (format #f "\
+audio_output {
+  type \"~a\"
+  name \"~a\"
+~:[  enabled \"no\"~%~;~]\
+~:[  tags \"no\"~%~;~]\
+~:[~;  always_on \"yes\"~%~]\
+~@[  mixer_type \"~a\"~%~]\
+~a~%}~%"
+            (mpd-output-type output)
+            (mpd-output-name output)
+            (mpd-output-enabled? output)
+            (mpd-output-tags? output)
+            (mpd-output-always-on? output)
+            (mpd-output-mixer-type output)
+            extra)))
 
 (define (mpd-config->file config)
   (apply
    mixed-text-file "mpd.conf"
-   "audio_output {\n"
-   "  type \"pulse\"\n"
-   "  name \"MPD\"\n"
-   "}\n"
    "pid_file \"" (mpd-file-name config "pid") "\"\n"
-   (map (match-lambda
-          ((config-name config-val)
-           (string-append config-name " \"" (config-val config) "\"\n")))
-        `(("user" ,mpd-configuration-user)
-          ("music_directory" ,mpd-configuration-music-dir)
-          ("playlist_directory" ,mpd-configuration-playlist-dir)
-          ("db_file" ,mpd-configuration-db-file)
-          ("state_file" ,mpd-configuration-state-file)
-          ("sticker_file" ,mpd-configuration-sticker-file)
-          ("port" ,mpd-configuration-port)
-          ("bind_to_address" ,mpd-configuration-address)))))
+   (append (map mpd-output->string
+                (mpd-configuration-outputs config))
+           (map (match-lambda
+                  ((config-name config-val)
+                   (string-append config-name " \"" (config-val config) "\"\n")))
+                `(("user" ,mpd-configuration-user)
+                  ("music_directory" ,mpd-configuration-music-dir)
+                  ("playlist_directory" ,mpd-configuration-playlist-dir)
+                  ("db_file" ,mpd-configuration-db-file)
+                  ("state_file" ,mpd-configuration-state-file)
+                  ("sticker_file" ,mpd-configuration-sticker-file)
+                  ("port" ,mpd-configuration-port)
+                  ("bind_to_address" ,mpd-configuration-address))))))
 
 (define (mpd-file-name config file)
   "Return a path in /var/run/mpd/ that is writable

From 4428532012637b39d9f5dabe8aea62a27a98341a Mon Sep 17 00:00:00 2001
From: Leo Famulari 
Date: Thu, 17 Oct 2019 13:38:12 -0400
Subject: [PATCH 0554/1112] gnu: Go: Update to 1.12.10.

* gnu/packages/golang.scm (go-1.12): Update to 1.12.10.
---
 gnu/packages/golang.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 51be20b066a..e17d19c8fb2 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -401,7 +401,7 @@ in the style of communicating sequential processes (@dfn{CSP}).")
   (package
     (inherit go-1.4)
     (name "go")
-    (version "1.12.7")
+    (version "1.12.10")
     (source
      (origin
        (method url-fetch)
@@ -409,7 +409,7 @@ in the style of communicating sequential processes (@dfn{CSP}).")
                            name version ".src.tar.gz"))
        (sha256
         (base32
-         "04rvwj69gmw3bz8pw5pf10r21ar0pgpnswp15nkddf04dxyl9s4m"))))
+         "0m1rvawvpdl7kd0asw10m50xbxlhykix6dng9p4x6ih6x3y4hvpm"))))
     (arguments
      (substitute-keyword-arguments (package-arguments go-1.4)
        ((#:phases phases)

From b98b3674ee1556db6c5f62fc377eebceb14ae5ad Mon Sep 17 00:00:00 2001
From: Leo Famulari 
Date: Mon, 28 Oct 2019 13:20:52 -0400
Subject: [PATCH 0555/1112] gnu: Remove Go 1.11.

This version of Go is no longer supported upstream.

* gnu/packages/golang.scm (go-1.11): Remove variable.
---
 gnu/packages/golang.scm | 181 ----------------------------------------
 1 file changed, 181 deletions(-)

diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index e17d19c8fb2..4d5de2f89d9 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -216,187 +216,6 @@ in the style of communicating sequential processes (@dfn{CSP}).")
     (supported-systems '("x86_64-linux" "i686-linux" "armhf-linux" "aarch64-linux"))
     (license license:bsd-3)))
 
-(define-public go-1.11
-  (package
-    (inherit go-1.4)
-    (name "go")
-    (version "1.11.12")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (string-append "https://storage.googleapis.com/golang/"
-                           name version ".src.tar.gz"))
-       (sha256
-        (base32
-         "09k9zmq7hhgg0bf1y7rwa0kn7q1vkkr94cmg2iv9lq3najh5nykd"))))
-    (arguments
-     (substitute-keyword-arguments (package-arguments go-1.4)
-       ((#:phases phases)
-        `(modify-phases ,phases
-           (replace 'prebuild
-             (lambda* (#:key inputs outputs #:allow-other-keys)
-               (let* ((gcclib (string-append (assoc-ref inputs "gcc:lib") "/lib"))
-                      (ld (string-append (assoc-ref inputs "libc") "/lib"))
-                      (loader (car (find-files ld "^ld-linux.+")))
-                      (net-base (assoc-ref inputs "net-base"))
-                      (tzdata-path
-                       (string-append (assoc-ref inputs "tzdata") "/share/zoneinfo"))
-                      (output (assoc-ref outputs "out")))
-
-                 (for-each delete-file
-                           ;; Removing net/ tests, which fail when attempting to access
-                           ;; network resources not present in the build container.
-                           '("net/listen_test.go"
-                             "net/parse_test.go"
-                             "net/cgo_unix_test.go"
-                             ;; A side effect of these test scripts is testing
-                             ;; cgo. Attempts at using cgo flags and
-                             ;; directives with these scripts as specified
-                             ;; here (https://golang.org/cmd/cgo/) have not
-                             ;; worked. The tests continue to state that they
-                             ;; can not find crt1.o despite being present.
-                             "cmd/go/testdata/script/list_compiled_imports.txt"
-                             "cmd/go/testdata/script/mod_case_cgo.txt"
-                             ;; https://github.com/golang/go/issues/24884
-                             "os/user/user_test.go"))
-
-                 (substitute* "os/os_test.go"
-                   (("/usr/bin") (getcwd))
-                   (("/bin/pwd") (which "pwd"))
-                   (("/bin/sh") (which "sh")))
-
-                 (substitute* "cmd/vendor/golang.org/x/sys/unix/syscall_unix_test.go"
-                   (("/usr/bin") "/tmp"))
-
-                 ;; Add libgcc to runpath
-                 (substitute* "cmd/link/internal/ld/lib.go"
-                   (("!rpath.set") "true"))
-                 (substitute* "cmd/go/internal/work/gccgo.go"
-                   (("cgoldflags := \\[\\]string\\{\\}")
-                    (string-append "cgoldflags := []string{"
-                                   "\"-rpath=" gcclib "\""
-                                   "}"))
-                   (("\"-lgcc_s\", ")
-                    (string-append
-                     "\"-Wl,-rpath=" gcclib "\", \"-lgcc_s\", ")))
-                 (substitute* "cmd/go/internal/work/gc.go"
-                   (("ldflags = setextld\\(ldflags, compiler\\)")
-                    (string-append
-                     "ldflags = setextld(ldflags, compiler)\n"
-                     "ldflags = append(ldflags, \"-r\")\n"
-                     "ldflags = append(ldflags, \"" gcclib "\")\n")))
-
-                 ;; Disable failing tests: these tests attempt to access
-                 ;; commands or network resources which are neither available
-                 ;; nor necessary for the build to succeed.
-                 (for-each
-                  (match-lambda
-                    ((file regex)
-                     (substitute* file
-                       ((regex all before test_name)
-                        (string-append before "Disabled" test_name)))))
-                  '(("net/net_test.go" "(.+)(TestShutdownUnix.+)")
-                    ("net/dial_test.go" "(.+)(TestDialTimeout.+)")
-                    ("os/os_test.go" "(.+)(TestHostname.+)")
-                    ("time/format_test.go" "(.+)(TestParseInSydney.+)")
-                    ("time/format_test.go" "(.+)(TestParseInLocation.+)")
-                    ("os/exec/exec_test.go" "(.+)(TestEcho.+)")
-                    ("os/exec/exec_test.go" "(.+)(TestCommandRelativeName.+)")
-                    ("os/exec/exec_test.go" "(.+)(TestCatStdin.+)")
-                    ("os/exec/exec_test.go" "(.+)(TestCatGoodAndBadFile.+)")
-                    ("os/exec/exec_test.go" "(.+)(TestExitStatus.+)")
-                    ("os/exec/exec_test.go" "(.+)(TestPipes.+)")
-                    ("os/exec/exec_test.go" "(.+)(TestStdinClose.+)")
-                    ("os/exec/exec_test.go" "(.+)(TestIgnorePipeErrorOnSuccess.+)")
-                    ("syscall/syscall_unix_test.go" "(.+)(TestPassFD\\(.+)")
-                    ("os/exec/exec_test.go" "(.+)(TestExtraFiles/areturn.+)")
-                    ("cmd/go/go_test.go" "(.+)(TestCoverageWithCgo.+)")
-                    ("cmd/go/go_test.go" "(.+)(TestTwoPkgConfigs.+)")
-                    ("os/exec/exec_test.go" "(.+)(TestOutputStderrCapture.+)")
-                    ("os/exec/exec_test.go" "(.+)(TestExtraFiles.+)")
-                    ("os/exec/exec_test.go" "(.+)(TestExtraFilesRace.+)")
-                    ("net/lookup_test.go" "(.+)(TestLookupPort.+)")
-                    ("syscall/exec_linux_test.go"
-                     "(.+)(TestCloneNEWUSERAndRemapNoRootDisableSetgroups.+)")))
-
-                 ;; fix shebang for testar script
-                 ;; note the target script is generated at build time.
-                 (substitute* "../misc/cgo/testcarchive/carchive_test.go"
-                   (("#!/usr/bin/env") (string-append "#!" (which "env"))))
-
-                 (substitute* "net/lookup_unix.go"
-                   (("/etc/protocols") (string-append net-base "/etc/protocols")))
-                 (substitute* "net/port_unix.go"
-                   (("/etc/services") (string-append net-base "/etc/services")))
-                 (substitute* "time/zoneinfo_unix.go"
-                   (("/usr/share/zoneinfo/") tzdata-path))
-                 (substitute* (find-files "cmd" "\\.go")
-                   (("/lib(64)?/ld-linux.*\\.so\\.[0-9]") loader))
-                 #t)))
-           (add-before 'build 'set-bootstrap-variables
-             (lambda* (#:key outputs inputs #:allow-other-keys)
-               ;; Tell the build system where to find the bootstrap Go.
-               (let ((go  (assoc-ref inputs "go")))
-                 (setenv "GOROOT_BOOTSTRAP" go)
-                 (setenv "GOGC" "400")
-                 #t)))
-           (replace 'build
-             (lambda* (#:key inputs outputs #:allow-other-keys)
-               ;; FIXME: Some of the .a files are not bit-reproducible.
-               (let* ((output (assoc-ref outputs "out")))
-                 (setenv "CC" (which "gcc"))
-                 (setenv "GOOS" "linux")
-                 (setenv "GOROOT" (dirname (getcwd)))
-                 (setenv "GOROOT_FINAL" output)
-                 (setenv "CGO_ENABLED" "1")
-                 (invoke "sh" "all.bash"))))
-
-           (replace 'install
-             ;; TODO: Most of this could be factorized with Go 1.4.
-             (lambda* (#:key outputs #:allow-other-keys)
-               (let* ((output (assoc-ref outputs "out"))
-                      (doc_out (assoc-ref outputs "doc"))
-                      (docs (string-append doc_out "/share/doc/" ,name "-" ,version))
-                      (src (string-append
-                            (assoc-ref outputs "tests") "/share/" ,name "-" ,version)))
-                 (delete-file-recursively "../pkg/bootstrap")
-                 ;; Prevent installation of the build cache, which contains
-                 ;; store references to most of the tools used to build Go and
-                 ;; would unnecessarily increase the size of Go's closure if it
-                 ;; was installed.
-                 (delete-file-recursively "../pkg/obj")
-
-                 (mkdir-p src)
-                 (copy-recursively "../test" (string-append src "/test"))
-                 (delete-file-recursively "../test")
-                 (mkdir-p docs)
-                 (copy-recursively "../api" (string-append docs "/api"))
-                 (delete-file-recursively "../api")
-                 (copy-recursively "../doc" (string-append docs "/doc"))
-                 (delete-file-recursively "../doc")
-
-                 (for-each
-                  (lambda (file)
-                    (let* ((filein (string-append "../" file))
-                           (fileout (string-append docs "/" file)))
-                      (copy-file filein fileout)
-                      (delete-file filein)))
-                  ;; Note the slightly different file names compared to 1.4.
-                  '("README.md" "CONTRIBUTORS" "AUTHORS" "PATENTS"
-                    "LICENSE" "VERSION" "CONTRIBUTING.md" "robots.txt"))
-
-                 (copy-recursively "../" output)
-                 #t)))))))
-    (native-inputs
-     `(("go" ,go-1.4)
-       ,@(match (%current-system)
-           ((or "armhf-linux" "aarch64-linux")
-            `(("gold" ,binutils-gold)))
-           (_ `()))
-       ,@(package-native-inputs go-1.4)))
-    (supported-systems %supported-systems)))
-
-
 (define-public go-1.12
   (package
     (inherit go-1.4)

From 561d391ba8711049fea8eca25a1685b2a051b55c Mon Sep 17 00:00:00 2001
From: Leo Famulari 
Date: Wed, 14 Aug 2019 14:42:50 -0400
Subject: [PATCH 0556/1112] gnu: Go standard library 'x' packages: Consolidate.

* gnu/packages/golang.scm (go-golang-org-x-text, go-golang-org-x-sys, go-golang-org-x-net,
go-golang-org-x-time): New variables.
(go-golang.org-x-crypto-ssh-terminal, go-golang-org-x-crypto-bcrypt,
go-golang-org-x-crypto-blowfish, go-golang-org-x-crypto-pbkdf2,
go-golang-org-x-crypto-tea, go-golang-org-x-crypto-salsa20,
go-golang-org-x-crypto-cast5, go-golang-org-x-crypto-twofish,
go-golang-org-x-crypto-xtea, go-golang-org-x-crypto-ed25519,
go-golang-org-x-crypto-ripemd160, go-golang-org-x-crypto-blake2s,
go-golang-org-x-crypto-sha3, go-golang-org-x-text-encoding,
go-golang-org-x-text-transform, go-golang-org-x-text-unicode-norm,
go-golang-org-x-net-ipv4, go-golang-org-x-net-bpf, go-golang-org-x-net-context,
go-golang-org-x-net-internal-socks, go-golang-org-x-net-internal-socket,
go-golang-org-x-net-internal-iana, go-golang-org-x-net-ipv6,
go-golang-org-x-net-proxy, go-golang-org-x-sys-cpu, go-golang-org-x-sys-unix,
go-golang-org-x-time-rate): Remove variables.
(go-github-com-sirupsen-logrus, go-github-com-docker-distribution,
go-github-com-libp2p-go-libp2p-crypto,
go-github-com-multiformats-go-multihash,
go-github-com-libp2p-go-libp2p-peer,
go-github-com-libp2p-go-libp2p-metrics,
go-github-com-multiformats-go-multiaddr,
go-github-com-multiformats-go-multiaddr-net,
go-github-com-mattn-go-isatty, go-github-com-gdamore-encoding,
go-github-com-gdamore-tcell): Adjust accordingly.
* gnu/packages/docker.scm (docker-libnetwork-cmd-proxy): Likewise.
* gnu/packages/databases.scm (mongo-tools): Likewise.
* gnu/packages/ipfs.scm (go-github-com-ipfs-go-ipfs-api, gx, gx-go): Likewise.
* gnu/packages/web.scm (poussetaches): Likewise.
* gnu/packages/terminals.scm (go-github-com-junegunn-fzf,
go-github.com-howeyc-gopass): Likewise.
(go-golang.org-x-crypto-ssh-terminal): Remove variable.
* gnu/packages/syncthing.scm (syncthing,
go-github-com-oschwald-geoip2-golang,
go-github-com-oschwald-maxminddb-golang,
go-github-com-syncthing-notify): Adjust accordingly.
* gnu/packages/linux.scm (go-netlink): Likewise.
---
 gnu/packages/databases.scm |   2 +-
 gnu/packages/docker.scm    |   6 +-
 gnu/packages/golang.scm    | 519 +++++--------------------------------
 gnu/packages/ipfs.scm      |  12 +-
 gnu/packages/linux.scm     |   2 +-
 gnu/packages/syncthing.scm |  21 +-
 gnu/packages/terminals.scm |  42 +--
 gnu/packages/web.scm       |   2 +-
 8 files changed, 78 insertions(+), 528 deletions(-)

diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm
index 5c9435ae82c..412768aca6b 100644
--- a/gnu/packages/databases.scm
+++ b/gnu/packages/databases.scm
@@ -3003,7 +3003,7 @@ transforms idiomatic python function calls to well-formed SQL queries.")
     (native-inputs
      `(("go-github.com-howeyc-gopass" ,go-github.com-howeyc-gopass)
        ("go-github.com-jessevdk-go-flags" ,go-github.com-jessevdk-go-flags)
-       ("go-golang.org-x-crypto-ssh-terminal" ,go-golang.org-x-crypto-ssh-terminal)
+       ("go-golang-org-x-crypto" ,go-golang-org-x-crypto)
        ("go-gopkg.in-mgo.v2" ,go-gopkg.in-mgo.v2)
        ("go-gopkg.in-tomb.v2" ,go-gopkg.in-tomb.v2)
        ("go-github.com-nsf-termbox-go" ,go-github.com-nsf-termbox-go)
diff --git a/gnu/packages/docker.scm b/gnu/packages/docker.scm
index 28eff0a56c0..69325449a12 100644
--- a/gnu/packages/docker.scm
+++ b/gnu/packages/docker.scm
@@ -291,9 +291,9 @@ the required network abstractions for applications.")
        ("logrus" ,go-github-com-sirupsen-logrus)
        ("go-netlink" ,go-netlink)
        ("go-netns" ,go-netns)
-       ("go-golang-org-x-crypto-ssh-terminal"
-        ,go-golang-org-x-crypto-ssh-terminal)
-       ("go-golang-org-x-sys-unix" ,go-golang-org-x-sys-unix)))
+       ("go-golang-org-x-crypto"
+        ,go-golang-org-x-crypto)
+       ("go-golang-org-x-sys" ,go-golang-org-x-sys)))
     (synopsis "Docker user-space proxy")
     (description "A proxy running in the user space.  It is used by the
 built-in registry server of Docker.")
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 4d5de2f89d9..e868c2ca19d 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -660,182 +660,18 @@ Go programming language.")
                       ".*\\.gz$"))
                #t)))))
       (propagated-inputs
-       `(("go-golang-org-x-sys-cpu" ,go-golang-org-x-sys-cpu)))
+       `(("go-golang-org-x-sys" ,go-golang-org-x-sys)))
       (synopsis "Supplementary cryptographic libraries in Go")
       (description "This package provides supplementary cryptographic libraries
 for the Go language.")
       (home-page "https://go.googlesource.com/crypto/")
       (license license:bsd-3))))
 
-(define-public go-golang-org-x-crypto-bcrypt
-  (let ((commit "b7391e95e576cacdcdd422573063bc057239113d")
-        (revision "3"))
-    (package
-      (name "go-golang-org-x-crypto-bcrypt")
-      (version (git-version "0.0.0" revision commit))
-      (source (origin
-                (method git-fetch)
-                (uri (git-reference
-                      (url "https://go.googlesource.com/crypto")
-                      (commit commit)))
-                (file-name (string-append "go.googlesource.com-crypto-"
-                                          version "-checkout"))
-                (sha256
-                 (base32
-                  "1jqfh81mhgwcc6b9l0bs6rb0707s01qpvn7896i5bsmig46lc7zm"))))
-      (build-system go-build-system)
-      (arguments
-       `(#:import-path "golang.org/x/crypto/bcrypt"
-         #:unpack-path "golang.org/x/crypto"))
-      (synopsis "Bcrypt in Go")
-      (description "This package provides a Go implementation of the bcrypt
-password hashing function.")
-      (home-page "https://go.googlesource.com/crypto/")
-      (license license:bsd-3))))
-
-(define-public go-golang-org-x-crypto-blowfish
-  (package
-    (inherit go-golang-org-x-crypto-bcrypt)
-    (name "go-golang-org-x-crypto-blowfish")
-    (arguments
-     `(#:import-path "golang.org/x/crypto/blowfish"
-       #:unpack-path "golang.org/x/crypto"))
-    (synopsis "Blowfish in Go")
-    (description "This package provides a Go implementation of the Blowfish
-symmetric-key block cipher.")))
-
-(define-public go-golang-org-x-crypto-pbkdf2
-  (package
-    (inherit go-golang-org-x-crypto-bcrypt)
-    (name "go-golang-org-x-crypto-pbkdf2")
-    (arguments
-     `(#:import-path "golang.org/x/crypto/pbkdf2"
-       #:unpack-path "golang.org/x/crypto"))
-    (synopsis "PBKDF2 in Go")
-    (description "This package provides a Go implementation of the PBKDF2 key
-derivation function.")))
-
-(define-public go-golang-org-x-crypto-tea
-  (package
-    (inherit go-golang-org-x-crypto-bcrypt)
-    (name "go-golang-org-x-crypto-tea")
-    (arguments
-     `(#:import-path "golang.org/x/crypto/tea"
-       #:unpack-path "golang.org/x/crypto"))
-    (synopsis "Tiny Encryption Algorithm (TEA) in Go")
-    (description "This package provides a Go implementation of the Tiny Encryption
-Algorithm (TEA) block cipher.")))
-
-(define-public go-golang-org-x-crypto-salsa20
-  (package
-    (inherit go-golang-org-x-crypto-bcrypt)
-    (name "go-golang-org-x-crypto-salsa20")
-    (arguments
-     `(#:import-path "golang.org/x/crypto/salsa20"
-       #:unpack-path "golang.org/x/crypto"))
-    (synopsis "Salsa20 in Go")
-    (description "This package provides a Go implementation of the Salsa20
-stream cipher.")))
-
-(define-public go-golang-org-x-crypto-cast5
-  (package
-    (inherit go-golang-org-x-crypto-bcrypt)
-    (name "go-golang-org-x-crypto-cast5")
-    (arguments
-     `(#:import-path "golang.org/x/crypto/cast5"
-       #:unpack-path "golang.org/x/crypto"))
-    (synopsis "Cast5 in Go")
-    (description "This package provides a Go implementation of the Cast5
-symmetric-key block cipher.")))
-
-(define-public go-golang-org-x-crypto-twofish
-  (package
-    (inherit go-golang-org-x-crypto-bcrypt)
-    (name "go-golang-org-x-crypto-twofish")
-    (arguments
-     `(#:import-path "golang.org/x/crypto/twofish"
-       #:unpack-path "golang.org/x/crypto"))
-    (synopsis "Twofish in Go")
-    (description "This package provides a Go implementation of the Twofish
-symmetric-key block cipher.")))
-
-(define-public go-golang-org-x-crypto-xtea
-  (package
-    (inherit go-golang-org-x-crypto-bcrypt)
-    (name "go-golang-org-x-crypto-xtea")
-    (arguments
-     `(#:import-path "golang.org/x/crypto/xtea"
-       #:unpack-path "golang.org/x/crypto"))
-    (synopsis "eXtended Tiny Encryption Algorithm (XTEA) in Go")
-    (description "This package provides a Go implementation of the eXtended
-Tiny Encryption Algorithm (XTEA) block cipher.")))
-
-(define-public go-golang-org-x-crypto-ed25519
-  (package
-    (inherit go-golang-org-x-crypto-bcrypt)
-    (name "go-golang-org-x-crypto-ed25519")
-    (arguments
-     `(#:import-path "golang.org/x/crypto/ed25519"
-       #:unpack-path "golang.org/x/crypto"
-       #:phases
-       (modify-phases %standard-phases
-         (add-before 'reset-gzip-timestamps 'make-gzip-archive-writable
-           (lambda* (#:key outputs #:allow-other-keys)
-             (map (lambda (file)
-                    (make-file-writable file))
-                  (find-files
-                    (string-append (assoc-ref outputs "out")
-                                   "/src/golang.org/x/crypto/ed25519/testdata")
-                    ".*\\.gz$"))
-             #t)))))
-    (synopsis "ED25519 in Go")
-    (description "This package provides a Go implementation of the ED25519
-signature algorithm.")))
-
-(define-public go-golang-org-x-crypto-ripemd160
-  (package
-    (inherit go-golang-org-x-crypto-bcrypt)
-    (name "go-golang-org-x-crypto-ripemd160")
-    (arguments
-     (substitute-keyword-arguments (package-arguments go-golang-org-x-crypto-bcrypt)
-       ((#:import-path _)
-        "golang.org/x/crypto/ripemd160")))
-    (synopsis "RIPEMD-160 in Go")
-    (description "This package provides a Go implementation of the RIPEMD-160
-hash algorithm.")))
-
-(define-public go-golang-org-x-crypto-blake2s
-  (package
-    (inherit go-golang-org-x-crypto-bcrypt)
-    (name "go-golang-org-x-crypto-blake2s")
-    (arguments
-     (substitute-keyword-arguments (package-arguments go-golang-org-x-crypto-bcrypt)
-       ((#:import-path _)
-        "golang.org/x/crypto/blake2s")))
-    (propagated-inputs
-     `(("go-golang-org-x-sys-cpu" ,go-golang-org-x-sys-cpu)))
-    (synopsis "BLAKE2s in Go")
-    (description "This package provides a Go implementation of the BLAKE2s
-hash algorithm.")))
-
-(define-public go-golang-org-x-crypto-sha3
-  (package
-    (inherit go-golang-org-x-crypto-bcrypt)
-    (name "go-golang-org-x-crypto-sha3")
-    (arguments
-     (substitute-keyword-arguments (package-arguments go-golang-org-x-crypto-bcrypt)
-       ((#:import-path _)
-        "golang.org/x/crypto/sha3")))
-    (synopsis "SHA-3 in Go")
-    (description "This package provides a Go implementation of the SHA-3
-fixed-output-length hash functions and the SHAKE variable-output-length hash
-functions defined by FIPS-202.")))
-
-(define-public go-golang-org-x-net-ipv4
+(define-public go-golang-org-x-net
   (let ((commit "d28f0bde5980168871434b95cfc858db9f2a7a99")
         (revision "3"))
     (package
-      (name "go-golang-org-x-net-ipv4")
+      (name "go-golang-org-x-net")
       (version (git-version "0.0.0" revision commit))
       (source (origin
                 (method git-fetch)
@@ -848,208 +684,22 @@ functions defined by FIPS-202.")))
                   "18xj31h70m7xxb7gc86n9i21w6d7djbjz67zfaljm4jqskz6hxkf"))))
       (build-system go-build-system)
       (arguments
-       `(#:import-path "golang.org/x/net/ipv4"
-         #:unpack-path "golang.org/x/net"))
-      (propagated-inputs
-       `(("go-golang-org-x-sys-unix" ,go-golang-org-x-sys-unix)))
-      (synopsis "Go IPv4 support")
-      (description "This package provides @code{ipv4}, which implements IP-level
-socket options for the Internet Protocol version 4.")
+       `(#:import-path "golang.org/x/net"
+         ; Source-only package
+         #:tests? #f
+         #:phases
+         (modify-phases %standard-phases
+           (delete 'build))))
+      (synopsis "Go supplemental networking libraries")
+      (description "This package provides supplemental Go networking libraries.")
       (home-page "https://go.googlesource.com/net")
       (license license:bsd-3))))
 
-(define-public go-golang-org-x-net-bpf
-  (let ((commit "d28f0bde5980168871434b95cfc858db9f2a7a99")
-        (revision "3"))
-    (package
-      (name "go-golang-org-x-net-bpf")
-      (version (git-version "0.0.0" revision commit))
-      (source (origin
-                (method git-fetch)
-                (uri (git-reference
-                      (url "https://go.googlesource.com/net")
-                      (commit commit)))
-                (file-name (string-append "go.googlesource.com-net-"
-                                          version "-checkout"))
-                (sha256
-                 (base32
-                  "18xj31h70m7xxb7gc86n9i21w6d7djbjz67zfaljm4jqskz6hxkf"))))
-      (build-system go-build-system)
-      (arguments
-       `(#:import-path "golang.org/x/net/bpf"
-         #:unpack-path "golang.org/x/net"))
-      (propagated-inputs
-       `(("go-golang-org-x-sys-unix" ,go-golang-org-x-sys-unix)))
-      (synopsis "Berkeley Packet Filters (BPF) in Go")
-      (description "This package provides a Go implementation of the Berkeley
-Packet Filter (BPF) virtual machine.")
-      (home-page "https://go.googlesource.com/net/")
-      (license license:bsd-3))))
-
-(define-public go-golang-org-x-net-context
-  (let ((commit "d28f0bde5980168871434b95cfc858db9f2a7a99")
-        (revision "3"))
-    (package
-      (name "go-golang-org-x-net-context")
-      (version (git-version "0.0.0" revision commit))
-      (source (origin
-                (method git-fetch)
-                (uri (git-reference
-                      (url "https://go.googlesource.com/net")
-                      (commit commit)))
-                (file-name (string-append "go.googlesource.com-net-"
-                                          version "-checkout"))
-                (sha256
-                 (base32
-                  "18xj31h70m7xxb7gc86n9i21w6d7djbjz67zfaljm4jqskz6hxkf"))))
-      (build-system go-build-system)
-      (arguments
-       `(#:import-path "golang.org/x/net/context"
-         #:unpack-path "golang.org/x/net"))
-      (synopsis "Golang Context type")
-      (description "This package provides @code{context}, which defines the
-Context type, which carries deadlines, cancellation signals, and other
-request-scoped values across API boundaries and between processes.")
-      (home-page "https://go.googlesource.com/net/")
-      (license license:bsd-3))))
-
-(define-public go-golang-org-x-net-internal-socks
-  (let ((commit "d28f0bde5980168871434b95cfc858db9f2a7a99")
-        (revision "3"))
-    (package
-      (name "go-golang-org-x-net-internal-socks")
-      (version (git-version "0.0.0" revision commit))
-      (source (origin
-                (method git-fetch)
-                (uri (git-reference
-                      (url "https://go.googlesource.com/net")
-                      (commit commit)))
-                (file-name (string-append "go.googlesource.com-net-"
-                                          version "-checkout"))
-                (sha256
-                 (base32
-                  "18xj31h70m7xxb7gc86n9i21w6d7djbjz67zfaljm4jqskz6hxkf"))))
-      (build-system go-build-system)
-      (arguments
-       `(#:import-path "golang.org/x/net/internal/socks"
-         #:unpack-path "golang.org/x/net"))
-      (synopsis "")
-      (description "")
-      (home-page "https://go.googlesource.com/net/")
-      (license license:bsd-3))))
-
-(define-public go-golang-org-x-net-internal-socket
-  (let ((commit "d28f0bde5980168871434b95cfc858db9f2a7a99")
-        (revision "3"))
-    (package
-      (name "go-golang-org-x-net-internal-socket")
-      (version (git-version "0.0.0" revision commit))
-      (source (origin
-                (method git-fetch)
-                (uri (git-reference
-                      (url "https://go.googlesource.com/net")
-                      (commit commit)))
-                (file-name (string-append "go.googlesource.com-net-"
-                                          version "-checkout"))
-                (sha256
-                 (base32
-                  "18xj31h70m7xxb7gc86n9i21w6d7djbjz67zfaljm4jqskz6hxkf"))))
-      (build-system go-build-system)
-      (arguments
-       `(#:import-path "golang.org/x/net/internal/socket"
-         #:unpack-path "golang.org/x/net"))
-      (propagated-inputs
-       `(("go-golang-org-x-sys-unix" ,go-golang-org-x-sys-unix)))
-      (synopsis "")
-      (description "")
-      (home-page "https://go.googlesource.com/net/")
-      (license license:bsd-3))))
-
-(define-public go-golang-org-x-net-internal-iana
-  (let ((commit "d28f0bde5980168871434b95cfc858db9f2a7a99")
-        (revision "3"))
-    (package
-      (name "go-golang-org-x-net-internal-iana")
-      (version (git-version "0.0.0" revision commit))
-      (source (origin
-                (method git-fetch)
-                (uri (git-reference
-                      (url "https://go.googlesource.com/net")
-                      (commit commit)))
-                (file-name (string-append "go.googlesource.com-net-"
-                                          version "-checkout"))
-                (sha256
-                 (base32
-                  "18xj31h70m7xxb7gc86n9i21w6d7djbjz67zfaljm4jqskz6hxkf"))))
-      (build-system go-build-system)
-      (arguments
-       `(#:import-path "golang.org/x/net/internal/iana"
-         #:unpack-path "golang.org/x/net"))
-      (synopsis "Go support for assigned numbers (IANA)")
-      (description "This package provides @code{iana}, which provides protocol
-number resources managed by the Internet Assigned Numbers Authority (IANA).")
-      (home-page "https://go.googlesource.com/net/")
-      (license license:bsd-3))))
-
-(define-public go-golang-org-x-net-ipv6
-  (let ((commit "d28f0bde5980168871434b95cfc858db9f2a7a99")
-        (revision "3"))
-    (package
-      (name "go-golang-org-x-net-ipv6")
-      (version (git-version "0.0.0" revision commit))
-      (source (origin
-                (method git-fetch)
-                (uri (git-reference
-                      (url "https://go.googlesource.com/net")
-                      (commit commit)))
-                (file-name (string-append "go.googlesource.com-net-"
-                                          version "-checkout"))
-                (sha256
-                 (base32
-                  "18xj31h70m7xxb7gc86n9i21w6d7djbjz67zfaljm4jqskz6hxkf"))))
-      (build-system go-build-system)
-      (arguments
-       `(#:import-path "golang.org/x/net/ipv6"
-         #:unpack-path "golang.org/x/net"))
-      (propagated-inputs
-       `(("go-golang-org-x-sys-unix" ,go-golang-org-x-sys-unix)))
-      (synopsis "Go IPv6 support")
-      (description "This package provides @code{ipv6}, which implements
-IP-level socket options for the Internet Protocol version 6.")
-      (home-page "https://go.googlesource.com/net")
-      (license license:bsd-3))))
-
-(define-public go-golang-org-x-net-proxy
-  (let ((commit "d28f0bde5980168871434b95cfc858db9f2a7a99")
-        (revision "3"))
-    (package
-      (name "go-golang-org-x-net-proxy")
-      (version (git-version "0.0.0" revision commit))
-      (source (origin
-                (method git-fetch)
-                (uri (git-reference
-                      (url "https://go.googlesource.com/net")
-                      (commit commit)))
-                (file-name (string-append "go.googlesource.com-net-"
-                                          version "-checkout"))
-                (sha256
-                 (base32
-                  "18xj31h70m7xxb7gc86n9i21w6d7djbjz67zfaljm4jqskz6hxkf"))))
-      (build-system go-build-system)
-      (arguments
-       `(#:import-path "golang.org/x/net/proxy"
-         #:unpack-path "golang.org/x/net/"))
-      (synopsis "Go support for network proxies")
-      (description "This package provides @code{proxy}, which provides support
-for a variety of protocols to proxy network data.")
-      (home-page "https://go.googlesource.com/net")
-      (license license:bsd-3))))
-
-(define-public go-golang-org-x-sys-unix
+(define-public go-golang-org-x-sys
   (let ((commit "04f50cda93cbb67f2afa353c52f342100e80e625")
         (revision "4"))
     (package
-      (name "go-golang-org-x-sys-unix")
+      (name "go-golang-org-x-sys")
       (version (git-version "0.0.0" revision commit))
       (source (origin
                 (method git-fetch)
@@ -1062,28 +712,21 @@ for a variety of protocols to proxy network data.")
                   "0hmfsz9y1ingwsn482hlzzmzs7kr3cklm0ana0mbdk70isw2bxnw"))))
       (build-system go-build-system)
       (arguments
-       `(#:import-path "golang.org/x/sys/unix"
-         #:unpack-path "golang.org/x/sys"))
+       `(#:import-path "golang.org/x/sys"
+         ;; Source-only package
+         #:tests? #f
+         #:phases
+         (modify-phases %standard-phases
+           (delete 'build))))
       (synopsis "Go support for low-level system interaction")
-      (description "This package provides @code{unix}, which offers Go support
-for low-level interaction with the operating system.")
+      (description "This package provides supplemental libraries offering Go
+support for low-level interaction with the operating system.")
       (home-page "https://go.googlesource.com/sys")
       (license license:bsd-3))))
 
-(define-public go-golang-org-x-sys-cpu
+(define-public go-golang-org-x-text
   (package
-    (inherit go-golang-org-x-sys-unix)
-    (name "go-golang-org-x-sys-cpu")
-    (arguments
-     '(#:import-path "golang.org/x/sys/cpu"
-       #:unpack-path "golang.org/x/sys"))
-    (synopsis "CPU feature detection")
-    (description "Thi spackage provides @code{cpu}, which offers tools for CPU
-feature detection in Go.")))
-
-(define-public go-golang-org-x-text-encoding
-  (package
-    (name "go-golang-org-x-text-encoding")
+    (name "go-golang-org-x-text")
     (version "0.3.2")
     (source (origin
               (method git-fetch)
@@ -1097,45 +740,23 @@ feature detection in Go.")))
                 "0flv9idw0jm5nm8lx25xqanbkqgfiym6619w575p7nrdh0riqwqh"))))
     (build-system go-build-system)
     (arguments
-     `(#:import-path "golang.org/x/text/encoding"
-       #:unpack-path "golang.org/x/text"))
-    (synopsis "Interface for character encodings for conversion to and from
-UTF-8")
-    (description "This package defines an interface for character encodings.
-Specific implementations of encoding for CJK text as well as simple character
-encodings are provided in subpackages.")
+     `(#:import-path "golang.org/x/text"
+       ; Source-only package
+       #:tests? #f
+       #:phases
+       (modify-phases %standard-phases
+         (delete 'build))))
+    (synopsis "Supplemental Go text processing libraries")
+    (description "This package provides supplemental Go libraries for text
+    processing.")
     (home-page "https://go.googlesource.com/text")
     (license license:bsd-3)))
 
-(define-public go-golang-org-x-text-transform
-  (package
-    (inherit go-golang-org-x-text-encoding)
-    (name "go-golang-org-x-text-transform")
-    (arguments
-     `(#:import-path "golang.org/x/text/transform"
-       #:unpack-path "golang.org/x/text"))
-    (synopsis "Go text transformation")
-    (description "This package provides @code{transform}, which provides
-reader and writer wrappers that transform the bytes passing through.  Example
-transformations provided by other packages include normalization and conversion
-between character sets.")))
-
-(define-public go-golang-org-x-text-unicode-norm
-  (package
-    (inherit go-golang-org-x-text-encoding)
-    (name "go-golang-org-x-text-unicode-norm")
-    (arguments
-     `(#:import-path "golang.org/x/text/unicode/norm"
-       #:unpack-path "golang.org/x/text"))
-    (synopsis "Unicode normalization in Go")
-    (description "This package provides @code{norm}, which contains types and
-functions for normalizing Unicode strings.")))
-
-(define-public go-golang-org-x-time-rate
+(define-public go-golang-org-x-time
   (let ((commit "6dc17368e09b0e8634d71cac8168d853e869a0c7")
         (revision "1"))
     (package
-      (name "go-golang-org-x-time-rate")
+      (name "go-golang-org-x-time")
       (version (git-version "0.0.0" revision commit))
       (source (origin
                 (method git-fetch)
@@ -1148,29 +769,20 @@ functions for normalizing Unicode strings.")))
                   "1fx4cf5fpdz00g3c7vxzy92hdcg0vh4yqw00qp5s52j72qixynbk"))))
       (build-system go-build-system)
       (arguments
-       `(#:import-path "golang.org/x/time/rate"
-         #:unpack-path "golang.org/x/time"))
-      (propagated-inputs
-       `(("go-golang-org-x-net-context" ,go-golang-org-x-net-context)))
-      (synopsis "Rate limiting in Go")
-      (description "This package provides @{rate}, which implements rate
-limiting in Go.")
+       `(#:import-path "golang.org/x/time"
+         ; Source-only package
+         #:tests? #f
+         #:phases
+         (modify-phases %standard-phases
+           (delete 'build))))
+;      (propagated-inputs
+;       `(("go-golang-org-x-net" ,go-golang-org-x-net)))
+      (synopsis "Supplemental Go time libraries")
+      (description "This package provides supplemental Go libraries related to
+time.")
       (home-page "https://godoc.org/golang.org/x/time/rate")
       (license license:bsd-3))))
 
-(define-public go-golang-org-x-crypto-ssh-terminal
-  (package
-    (inherit go-golang-org-x-crypto-bcrypt)
-    (name "go-golang-org-x-crypto-ssh-terminal")
-    (inputs
-     `(("go-golang-org-x-sys-unix" ,go-golang-org-x-sys-unix)))
-    (arguments
-     `(#:import-path "golang.org/x/crypto/ssh/terminal"
-       #:unpack-path "golang.org/x/crypto"))
-    (synopsis "Terminal functions for Go")
-    (description "This package provides @{terminal}, which implements support
-functions for dealing with terminals, as commonly found on UNIX systems.")))
-
 (define-public go-github-com-burntsushi-toml
   (package
     (name "go-github-com-burntsushi-toml")
@@ -1559,12 +1171,11 @@ GNU extensions} to the POSIX recommendations for command-line options.")
          "0g5z7al7kky11ai2dhac6gkp3b5pxsvx72yj3xg4wg3265gbn7yz"))))
     (build-system go-build-system)
     (native-inputs
-     `(("go-golang-org-x-crypto-ssh-terminal"
-        ,go-golang-org-x-crypto-ssh-terminal)
+     `(("go-golang-org-x-crypto"
+        ,go-golang-org-x-crypto)
        ("go-github-com-stretchr-testify"
         ,go-github-com-stretchr-testify)
-       ("go-golang-org-x-sys-unix"
-        ,go-golang-org-x-sys-unix)))
+       ("go-golang-org-x-sys" ,go-golang-org-x-sys)))
     (arguments
      '(#:tests? #f                    ;FIXME missing dependencies
        #:import-path "github.com/sirupsen/logrus"))
@@ -1653,12 +1264,11 @@ SysVinit, and more.")
            "1yg2zrikn3vkvkx5mn51p6bfjk840qdkn7ahhhvvcsc8mpigrjc6"))))
       (build-system go-build-system)
       (native-inputs
-       `(("go-golang-org-x-sys-unix"
-          ,go-golang-org-x-sys-unix)
+       `(("go-golang-org-x-sys" ,go-golang-org-x-sys)
          ("go-github-com-sirupsen-logrus"
           ,go-github-com-sirupsen-logrus)
-         ("go-golang-org-x-crypto-ssh-terminal"
-          ,go-golang-org-x-crypto-ssh-terminal)))
+         ("go-golang-org-x-crypto"
+          ,go-golang-org-x-crypto)))
       (arguments
        '(#:import-path "github.com/docker/distribution"
          #:phases
@@ -1830,7 +1440,7 @@ values.")
          "1i77aq4gf9as03m8fpfh8fq49n4z9j7548blrcsidm1xhslzk5xd"))))
     (build-system go-build-system)
     (propagated-inputs
-     `(("go-golang-org-x-sys-unix" ,go-golang-org-x-sys-unix)))
+     `(("go-golang-org-x-sys" ,go-golang-org-x-sys)))
     (arguments
      '(#:import-path "github.com/mattn/go-isatty"))
     (home-page "https://github.com/mattn/go-isatty")
@@ -2482,7 +2092,7 @@ Architecture Processors\" by J. Guilford et al.")
       (arguments
        '(#:import-path "github.com/libp2p/go-libp2p-crypto"))
       (native-inputs
-       `(("go-golang-org-x-crypto-ed25519" ,go-golang-org-x-crypto-ed25519)
+       `(("go-golang-org-x-crypto" ,go-golang-org-x-crypto)
          ("go-github-com-btcsuite-btcd-btcec" ,go-github-com-btcsuite-btcd-btcec)
          ("go-github-com-gogo-protobuf-proto" ,go-github-com-gogo-protobuf-proto)
          ("go-github-com-minio-sha256-simd" ,go-github-com-minio-sha256-simd)))
@@ -2630,8 +2240,7 @@ required by Go's standard Hash interface.")
          ("go-github-com-minio-blake2b-simd" ,go-github-com-minio-blake2b-simd)
          ("go-github-com-minio-sha256-simd" ,go-github-com-minio-sha256-simd)
          ("go-github-com-spaolacci-murmur3" ,go-github-com-spaolacci-murmur3)
-         ("go-golang-org-x-crypto-blake2s" ,go-golang-org-x-crypto-blake2s)
-         ("go-golang-org-x-crypto-sha3" ,go-golang-org-x-crypto-sha3)))
+         ("go-golang-org-x-crypto" ,go-golang-org-x-crypto)))
       (home-page "https://github.com/multiformats/go-multihash")
       (synopsis "Multihash implementation in Go")
       (description "Multihash implementation in Go.")
@@ -2666,9 +2275,7 @@ required by Go's standard Hash interface.")
          ("go-github-com-multiformats-go-multihash" ,go-github-com-multiformats-go-multihash)
          ("go-github-com-gxed-hashland-keccakpg" ,go-github-com-gxed-hashland-keccakpg)
          ("go-github-com-spaolacci-murmur3" ,go-github-com-spaolacci-murmur3)
-         ("go-golang-org-x-crypto-blake2s" ,go-golang-org-x-crypto-blake2s)
-         ("go-golang-org-x-crypto-ed25519" ,go-golang-org-x-crypto-ed25519)
-         ("go-golang-org-x-crypto-sha3" ,go-golang-org-x-crypto-sha3)))
+         ("go-golang-org-x-crypto" ,go-golang-org-x-crypto)))
       (home-page "https://github.com/libp2p/go-libp2p-peer")
       (synopsis "PKI based identities for use in go-libp2p")
       (description "PKI based identities for use in @command{go-libp2p}.")
@@ -2731,9 +2338,7 @@ required by Go's standard Hash interface.")
          ("go-github-com-minio-blake2b-simd" ,go-github-com-minio-blake2b-simd)
          ("go-github-com-minio-sha256-simd" ,go-github-com-minio-sha256-simd)
          ("go-github-com-spaolacci-murmur3" ,go-github-com-spaolacci-murmur3)
-         ("go-golang-org-x-crypto-sha3" ,go-golang-org-x-crypto-sha3)
-         ("go-golang-org-x-crypto-ed25519" ,go-golang-org-x-crypto-ed25519)
-         ("go-golang-org-x-crypto-blake2s" ,go-golang-org-x-crypto-blake2s)))
+         ("go-golang-org-x-crypto" ,go-golang-org-x-crypto)))
       (home-page "https://github.com/libp2p/go-libp2p-metrics")
       (synopsis "Connection wrapper for go-libp2p that provides bandwidth metrics")
       (description "A connection wrapper for @command{go-libp2p} that provides bandwidth
@@ -2806,8 +2411,7 @@ cross-compilation.")
          ("go-github-com-minio-sha256-simd" ,go-github-com-minio-sha256-simd)
          ("go-github-com-mr-tron-base58" ,go-github-com-mr-tron-base58)
          ("go-github-com-spaolacci-murmur3" ,go-github-com-spaolacci-murmur3)
-         ("go-golang-org-x-crypto-sha3" ,go-golang-org-x-crypto-sha3)
-         ("go-golang-org-x-crypto-blake2s" ,go-golang-org-x-crypto-blake2s)))
+         ("go-golang-org-x-crypto" ,go-golang-org-x-crypto)))
       (home-page "https://github.com/multiformats/go-multiaddr")
       (synopsis "Composable and future-proof network addresses")
       (description "Multiaddr is a standard way to represent addresses that
@@ -2851,8 +2455,7 @@ does the following:
          ("go-github-com-minio-sha256-simd" ,go-github-com-minio-sha256-simd)
          ("go-github-com-mr-tron-base58" ,go-github-com-mr-tron-base58)
          ("go-github-com-spaolacci-murmur3" ,go-github-com-spaolacci-murmur3)
-         ("go-golang-org-x-crypto-sha3" ,go-golang-org-x-crypto-sha3)
-         ("go-golang-org-x-crypto-blake2s" ,go-golang-org-x-crypto-blake2s)))
+         ("go-golang-org-x-crypto" ,go-golang-org-x-crypto)))
       (home-page "https://github.com/multiformats/go-multiaddr-net")
       (synopsis "Multiaddress net tools")
       (description "This package provides Multiaddr specific versions of
@@ -3207,8 +2810,7 @@ colorspaces.")
     (arguments
      '(#:import-path "github.com/gdamore/encoding"))
     (inputs
-     `(("go-golang-org-x-text-encoding" ,go-golang-org-x-text-encoding)
-       ("go-golang-org-x-text-transform" ,go-golang-org-x-text-transform)))
+     `(("go-golang-org-x-text" ,go-golang-org-x-text)))
     (home-page "https://github.com/gdamore/encoding")
     (synopsis "Provide encodings missing from Go")
     (description "This package provides useful encodings not included in the
@@ -3249,8 +2851,7 @@ non-UTF-friendly sources.")
       (inputs
        `(("go-github.com-mattn-go-runewidth" ,go-github.com-mattn-go-runewidth)
          ("go-golang-org-colorful" ,go-golang-org-colorful)
-         ("go-golang-org-x-text-encoding" ,go-golang-org-x-text-encoding)
-         ("go-golang-org-x-text-transform" ,go-golang-org-x-text-transform)
+         ("go-golang-org-x-text" ,go-golang-org-x-text)
          ("go-github-com-gdamore-encoding" ,go-github-com-gdamore-encoding)))
       (home-page "https://github.com/gdamore/tcell")
       (synopsis "Provide a cell-based view for text terminals")
diff --git a/gnu/packages/ipfs.scm b/gnu/packages/ipfs.scm
index 2dd2097075d..79323d84835 100644
--- a/gnu/packages/ipfs.scm
+++ b/gnu/packages/ipfs.scm
@@ -91,9 +91,7 @@ that are shared between @command{go-ipfs/commands} and its rewrite
          ("go-github-com-minio-sha256-simd" ,go-github-com-minio-sha256-simd)
          ("go-github-com-mr-tron-base58" ,go-github-com-mr-tron-base58)
          ("go-github-com-multiformats-go-multihash" ,go-github-com-multiformats-go-multihash)
-         ("go-golang-org-x-crypto-blake2s" ,go-golang-org-x-crypto-blake2s)
-         ("go-golang-org-x-crypto-ed25519" ,go-golang-org-x-crypto-ed25519)
-         ("go-golang-org-x-crypto-sha3" ,go-golang-org-x-crypto-sha3)
+         ("go-golang-org-x-crypto" ,go-golang-org-x-crypto)
          ("go-github-com-spaolacci-murmur3" ,go-github-com-spaolacci-murmur3)
          ("go-github-com-gxed-hashland-keccakpg" ,go-github-com-gxed-hashland-keccakpg)
          ("go-github-com-whyrusleeping-tar-utils" ,go-github-com-whyrusleeping-tar-utils)
@@ -146,9 +144,7 @@ that are shared between @command{go-ipfs/commands} and its rewrite
        ("go-github-com-whyrusleeping-json-filter" ,go-github-com-whyrusleeping-json-filter)
        ("go-github-com-whyrusleeping-progmeter" ,go-github-com-whyrusleeping-progmeter)
        ("go-github-com-whyrusleeping-stump" ,go-github-com-whyrusleeping-stump)
-       ("go-golang-org-x-crypto-blake2s" ,go-golang-org-x-crypto-blake2s)
-       ("go-golang-org-x-crypto-ed25519" ,go-golang-org-x-crypto-ed25519)
-       ("go-golang-org-x-crypto-sha3" ,go-golang-org-x-crypto-sha3)))
+       ("go-golang-org-x-crypto" ,go-golang-org-x-crypto)))
     (home-page "https://github.com/whyrusleeping/gx")
     (synopsis "Package management tool using IPFS")
     (description "@command{gx} is a packaging tool built around the
@@ -207,9 +203,7 @@ powerful and simple.")
        ("go-github-com-urfave-cli" ,go-github-com-urfave-cli)
        ("go-github-com-whyrusleeping-progmeter" ,go-github-com-whyrusleeping-progmeter)
        ("go-github-com-whyrusleeping-stump" ,go-github-com-whyrusleeping-stump)
-       ("go-golang-org-x-crypto-blake2s" ,go-golang-org-x-crypto-blake2s)
-       ("go-golang-org-x-crypto-ed25519" ,go-golang-org-x-crypto-ed25519)
-       ("go-golang-org-x-crypto-sha3" ,go-golang-org-x-crypto-sha3)))
+       ("go-golang-org-x-crypto" ,go-golang-org-x-crypto)))
     (home-page "https://github.com/whyrusleeping/gx-go")
     (synopsis "Golang subtool for the @command{gx} package manager")
     (description "A subtool for the @command{gx} package manager for packages
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 8bfa9ce2581..4ddea0a7a42 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -5855,7 +5855,7 @@ management tools in userspace.")
     (arguments
      `(#:import-path "github.com/vishvananda/netlink"))
     (native-inputs
-     `(("go-golang-org-x-sys-unix" ,go-golang-org-x-sys-unix)
+     `(("go-golang-org-x-sys" ,go-golang-org-x-sys)
        ("go-netns" ,go-netns)))
     (home-page "https://github.com/vishvananda/netlink")
     (synopsis "Simple netlink library for Go")
diff --git a/gnu/packages/syncthing.scm b/gnu/packages/syncthing.scm
index 7e1d8df3333..0ba116fd11f 100644
--- a/gnu/packages/syncthing.scm
+++ b/gnu/packages/syncthing.scm
@@ -74,7 +74,7 @@
        ("go-github-com-syncthing-notify" ,go-github-com-syncthing-notify)
        ("go-github-com-syndtr-goleveldb" ,go-github-com-syndtr-goleveldb)
        ("go-github-com-thejerf-suture" ,go-github-com-thejerf-suture)
-       ("go-golang-org-x-time-rate" ,go-golang-org-x-time-rate)
+       ("go-golang-org-x-time" ,go-golang-org-x-time)
        ("go-gopkg.in-ldap.v2" ,go-gopkg.in-ldap.v2)
        ("go-github-com-gogo-protobuf" ,go-github-com-gogo-protobuf)
        ("go-github-com-gogo-protobuf-gogoproto"
@@ -84,17 +84,8 @@
        ("go-github-com-prometheus-client-golang-prometheus"
         ,go-github-com-prometheus-client-golang-prometheus)
        ("go-github-com-shirou-gopsutil" ,go-github-com-shirou-gopsutil)
-       ("go-golang-org-x-net-bpf" ,go-golang-org-x-net-bpf)
-       ("go-golang-org-x-net-internal-iana" ,go-golang-org-x-net-internal-iana)
-       ("go-golang-org-x-net-internal-socket"
-        ,go-golang-org-x-net-internal-socket)
-       ("go-golang-org-x-net-internal-socks"
-        ,go-golang-org-x-net-internal-socks)
-       ("go-golang-org-x-net-ipv4" ,go-golang-org-x-net-ipv4)
-       ("go-golang-org-x-net-ipv6" ,go-golang-org-x-net-ipv6)
-       ("go-golang-org-x-net-proxy" ,go-golang-org-x-net-proxy)
-       ("go-golang-org-x-text-unicode-norm" ,go-golang-org-x-text-unicode-norm)
-       ("go-golang-org-x-text-transform" ,go-golang-org-x-text-transform)
+       ("go-golang-org-x-net" ,go-golang-org-x-net)
+       ("go-golang-org-x-text" ,go-golang-org-x-text)
        ("go-github-com-audriusbutkevicius-recli"
         ,go-github-com-audriusbutkevicius-recli)
        ("go-github-com-urfave-cli" ,go-github-com-urfave-cli)
@@ -461,7 +452,7 @@ database/sql package.")
     (propagated-inputs
      `(("go-github-com-oschwald-maxminddb-golang"
         ,go-github-com-oschwald-maxminddb-golang)
-       ("go-golang-org-x-sys-unix" ,go-golang-org-x-sys-unix)))
+       ("go-golang-org-x-sys" ,go-golang-org-x-sys)))
     (arguments
      `(#:import-path "github.com/oschwald/geoip2-golang"
        #:tests? #f)) ; Requires some unpackaged software and test data
@@ -488,7 +479,7 @@ GeoLite2 and GeoIP2 databases in Go.")
                   "1i6d935f3cv9djpjvc2ibh8aps8jqvg454b9pkwg2h98al759ggk"))))
       (build-system go-build-system)
       (propagated-inputs
-       `(("go-golang-org-x-sys-unix" ,go-golang-org-x-sys-unix)))
+       `(("go-golang-org-x-sys" ,go-golang-org-x-sys)))
       (arguments
        `(#:import-path "github.com/oschwald/maxminddb-golang"
          #:tests? #f)) ; Requires some unpackaged software and test data
@@ -811,7 +802,7 @@ using sh's word-splitting rules.")
       (arguments
        '(#:import-path "github.com/syncthing/notify"))
       (propagated-inputs
-       `(("go-golang-org-x-sys-unix" ,go-golang-org-x-sys-unix)))
+       `(("go-golang-org-x-sys" ,go-golang-org-x-sys)))
       (synopsis "File system event notification library")
       (description "This package provides @code{notify}, a file system event
 notification library in Go.")
diff --git a/gnu/packages/terminals.scm b/gnu/packages/terminals.scm
index cd40ce3744a..22083940c47 100644
--- a/gnu/packages/terminals.scm
+++ b/gnu/packages/terminals.scm
@@ -721,42 +721,6 @@ programmer to write text-based user interfaces.")
       (home-page "https://github.com/nsf/termbox-go")
       (license license:expat))))
 
-(define-public go-golang.org-x-crypto-ssh-terminal
-  (let ((commit "c78caca803c95773f48a844d3dcab04b9bc4d6dd")
-        (revision "0"))
-    (package
-      (name "go-golang.org-x-crypto-ssh-terminal")
-      (version (git-version "0.0.0" revision commit))
-      (source (origin
-                (method git-fetch)
-                (uri (git-reference
-                      (url "https://go.googlesource.com/crypto")
-                      (commit commit)))
-                (file-name (git-file-name name version))
-                (sha256
-                 (base32
-                  "0vxlfxr9y681yn2cfh6dbqmq35vvq4f45ay0mm31ffkny9cms0y4"))))
-      (build-system go-build-system)
-      (arguments
-       '(#:import-path "golang.org/x/crypto/ssh/terminal"
-         #:unpack-path "golang.org/x/crypto"
-         #:phases
-         (modify-phases %standard-phases
-           (add-before 'reset-gzip-timestamps 'make-gzip-archive-writable
-             (lambda* (#:key outputs #:allow-other-keys)
-               (map (lambda (file)
-                      (make-file-writable file))
-                    (find-files
-                     (string-append (assoc-ref outputs "out")
-                                    "/src/golang.org/x/crypto/ed25519/testdata")
-                     ".*\\.gz$"))
-               #t)))))
-      (synopsis "Support functions for dealing with terminals in Go")
-      (description "@code{terminal} provides support functions for dealing
-with terminals in Go.")
-      (home-page "https://go.googlesource.com/crypto/")
-      (license license:bsd-3))))
-
 (define-public go-github-com-junegunn-fzf
   (package
     (name "go-github-com-junegunn-fzf")
@@ -779,7 +743,7 @@ with terminals in Go.")
        ("go-github-com-mattn-go-shellwords" ,go-github-com-mattn-go-shellwords)
        ("go-github-com-mattn-go-isatty" ,go-github-com-mattn-go-isatty)
        ("go-github-com-gdamore-tcell" ,go-github-com-gdamore-tcell)
-       ("go-golang-org-x-crypto-ssh-terminal" ,go-golang-org-x-crypto-ssh-terminal)))
+       ("go-golang-org-x-crypto" ,go-golang-org-x-crypto)))
     (home-page "https://github.com/junegunn/fzf")
     (synopsis "Command-line fuzzy-finder")
     (description "This package provides an interactive command-line filter
@@ -805,8 +769,8 @@ usable with any list--including files, command history, processes and more.")
       (arguments
        '(#:import-path "github.com/howeyc/gopass"))
       (propagated-inputs
-       `(("go-golang.org-x-crypto-ssh-terminal"
-          ,go-golang.org-x-crypto-ssh-terminal)))
+       `(("go-golang-org-x-crypto"
+          ,go-golang-org-x-crypto)))
       (synopsis "Retrieve password from a terminal or piped input in Go")
       (description
        "@code{gopass} is a Go package for retrieving a password from user
diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
index d106bf7a6f9..45ae63f1938 100644
--- a/gnu/packages/web.scm
+++ b/gnu/packages/web.scm
@@ -6775,7 +6775,7 @@ Anonip can also be uses as a Python module in your own Python application.")
     (build-system go-build-system)
     (propagated-inputs
      `(("go-github-com-robfig-cron" ,go-github-com-robfig-cron)
-       ("go-golang-org-x-time-rate" ,go-golang-org-x-time-rate)))
+       ("go-golang-org-x-time" ,go-golang-org-x-time)))
     (arguments
      `(#:import-path "github.com/tsileo/poussetaches"))
     (home-page "https://github.com/tsileo/poussetaches")

From 35defe61306852ee4ebcd9b42203effd5992bcb2 Mon Sep 17 00:00:00 2001
From: Leo Famulari 
Date: Thu, 15 Aug 2019 17:35:21 -0400
Subject: [PATCH 0557/1112] gnu: gogoprotobuf: Consolidate packages.

* gnu/packages/golang.scm (go-github-com-gogo-protobuf)[arguments]: Adjust
the #:import-path, and skip the tests and build phases.
(go-github-com-gogo-protobuf-protoc-gen-gogo,
go-github-com-gogo-protobuf-gogoproto, go-github-com-gogo-protobuf-proto):
Remove variables.
(go-github-com-libp2p-go-libp2p-crypto, go-github-com-libp2p-go-libp2p-peer,
go-github-com-libp2p-go-libp2p-metrics): Adjust accordingly.
* gnu/packages/ipfs.scm (go-github-com-ipfs-go-ipfs-api, gx, gx-go): Likewise.
* gnu/packages/syncthing.scm (syncthing): Likewise.
---
 gnu/packages/golang.scm    | 94 ++++----------------------------------
 gnu/packages/ipfs.scm      |  6 +--
 gnu/packages/syncthing.scm |  4 --
 3 files changed, 12 insertions(+), 92 deletions(-)

diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index e868c2ca19d..5278055e381 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -1808,8 +1808,12 @@ and lookup requests.  Browse requests are not supported yet.")
                 "06yqa6h0kw3gr5pc3qmas7f7435a96zf7iw7p0l00r2hqf6fqq6m"))))
     (build-system go-build-system)
     (arguments
-     `(#:import-path "github.com/gogo/protobuf/proto"
-       #:unpack-path "github.com/gogo/protobuf"))
+     `(#:import-path "github.com/gogo/protobuf"
+       ; Source-only package
+       #:tests? #f
+       #:phases
+       (modify-phases %standard-phases
+         (delete 'build))))
     (synopsis "Protocol Buffers for Go with Gadgets")
     (description "Gogoprotobuf is a fork of golang/protobuf with extra code
 generation features.  This code generation is used to achieve:
@@ -1824,86 +1828,6 @@ generation features.  This code generation is used to achieve:
     (home-page "https://github.com/gogo/protobuf")
     (license license:bsd-3)))
 
-(define-public go-github-com-gogo-protobuf-protoc-gen-gogo
-  (package
-    (name "go-github-com-gogo-protobuf-protoc-gen-gogo")
-    (version "1.2.1")
-    (source (origin
-              (method git-fetch)
-              (uri (git-reference
-                    (url "https://github.com/gogo/protobuf")
-                    (commit (string-append "v" version))))
-              (file-name (git-file-name name version))
-              (sha256
-               (base32
-                "06yqa6h0kw3gr5pc3qmas7f7435a96zf7iw7p0l00r2hqf6fqq6m"))))
-    (build-system go-build-system)
-    (arguments
-     `(#:import-path "github.com/gogo/protobuf/protoc-gen-gogo"
-       #:unpack-path "github.com/gogo/protobuf"
-       #:tests? #f)) ; Requires the unpackaged 'protoc-min-version'
-    (synopsis "Protocol Buffers for Go with Gadgets")
-    (description "Gogoprotobuf is a fork of golang/protobuf with extra code
-generation features.  This code generation is used to achieve:
-@itemize
-@item fast marshalling and unmarshalling
-@item more canonical Go structures
-@item goprotobuf compatibility
-@item less typing by optionally generating extra helper code
-@item peace of mind by optionally generating test and benchmark code
-@item other serialization formats
-@end itemize")
-    (home-page "https://github.com/gogo/protobuf")
-    (license license:bsd-3)))
-
-(define-public go-github-com-gogo-protobuf-gogoproto
-  (package
-    (name "go-github-com-gogo-protobuf-gogoproto")
-    (version "1.2.1")
-    (source
-      (origin
-        (method git-fetch)
-        (uri (git-reference
-               (url "https://github.com/gogo/protobuf.git")
-               (commit (string-append "v" version))))
-        (file-name (git-file-name name version))
-        (sha256
-         (base32
-          "06yqa6h0kw3gr5pc3qmas7f7435a96zf7iw7p0l00r2hqf6fqq6m"))))
-    (build-system go-build-system)
-    (arguments
-     '(#:unpack-path "github.com/gogo/protobuf"
-       #:import-path "github.com/gogo/protobuf/gogoproto"))
-    (home-page "https://github.com/gogo/protobuf")
-    (synopsis "Extensions to protocol buffers")
-    (description "This package provides extensions to the Gogo protocol buffers
-implementation.")
-    (license license:bsd-3)))
-
-(define-public go-github-com-gogo-protobuf-proto
-  (package
-    (name "go-github-com-gogo-protobuf-proto")
-    (version "1.2.1")
-    (source
-      (origin
-        (method git-fetch)
-        (uri (git-reference
-               (url "https://github.com/gogo/protobuf.git")
-               (commit (string-append "v" version))))
-        (file-name (git-file-name name version))
-        (sha256
-         (base32
-          "06yqa6h0kw3gr5pc3qmas7f7435a96zf7iw7p0l00r2hqf6fqq6m"))))
-    (build-system go-build-system)
-    (arguments
-     '(#:unpack-path "github.com/gogo/protobuf"
-       #:import-path "github.com/gogo/protobuf/proto"))
-    (home-page "https://github.com/gogo/protobuf")
-    (synopsis "Protocol buffers component")
-    (description "This is a component of the Gogo protocol buffers
-implementation.")
-    (license license:bsd-3)))
-
 (define-public go-github-com-libp2p-go-flow-metrics
   (let ((commit "7e5a55af485341567f98d6847a373eb5ddcdcd43")
         (revision "0"))
@@ -2094,7 +2018,7 @@ Architecture Processors\" by J. Guilford et al.")
       (native-inputs
        `(("go-golang-org-x-crypto" ,go-golang-org-x-crypto)
          ("go-github-com-btcsuite-btcd-btcec" ,go-github-com-btcsuite-btcd-btcec)
-         ("go-github-com-gogo-protobuf-proto" ,go-github-com-gogo-protobuf-proto)
+         ("go-github-com-gogo-protobuf" ,go-github-com-gogo-protobuf)
          ("go-github-com-minio-sha256-simd" ,go-github-com-minio-sha256-simd)))
       (home-page
        "https://github.com/libp2p/go-libp2p-crypto")
@@ -2267,7 +2191,7 @@ required by Go's standard Hash interface.")
        '(#:import-path "github.com/libp2p/go-libp2p-peer"))
       (native-inputs
        `(("go-github-com-libp2p-go-libp2p-crypto" ,go-github-com-libp2p-go-libp2p-crypto)
-         ("go-github-com-gogo-protobuf-proto" ,go-github-com-gogo-protobuf-proto)
+         ("go-github-com-gogo-protobuf" ,go-github-com-gogo-protobuf)
          ("go-github-com-minio-sha256-simd" ,go-github-com-minio-sha256-simd)
          ("go-github-com-minio-blake2b-simd" ,go-github-com-minio-blake2b-simd)
          ("go-github-com-btcsuite-btcd-btcec" ,go-github-com-btcsuite-btcd-btcec)
@@ -2333,7 +2257,7 @@ required by Go's standard Hash interface.")
          ("go-github-com-mr-tron-base58" ,go-github-com-mr-tron-base58)
          ("go-github-com-multiformats-go-multihash" ,go-github-com-multiformats-go-multihash)
          ("go-github-com-btcsuite-btcd-btcec" ,go-github-com-btcsuite-btcd-btcec)
-         ("go-github-com-gogo-protobuf-proto" ,go-github-com-gogo-protobuf-proto)
+         ("go-github-com-gogo-protobuf" ,go-github-com-gogo-protobuf)
          ("go-github-com-gxed-hashland-keccakpg" ,go-github-com-gxed-hashland-keccakpg)
          ("go-github-com-minio-blake2b-simd" ,go-github-com-minio-blake2b-simd)
          ("go-github-com-minio-sha256-simd" ,go-github-com-minio-sha256-simd)
diff --git a/gnu/packages/ipfs.scm b/gnu/packages/ipfs.scm
index 79323d84835..39c22262c1e 100644
--- a/gnu/packages/ipfs.scm
+++ b/gnu/packages/ipfs.scm
@@ -86,7 +86,7 @@ that are shared between @command{go-ipfs/commands} and its rewrite
          ("go-github-com-multiformats-go-multiaddr" ,go-github-com-multiformats-go-multiaddr)
          ("go-github-com-multiformats-go-multiaddr-net" ,go-github-com-multiformats-go-multiaddr-net)
          ("go-github-com-btcsuite-btcd-btcec" ,go-github-com-btcsuite-btcd-btcec)
-         ("go-github-com-gogo-protobuf-proto" ,go-github-com-gogo-protobuf-proto)
+         ("go-github-com-gogo-protobuf" ,go-github-com-gogo-protobuf)
          ("go-github-com-minio-blake2b-simd" ,go-github-com-minio-blake2b-simd)
          ("go-github-com-minio-sha256-simd" ,go-github-com-minio-sha256-simd)
          ("go-github-com-mr-tron-base58" ,go-github-com-mr-tron-base58)
@@ -138,7 +138,7 @@ that are shared between @command{go-ipfs/commands} and its rewrite
        ("go-github-com-spaolacci-murmur3" ,go-github-com-spaolacci-murmur3)
        ("go-github-com-whyrusleeping-tar-utils" ,go-github-com-whyrusleeping-tar-utils)
        ("go-github-com-btcsuite-btcd-btcec" ,go-github-com-btcsuite-btcd-btcec)
-       ("go-github-com-gogo-protobuf-proto" ,go-github-com-gogo-protobuf-proto)
+       ("go-github-com-gogo-protobuf" ,go-github-com-gogo-protobuf)
        ("go-github-com-sabhiram-go-gitignore" ,go-github-com-sabhiram-go-gitignore)
        ("go-github-com-urfave-cli" ,go-github-com-urfave-cli)
        ("go-github-com-whyrusleeping-json-filter" ,go-github-com-whyrusleeping-json-filter)
@@ -198,7 +198,7 @@ powerful and simple.")
        ("go-github-com-spaolacci-murmur3" ,go-github-com-spaolacci-murmur3)
        ("go-github-com-whyrusleeping-tar-utils" ,go-github-com-whyrusleeping-tar-utils)
        ("go-github-com-btcsuite-btcd-btcec" ,go-github-com-btcsuite-btcd-btcec)
-       ("go-github-com-gogo-protobuf-proto" ,go-github-com-gogo-protobuf-proto)
+       ("go-github-com-gogo-protobuf" ,go-github-com-gogo-protobuf)
        ("go-github-com-sabhiram-go-gitignore" ,go-github-com-sabhiram-go-gitignore)
        ("go-github-com-urfave-cli" ,go-github-com-urfave-cli)
        ("go-github-com-whyrusleeping-progmeter" ,go-github-com-whyrusleeping-progmeter)
diff --git a/gnu/packages/syncthing.scm b/gnu/packages/syncthing.scm
index 0ba116fd11f..d0ffe04eba8 100644
--- a/gnu/packages/syncthing.scm
+++ b/gnu/packages/syncthing.scm
@@ -77,10 +77,6 @@
        ("go-golang-org-x-time" ,go-golang-org-x-time)
        ("go-gopkg.in-ldap.v2" ,go-gopkg.in-ldap.v2)
        ("go-github-com-gogo-protobuf" ,go-github-com-gogo-protobuf)
-       ("go-github-com-gogo-protobuf-gogoproto"
-        ,go-github-com-gogo-protobuf-gogoproto)
-       ("go-github-com-gogo-protobuf-protoc-gen-gogo"
-        ,go-github-com-gogo-protobuf-protoc-gen-gogo)
        ("go-github-com-prometheus-client-golang-prometheus"
         ,go-github-com-prometheus-client-golang-prometheus)
        ("go-github-com-shirou-gopsutil" ,go-github-com-shirou-gopsutil)

From 9a0c4b630cf580b0772af78fb8d8c7040114d29f Mon Sep 17 00:00:00 2001
From: Leo Famulari 
Date: Tue, 20 Aug 2019 15:24:53 -0400
Subject: [PATCH 0558/1112] gnu: Qart: Consolidate packages.

* gnu/packages/syncthing.scm (go-github-com-vitrun-qart): New variable.
(go-github-com-vitrun-qart-qr, go-github-com-vitrun-qart-coding,
go-github-com-vitrun-qart-gf256): Remove variables.
(syncthing)[inputs]: Adjust accordingly.
---
 gnu/packages/syncthing.scm | 72 ++++----------------------------------
 1 file changed, 6 insertions(+), 66 deletions(-)

diff --git a/gnu/packages/syncthing.scm b/gnu/packages/syncthing.scm
index d0ffe04eba8..afe63802bb6 100644
--- a/gnu/packages/syncthing.scm
+++ b/gnu/packages/syncthing.scm
@@ -85,9 +85,7 @@
        ("go-github-com-audriusbutkevicius-recli"
         ,go-github-com-audriusbutkevicius-recli)
        ("go-github-com-urfave-cli" ,go-github-com-urfave-cli)
-       ("go-github-com-vitrun-qart-qr" ,go-github-com-vitrun-qart-qr)
-       ("go-github-com-vitrun-qart-coding" ,go-github-com-vitrun-qart-coding)
-       ("go-github-com-vitrun-qart-gf256" ,go-github-com-vitrun-qart-gf256)
+       ("go-github-com-vitrun-qart" ,go-github-com-vitrun-qart)
        ("go-github-com-mattn-go-isatty" ,go-github-com-mattn-go-isatty)
        ("go-golang-org-x-crypto" ,go-golang-org-x-crypto)
        ("go-github-com-flynn-archive-go-shlex"
@@ -616,11 +614,11 @@ environment")
     (home-page "https://github.com/thejerf/suture")
     (license expat)))
 
-(define-public go-github-com-vitrun-qart-coding
+(define-public go-github-com-vitrun-qart
   (let ((commit "bf64b92db6b05651d6c25a3dabf2d543b360c0aa")
         (revision "0"))
     (package
-      (name "go-github-com-vitrun-qart-coding")
+      (name "go-github-com-vitrun-qart")
       (version (git-version "0.0.0" revision commit))
       (source (origin
                 (method git-fetch)
@@ -634,71 +632,13 @@ environment")
                   "1xk7qki703xmay9ghi3kq2bjf1iw9dz8wik55739d6i7sn77vvkc"))))
       (build-system go-build-system)
       (arguments
-       `(#:import-path "github.com/vitrun/qart/coding"
-         #:unpack-path "github.com/vitrun/qart"))
-      (synopsis "Low-level QR coding library")
+       `(#:import-path "github.com/vitrun/qart"))
+      (synopsis "Create QR codes with an embedded image")
       (description "This package provides a library for embedding
 human-meaningful graphics in QR codes.  However, instead of scribbling on
 redundant pieces and relying on error correction to preserve the meaning,
 @code{qart} engineers the encoded values to create the picture in a code with no
-inherent errors.  This @code{qart} component, @code{coding}, implements
-low-level QR coding details.")
-      (home-page "https://github.com/vitrun/qart/")
-      (license bsd-3))))
-
-(define-public go-github-com-vitrun-qart-gf256
-  (let ((commit "bf64b92db6b05651d6c25a3dabf2d543b360c0aa")
-        (revision "0"))
-    (package
-      (name "go-github-com-vitrun-qart-gf256")
-      (version (git-version "0.0.0" revision commit))
-      (source (origin
-                (method git-fetch)
-                (uri (git-reference
-                      (url "https://github.com/vitrun/qart")
-                      (commit commit)))
-                (file-name (string-append "go-github-com-vitrun-qart-"
-                                          version "-checkout"))
-                (sha256
-                 (base32
-                  "1xk7qki703xmay9ghi3kq2bjf1iw9dz8wik55739d6i7sn77vvkc"))))
-      (build-system go-build-system)
-      (arguments
-       `(#:import-path "github.com/vitrun/qart/gf256"
-         #:unpack-path "github.com/vitrun/qart"))
-      (synopsis "Qart library for Galois Field GF(256) math")
-      (description "This package, a component of @code{qart}, provides @code{gf256},
-implements arithmetic over the Galois Field GF(256).")
-      (home-page "https://github.com/vitrun/qart")
-      (license bsd-3))))
-
-(define-public go-github-com-vitrun-qart-qr
-  (let ((commit "bf64b92db6b05651d6c25a3dabf2d543b360c0aa")
-        (revision "0"))
-    (package
-      (name "go-github-com-vitrun-qart-qr")
-      (version (git-version "0.0.0" revision commit))
-      (source (origin
-                (method git-fetch)
-                (uri (git-reference
-                      (url "https://github.com/vitrun/qart")
-                      (commit commit)))
-                (file-name (string-append "go-github-com-vitrun-qart-"
-                                          version "-checkout"))
-                (sha256
-                 (base32
-                  "1xk7qki703xmay9ghi3kq2bjf1iw9dz8wik55739d6i7sn77vvkc"))))
-      (build-system go-build-system)
-      (arguments
-       `(#:import-path "github.com/vitrun/qart/qr"
-         #:unpack-path "github.com/vitrun/qart"))
-      (synopsis "Qart component for generating QR codes")
-      (description "This package provides a library for embedding
-human-meaningful graphics in QR codes.  However, instead of scribbling on
-redundant pieces and relying on error correction to preserve the meaning,
-@code{qart} engineers the encoded values to create the picture in a code with no
-inherent errors.  This @code{qart} component, @code{qr}, provides QR code
-generation.")
+inherent errors.")
       (home-page "https://github.com/vitrun/qart")
       (license bsd-3))))
 

From 491d07cccb6939e6bdc91c5f8c66f0c7dc242890 Mon Sep 17 00:00:00 2001
From: Leo Famulari 
Date: Thu, 17 Oct 2019 13:51:26 -0400
Subject: [PATCH 0559/1112] gnu: Prometheus Go packages: Consolidate.

* gnu/packages/syncthing.scm (go-github-com-prometheus-client-model-go,
go-github-com-prometheus-common-expfmt,
go-github-com-prometheus-client-golang-prometheus,
go-github-com-prometheus-common-internal-bitbucket-org-ww-goautoneg,
go-github-com-client-golang-prometheus-promhttp): Remove variables.
(go-github-com-prometheus-client-model,
go-github-com-prometheus-client-golang,
go-github-com-prometheus-common): New variables.
(syncthing)[inputs]: Adjust accordingly.
---
 gnu/packages/syncthing.scm | 144 ++++++++-----------------------------
 1 file changed, 30 insertions(+), 114 deletions(-)

diff --git a/gnu/packages/syncthing.scm b/gnu/packages/syncthing.scm
index afe63802bb6..9983d81ae5d 100644
--- a/gnu/packages/syncthing.scm
+++ b/gnu/packages/syncthing.scm
@@ -77,9 +77,9 @@
        ("go-golang-org-x-time" ,go-golang-org-x-time)
        ("go-gopkg.in-ldap.v2" ,go-gopkg.in-ldap.v2)
        ("go-github-com-gogo-protobuf" ,go-github-com-gogo-protobuf)
-       ("go-github-com-prometheus-client-golang-prometheus"
-        ,go-github-com-prometheus-client-golang-prometheus)
        ("go-github-com-shirou-gopsutil" ,go-github-com-shirou-gopsutil)
+       ("go-github-com-prometheus-client-golang"
+        ,go-github-com-prometheus-client-golang)
        ("go-golang-org-x-net" ,go-golang-org-x-net)
        ("go-golang-org-x-text" ,go-golang-org-x-text)
        ("go-github-com-audriusbutkevicius-recli"
@@ -796,11 +796,11 @@ data serialization format.")
       (home-page "https://github.com/golang/protobuf")
       (license bsd-3)))
 
-(define-public go-github-com-prometheus-client-model-go
+(define-public go-github-com-prometheus-client-model
   (let ((commit "fd36f4220a901265f90734c3183c5f0c91daa0b8")
         (revision "1"))
     (package
-      (name "go-github-com-prometheus-client-model-go")
+      (name "go-github-com-prometheus-client-model")
       (version (git-version "0.0.2" revision commit))
       (source (origin
                 (method git-fetch)
@@ -813,8 +813,12 @@ data serialization format.")
                   "1bs5d72k361llflgl94c22n0w53j30rsfh84smgk8mbjbcmjsaa5"))))
       (build-system go-build-system)
       (arguments
-       '(#:import-path "github.com/prometheus/client_model/go"
-         #:unpack-path "github.com/prometheus/client_model"))
+       '(#:import-path "github.com/prometheus/client_model"
+         #:tests? #f
+         #:phases
+         (modify-phases %standard-phases
+           ;; Source-only package
+           (delete 'build))))
       (propagated-inputs
        `(("go-github-com-golang-protobuf-proto"
           ,go-github-com-golang-protobuf-proto)))
@@ -854,9 +858,9 @@ message streaming.")
       (home-page "https://github.com/matttproud/golang_protobuf_extensions")
       (license asl2.0))))
 
-(define-public go-github-com-prometheus-common-expfmt
+(define-public go-github-com-prometheus-common
     (package
-      (name "go-github-com-prometheus-common-expfmt")
+      (name "go-github-com-prometheus-common")
       (version "0.4.1")
       (source (origin
                 (method git-fetch)
@@ -869,8 +873,8 @@ message streaming.")
                   "0sf4sjdckblz1hqdfvripk3zyp8xq89w7q75kbsyg4c078af896s"))))
       (build-system go-build-system)
       (arguments
-       '(#:import-path "github.com/prometheus/common/expfmt"
-         #:unpack-path "github.com/prometheus/common"
+       '(#:import-path "github.com/prometheus/common"
+         #:tests? #f
          #:phases
          (modify-phases %standard-phases
            (add-before 'reset-gzip-timestamps 'make-gzip-archive-writable
@@ -882,49 +886,21 @@ message streaming.")
                                      "/src/github.com/prometheus/common/expfmt/testdata/")
                       ".*\\.gz$"))
                #t))
-           (replace 'check
-             ;; Tests don't pass "vet" on go-1.11.  See
-             ;; https://github.com/syncthing/syncthing/issues/5311.
-             (lambda* (#:key import-path #:allow-other-keys)
-               (invoke "go" "test"
-                       "-vet=off"
-                       import-path))))))
+           ;; Source-only package
+           (delete 'build))))
       (propagated-inputs
        `(("go-github-com-golang-protobuf-proto"
           ,go-github-com-golang-protobuf-proto)
          ("go-github-com-matttproud-golang-protobuf-extensions-pbutil"
           ,go-github-com-matttproud-golang-protobuf-extensions-pbutil)
-         ("go-github-com-prometheus-client-model-go"
-          ,go-github-com-prometheus-client-model-go)))
+         ("go-github-com-prometheus-client-model"
+          ,go-github-com-prometheus-client-model)))
       (synopsis "Prometheus metrics")
       (description "This package provides tools for reading and writing
 Prometheus metrics.")
       (home-page "https://github.com/prometheus/common")
       (license asl2.0)))
 
-(define-public go-github-com-prometheus-common-model
-    (package
-      (name "go-github-com-prometheus-common-model")
-      (version "0.4.1")
-      (source (origin
-                (method git-fetch)
-                (uri (git-reference
-                       (url "https://github.com/prometheus/common.git")
-                       (commit (string-append "v" version))))
-                (file-name (git-file-name name version))
-                (sha256
-                 (base32
-                  "0sf4sjdckblz1hqdfvripk3zyp8xq89w7q75kbsyg4c078af896s"))))
-      (build-system go-build-system)
-      (arguments
-       '(#:import-path "github.com/prometheus/common/model"
-         #:unpack-path "github.com/prometheus/common"))
-      (synopsis "Prometheus component")
-      (description "This package provides a component of the Go Prometheus
-implementation.")
-      (home-page "https://github.com/prometheus/common")
-      (license asl2.0)))
-
 (define-public go-github-com-prometheus-procfs
     (package
       (name "go-github-com-prometheus-procfs")
@@ -950,9 +926,9 @@ system, kernel, and process metrics from the @file{/proc} pseudo file system.")
       (home-page "https://github.com/prometheus/procfs")
       (license asl2.0)))
 
-(define-public go-github-com-client-golang-prometheus-promhttp
+(define-public go-github-com-prometheus-client-golang
     (package
-      (name "go-github-com-client-golang-prometheus-promhttp")
+      (name "go-github-com-prometheus-client-golang")
       (version "0.9.4")
       (source (origin
                 (method git-fetch)
@@ -965,22 +941,21 @@ system, kernel, and process metrics from the @file{/proc} pseudo file system.")
                   "0s134fj4i7k6pxdmxwkdi7amb1882yq33spv15hg3pkpbd3h311p"))))
       (build-system go-build-system)
       (arguments
-       '(#:tests? #f ; The tests require internet access
-         #:import-path "github.com/prometheus/client_golang/prometheus/promhttp"
-         #:unpack-path "github.com/prometheus/client_golang"))
+       '(#:tests? #f
+         #:import-path "github.com/prometheus/client_golang"
+         #:phases
+         (modify-phases %standard-phases
+           ;; Source-only package
+           (delete 'build))))
       (propagated-inputs
        `(("go-github-com-beorn7-perks-quantile"
           ,go-github-com-beorn7-perks-quantile)
          ("go-github-com-golang-protobuf-proto"
           ,go-github-com-golang-protobuf-proto)
-         ("go-github-com-prometheus-common-model"
-          ,go-github-com-prometheus-common-model)
-         ("go-github-com-prometheus-client-model-go"
-          ,go-github-com-prometheus-client-model-go)
-         ("go-github-com-prometheus-common-internal-bitbucket-org-ww-goautoneg"
-          ,go-github-com-prometheus-common-internal-bitbucket-org-ww-goautoneg)
-         ("go-github-com-prometheus-common-expfmt"
-          ,go-github-com-prometheus-common-expfmt)
+         ("go-github-com-prometheus-client-model"
+          ,go-github-com-prometheus-client-model)
+         ("go-github-com-prometheus-common"
+          ,go-github-com-prometheus-common)
          ("go-github-com-prometheus-procfs" ,go-github-com-prometheus-procfs)))
       (synopsis "HTTP server and client tools for Prometheus")
       (description "This package @code{promhttp} provides HTTP client and
@@ -988,43 +963,6 @@ server tools for Prometheus metrics.")
       (home-page "https://github.com/prometheus/client_golang")
       (license asl2.0)))
 
-(define-public go-github-com-prometheus-client-golang-prometheus
-    (package
-      (name "go-github-com-prometheus-client-golang-prometheus")
-      (version "0.9.4")
-      (source (origin
-                (method git-fetch)
-                (uri (git-reference
-                       (url "https://github.com/prometheus/client_golang.git")
-                       (commit (string-append "v" version))))
-                (file-name (git-file-name name version))
-                (sha256
-                 (base32
-                  "0s134fj4i7k6pxdmxwkdi7amb1882yq33spv15hg3pkpbd3h311p"))))
-      (build-system go-build-system)
-      (arguments
-       '(#:import-path "github.com/prometheus/client_golang/prometheus"
-         #:unpack-path "github.com/prometheus/client_golang"
-         #:tests? #f)) ; 'TestHandler' test fails in this non-critical dependency
-      (propagated-inputs
-       `(("go-github-com-beorn7-perks-quantile"
-          ,go-github-com-beorn7-perks-quantile)
-         ("go-github-com-prometheus-common-model" ,go-github-com-prometheus-common-model)
-         ("go-github-com-prometheus-client-model-go"
-          ,go-github-com-prometheus-client-model-go)
-         ("go-github-com-prometheus-common-expfmt"
-          ,go-github-com-prometheus-common-expfmt)
-         ("go-github-com-prometheus-procfs" ,go-github-com-prometheus-procfs)
-         ("go-github-com-prometheus-common-internal-bitbucket-org-ww-goautoneg"
-          ,go-github-com-prometheus-common-internal-bitbucket-org-ww-goautoneg)))
-      (synopsis "Prometheus instrumentation library for Go applications")
-      (description "This package provides the Go client library for the
-Prometheus monitoring and alerting system.  It has two separate parts, one for
-instrumenting application code, and one for creating clients that talk to the
-Prometheus HTTP API.")
-      (home-page "https://github.com/prometheus/client_golang")
-      (license asl2.0)))
-
 (define-public go-gopkg.in-asn1-ber.v1
   (package
     (name "go-gopkg.in-asn1-ber.v1")
@@ -1105,28 +1043,6 @@ quoting, commenting, and escaping.")
       (home-page "https://github.com/flynn-archive/go-shlex")
       (license asl2.0))))
 
-(define-public go-github-com-prometheus-common-internal-bitbucket-org-ww-goautoneg
-  (package
-    (name "go-github-com-prometheus-common-internal-bitbucket-org-ww-goautoneg")
-    (version "0.4.1")
-    (source (origin
-              (method git-fetch)
-              (uri (git-reference
-                     (url "https://github.com/prometheus/common.git")
-                     (commit (string-append "v" version))))
-              (file-name (git-file-name name version))
-              (sha256
-               (base32
-                "0sf4sjdckblz1hqdfvripk3zyp8xq89w7q75kbsyg4c078af896s"))))
-    (build-system go-build-system)
-    (arguments
-     '(#:import-path "github.com/prometheus/common/internal/bitbucket.org/ww/goautoneg"
-       #:unpack-path "github.com/prometheus/common"))
-    (synopsis "Internal Prometheus component")
-    (description "This package is an internal component of Prometheus.")
-    (home-page "https://github.com/prometheus/common")
-    (license asl2.0)))
-
 (define-public go-github-com-audriusbutkevicius-pfilter
   (let ((commit "c55ef6137fc6f075801eac099cc2687ede0f101d")
         (revision "3"))

From 7273a5dee4ad5ab603bbfd734565f9b08d8b8d7f Mon Sep 17 00:00:00 2001
From: Leo Famulari 
Date: Tue, 20 Aug 2019 15:26:14 -0400
Subject: [PATCH 0560/1112] gnu: go-github-com-chmduquesne-rollinghash: Remove
 extraneous comment.

* gnu/packages/syncthing.scm (go-github-com-chmduquesne-rollinghash):
Remove comment.
---
 gnu/packages/syncthing.scm | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/gnu/packages/syncthing.scm b/gnu/packages/syncthing.scm
index 9983d81ae5d..9cbf1cf0323 100644
--- a/gnu/packages/syncthing.scm
+++ b/gnu/packages/syncthing.scm
@@ -642,9 +642,6 @@ inherent errors.")
       (home-page "https://github.com/vitrun/qart")
       (license bsd-3))))
 
-;; XXX Syncthing actually imports 'github.com/chmduquesne/rollinghash/adler32'.
-;; Normally we'd package this module indpendenctly but the adler32 module itself
-;; imports 'github.com/chmduquesne/rollinghash/', so this is the easy way out.
 (define-public go-github-com-chmduquesne-rollinghash
   (let ((commit "a60f8e7142b536ea61bb5d84014171189eeaaa81")
         (revision "0"))

From 9642446ccd90979e0a8b92b1c97222164239ca39 Mon Sep 17 00:00:00 2001
From: Leo Famulari 
Date: Mon, 28 Oct 2019 13:18:38 -0400
Subject: [PATCH 0561/1112] gnu: go-gopkg.in-asn1-ber.v1: Update comment.

* gnu/packages/syncthing.scm (go-gopkg.in-asn1-ber.v1): Update comment.
---
 gnu/packages/syncthing.scm | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gnu/packages/syncthing.scm b/gnu/packages/syncthing.scm
index 9cbf1cf0323..8b41a6317fc 100644
--- a/gnu/packages/syncthing.scm
+++ b/gnu/packages/syncthing.scm
@@ -976,7 +976,7 @@ server tools for Prometheus metrics.")
     (build-system go-build-system)
     (arguments
      '(#:import-path "gopkg.in/asn1-ber.v1"
-       ;; Tests don't pass "vet" on go-1.11.  See
+       ;; Tests don't pass "vet" on Go since 1.11.  See
        ;; https://github.com/go-asn1-ber/asn1-ber/issues/20.
        #:phases
        (modify-phases %standard-phases

From e53f9ce2df774dc28c9cd1a7865ad75df15379d8 Mon Sep 17 00:00:00 2001
From: Leo Famulari 
Date: Mon, 28 Oct 2019 13:19:47 -0400
Subject: [PATCH 0562/1112] gnu: go-github-com-wtolson-go-taglib: Update
 comment.

* gnu/packages/golang.scm (go-github-com-wtolson-go-taglib): Update
comment.
---
 gnu/packages/golang.scm | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 5278055e381..e3b22c13a28 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -1779,7 +1779,7 @@ and lookup requests.  Browse requests are not supported yet.")
          ("taglib" ,taglib)))
       (arguments
        `(#:import-path "github.com/wtolson/go-taglib"
-         ;; Tests don't pass "vet" on go-1.11.  See
+         ;; Tests don't pass "vet" on Go since 1.11.  See
          ;; https://github.com/wtolson/go-taglib/issues/12.
          #:phases
          (modify-phases %standard-phases

From 622d702f7eba30ed26a96168e17dd4fe3e31f084 Mon Sep 17 00:00:00 2001
From: Tobias Geerinckx-Rice 
Date: Tue, 29 Oct 2019 16:33:18 +0100
Subject: [PATCH 0563/1112] gnu: Add python-pygobject@3.34.

* gnu/packages/glib.scm (python-pygobject-3.34): New public variable.
---
 gnu/packages/glib.scm | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm
index c558d9fcb6f..33e569a5d32 100644
--- a/gnu/packages/glib.scm
+++ b/gnu/packages/glib.scm
@@ -708,6 +708,33 @@ useful for C++.")
        ("pkg-config" ,pkg-config)
        ("python-pytest" ,python2-pytest)))))
 
+;; Newer version of this core-updates package, for Lollypop.
+(define-public python-pygobject-3.34
+  (package/inherit
+   python-pygobject
+   (version "3.34.0")
+   (source
+    (origin
+      (method url-fetch)
+      (uri (string-append "mirror://gnome/sources/pygobject/"
+                          (version-major+minor version)
+                          "/pygobject-" version ".tar.xz"))
+      (sha256
+       (base32 "06i7ynnbvgpz0gw09zsjbvhgcp5qz4yzdifw27qjwdazg2mckql7"))))
+   (build-system meson-build-system)
+   (arguments
+    `(#:phases
+      (modify-phases %standard-phases
+        (add-after 'unpack 'delete-broken-tests
+          (lambda _
+            (with-directory-excursion "tests"
+              (for-each
+               delete-file
+               ;; FIXME: these tests require Gdk and/or Gtk 4.
+               '("test_atoms.py"
+                 "test_overrides_gtk.py")))
+            #t)))))))
+
 (define-public perl-glib
   (package
     (name "perl-glib")

From 7460f3467082e9b96f814fe624de3d890fc632d4 Mon Sep 17 00:00:00 2001
From: Tobias Geerinckx-Rice 
Date: Tue, 29 Oct 2019 16:36:48 +0100
Subject: [PATCH 0564/1112] gnu: lollypop: Update to 1.2.2.

* gnu/packages/gnome.scm (lollypop): Update to 1.2.2.
[inputs]: Use python-pygobject-3.34.
---
 gnu/packages/gnome.scm | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 3c7882ca3db..222c5fdec79 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -7784,7 +7784,7 @@ views can be printed as PDF or PostScript files, or exported to HTML.")
 (define-public lollypop
   (package
     (name "lollypop")
-    (version "1.1.3.1")
+    (version "1.2.2")
     (source
      (origin
        (method url-fetch)
@@ -7792,8 +7792,7 @@ views can be printed as PDF or PostScript files, or exported to HTML.")
                            "aa4fbd92bf338296c28e54710271ccab/"
                            "lollypop-" version ".tar.xz"))
        (sha256
-        (base32
-         "1r5wn0bja9psz6nr1rcaysdkkwz84rbyzpdfw66cxa6wiy52pkjm"))))
+        (base32 "1wz5fna24qr3v7h29ijwhdxza85r9srz9xsqz4f4df3p5f8rfyql"))))
     (build-system meson-build-system)
     (arguments
      `(#:imported-modules ((guix build python-build-system)
@@ -7831,7 +7830,7 @@ views can be printed as PDF or PostScript files, or exported to HTML.")
        ("python-gst" ,python-gst)
        ("python-pil" ,python-pillow)
        ("python-pycairo" ,python-pycairo)
-       ("python-pygobject" ,python-pygobject)
+       ("python-pygobject" ,python-pygobject-3.34)
        ("python-pylast" ,python-pylast)
        ("totem-pl-parser" ,totem-pl-parser)
        ("webkitgtk" ,webkitgtk)))

From e0efda9561af3969729b48a64a2693793459ad98 Mon Sep 17 00:00:00 2001
From: Efraim Flashner 
Date: Tue, 29 Oct 2019 19:45:15 +0200
Subject: [PATCH 0565/1112] gnu: libreoffice: Update to 6.2.8.2.

* gnu/packages/libreoffice.scm (libreoffice): Update to 6.2.8.2.
[sources]: Remove libreoffice-boost.patch, libreoffice-orcus patch,
libreoffice-mdds patch.
[inputs]: Add fontforge, mariadb.
[arguments]: Remove substitution checking for mdds and orcus versions.
From configure-flags, remove outdated flags, add flag to build font
file.
* gnu/packages/patches/libreoffice-boost.patch: Remove file.
* gnu/local.mk (dist_patch_DATA): Remove it.
---
 gnu/local.mk                                 |  1 -
 gnu/packages/libreoffice.scm                 | 49 ++++----------------
 gnu/packages/patches/libreoffice-boost.patch | 17 -------
 3 files changed, 8 insertions(+), 59 deletions(-)
 delete mode 100644 gnu/packages/patches/libreoffice-boost.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index 1b04485422a..41c5a92a0a3 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1065,7 +1065,6 @@ dist_patch_DATA =						\
   %D%/packages/patches/libmpeg2-global-symbol-test.patch	\
   %D%/packages/patches/libmygpo-qt-fix-qt-5.11.patch		\
   %D%/packages/patches/libmygpo-qt-missing-qt5-modules.patch	\
-  %D%/packages/patches/libreoffice-boost.patch			\
   %D%/packages/patches/libreoffice-icu.patch			\
   %D%/packages/patches/libreoffice-glm.patch			\
   %D%/packages/patches/libsndfile-armhf-type-checks.patch	\
diff --git a/gnu/packages/libreoffice.scm b/gnu/packages/libreoffice.scm
index f8b1433aa32..ddf1c9aab3d 100644
--- a/gnu/packages/libreoffice.scm
+++ b/gnu/packages/libreoffice.scm
@@ -929,7 +929,7 @@ converting QuarkXPress file format.  It supports versions 3.1 to 4.1.")
 (define-public libreoffice
   (package
     (name "libreoffice")
-    (version "6.1.5.2")
+    (version "6.2.8.2")
     (source
      (origin
        (method url-fetch)
@@ -939,36 +939,9 @@ converting QuarkXPress file format.  It supports versions 3.1 to 4.1.")
          (version-prefix version 3) "/libreoffice-" version ".tar.xz"))
        (sha256
         (base32
-         "1wh8qhqkmb89nmfcb0w6iwpdzxwqr7c5kzxgpk4gy60xin6gwjgb"))
-       (patches
-        (append (list (origin
-                        ;; Support newer versions of Orcus and MDDS.  These patches
-                        ;; are taken from upstream, but we use the patches from Arch
-                        ;; because they are adapted for the release tarball.
-                        ;; Note: remove the related substitutions below when these
-                        ;; are no longer needed.
-                        (method url-fetch)
-                        (uri (string-append "https://git.archlinux.org/svntogit"
-                                            "/packages.git/plain/trunk/"
-                                            "0001-Update-orcus-to-0.14.0.patch?&id="
-                                            "4002fa927f2a143bd2ec008a0c400b2ce9f2c8a7"))
-                        (file-name "libreoffice-orcus.patch")
-                        (sha256
-                         (base32
-                          "0v1knblrmfzkb4g9pm5mdnrmjib59bznvca1ygbwlap2ln1h4mk0")))
-                      (origin
-                        (method url-fetch)
-                        (uri (string-append "https://git.archlinux.org/svntogit"
-                                            "/packages.git/plain/trunk/"
-                                            "0001-Update-mdds-to-1.4.1.patch?&id="
-                                            "4002fa927f2a143bd2ec008a0c400b2ce9f2c8a7"))
-                        (file-name "libreoffice-mdds.patch")
-                        (sha256
-                         (base32
-                          "0apbmammmp4pk473xiv5vk50r4c5gjvqzf9jkficksvz58q6114f"))))
-                (search-patches "libreoffice-boost.patch"
-                                "libreoffice-icu.patch"
-                                "libreoffice-glm.patch")))
+         "1npxyj0hklls3jnaxx9kj3r6bgydgrbz6nacy05n0zhq8i6zb5ir"))
+       (patches (search-patches "libreoffice-icu.patch"
+                                "libreoffice-glm.patch"))
        (modules '((guix build utils)))
        (snippet
         '(begin
@@ -992,6 +965,7 @@ converting QuarkXPress file format.  It supports versions 3.1 to 4.1.")
        ("cups" ,cups)
        ("dbus-glib" ,dbus-glib)
        ("fontconfig" ,fontconfig)
+       ("fontforge" ,fontforge)
        ("gconf" ,gconf)
        ("glew" ,glew)
        ("glm" ,glm)
@@ -1031,6 +1005,7 @@ converting QuarkXPress file format.  It supports versions 3.1 to 4.1.")
        ("libxt" ,libxt)
        ("libzmf" ,libzmf)
        ("lpsolve" ,lpsolve)
+       ("mariadb" ,mariadb)
        ("mdds" ,mdds)
        ("mythes" ,mythes)
        ("neon" ,neon)
@@ -1066,13 +1041,6 @@ converting QuarkXPress file format.  It supports versions 3.1 to 4.1.")
                          "solenv/gbuild/platform/unxgcc.mk")
                  (("/bin/sh") (which "sh")))
 
-               ;; XXX: Adjust the checks for MDDS and liborcus to avoid having
-               ;; to re-bootstrap the whole thing.  Remove this with the related
-               ;; patches above.
-               (substitute* "configure"
-                 (("mdds-1.2 >= 1.2.3") "mdds-1.4 >= 1.4.1")
-                 (("liborcus-0.13 >= 0.13.3") "liborcus-0.14 >= 0.14.0"))
-
                ;; GPGME++ headers are installed in a gpgme++ subdirectory, but
                ;; files in "xmlsecurity/source/gpg/" and elsewhere expect to
                ;; find them on the include path without a prefix.
@@ -1161,16 +1129,15 @@ converting QuarkXPress file format.  It supports versions 3.1 to 4.1.")
           ;; With java, the build fails since sac.jar is missing.
           "--without-java"
           ;; FIXME: Enable once the corresponding inputs are packaged.
-          "--without-system-npapi-headers"
           "--disable-coinmp"
           "--disable-firebird-sdbc" ; embedded firebird
-          "--disable-gltf"
           ;; XXX: PDFium support requires fetching an external tarball and
           ;; patching the build scripts to work with GCC5.  Try enabling this
           ;; when our default compiler is >=GCC 6.
           "--disable-pdfium"
           "--disable-gtk" ; disable use of GTK+ 2
-          "--without-doxygen")))
+          "--without-doxygen"
+          "--enable-build-opensymbol")))
     (home-page "https://www.libreoffice.org/")
     (synopsis "Office suite")
     (description "LibreOffice is a comprehensive office suite.  It contains
diff --git a/gnu/packages/patches/libreoffice-boost.patch b/gnu/packages/patches/libreoffice-boost.patch
deleted file mode 100644
index b50664226be..00000000000
--- a/gnu/packages/patches/libreoffice-boost.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-Fix compatibility with newer Boost.
-
-Extracted from this upstream commit:
-https://cgit.freedesktop.org/libreoffice/core/commit/?id=23a8d5ffbbe58761b89f590f0735abccd69a3681
-
-diff --git a/sfx2/source/appl/shutdownicon.cxx b/sfx2/source/appl/shutdownicon.cxx
---- a/sfx2/source/appl/shutdownicon.cxx
-+++ b/sfx2/source/appl/shutdownicon.cxx
-@@ -144,7 +144,7 @@ bool LoadModule()
- #endif // ENABLE_QUICKSTART_APPLET
-     }
-     assert(!boost::logic::indeterminate(loaded));
--    return loaded;
-+    return bool(loaded);
- }
- 
- }

From 894fbb33fc191c7551e55588d1a518d52a0cc3da Mon Sep 17 00:00:00 2001
From: Josh Holland 
Date: Tue, 29 Oct 2019 17:08:33 +0000
Subject: [PATCH 0566/1112] gnu: openttd-opengfx: Update to 0.5.5.

* gnu/packages/games.scm (openttd-opengfx): Update to 0.5.5.
---
 gnu/packages/games.scm | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index 3e85449fac1..5930b604235 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -44,6 +44,7 @@
 ;;; Copyright © 2019 Dan Frumin 
 ;;; Copyright © 2019 Guillaume Le Vaillant 
 ;;; Copyright © 2019 Timotej Lazar 
+;;; Copyright © 2019 Josh Holland 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -2667,7 +2668,7 @@ engine.  When you start it you will be prompted to download a graphics set.")
 (define openttd-opengfx
   (package
     (name "openttd-opengfx")
-    (version "0.5.2")
+    (version "0.5.5")
     (source
      (origin
        (method url-fetch)
@@ -2675,7 +2676,7 @@ engine.  When you start it you will be prompted to download a graphics set.")
                            version "/opengfx-" version "-source.tar.xz"))
        (sha256
         (base32
-         "0iz66q7p1mf00njfjbc4vibh3jaybki7armkl18iz7p6x4chp9zv"))))
+         "009fa1bdin1bk0ynzhzc30hzkmmwzmwkk6j591ax3f6w75l28n49"))))
     (build-system gnu-build-system)
     (arguments
      '(#:make-flags (list "CC=gcc"

From 532dba49ca7f04138c4eae3e4961a102c64da2a9 Mon Sep 17 00:00:00 2001
From: Josh Holland 
Date: Tue, 29 Oct 2019 17:08:34 +0000
Subject: [PATCH 0567/1112] gnu: openttd-engine: Update to 1.9.3.

* gnu/packages/games.scm (openttd-engine): Update to 1.9.3.
[home-page]: Use www. and HTTPS.
---
 gnu/packages/games.scm | 18 ++++--------------
 1 file changed, 4 insertions(+), 14 deletions(-)

diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index 5930b604235..ab237eb6a29 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -2595,24 +2595,14 @@ world}, @uref{http://evolonline.org, Evol Online} and
 (define openttd-engine
   (package
     (name "openttd-engine")
-    (version "1.8.0")
+    (version "1.9.3")
     (source
      (origin (method url-fetch)
-             (uri (string-append "http://binaries.openttd.org/releases/"
+             (uri (string-append "https://proxy.binaries.openttd.org/openttd-releases/"
                                  version "/openttd-" version "-source.tar.xz"))
-             (patches
-              (list
-               (origin (method url-fetch)
-                       (uri (string-append
-                             "https://github.com/OpenTTD/OpenTTD/commit/"
-                             "19076c24c1f3baf2a22d1fa832d5688216cf54a3.patch"))
-                       (file-name "openttd-fix-compilation-with-ICU-61.patch")
-                       (sha256
-                        (base32
-                         "02d1xmb75yv4x6rfnvxk3vvq4l3lvvwr2pfsdzn7lzalic51ziqh")))))
              (sha256
               (base32
-               "0zq8xdg0k92p3s4j9x76591zaqz7k9ra69q008m209vdfffjvly2"))
+               "0ijq72kgx997ggw40i5f4a3nf7y2g72z37l47i18yjvgbdzy320r"))
              (modules '((guix build utils)))
              (snippet
               ;; The DOS port contains proprietary software.
@@ -2657,7 +2647,7 @@ Tycoon Deluxe with many enhancements including multiplayer mode,
 internationalization support, conditional orders and the ability to clone,
 autoreplace and autoupdate vehicles.  This package only includes the game
 engine.  When you start it you will be prompted to download a graphics set.")
-    (home-page "http://openttd.org/")
+    (home-page "https://www.openttd.org/")
     ;; This package is GPLv2, except for a few files located in
     ;; "src/3rdparty/" which are under the 3-clause BSD, LGPLv2.1+ and Zlib
     ;; licenses.  In addition, this software contains an in-game downloader

From 2f490bf3d6bb0197b4f280d7a18e9d34b7bb57c3 Mon Sep 17 00:00:00 2001
From: Josh Holland 
Date: Tue, 29 Oct 2019 19:02:37 +0000
Subject: [PATCH 0568/1112] gnu: Add bemenu.

* gnu/packages/xdisorg.scm (bemenu): New public variable.

Signed-off-by: Tobias Geerinckx-Rice 
---
 gnu/packages/xdisorg.scm | 38 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 38 insertions(+)

diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm
index cb2f9d40ae8..17dc16b44cd 100644
--- a/gnu/packages/xdisorg.scm
+++ b/gnu/packages/xdisorg.scm
@@ -27,6 +27,7 @@
 ;;; Copyright © 2018 Nam Nguyen 
 ;;; Copyright © 2019 Wiktor Żelazny 
 ;;; Copyright © 2019 Kyle Andrews 
+;;; Copyright © 2019 Josh Holland 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -190,6 +191,43 @@ that can be activated based on the connected hardware.  Hook scripts can be
 used to further tweak the behaviour of the different profiles.")
       (license license:gpl3+))))
 
+(define-public bemenu
+  (package
+    (name "bemenu")
+    (version "0.2.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/Cloudef/bemenu.git")
+             (commit version)))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "0piax49az5kp96r1g6dcgj87fi6p4jl286wlkxsdvljzpkn8q6gv"))))
+    (build-system cmake-build-system)
+    (arguments
+     '(#:configure-flags '("-DBEMENU_WAYLAND_RENDERER=ON")))
+    (inputs
+     `(("cairo" ,cairo)
+       ("libx11" ,libx11)
+       ("libxkbcomon" ,libxkbcommon)
+       ("libxinerama" ,libxinerama)
+       ("ncurses" ,ncurses)
+       ("pango" ,pango)
+       ("wayland" ,wayland)
+       ("wayland-protocols" ,wayland-protocols)))
+    (native-inputs
+     `(("doxygen" ,doxygen)
+       ("pkg-config" ,pkg-config)))
+    (home-page "https://github.com/Cloudef/bemenu")
+    (synopsis "Dynamic menu library and client program inspired by dmenu")
+    (description
+     "bemenu is a dynamic menu which allows the user to flexibly select from a
+list of options (usually programs to launch).  It renders the menu graphically
+with X11 or Wayland, or in a text terminal with ncurses.")
+    (license (list license:gpl3+        ; client program[s] and other sources
+                   license:lgpl3+))))   ; library and bindings
+
 (define-public xclip
   (package
     (name "xclip")

From 8476e5857a3fc9eabeeadf21ec7d98bf0b5af197 Mon Sep 17 00:00:00 2001
From: Comrade Yuri 
Date: Sat, 19 Oct 2019 17:40:27 +0200
Subject: [PATCH 0569/1112] gnu: Add renpy.

* gnu/packages/game-development: (python2-pygame-sdl2): New variable.
(python2-renpy): New variable.
(renpy): New variable.
---
 gnu/packages/game-development.scm | 324 ++++++++++++++++++++++++++++++
 1 file changed, 324 insertions(+)

diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm
index 526a29a3ce7..54d2f32f945 100644
--- a/gnu/packages/game-development.scm
+++ b/gnu/packages/game-development.scm
@@ -15,6 +15,7 @@
 ;;; Copyright © 2017, 2019 Rutger Helling 
 ;;; Copyright © 2018 Marius Bakke 
 ;;; Copyright © 2019 Pierre Neidhardt 
+;;; Copyright © 2019 Comrade Yuri 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -971,6 +972,329 @@ to create fully featured games and multimedia programs in the python language.")
 (define-public python2-pygame
   (package-with-python2 python-pygame))
 
+(define-public python2-pygame-sdl2
+  (let ((real-version "2.1.0")
+        (renpy-version "7.3.5"))
+    (package
+      (inherit python2-pygame)
+      (name "python2-pygame-sdl2")
+      (version (string-append real-version "-for-renpy-" renpy-version))
+      (source
+       (origin
+         (method url-fetch)
+         (uri (string-append "https://www.renpy.org/dl/" renpy-version
+                             "/pygame_sdl2-" version ".tar.gz"))
+         (sha256 (base32 "1bmr7j9mlsc4czpgw70ld15ymyp4wxrk9hdsqad40wjwdxvvg2dr"))))
+      (build-system python-build-system)
+      (arguments
+       `(#:tests? #f                ; tests require pygame to be installed first
+         #:python ,python-2
+         #:phases
+         (modify-phases %standard-phases
+           (add-after 'set-paths 'set-sdl-vars
+             (lambda* (#:key inputs #:allow-other-keys)
+               (setenv "PYGAME_SDL2_CFLAGS"
+                       (string-append "-I"
+                                      (assoc-ref inputs "sdl-union")
+                                      "/include/SDL2 -D_REENTRANT"))
+               (setenv "PYGAME_SDL2_LDFLAGS"
+                       (string-append "-L"
+                                      (assoc-ref inputs "sdl-union")
+                                      "/lib -Wl,-rpath,"
+                                      (assoc-ref inputs "sdl-union")
+                                      "/lib -Wl,--enable-new-dtags -lSDL2"))
+               #t))
+           (add-before 'build 'drop-generated-files
+             (lambda args
+               (delete-file-recursively "gen")
+               (delete-file-recursively "gen3")
+               #t)))))
+      (inputs
+       `(("sdl-union"
+          ,(sdl-union (list sdl2 sdl2-image sdl2-mixer sdl2-ttf)))))
+      (native-inputs
+       `(("python2-cython" ,python2-cython)))
+      (home-page "http://www.renpy.org/")
+      (synopsis "Reimplementation of the Pygame API using SDL2")
+      (description "Pygame_SDL2 reimplements the Pygame API using SDL2,
+staying close to the original, but also adding some SDL2-specific features.
+While it aims to be used as a drop-in replacement, it appears to be
+developed mainly for Ren'py.")
+      (license (list license:lgpl2.1 license:zlib)))))
+
+(define-public python2-renpy
+  (package
+    (name "python2-renpy")
+    (version "7.3.5")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://www.renpy.org/dl/" version
+                           "/renpy-" version "-source.tar.bz2"))
+       (sha256 (base32 "1anr5cfbvbsbik4v4rvrkdkciwhg700k4lydfbs4n85raimz9mw4"))))
+    (build-system python-build-system)
+    (arguments
+     `(#:tests? #f ; Ren'py doesn't seem to package tests
+       #:python ,python-2
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'fix-commands
+           (lambda _
+             (substitute* "renpy/editor.py"
+               (("xdg-open")
+                (which "xdg-open")))
+             #t))
+         (add-after 'set-paths 'set-build-vars
+           (lambda* (#:key inputs #:allow-other-keys)
+             (setenv "RENPY_CYTHON"
+                     (string-append (assoc-ref inputs "python2-cython")
+                                    "/bin/cython"))
+             (setenv "RENPY_DEPS_INSTALL" (string-join (map cdr inputs) ":"))
+             #t))
+         (replace 'build
+           (lambda args
+             (apply
+              (lambda* (build-root #:key inputs outputs #:allow-other-keys)
+                ;; The "module" subdirectory contains a python (really cython)
+                ;; project, which is built using a script, that is thankfully
+                ;; named "setup.py".
+                (chdir "module")
+                (apply (assoc-ref %standard-phases 'build) args)
+                ;; the above causes renpy.__init__ to be compiled but does not
+                ;; compile anything else, hence we do that here
+                (chdir build-root)
+                (delete-file "renpy/__init__.pyc")
+                (invoke "python" "-m" "compileall" "renpy"))
+              (getcwd) args)
+             #t))
+         (replace 'install
+           (lambda args
+             (apply
+              (lambda* (build-root #:key inputs outputs #:allow-other-keys)
+                ;; Again, we have to wrap the module installation.
+                ;; Additionally, we want to install the python code
+                ;; (both source and compiled) in the same directory.
+                (let* ((out (assoc-ref outputs "out"))
+                       (site (string-append "/lib/python"
+                                            ,(version-major+minor
+                                              (package-version python-2))
+                                            "/site-packages")))
+                  (chdir "module")
+                  (apply (assoc-ref %standard-phases 'install) args)
+                  (chdir build-root)
+                  (copy-recursively "renpy"
+                                    (string-append out site "/renpy"))))
+              (getcwd) args)
+             #t)))))
+    (inputs
+     `(("ffmpeg" ,ffmpeg)
+       ("freetype" ,freetype)
+       ("glew" ,glew)
+       ("libpng" ,libpng)
+       ("python2-pygame" ,python2-pygame-sdl2)
+       ("sdl-union"
+        ,(sdl-union (list sdl2 sdl2-image sdl2-mixer sdl2-ttf)))))
+    (native-inputs
+     `(("python2-cython" ,python2-cython)
+       ("xdg-utils" ,xdg-utils)))
+    (home-page "http://www.renpy.org/")
+    (synopsis "Ren'py python module")
+    (description "This package contains the shared libraries and Python
+modules of Ren'py.")
+    (license license:expat)))
+
+(define-public renpy
+  (package
+    (inherit python2-renpy)
+    (name "renpy")
+    (version "7.3.5")
+    (build-system python-build-system)
+    (arguments
+     `(#:tests? #f ; see python2-renpy
+       #:python ,python-2
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'fix-commands
+           (lambda* (#:key outputs #:allow-other-keys)
+             (substitute* "launcher/game/choose_directory.rpy"
+               (("/usr/bin/python") (which "python2")))
+             (substitute* "launcher/game/front_page.rpy"
+               (("xdg-open")
+                (which "xdg-open")))
+             (substitute* "launcher/game/project.rpy"
+               (("cmd = \\[ executable, \"-EO\", sys.argv\\[0\\] \\]")
+                (string-append "cmd = [ \"" (assoc-ref outputs "out")
+                               "/bin/renpy\" ]"))
+               ;; Projects are still created in the usual style, so we need
+               ;; to adjust the path.
+               (("cmd.append\\(self.path\\)")
+                "cmd.append(self.path + \"/game\")"))
+             #t))
+         (add-after 'unpack 'drop-game-from-paths
+           (lambda _
+             (substitute* (list "launcher/game/gui7.rpy"
+                                "launcher/game/gui7/images.py")
+               ((", \"game\",") ","))
+             #t))
+         (add-before 'build 'start-xserver
+           (lambda* (#:key inputs #:allow-other-keys)
+             (let ((xorg-server (assoc-ref inputs "xorg-server")))
+               (setenv "HOME" (getcwd))
+               (system (format #f "~a/bin/Xvfb :1 &" xorg-server))
+               (setenv "DISPLAY" ":1")
+               #t)))
+         (replace 'build
+           (lambda _
+             (invoke "python" "renpy.py" "launcher" "quit")
+             (invoke "python" "renpy.py" "the_question" "quit")
+             (invoke "python" "renpy.py" "tutorial" "quit")
+             #t))
+         (replace 'install
+           (lambda* (#:key inputs outputs #:allow-other-keys)
+             ;; Here we install our custom renpy program.
+             ;; After finishing this step, "out" will have the following:
+             ;; |-- bin/renpy
+             ;; `-- share/renpy ; i.e. path_to_renpy_base()
+             ;;     `-- common
+             ;;
+             ;; Note that common is also a de facto unused directory in
+             ;; python2-renpy. On other systems, renpy_base would point to
+             ;; site-packages or even somewhere in /opt.
+             ;; The former approach is not as straightforward as it seems
+             ;; -- it causes renpy to load files twice for some weird reason --
+             ;; and the latter is impossible on Guix. Hence the detour through
+             ;; share/renpy and the custom renpy program.
+             ;;
+             ;; As a convention, other games should be installed as
+             ;; subdirectories of share/renpy in their respective outputs as
+             ;; well. This differs from the traditional layout, which is
+             ;; roughly the following:
+             ;; `-- Super Awesome Game
+             ;;     |-- game      ; <- the folder we actually want
+             ;;     |-- lib       ; compiled renpy module and dependencies
+             ;;     |-- renpy     ; Ren'py python code (source + compiled)
+             ;;     |-- Super Awesome Game.py
+             ;;     `-- Super Awesome Game.sh
+             (let* ((out (assoc-ref outputs "out"))
+                    (bin/renpy (string-append out "/bin/renpy")))
+               (mkdir-p (string-append out "/bin"))
+               (copy-recursively "renpy/common"
+                                 (string-append out "/share/renpy/common"))
+               (copy-recursively "gui"
+                                 (string-append out "/share/renpy/gui"))
+
+               (call-with-output-file bin/renpy
+                 (lambda (port)
+                   (format port "#!~a~%" (which "python2"))
+                   (format port "
+from __future__ import print_function
+
+import os
+import sys
+import warnings
+
+def path_to_common(renpy_base):
+    return renpy_base + \"/common\"
+
+def path_to_saves(gamedir, save_directory=None):
+    import renpy  # @UnresolvedImport
+
+    if save_directory is None:
+        save_directory = renpy.config.save_directory
+        save_directory = renpy.exports.fsencode(save_directory)
+
+    if not save_directory:
+        return gamedir + \"/saves\"
+
+    return os.path.expanduser(\"~~/.renpy/\" + save_directory)
+
+def path_to_renpy_base():
+    return \"~a\"
+
+def main():
+    renpy_base = path_to_renpy_base()
+    try:
+        import renpy.bootstrap
+        import renpy.arguments
+    except ImportError:
+        print(\"\"\"Could not import renpy.bootstrap.
+Please ensure you decompressed Ren'Py correctly, preserving the directory
+structure.\"\"\", file=sys.stderr)
+        raise
+
+    args = renpy.arguments.bootstrap()
+    if not args.basedir:
+        print(\"\"\"This Ren'py requires a basedir to launch.
+The basedir is the directory, in which .rpy files live -- usually the 'game'
+subdirectory of a game packaged by Ren'py.
+
+If you want the Ren'py launcher, use renpy-launcher instead.\"\"\",
+              file=sys.stderr)
+        sys.exit()
+
+    renpy.bootstrap.bootstrap(renpy_base)
+
+if __name__ == \"__main__\":
+    main()
+"
+                           (string-append out "/share/renpy"))))
+               (chmod bin/renpy #o755)
+               #t)))
+
+         (add-after 'install 'install-games
+           (lambda* (#:key outputs #:allow-other-keys)
+             (define renpy (assoc-ref outputs "out"))
+             ;; TODO: We should offer a renpy-build-system to make the
+             ;; installation of Ren'py games easier.
+             (define* (install-renpy-game #:key output game name (renpy renpy)
+                                          #:allow-other-keys)
+               (let* ((name (or name (basename game)))
+                      (launcher (string-append output "/bin/renpy-" name))
+                      (share (string-append output "/share/renpy/" name)))
+                 (copy-recursively (string-append game "/game") share)
+                 (mkdir-p (string-append output "/bin"))
+                 (with-output-to-file launcher
+                   (lambda ()
+                     (format #t
+                             "#!~a~%~a ~a \"$@\""
+                             (which "bash")
+                             (string-append renpy "/bin/renpy")
+                             share)))
+                 (chmod launcher #o755)))
+
+             (install-renpy-game #:output (assoc-ref outputs "out")
+                                 #:game "launcher")
+
+             (install-renpy-game #:output (assoc-ref outputs "the-question")
+                                 #:game "the_question"
+                                 #:name "the-question")
+
+             (install-renpy-game #:output (assoc-ref outputs "tutorial")
+                                 #:game "tutorial")
+             #t))
+         (replace 'wrap
+           (lambda* (#:key inputs outputs #:allow-other-keys)
+             (wrap-program (string-append (assoc-ref outputs "out")
+                                          "/bin/renpy")
+               `("PYTHONPATH" = (,(getenv "PYTHONPATH"))))
+             #t)))))
+    (inputs
+     `(("python2-tkinter" ,python-2 "tk")
+       ("python2-pygame" ,python2-pygame-sdl2)
+       ("python2-renpy" ,python2-renpy)
+       ("xorg-server" ,xorg-server)))
+    (outputs
+     (list "out" "tutorial" "the-question"))
+    (home-page "http://www.renpy.org/")
+    (synopsis "Visual Novel Engine")
+    (description "Ren'Py is a visual novel engine that helps you use words,
+images, and sounds to tell interactive stories that run on computers and
+mobile devices.  These can be both visual novels and life simulation games.
+The easy to learn script language allows anyone to efficiently write large
+visual novels, while its Python scripting is enough for complex simulation
+games.")
+    (license license:expat)))
+
 (define-public grafx2
   (package
     (name "grafx2")

From 9ad9ec2e6192017ccac59330c0056c370c079603 Mon Sep 17 00:00:00 2001
From: Alex Griffin 
Date: Sat, 12 Oct 2019 13:34:43 -0500
Subject: [PATCH 0570/1112] gnu: Add ghc-atomic-primops.

* gnu/packages/haskell-xyz.scm (ghc-atomic-primops): New variable.
---
 gnu/packages/haskell-xyz.scm | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm
index 2977398880f..e134641de42 100644
--- a/gnu/packages/haskell-xyz.scm
+++ b/gnu/packages/haskell-xyz.scm
@@ -21,6 +21,7 @@
 ;;; Copyright © 2019 Jacob MacDonald 
 ;;; Copyright © 2019 John Soo 
 ;;; Copyright © 2019 Kyle Meyer 
+;;; Copyright © 2019 Alex Griffin 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -381,6 +382,28 @@ over threads in Haskell, in which @code{Async a} is a concurrent thread that
 will eventually deliver a value of type @code{a}.")
     (license license:bsd-3)))
 
+(define-public ghc-atomic-primops
+  (package
+    (name "ghc-atomic-primops")
+    (version "0.8.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://hackage.haskell.org/package/atomic-primops"
+                           "/atomic-primops-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0cyr2x6xqz6s233znrz9rnrfj56m9bmnawwnka0lsqqy1hp8gy37"))))
+    (build-system haskell-build-system)
+    (inputs `(("ghc-primitive" ,ghc-primitive)))
+    (home-page "https://github.com/rrnewton/haskell-lockfree/wiki")
+    (synopsis "Safe approach to CAS and other atomic ops")
+    (description
+     "GHC 7.4 introduced a new @code{casMutVar} PrimOp which is difficult to
+use safely, because pointer equality is a highly unstable property in Haskell.
+This library provides a safer method based on the concept of @code{Ticket}s.")
+    (license license:bsd-3)))
+
 (define-public ghc-atomic-write
   (package
     (name "ghc-atomic-write")

From d392f8039a943b070369ecde44cfed8435ac12ad Mon Sep 17 00:00:00 2001
From: Alex Griffin 
Date: Sat, 12 Oct 2019 13:45:35 -0500
Subject: [PATCH 0571/1112] gnu: Add ghc-unagi-chan.

* gnu/packages/haskell-xyz.scm (ghc-unagi-chan): New variable.
---
 gnu/packages/haskell-xyz.scm | 31 +++++++++++++++++++++++++++++++
 1 file changed, 31 insertions(+)

diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm
index e134641de42..217c78a08cb 100644
--- a/gnu/packages/haskell-xyz.scm
+++ b/gnu/packages/haskell-xyz.scm
@@ -10628,6 +10628,37 @@ processes.  It wraps around the @code{process} library, and intends to improve
 upon it.")
     (license license:expat)))
 
+(define-public ghc-unagi-chan
+  (package
+    (name "ghc-unagi-chan")
+    (version "0.4.1.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://hackage.haskell.org/package/unagi-chan"
+                           "/unagi-chan-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1lnl5n4jnjmm4chp461glcwkrrw63rjz3fvprwxcy3lkpbkrqvgn"))))
+    (build-system haskell-build-system)
+    (inputs
+     `(("ghc-atomic-primops" ,ghc-atomic-primops)
+       ("ghc-primitive" ,ghc-primitive)))
+    (arguments
+     `(#:tests? #f ; FIXME: Tests expect primitive 0.7
+       #:cabal-revision
+       ("1"
+        "09pqi867wskwgc5lpn197f895mbn1174ydgllvcppcsmrz2b6yr6")))
+    (home-page "http://hackage.haskell.org/package/unagi-chan")
+    (synopsis "Fast concurrent queues with a Chan-like API, and more")
+    (description
+     "This library provides implementations of concurrent FIFO queues (for
+both general boxed and primitive unboxed values) that are fast, perform well
+under contention, and offer a Chan-like interface.  The library may be of
+limited usefulness outside of x86 architectures where the fetch-and-add
+instruction is not available.")
+    (license license:bsd-3)))
+
 (define-public ghc-unbounded-delays
   (package
     (name "ghc-unbounded-delays")

From 51add2a97b54d6666f14a6e1286e22a559f0d0b1 Mon Sep 17 00:00:00 2001
From: Alex Griffin 
Date: Sat, 12 Oct 2019 13:55:49 -0500
Subject: [PATCH 0572/1112] gnu: Add kmonad.

* gnu/packages/haskell-apps.scm (kmonad): New variable.
---
 gnu/packages/haskell-apps.scm | 59 +++++++++++++++++++++++++++++++++++
 1 file changed, 59 insertions(+)

diff --git a/gnu/packages/haskell-apps.scm b/gnu/packages/haskell-apps.scm
index beecb0392d0..0fab912f4fe 100644
--- a/gnu/packages/haskell-apps.scm
+++ b/gnu/packages/haskell-apps.scm
@@ -12,6 +12,7 @@
 ;;; Copyright © 2019 Kyle Meyer 
 ;;; Copyright © 2015 John Soo 
 ;;; Copyright © 2019 Efraim Flashner 
+;;; Copyright © 2019 Alex Griffin 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -498,6 +499,64 @@ with CSS and mouseover annotations, XHTML 1.0 with inline CSS styling, LaTeX,
 and mIRC chat codes.")
     (license license:bsd-3)))
 
+(define-public kmonad
+  (package
+    (name "kmonad")
+    (version "0.2.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/david-janssen/kmonad.git")
+             (commit "06d7b8c709efa695be35df9bde91275cbb2ba099")))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "1rjr4h5yq63x3kad6yn4p8v26389sd9dgr5n2w73s1chafapzwwd"))))
+    (build-system haskell-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (delete 'haddock)             ; Haddock fails to generate docs
+         (add-after 'install 'install-udev-rules
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (rules (string-append out "/lib/udev/rules.d")))
+               (mkdir-p rules)
+               (call-with-output-file (string-append rules "/70-kmonad.rules")
+                 (lambda (port)
+                   (display
+                    (string-append
+                     "KERNEL==\"uinput\", MODE=\"0660\", "
+                     "GROUP=\"input\", OPTIONS+=\"static_node=uinput\"\n")
+                    port)))
+               #t)))
+         (add-after 'install-udev-rules 'install-documentation
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (doc (string-append out "/share/doc/kmonad-" ,version)))
+               (install-file "README.md" doc)
+               (copy-recursively "doc" doc)
+               (copy-recursively "example" (string-append doc "/example"))
+               #t))))))
+    (inputs
+     `(("ghc-cereal" ,ghc-cereal)
+       ("ghc-exceptions" ,ghc-exceptions)
+       ("ghc-hashable" ,ghc-hashable)
+       ("ghc-lens" ,ghc-lens)
+       ("ghc-megaparsec" ,ghc-megaparsec-7)
+       ("ghc-optparse-applicative" ,ghc-optparse-applicative)
+       ("ghc-unagi-chan" ,ghc-unagi-chan)
+       ("ghc-unliftio" ,ghc-unliftio)
+       ("ghc-unordered-containers" ,ghc-unordered-containers)))
+    (home-page "https://github.com/david-janssen/kmonad")
+    (synopsis "Advanced keyboard manager")
+    (description "KMonad is a keyboard remapping utility that supports
+advanced functionality, such as custom keymap layers and modifiers, macros,
+and conditional mappings that send a different keycode when tapped or held.
+By operating at a lower level than most similar tools, it supports X11,
+Wayland, and Linux console environments alike.")
+    (license license:expat)))
+
 (define-public raincat
   (package
     (name "raincat")

From 3216577dbce48fcf2590f209f2c656a04058e49a Mon Sep 17 00:00:00 2001
From: Tobias Geerinckx-Rice 
Date: Tue, 29 Oct 2019 21:37:56 +0100
Subject: [PATCH 0573/1112] gnu: powertop: Update to 2.11.

* gnu/packages/linux.scm (powertop): Update to 2.11.
---
 gnu/packages/linux.scm | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 4ddea0a7a42..e1e40e2cfc9 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -2076,14 +2076,14 @@ devices.  It replaces @code{iwconfig}, which is deprecated.")
 (define-public powertop
   (package
     (name "powertop")
-    (version "2.10")
+    (version "2.11")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "https://01.org/sites/default/files/downloads/"
-                           "powertop-v" version ".tar.gz"))
+                           "powertop-v" version "-1-g7ef7f79.tar_0.gz"))
        (sha256
-        (base32 "0xaazqccyd42v2q532dxx40nqhb9sfsa6cyx8641rl57mfg4bdyk"))))
+        (base32 "0kynypj5cydfbma0ssblq1k4m1arixc1s2vf0ybv8y2gg09wjs5f"))))
     (build-system gnu-build-system)
     (arguments
      '(#:phases

From a26b73b6fc064a8495762c83afd387ddda91b233 Mon Sep 17 00:00:00 2001
From: Tobias Geerinckx-Rice 
Date: Tue, 29 Oct 2019 22:36:33 +0100
Subject: [PATCH 0574/1112] gnu: paps: Update to 0.7.1.

* gnu/packages/pdf.scm (paps): Update to 0.7.1.
---
 gnu/packages/pdf.scm | 61 +++++++++++++++-----------------------------
 1 file changed, 21 insertions(+), 40 deletions(-)

diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm
index 0fd385d5d61..f54200a54da 100644
--- a/gnu/packages/pdf.scm
+++ b/gnu/packages/pdf.scm
@@ -1120,48 +1120,29 @@ presentation.  The input files processed by pdfpc are PDF documents.")
     (license license:gpl2+)))
 
 (define-public paps
-  (let ((commit "37e6ca1cd96d751bbbff5539d795c90d657289a5")
-        (revision "1"))
-    (package
-      (name "paps")
-      ;; The last release was in 2015, but since then there have been security
-      ;; bug fixes.
-      (version (git-version "0.7.0" revision commit))
-      (source
-       (origin
-         (method git-fetch)
-         (uri (git-reference
-               (url "https://github.com/dov/paps.git")
-               (commit commit)))
-         (file-name (git-file-name name version))
-         (sha256
-          (base32
-           "1ilcyjqdynxsd2p8dnn8h4592dwf531x9pbkxa1w09hkcdn7hgwc"))))
-      (build-system gnu-build-system)
-      (arguments
-       `(#:phases
-         (modify-phases %standard-phases
-           (add-after 'unpack 'do-not-run-configure-script-during-bootstrap
-             (lambda _
-               (substitute* "autogen.sh"
-                 (("^./configure") "#"))
-               #t)))))
-      (inputs
-       `(("pango" ,pango)))
-      (native-inputs
-       `(("autoconf" ,autoconf)
-         ("automake" ,automake)
-         ("gettext" ,gettext-minimal)
-         ("glib" ,glib "bin")
-         ("intltool" ,intltool)
-         ("pkg-config" ,pkg-config)))
-      (home-page "https://github.com/dov/paps")
-      (synopsis "Pango to PostScript converter")
-      (description
-       "Paps reads a UTF-8 encoded file and generates a PostScript language
+  (package
+    (name "paps")
+    (version "0.7.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://github.com/dov/paps/releases/download/v"
+                           version "/paps-" version ".tar.gz"))
+       (sha256
+        (base32 "1z1w1fg2bvb8p92n1jlpqp3n9mq42szb2mqhh4xqmmnmfcdkpi9s"))))
+    (build-system gnu-build-system)
+    (inputs
+     `(("pango" ,pango)))
+    (native-inputs
+     `(("intltool" ,intltool)
+       ("pkg-config" ,pkg-config)))
+    (home-page "https://github.com/dov/paps")
+    (synopsis "Pango to PostScript converter")
+    (description
+     "Paps reads a UTF-8 encoded file and generates a PostScript language
 rendering of the file.  The rendering is done by creating outline curves
 through the Pango @code{ft2} backend.")
-      (license license:lgpl2.0+))))
+    (license license:lgpl2.0+)))
 
 (define-public stapler
   (package

From bd189ebcc52befd8cc7a5fd96996a3d79f9b74fc Mon Sep 17 00:00:00 2001
From: Tobias Geerinckx-Rice 
Date: Tue, 29 Oct 2019 23:52:20 +0100
Subject: [PATCH 0575/1112] gnu: libedit: Update to 20191025-3.1.

* gnu/packages/libedit.scm (libedit): Update to 20191025-3.1.
---
 gnu/packages/libedit.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/libedit.scm b/gnu/packages/libedit.scm
index 7681677938c..a0a2cc6222f 100644
--- a/gnu/packages/libedit.scm
+++ b/gnu/packages/libedit.scm
@@ -29,14 +29,14 @@
 (define-public libedit
   (package
     (name "libedit")
-    (version "20190324-3.1")
+    (version "20191025-3.1")
     (source
      (origin
       (method url-fetch)
       (uri (string-append "http://thrysoee.dk/editline"
                           "/libedit-" version ".tar.gz"))
       (sha256
-       (base32 "1bhvp8xkkgrg89k4ci1k8vjl3nhb6szd4ghy9lp4jrfgq58hz3xc"))))
+       (base32 "0fdznw6fklis39xqk30ihw8dl8kdw9fzq1z42jmbyy6lc1k07zvd"))))
     (build-system gnu-build-system)
     (inputs
      `(("ncurses" ,ncurses)))

From 2dbd8365daaa93c84606fdc107f3a0e84d35f224 Mon Sep 17 00:00:00 2001
From: Tobias Geerinckx-Rice 
Date: Wed, 30 Oct 2019 00:18:49 +0100
Subject: [PATCH 0576/1112] gnu: libedit: Download over HTTPS.

* gnu/packages/libedit.scm (libedit)[source]: Use HTTPS.
---
 gnu/packages/libedit.scm | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gnu/packages/libedit.scm b/gnu/packages/libedit.scm
index a0a2cc6222f..37638a2b6ad 100644
--- a/gnu/packages/libedit.scm
+++ b/gnu/packages/libedit.scm
@@ -33,7 +33,7 @@
     (source
      (origin
       (method url-fetch)
-      (uri (string-append "http://thrysoee.dk/editline"
+      (uri (string-append "https://thrysoee.dk/editline"
                           "/libedit-" version ".tar.gz"))
       (sha256
        (base32 "0fdznw6fklis39xqk30ihw8dl8kdw9fzq1z42jmbyy6lc1k07zvd"))))

From aee4e47c5e3123485825e01d943b9d211b3e9538 Mon Sep 17 00:00:00 2001
From: Tobias Geerinckx-Rice 
Date: Wed, 30 Oct 2019 03:18:58 +0100
Subject: [PATCH 0577/1112] gnu: youtube-dl: Update to 2019.10.29.

* gnu/packages/video.scm (youtube-dl): Update to 2019.10.29.
---
 gnu/packages/video.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index 2b4f16207de..2f4ea35a787 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -1491,7 +1491,7 @@ projects while introducing many more.")
 (define-public youtube-dl
   (package
     (name "youtube-dl")
-    (version "2019.10.22")
+    (version "2019.10.29")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://github.com/ytdl-org/youtube-dl/"
@@ -1499,7 +1499,7 @@ projects while introducing many more.")
                                   version ".tar.gz"))
               (sha256
                (base32
-                "06wg6wpyq0fawjxjrhd7zasfjr9b6w9wsk2amiqdl712zqlq2rwb"))))
+                "1lq6ycjbx07831s24yx42q6m6svas4mf02vbszw0965dbbzs7vp4"))))
     (build-system python-build-system)
     (arguments
      ;; The problem here is that the directory for the man page and completion

From c10f6c5ab481e81fd9882126b3768fede1a00dc1 Mon Sep 17 00:00:00 2001
From: Tobias Geerinckx-Rice 
Date: Wed, 30 Oct 2019 03:47:16 +0100
Subject: [PATCH 0578/1112] gnu: ams-lv2: Update to 1.2.2.

This is the same commit, now with a version number.

* gnu/packages/music.scm (ams-lv2): Update to 1.2.2.
[home-page]: Replace with a working one.
---
 gnu/packages/music.scm | 80 +++++++++++++++++++-----------------------
 1 file changed, 37 insertions(+), 43 deletions(-)

diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
index c0707772e4d..463f7fd9ef8 100644
--- a/gnu/packages/music.scm
+++ b/gnu/packages/music.scm
@@ -2383,52 +2383,46 @@ follows a traditional multi-track tape recorder control paradigm.")
     (license license:gpl2+)))
 
 (define-public ams-lv2
-  ;; Version 1.2.1 built with Python 3.7 raises an error in the waf-script.
-  ;; Therefore, we take two more commmits than 1.2.1 that introduce an updated
-  ;; waf-script and fix one error.
-  (let ((commit "377d166db54a787b48979171c5652d2eb4f1bbb5")
-        (revision "1"))
-    (package
-      (name "ams-lv2")
-      (version (git-version "1.2.1" revision commit))
-      (source
-       (origin
-         (method git-fetch)
-         (uri (git-reference
-               (url "https://github.com/blablack/ams-lv2.git")
-               (commit commit)))
-         (file-name (git-file-name name version))
-         (sha256
-          (base32
-           "1ndgxcxjxwidg7436k0nb5clxkyi878k1j999sbbd1gk2fm0kcqm"))))
-      (build-system waf-build-system)
-      (arguments
-       `(#:phases
-         (modify-phases %standard-phases
-           (add-after 'unpack 'remove-sse-flags
-             (lambda* (#:key system #:allow-other-keys)
-               (unless (or (string-prefix? "x86_64" system)
-                              (string-prefix? "i686" system))
-                     (substitute* "wscript"
-                       (("'-msse', '-mfpmath=sse', ") "")))
-               #t)))
-         #:tests? #f)) ; no tests
-      (inputs
-       `(("lv2" ,lv2)
-         ("lvtk" ,lvtk)
-         ("gtkmm" ,gtkmm-2)
-         ("gtk" ,gtk+-2)
-         ("cairo" ,cairo)
-         ("fftw" ,fftw)))
-      (native-inputs
-       `(("pkg-config" ,pkg-config)))
-      (home-page "https://objectivewave.wordpress.com/ams-lv2/")
-      (synopsis "Port of Alsa Modular Synth internal modules into LV2")
-      (description "This set of LV2 plugins is a port of the internal modules
+  (package
+    (name "ams-lv2")
+    (version "1.2.2")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/blablack/ams-lv2.git")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "1lz2mvk4gqsyf92yxd3aaldx0d0qi28h4rnnvsaz4ls0ccqm80nk"))))
+    (build-system waf-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'remove-sse-flags
+           (lambda* (#:key system #:allow-other-keys)
+             (unless (or (string-prefix? "x86_64" system)
+                         (string-prefix? "i686" system))
+               (substitute* "wscript"
+                 (("'-msse', '-mfpmath=sse', ") "")))
+             #t)))
+       #:tests? #f))                    ; no tests
+    (inputs
+     `(("cairo" ,cairo)
+       ("fftw" ,fftw)
+       ("gtk" ,gtk+-2)
+       ("gtkmm" ,gtkmm-2)
+       ("lv2" ,lv2)
+       ("lvtk" ,lvtk)))
+    (native-inputs
+     `(("pkg-config" ,pkg-config)))
+    (home-page "https://github.com/blablack/ams-lv2")
+    (synopsis "Port of Alsa Modular Synth internal modules into LV2")
+    (description "This set of LV2 plugins is a port of the internal modules
 found in Alsa Modular Synth.  These plugins are used to create modular
 synthesizers and contain: VCO, VCF, VCA, LFO, slew limiter, envelopes, sample
 and hold, etc.")
-      (license license:gpl2))))
+    (license license:gpl2)))
 
 (define-public gxtuner
   (package

From faefa2eda302722a61aed8c666c08864729604f2 Mon Sep 17 00:00:00 2001
From: Tobias Geerinckx-Rice 
Date: Wed, 30 Oct 2019 04:27:43 +0100
Subject: [PATCH 0579/1112] gnu: arb: Update to 2.17.0.

* gnu/packages/algebra.scm (arb): Update to 2.17.0.
[home-page]: Replace with a working one.
---
 gnu/packages/algebra.scm | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm
index 828a0fc7489..6a9784f551d 100644
--- a/gnu/packages/algebra.scm
+++ b/gnu/packages/algebra.scm
@@ -483,7 +483,7 @@ fast arithmetic.")
 (define-public arb
   (package
     (name "arb")
-    (version "2.16.0")
+    (version "2.17.0")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -492,7 +492,7 @@ fast arithmetic.")
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "0478671wfwy3gl26sbxh1jq1ih36z4k72waa8y2y2lvn649gb7cd"))))
+                "05lpy3hkl5f8ik19aw40cqydrb932xaf2n8hbq9ib5dnk7f010p1"))))
     (build-system gnu-build-system)
     (propagated-inputs
      `(("flint" ,flint)))               ; flint.h is included by arf.h
@@ -508,8 +508,8 @@ fast arithmetic.")
                    (flint (assoc-ref inputs "flint"))
                    (gmp (assoc-ref inputs "gmp"))
                    (mpfr (assoc-ref inputs "mpfr")))
-               ;; do not pass "--enable-fast-install", which makes the
-               ;; homebrew configure process fail
+               ;; Do not pass "--enable-fast-install", which makes the
+               ;; homebrew configure process fail.
                (invoke "./configure"
                        (string-append "--prefix=" out)
                        (string-append "--with-flint=" flint)
@@ -522,7 +522,7 @@ arithmetic.  It supports efficient high-precision computation with
 polynomials, power series, matrices and special functions over the
 real and complex numbers, with automatic, rigorous error control.")
     (license license:lgpl2.1+)
-    (home-page "http://fredrikj.net/arb/")))
+    (home-page "http://arblib.org")))
 
 (define-public python-flint
   (package

From 9f3028676cb353d98ae07ad72ceca00af9b9f309 Mon Sep 17 00:00:00 2001
From: Tobias Geerinckx-Rice 
Date: Wed, 30 Oct 2019 04:44:02 +0100
Subject: [PATCH 0580/1112] gnu: gpxsee: Update to 7.16.

* gnu/packages/gps.scm (gpxsee): Update to 7.16.
---
 gnu/packages/gps.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/gps.scm b/gnu/packages/gps.scm
index d2481cf25b4..8f23be05e64 100644
--- a/gnu/packages/gps.scm
+++ b/gnu/packages/gps.scm
@@ -171,7 +171,7 @@ coordinates as well as partial support for adjustments in global coordinate syst
 (define-public gpxsee
   (package
     (name "gpxsee")
-    (version "7.12")
+    (version "7.16")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -180,7 +180,7 @@ coordinates as well as partial support for adjustments in global coordinate syst
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "0c3axs3mm6xzabwbvy9vgq1sryjpi4h91nwzy9iyv9zjxz7phgzc"))))
+                "1mkfhb2c9qafjpva600nyn6yik49l4q1k6id1xvrci37wsn6ijav"))))
     (build-system gnu-build-system)
     (arguments
      '(#:phases

From 16243f0b50a9c674f9df60b9a6548900d7a7b635 Mon Sep 17 00:00:00 2001
From: Tobias Geerinckx-Rice 
Date: Wed, 30 Oct 2019 04:44:25 +0100
Subject: [PATCH 0581/1112] gnu: goffice: Don't use NAME in source URI.

* gnu/packages/gnome.scm (goffice)[source]: Hard-code NAME.
---
 gnu/packages/gnome.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 222c5fdec79..15abfcf3d30 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -2065,9 +2065,9 @@ Hints specification (EWMH).")
     (version "0.10.44")
     (source (origin
               (method url-fetch)
-              (uri (string-append "mirror://gnome/sources/" name "/"
+              (uri (string-append "mirror://gnome/sources/goffice/"
                                   (version-major+minor version)  "/"
-                                  name "-" version ".tar.xz"))
+                                  "goffice-" version ".tar.xz"))
               (sha256
                (base32 "1fd7cm6j0g0mqgpqs4y22b4gd2ll4mcyvg4d0q22d5ndjapl4q3d"))))
     (build-system gnu-build-system)

From 355420c6aca71f160aa002c884895b1400bcfeaf Mon Sep 17 00:00:00 2001
From: Tobias Geerinckx-Rice 
Date: Wed, 30 Oct 2019 04:44:43 +0100
Subject: [PATCH 0582/1112] gnu: goffice: Update to 0.10.45.

* gnu/packages/gnome.scm (goffice): Update to 0.10.45.
---
 gnu/packages/gnome.scm | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 15abfcf3d30..276fa56138a 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -2062,17 +2062,17 @@ Hints specification (EWMH).")
 (define-public goffice
   (package
     (name "goffice")
-    (version "0.10.44")
+    (version "0.10.45")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://gnome/sources/goffice/"
                                   (version-major+minor version)  "/"
                                   "goffice-" version ".tar.xz"))
               (sha256
-               (base32 "1fd7cm6j0g0mqgpqs4y22b4gd2ll4mcyvg4d0q22d5ndjapl4q3d"))))
+               (base32 "0iqrygv2bh8kiw98kjx6ay6qdd288v91q5m8n7cvs2zcx5ksaavh"))))
     (build-system gnu-build-system)
     (outputs '("out"
-               "doc"))                            ;4.0 MiB of gtk-doc
+               "doc"))                  ; 4.0 MiB of gtk-doc
     (arguments
      '(#:configure-flags (list (string-append "--with-html-dir="
                                               (assoc-ref %outputs "doc")

From da321a54f809a204247635c0670f4695acf172ef Mon Sep 17 00:00:00 2001
From: Tobias Geerinckx-Rice 
Date: Wed, 30 Oct 2019 05:05:20 +0100
Subject: [PATCH 0583/1112] gnu: r-tidytree: Update to 0.2.9.

* gnu/packages/cran.scm (r-tidytree): Update to 0.2.9.
---
 gnu/packages/cran.scm | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm
index b16b96dc774..5bf69d2c30d 100644
--- a/gnu/packages/cran.scm
+++ b/gnu/packages/cran.scm
@@ -9555,14 +9555,13 @@ maps.")
 (define-public r-tidytree
   (package
     (name "r-tidytree")
-    (version "0.2.8")
+    (version "0.2.9")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "tidytree" version))
        (sha256
-        (base32
-         "1hkddl8kj1g01dy7xiracx81f6b405b3ga2qp4wlrl552b9xxpby"))))
+        (base32 "1l9rk71dzlwg8736l0g4rdlq3pghxkfzmlxyln8y4bxx7ym51i6g"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-ape" ,r-ape)

From b6909d47cc15b6f7d6ad240a3efa294ce7a6ad0c Mon Sep 17 00:00:00 2001
From: Tobias Geerinckx-Rice 
Date: Wed, 30 Oct 2019 05:05:35 +0100
Subject: [PATCH 0584/1112] gnu: openrct2: Update to 0.2.4.

* gnu/packages/games.scm (openrct2): Update to 0.2.4.
---
 gnu/packages/games.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index ab237eb6a29..d0a5d28f049 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -2901,7 +2901,7 @@ Transport Tycoon Deluxe.")
 (define-public openrct2
   (package
     (name "openrct2")
-    (version "0.2.3")
+    (version "0.2.4")
     (source
      (origin
        (method git-fetch)
@@ -2910,7 +2910,7 @@ Transport Tycoon Deluxe.")
              (commit (string-append "v" version))))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "01mj6jlbl2cn3wpk6sy34ldzdl0qykpn7fncznjykklj2nqzr4ig"))))
+        (base32 "1rlw3w20llg36sj3bk50g661qw766ng8ma3p42sdkj8br9dw800h"))))
     (build-system cmake-build-system)
     (arguments
      `(#:configure-flags (list "-DDOWNLOAD_OBJECTS=OFF"

From b7d9d92b60b6db2873eceb9705da91356018b50e Mon Sep 17 00:00:00 2001
From: Tobias Geerinckx-Rice 
Date: Wed, 30 Oct 2019 05:20:38 +0100
Subject: [PATCH 0585/1112] gnu: perl-moo-2: Update to 2.003006.

* gnu/packages/perl.scm (perl-moo-2): Update to 2.003006.
---
 gnu/packages/perl.scm | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm
index d6976b79b74..559cb3bdb11 100644
--- a/gnu/packages/perl.scm
+++ b/gnu/packages/perl.scm
@@ -5551,15 +5551,14 @@ Moose and is optimised for rapid startup.")
   (package
     (inherit perl-moo)
     (name "perl-moo-2")
-    (version "2.003004")
+    (version "2.003006")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "mirror://cpan/authors/id/H/HA/HAARG/"
                            "Moo-" version ".tar.gz"))
        (sha256
-        (base32
-         "1qciprcgb4661g2g4ks0fxkx5gbjvn7h9yfg0nzflqz9z0jvdfzq"))))
+        (base32 "0wi4gyp5kn4lbags0hrax3c9jj9spxg4d11fbrdh0ican4m0kcmw"))))
     (propagated-inputs
      `(("perl-role-tiny" ,perl-role-tiny-2)
        ("perl-sub-name" ,perl-sub-name)

From 7f2a457783c6837693597b2badf0c0df086b9e7c Mon Sep 17 00:00:00 2001
From: Tobias Geerinckx-Rice 
Date: Wed, 30 Oct 2019 05:20:49 +0100
Subject: [PATCH 0586/1112] gnu: perl-net-dns-native: Update to 0.22.

* gnu/packages/perl.scm (perl-net-dns-native): Update to 0.22.
---
 gnu/packages/perl.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm
index 559cb3bdb11..f92d50290ee 100644
--- a/gnu/packages/perl.scm
+++ b/gnu/packages/perl.scm
@@ -6547,7 +6547,7 @@ name, but they won't show up as methods on your class or instances.")
 (define-public perl-net-dns-native
   (package
     (name "perl-net-dns-native")
-    (version "0.21")
+    (version "0.22")
     (source
      (origin
        (method url-fetch)
@@ -6555,7 +6555,7 @@ name, but they won't show up as methods on your class or instances.")
              "mirror://cpan/authors/id/O/OL/OLEG/Net-DNS-Native-"
              version ".tar.gz"))
        (sha256
-        (base32 "0jjcgzmgas7k5rwalirrmbnlj4ihdxyydajc18qviwg863qjannl"))))
+        (base32 "1m9hbj83ikg52wvq7z8bjm78i50qvqk5alh11mmazzxrpbnrv38h"))))
     (build-system perl-build-system)
     (home-page "https://metacpan.org/release/Net-DNS-Native")
     (synopsis "Non-blocking system DNS resolver")

From 020e32149d398871e80494d6890c8f2a8d7bc76f Mon Sep 17 00:00:00 2001
From: Tobias Geerinckx-Rice 
Date: Wed, 30 Oct 2019 05:52:12 +0100
Subject: [PATCH 0587/1112] gnu: r-spam: Update to 2.3-0.2.

* gnu/packages/cran.scm (r-spam): Update to 2.3-0.2.
---
 gnu/packages/cran.scm | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm
index 5bf69d2c30d..eb8b14b6ba0 100644
--- a/gnu/packages/cran.scm
+++ b/gnu/packages/cran.scm
@@ -10877,14 +10877,13 @@ This makes it a convenient and fast interface to C/C++ and Fortran code.")
 (define-public r-spam
   (package
     (name "r-spam")
-    (version "2.3-0.1")
+    (version "2.3-0.2")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "spam" version))
        (sha256
-        (base32
-         "0mas2ra7d5f9ccwxwsvxls3dz53prpf59hi2a0rvc347wbm6540b"))))
+        (base32 "0czmzwhvcs0shm1asvphhz366df3n7vrlls4cfpq5b3i19fak3w4"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-dotcall64" ,r-dotcall64)))

From 5f5961121b54a31e12f220639a045b57411e9a1a Mon Sep 17 00:00:00 2001
From: Tobias Geerinckx-Rice 
Date: Wed, 30 Oct 2019 05:52:19 +0100
Subject: [PATCH 0588/1112] gnu: r-huge: Update to 1.3.4.

* gnu/packages/cran.scm (r-huge): Update to 1.3.4.
---
 gnu/packages/cran.scm | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm
index eb8b14b6ba0..2275d562736 100644
--- a/gnu/packages/cran.scm
+++ b/gnu/packages/cran.scm
@@ -11259,14 +11259,13 @@ regression coefficients can be conducted via jackknifing.")
 (define-public r-huge
   (package
     (name "r-huge")
-    (version "1.3.3")
+    (version "1.3.4")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "huge" version))
        (sha256
-        (base32
-         "18f8w4hdp9fdi2k5ip6fnrn5z47w4ybgxs2m6a7jdvd2v4wfdr69"))))
+        (base32 "07n3j1va2z4v30rj22cww72khgzbz2xsp0yc0qswlrwyxi4my5i3"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-igraph" ,r-igraph)

From 9110ee4c5779069184d0e91054365f02f5e93cc5 Mon Sep 17 00:00:00 2001
From: Tobias Geerinckx-Rice 
Date: Wed, 30 Oct 2019 05:52:27 +0100
Subject: [PATCH 0589/1112] gnu: r-rgdal: Update to 1.4-7.

* gnu/packages/cran.scm (r-rgdal): Update to 1.4-7.
---
 gnu/packages/cran.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm
index 2275d562736..c65caa80a27 100644
--- a/gnu/packages/cran.scm
+++ b/gnu/packages/cran.scm
@@ -15543,13 +15543,13 @@ effect size.")
 (define-public r-rgdal
   (package
     (name "r-rgdal")
-    (version "1.4-6")
+    (version "1.4-7")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "rgdal" version))
        (sha256
-        (base32 "0lj1dax56dxxsj1hindxcvgz169p9dxd0y4wjypbyr01nja8rz4d"))))
+        (base32 "05rvqy8lr2c3phaylmc4g5761208b0xrmgwn9c4a60x7p251dzjs"))))
     (properties `((upstream-name . "rgdal")))
     (build-system r-build-system)
     (inputs

From 6e5bc87ced7e34ea0e771c6bd7b7b4f86917fd4f Mon Sep 17 00:00:00 2001
From: Mark H Weaver 
Date: Wed, 30 Oct 2019 02:43:55 -0400
Subject: [PATCH 0590/1112] gnu: linux-libre@4.4: Update to 4.4.198.

* gnu/packages/linux.scm (linux-libre-4.4-version): Update to 4.4.198.
(linux-libre-4.4-pristine-source): Update hash.
---
 gnu/packages/linux.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index e1e40e2cfc9..220c9989f9b 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -383,10 +383,10 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
                              (%upstream-linux-source version hash)
                              deblob-scripts-4.9)))
 
-(define-public linux-libre-4.4-version "4.4.197")
+(define-public linux-libre-4.4-version "4.4.198")
 (define-public linux-libre-4.4-pristine-source
   (let ((version linux-libre-4.4-version)
-        (hash (base32 "0ypfl1q1bdbk81hk0bm8a0grqzz4z5rp7z7asa3191ji3r8q9x4w")))
+        (hash (base32 "04pkryy1lc75c88vq5wcjjcxs43i7bb8hhplbfi6s204ipc0iy7c")))
     (make-linux-libre-source version
                              (%upstream-linux-source version hash)
                              deblob-scripts-4.4)))

From a6891409e3acd4de017a98fe7232c9b374738cdc Mon Sep 17 00:00:00 2001
From: Mark H Weaver 
Date: Wed, 30 Oct 2019 02:44:59 -0400
Subject: [PATCH 0591/1112] gnu: linux-libre@4.9: Update to 4.9.198.

* gnu/packages/linux.scm (linux-libre-4.9-version): Update to 4.9.198.
(linux-libre-4.9-pristine-source): Update hash.
---
 gnu/packages/linux.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 220c9989f9b..46e9ac6743f 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -375,10 +375,10 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
                              (%upstream-linux-source version hash)
                              deblob-scripts-4.14)))
 
-(define-public linux-libre-4.9-version "4.9.197")
+(define-public linux-libre-4.9-version "4.9.198")
 (define-public linux-libre-4.9-pristine-source
   (let ((version linux-libre-4.9-version)
-        (hash (base32 "032as6g4xvqjarqhvx7mr14yhn6idak4g0ps1skmsl4dfav6hdam")))
+        (hash (base32 "1b05jra6q695s1d4rzdr39i6m8xsi5xjrdn73sgwzvx0dgxfnwlm")))
     (make-linux-libre-source version
                              (%upstream-linux-source version hash)
                              deblob-scripts-4.9)))

From 54e616403d2a41e7e9d4745c6750758fd7c57d31 Mon Sep 17 00:00:00 2001
From: Mark H Weaver 
Date: Wed, 30 Oct 2019 02:45:33 -0400
Subject: [PATCH 0592/1112] gnu: linux-libre@4.14: Update to 4.14.151.

* gnu/packages/linux.scm (linux-libre-4.14-version): Update to 4.14.151.
(linux-libre-4.14-pristine-source): Update hash.
---
 gnu/packages/linux.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 46e9ac6743f..213ed1fadc6 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -367,10 +367,10 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
                              (%upstream-linux-source version hash)
                              deblob-scripts-4.19)))
 
-(define-public linux-libre-4.14-version "4.14.150")
+(define-public linux-libre-4.14-version "4.14.151")
 (define-public linux-libre-4.14-pristine-source
   (let ((version linux-libre-4.14-version)
-        (hash (base32 "1c2pxfvv31af0mzcqnbfjk8pc0wrhg4yhspl8a3ab2w5dfwa9ib5")))
+        (hash (base32 "1bizb1wwni5r4m5i0mrsqbc5qw73lwrfrdadm09vbfz9ir19qlgz")))
     (make-linux-libre-source version
                              (%upstream-linux-source version hash)
                              deblob-scripts-4.14)))

From fd41243c819635795f4e4bdef1e2823db5234e24 Mon Sep 17 00:00:00 2001
From: Mark H Weaver 
Date: Wed, 30 Oct 2019 02:46:13 -0400
Subject: [PATCH 0593/1112] gnu: linux-libre@4.19: Update to 4.19.81.

* gnu/packages/linux.scm (linux-libre-4.19-version): Update to 4.19.81.
(linux-libre-4.19-pristine-source): Update hash.
---
 gnu/packages/linux.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 213ed1fadc6..f4d27525ea2 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -359,10 +359,10 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
                             (%upstream-linux-source version hash)
                             deblob-scripts-5.3)))
 
-(define-public linux-libre-4.19-version "4.19.80")
+(define-public linux-libre-4.19-version "4.19.81")
 (define-public linux-libre-4.19-pristine-source
   (let ((version linux-libre-4.19-version)
-        (hash (base32 "1v776s6q5wxn8ci86dwa8s8y41b94g09fnpgvzysg2h89rvbmac0")))
+        (hash (base32 "17g2wiaa7l7mxi72k79drxij2zqk3nsj8wi17bl4nfvb1ypc2gi9")))
     (make-linux-libre-source version
                              (%upstream-linux-source version hash)
                              deblob-scripts-4.19)))

From 6d8e6f19400bd03fa96a81609e04c3fee53e4757 Mon Sep 17 00:00:00 2001
From: Mark H Weaver 
Date: Wed, 30 Oct 2019 02:46:58 -0400
Subject: [PATCH 0594/1112] gnu: linux-libre: Update to 5.3.8.

* gnu/packages/linux.scm (linux-libre-5.3-version): Update to 5.3.8.
(linux-libre-5.3-pristine-source): Update hash.
---
 gnu/packages/linux.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index f4d27525ea2..cdfff2ba441 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -351,10 +351,10 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
                         "linux-" version ".tar.xz"))
     (sha256 hash)))
 
-(define-public linux-libre-5.3-version "5.3.7")
+(define-public linux-libre-5.3-version "5.3.8")
 (define-public linux-libre-5.3-pristine-source
   (let ((version linux-libre-5.3-version)
-        (hash (base32 "00j8sdrmmppqf38vl50a4zas5gy7yv37n43b61f8472k45773jf6")))
+        (hash (base32 "0jb6yya9yx4z52p5m32dqj0kgc6aaz9df8mvq0hzy40bqb3czwvq")))
    (make-linux-libre-source version
                             (%upstream-linux-source version hash)
                             deblob-scripts-5.3)))

From cb7b501deb7c99a14cba5865dfcca4adc3437439 Mon Sep 17 00:00:00 2001
From: Pierre Neidhardt 
Date: Wed, 30 Oct 2019 09:33:53 +0100
Subject: [PATCH 0595/1112] doc: Explain how to switch profile from empty shell
 in "Profiles in Practice".

* doc/guix-cookbook.texi (Profiles in Practice): Add example.
---
 doc/guix-cookbook.texi | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/doc/guix-cookbook.texi b/doc/guix-cookbook.texi
index 4e60862d221..869b9666df5 100644
--- a/doc/guix-cookbook.texi
+++ b/doc/guix-cookbook.texi
@@ -1774,6 +1774,14 @@ You can roll-back to any generation of a given profile:
 guix package -p "$GUIX_EXTRA_PROFILES"/my-project/my-project --switch-generations=17
 @end example
 
+Finally, if you want to switch to a profile without inheriting from the
+current environment, you can activate it from an empty shell:
+
+@example
+env -i $(which bash) --login --noprofile --norc
+. my-project/etc/profile
+@end example
+
 @node Required packages
 @subsection Required packages
 

From 8e5fbd5dda93e137ff527cabe25989b28ab9e1c0 Mon Sep 17 00:00:00 2001
From: Giacomo Leidi 
Date: Mon, 28 Oct 2019 22:22:23 +0100
Subject: [PATCH 0596/1112] gnu: python-numpy: Update to 1.17.3.

* gnu/packages/python-xyz.scm (python-numpy): Update to 1.17.3.

Signed-off-by: Mathieu Othacehe 
---
 gnu/packages/python-xyz.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 98e2d7e92b4..f6347d7039c 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -3450,7 +3450,7 @@ between language specification and implementation aspects.")
 (define-public python-numpy
   (package
     (name "python-numpy")
-    (version "1.15.4")
+    (version "1.17.3")
     (source
      (origin
        (method url-fetch)
@@ -3459,7 +3459,7 @@ between language specification and implementation aspects.")
              version "/numpy-" version ".tar.gz"))
        (sha256
         (base32
-         "102vcl2qq4pjbm7a3d67vkkvn4466ngia1d8wi5avqwqh8j0jvkn"))))
+         "1ak9dmjja0q90a7fsxli51ypcwssh8c4pb6f8wkrsnf2xgdk6dy9"))))
     (build-system python-build-system)
     (inputs
      `(("openblas" ,openblas)

From 3a2b1a3c9c3033345a091026d4299b0399d8f14c Mon Sep 17 00:00:00 2001
From: Giacomo Leidi 
Date: Mon, 28 Oct 2019 23:53:27 +0100
Subject: [PATCH 0597/1112] gnu: python-xlrd: Update to 1.2.0.

* gnu/packages/python-xyz.scm (python-xlrd): Update to 1.2.0.

Signed-off-by: Mathieu Othacehe 
---
 gnu/packages/python-xyz.scm | 14 ++++++++------
 1 file changed, 8 insertions(+), 6 deletions(-)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index f6347d7039c..136c786102d 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -7247,21 +7247,23 @@ Supported netlink families and protocols include:
 (define-public python-xlrd
   (package
     (name "python-xlrd")
-    (version "1.0.0")
+    (version "1.2.0")
     (source (origin
               (method url-fetch)
               (uri (pypi-uri "xlrd" version))
               (sha256
                (base32
-                "0s8hjiz01vbhy85xalrz0qlsmd9ypf36zjqrf97hh984spapvy0g"))))
+                "1ci93fda4n67qhdvfl16zasyxrpygzk53hs6m8z0rd4dxrnb6vjl"))))
     (build-system python-build-system)
     (arguments
      `(#:phases
        (modify-phases %standard-phases
-         ;; Current test in setup.py does not work as of 1.0.0, so use nose to
-         ;; run tests instead for now.
-         (replace 'check (lambda _ (invoke "nosetests"))))))
-    (native-inputs `(("python-nose"       ,python-nose)))
+         ;; Some tests depend on writing a temp file
+         ;; to the user's home directory
+         (add-after 'unpack 'fix-tests
+           (lambda _
+             (delete-file "tests/test_open_workbook.py")
+             #t)))))
     (home-page "http://www.python-excel.org/")
     (synopsis "Library for extracting data from Excel files")
     (description "This package provides a library to extract data from

From 7a97a26d012da08fad4540eed99643f6306de423 Mon Sep 17 00:00:00 2001
From: Giacomo Leidi 
Date: Tue, 29 Oct 2019 00:16:25 +0100
Subject: [PATCH 0598/1112] gnu: python-pandas: Update to 0.25.2.

* gnu/packages/python-xyz.scm (python-pandas): Update to 0.25.2.

Signed-off-by: Mathieu Othacehe 
---
 gnu/packages/python-xyz.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 136c786102d..d39c08c1c41 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -1157,13 +1157,13 @@ human-friendly syntax.")
 (define-public python-pandas
   (package
     (name "python-pandas")
-    (version "0.24.2")
+    (version "0.25.2")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri "pandas" version))
        (sha256
-        (base32 "18imlm8xbhcbwy4wa957a1fkamrcb0z988z006jpfda3ki09z4ag"))))
+        (base32 "1gp2pvzdiakvgjmykdzdlzrsfbg4vjm49jjdl9s0ha0a3yfs34fa"))))
     (build-system python-build-system)
     (arguments
      `(#:modules ((guix build utils)

From 3ccdd3a5ff505864bc0ab887e509e5d5b07c6847 Mon Sep 17 00:00:00 2001
From: Mathieu Othacehe 
Date: Wed, 30 Oct 2019 10:19:08 +0100
Subject: [PATCH 0599/1112] gnu: python-xlrd: Fix comment.

* gnu/packages/python-xyz.scm (python-xlrd)[arguments]: Turn comment into a
full sentence.
---
 gnu/packages/python-xyz.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index d39c08c1c41..2617f316d99 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -7258,8 +7258,8 @@ Supported netlink families and protocols include:
     (arguments
      `(#:phases
        (modify-phases %standard-phases
-         ;; Some tests depend on writing a temp file
-         ;; to the user's home directory
+         ;; Some tests depend on writing a temporary file to the user's home
+         ;; directory.
          (add-after 'unpack 'fix-tests
            (lambda _
              (delete-file "tests/test_open_workbook.py")

From 2679d9a41903ada9186f593159347cf31c8e4a6e Mon Sep 17 00:00:00 2001
From: Efraim Flashner 
Date: Wed, 30 Oct 2019 12:38:11 +0200
Subject: [PATCH 0600/1112] gnu: python-whoosh: Skip test suite.

* gnu/packages/python-xyz.scm (python-whoosh)[arguments]: Disable the
test suite.
---
 gnu/packages/python-xyz.scm | 1 +
 1 file changed, 1 insertion(+)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 2617f316d99..6392032d6ed 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -9564,6 +9564,7 @@ useful for solving the Assignment Problem.")
         (base32
          "10qsqdjpbc85fykc1vgcs8xwbgn4l2l52c8d83xf1q59pwyn79bw"))))
     (build-system python-build-system)
+    (arguments '(#:tests? #f)) ; Test invocation is no longer supported by Python.
     (native-inputs
      `(("python-pytest" ,python-pytest)))
     (home-page "https://bitbucket.org/mchaput/whoosh")

From 8cdfaef1185fa5dc5dbd21cc3592e77283b08752 Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus 
Date: Wed, 30 Oct 2019 13:32:03 +0100
Subject: [PATCH 0601/1112] gnu: cuirass: Update to 0.0.1-26.e20ff86.

* gnu/packages/ci.scm (cuirass): Update to 0.0.1-26.e20ff86.
---
 gnu/packages/ci.scm | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/gnu/packages/ci.scm b/gnu/packages/ci.scm
index 964980ef881..b49ac0f7c17 100644
--- a/gnu/packages/ci.scm
+++ b/gnu/packages/ci.scm
@@ -3,7 +3,7 @@
 ;;; Copyright © 2016 Jan Nieuwenhuizen 
 ;;; Copyright © 2016, 2017 Mathieu Lirzin 
 ;;; Copyright © 2017 Mathieu Othacehe 
-;;; Copyright © 2017 Ricardo Wurmus 
+;;; Copyright © 2017, 2019 Ricardo Wurmus 
 ;;; Copyright © 2018 Clément Lassieur 
 ;;;
 ;;; This file is part of GNU Guix.
@@ -47,8 +47,8 @@
   #:use-module (guix build-system gnu))
 
 (define-public cuirass
-  (let ((commit "80b6e89a7b2e9a6f9dee26dcf22277970930039f")
-        (revision "25"))
+  (let ((commit "e20ff86d97f7dd92dad140b5919e3cbdf2fb1ce6")
+        (revision "26"))
     (package
       (name "cuirass")
       (version (string-append "0.0.1-" revision "." (string-take commit 7)))
@@ -60,7 +60,7 @@
                 (file-name (string-append name "-" version))
                 (sha256
                  (base32
-                  "0m7g7wqa1l8gab8pcyi43a6w6rxhaqbpsrwlnadwsds1b95x9bka"))))
+                  "1c3rcfmx7vm13x3nid9xbl18rrqljh5vb71qxps4yqid75br4hrb"))))
       (build-system gnu-build-system)
       (arguments
        '(#:modules ((guix build utils)

From adb396eae3524d9b82294aaf5cc87a615515b04d Mon Sep 17 00:00:00 2001
From: Marius Bakke 
Date: Wed, 30 Oct 2019 14:27:57 +0100
Subject: [PATCH 0602/1112] gnu: python2-numpy: Downgrade to 1.16.5.

Fixes .
Reported by Josh Holland .

This is a follow-up to commit 8e5fbd5dda93e137ff527cabe25989b28ab9e1c0.

* gnu/packages/python-xyz.scm (python-numpy)[properties]: New field.
(python2-numpy): Downgrade to 1.16.5.
---
 gnu/packages/python-xyz.scm | 16 +++++++++++++++-
 1 file changed, 15 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 6392032d6ed..061d9b9822f 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -3524,10 +3524,24 @@ with Python.  It contains among other things: a powerful N-dimensional array
 object, sophisticated (broadcasting) functions, tools for integrating C/C++
 and Fortran code, useful linear algebra, Fourier transform, and random number
 capabilities.")
+    (properties `((python2-variant . ,(delay python2-numpy))))
     (license license:bsd-3)))
 
+;; Numpy 1.16.x are the last versions that support Python 2.
 (define-public python2-numpy
-  (package-with-python2 python-numpy))
+  (let ((numpy (package-with-python2
+                (strip-python2-variant python-numpy))))
+    (package/inherit
+     numpy
+      (version "1.16.5")
+      (source (origin
+                (method url-fetch)
+                (uri (string-append
+                      "https://github.com/numpy/numpy/releases/download/v"
+                      version "/numpy-" version ".tar.gz"))
+                (sha256
+                 (base32
+                  "0lg1cycxzi4rvvrd5zxinpdz0ni792fpx6xjd75z1923zcac8qrb")))))))
 
 ;; NOTE: NumPy 1.8 is packaged only for Python 2 because it is of
 ;; interest only for legacy code going back to NumPy's predecessor

From d8bb1097d764949e80f9e41d26b3b194163dd716 Mon Sep 17 00:00:00 2001
From: Marius Bakke 
Date: Wed, 30 Oct 2019 14:28:39 +0100
Subject: [PATCH 0603/1112] gnu: python2-pandas: Downgrade to 0.24.2.

This is a follow-up to commit 7a97a26d012da08fad4540eed99643f6306de423.

* gnu/packages/python-xyz.scm (python-pandas)[properties]: New field.
(python2-pandas): Downgrade to 0.24.2.
---
 gnu/packages/python-xyz.scm | 14 +++++++++++++-
 1 file changed, 13 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 061d9b9822f..29362e2f2b0 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -1226,10 +1226,22 @@ structures designed to make working with structured (tabular,
 multidimensional, potentially heterogeneous) and time series data both easy
 and intuitive.  It aims to be the fundamental high-level building block for
 doing practical, real world data analysis in Python.")
+    (properties `((python2-variant . ,(delay python2-pandas))))
     (license license:bsd-3)))
 
+;; Pandas 0.24.x are the last versions that support Python 2.
 (define-public python2-pandas
-  (package-with-python2 python-pandas))
+  (let ((pandas (package-with-python2
+                 (strip-python2-variant python-pandas))))
+    (package/inherit
+     pandas
+     (version "0.24.2")
+     (source (origin
+               (method url-fetch)
+               (uri (pypi-uri "pandas" version))
+               (sha256
+                (base32
+                 "18imlm8xbhcbwy4wa957a1fkamrcb0z988z006jpfda3ki09z4ag")))))))
 
 (define-public python2-mechanize
   (package

From e16acb5c9b523a34a77c7fcddb986cd6840ba24c Mon Sep 17 00:00:00 2001
From: Pierre Neidhardt 
Date: Wed, 30 Oct 2019 14:33:18 +0100
Subject: [PATCH 0604/1112] gnu: Add emacs-eshell-prompt-extras.

* gnu/packages/emacs-xyz.scm (emacs-eshell-prompt-extras): New variable.
---
 gnu/packages/emacs-xyz.scm | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 1be819728fc..6b586abfcce 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -19622,3 +19622,28 @@ minibuffer or an each area message).
 The contents and aspect is controlled by the @code{minibuffer-line-format}
 variable and the @code{minibuffer-line} face.")
     (license license:gpl3+)))
+
+(define-public emacs-eshell-prompt-extras
+  (let ((commit "5a328e1b9112c7f31ce2da7cde340f96626546b6")
+        (revision "1"))
+    (package
+      (name "emacs-eshell-prompt-extras")
+      (version (git-version "0.96" revision commit))
+      (home-page "https://github.com/zwild/eshell-prompt-extras")
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url home-page)
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32
+           "0fwlvrzjygs12dcp89wy3rb3wa03mrvbzpmpvmz4x6dfpr7csznk"))))
+      (build-system emacs-build-system)
+      (synopsis "Display extra information and color for your Eshell prompt")
+      (description "This library displays various customizable elements for
+@code{eshell} prompts: remote user, remote host, python virtual environment
+info, git branch, git dirty info and git unpushed number.  Multiple themes are
+available.")
+      (license license:gpl3+))))

From cd6a22d1ac2bc2043f2d20b28fc8de5ec739bff4 Mon Sep 17 00:00:00 2001
From: Pierre Neidhardt 
Date: Wed, 30 Oct 2019 14:39:37 +0100
Subject: [PATCH 0605/1112] gnu: Add emacs-eshell-did-you-mean.

* gnu/packages/emacs-xyz.scm (emacs-eshell-did-you-mean): New variable.
---
 gnu/packages/emacs-xyz.scm | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 6b586abfcce..6f584f72b7e 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -19647,3 +19647,25 @@ variable and the @code{minibuffer-line} face.")
 info, git branch, git dirty info and git unpushed number.  Multiple themes are
 available.")
       (license license:gpl3+))))
+
+(define-public emacs-eshell-did-you-mean
+  (package
+    (name "emacs-eshell-did-you-mean")
+    (version "0.1")
+    (home-page "https://github.com/xuchunyang/eshell-did-you-mean")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url home-page)
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "0v0wshck5n4hspcv1zk1g2nm6xiigcjp16lx0dc8wzkl6ymljvbg"))))
+    (build-system emacs-build-system)
+    (synopsis "Display suggestions on 'command not found' in Eshell")
+    (description "This library adds a list of 'Did you mean...' suggestions
+when the command was not found in Eshell.  The suggestions are found after the
+commands that bear resemblance to the input command.")
+    (license license:gpl3+)))

From dae206f1f29682a8c82981be197587e26490a7bb Mon Sep 17 00:00:00 2001
From: Nicolas Goaziou 
Date: Wed, 30 Oct 2019 14:44:14 +0100
Subject: [PATCH 0606/1112] gnu: Fix attribution.

* gnu/packages/game-development.scm: Fix attribution.
---
 gnu/packages/game-development.scm | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm
index 54d2f32f945..dafa6c2a380 100644
--- a/gnu/packages/game-development.scm
+++ b/gnu/packages/game-development.scm
@@ -15,7 +15,7 @@
 ;;; Copyright © 2017, 2019 Rutger Helling 
 ;;; Copyright © 2018 Marius Bakke 
 ;;; Copyright © 2019 Pierre Neidhardt 
-;;; Copyright © 2019 Comrade Yuri 
+;;; Copyright © 2019 Leo Prikler 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;

From 2148674372cacc58fbb9d9914010cf0bd9376f1b Mon Sep 17 00:00:00 2001
From: Carl Dong 
Date: Tue, 22 Oct 2019 11:09:46 -0400
Subject: [PATCH 0607/1112] gnu: make-nsis: Fix cross-compilation.

* gnu/packages/installers.scm (make-nsis)[arguments]: Enforce correct
ordering of search paths (mingw-w64 last).
---
 gnu/packages/installers.scm | 27 ++++++++++++++++++++++-----
 1 file changed, 22 insertions(+), 5 deletions(-)

diff --git a/gnu/packages/installers.scm b/gnu/packages/installers.scm
index c987254d616..9229359fdf2 100644
--- a/gnu/packages/installers.scm
+++ b/gnu/packages/installers.scm
@@ -28,7 +28,10 @@
   #:use-module (guix utils))
 
 (define (make-nsis machine target-arch nsis-target-type)
-  (let ((triplet (string-append machine "-" "w64-mingw32")))
+  (let* ((triplet (string-append machine "-" "w64-mingw32"))
+         (xbinutils (cross-binutils triplet))
+         (xlibc (cross-libc triplet))
+         (xgcc (cross-gcc triplet #:libc xlibc)))
     (package
       (name (string-append "nsis-" machine))
       (version "3.04")
@@ -41,13 +44,14 @@
                   "1xgllk2mk36ll2509hd31mfq6blgncmdzmwxj3ymrwshdh23d5b0"))
                 (patches (search-patches "nsis-env-passthru.patch"))))
       (build-system scons-build-system)
-      (native-inputs `(("xgcc" ,(cross-gcc triplet #:libc (cross-libc triplet)))
-                       ("xbinutils" ,(cross-binutils triplet))
-                       ("mingw-w64" ,(cross-libc triplet))))
+      (native-inputs `(("xgcc" ,xgcc)
+                       ("xbinutils" ,xbinutils)
+                       ("mingw-w64" ,xlibc)))
       (inputs `(("zlib" ,zlib)))
       (arguments
        `(#:scons ,scons-python2
          #:modules ((srfi srfi-1)
+                    (srfi srfi-26)
                     (guix build utils)
                     (guix build scons-build-system))
          #:tests? #f
@@ -92,7 +96,20 @@
                              ;; CROSS_-prefixed version of env vars
                              (setenv (string-append "CROSS_" env-name)
                                      (filter-delimited-string env-val mingw-path?))))
-                         '("CPLUS_INCLUDE_PATH" "LIBRARY_PATH" "C_INCLUDE_PATH"))))
+                         '("CPATH" "LIBRARY_PATH"))
+                        ;; Hack to place mingw-w64 path at the end of search
+                        ;; paths.  Could probably use a specfile and dirafter
+                        (setenv "CROSS_CPLUS_INCLUDE_PATH"
+                                (string-join
+                                 `(,@(map (cut string-append (assoc-ref %build-inputs "xgcc") <>)
+                                          `("/include/c++"
+                                            ,(string-append "/include/c++/" ,triplet)
+                                            "/include/c++/backward"
+                                            ,@(map (cut string-append "/lib/gcc/" ,triplet "/" ,(package-version xgcc) <>)
+                                                   '("/include"
+                                                     "/include-fixed"))))
+                                   ,(getenv "CROSS_CPATH"))
+                                 ":"))))
                     (add-before 'build 'fix-target-detection
                       (lambda _
                         ;; NSIS target detection is screwed up, manually

From 76dbadac59ae4083f9b6360a1381b5dec43affa6 Mon Sep 17 00:00:00 2001
From: Pierre Neidhardt 
Date: Thu, 28 Mar 2019 16:56:44 +0100
Subject: [PATCH 0608/1112] gnu: Add dxvk.

* gnu/packages/wine.scm (dxvk): New variable.
---
 gnu/packages/wine.scm | 84 +++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 84 insertions(+)

diff --git a/gnu/packages/wine.scm b/gnu/packages/wine.scm
index e73432ba3a0..e561d5c79e4 100644
--- a/gnu/packages/wine.scm
+++ b/gnu/packages/wine.scm
@@ -5,6 +5,7 @@
 ;;; Copyright © 2017, 2018, 2019 Rutger Helling 
 ;;; Copyright © 2017 Nicolas Goaziou 
 ;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice 
+;;; Copyright © 2019 Pierre Neidhardt 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -28,6 +29,7 @@
   #:use-module (guix git-download)
   #:use-module (guix utils)
   #:use-module (guix build-system gnu)
+  #:use-module (guix build-system meson)
   #:use-module (guix build-system trivial)
   #:use-module (gnu packages)
   #:use-module (gnu packages admin)
@@ -50,6 +52,7 @@
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages kerberos)
   #:use-module (gnu packages linux)
+  #:use-module (gnu packages mingw)
   #:use-module (gnu packages openldap)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages pulseaudio)
@@ -541,3 +544,84 @@ integrated into the main branch.")
     (synopsis "Implementation of the Windows API (staging branch, WoW64
 version)")
     (supported-systems '("x86_64-linux" "aarch64-linux"))))
+
+(define dxvk32
+  ;; This package provides 32-bit dxvk libraries on 64-bit systems.
+  (package
+    (name "dxvk32")
+    (version "1.4.4")
+    (home-page "https://github.com/doitsujin/dxvk/")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url home-page)
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0zr8hqyig18q4wp96cmfrkrgxxbgxida6k8cv6qbbldni29qy20w"))))
+    (build-system meson-build-system)
+    (arguments
+     `(#:system "i686-linux"
+       #:configure-flags (list "--cross-file"
+                               (string-append (assoc-ref %build-inputs "source")
+                                              "/build-wine32.txt"))))
+    (native-inputs
+     `(("glslang" ,glslang)
+       ("wine" ,wine)))
+    (synopsis "Vulkan-based D3D11 and D3D10 implementation for Wine")
+    (description "A Vulkan-based translation layer for Direct3D 10/11 which
+allows running complex 3D applications with high performance using Wine.
+
+Use @command{setup_dxvk} to install the required libraries to a Wine prefix.")
+    (supported-systems '("x86_64-linux"))
+    (license license:zlib)))
+
+(define-public dxvk
+  (package
+    (inherit dxvk32)
+    (name "dxvk")
+    (arguments
+     `(#:configure-flags (list "--cross-file"
+                               (string-append (assoc-ref %build-inputs "source")
+                                              "/build-wine"
+                                              (match (%current-system)
+                                                ("x86_64-linux" "64")
+                                                (_ "32"))
+                                              ".txt"))
+       #:phases
+       (modify-phases %standard-phases
+         ,@(if (string=? (%current-system) "x86_64-linux")
+             `((add-after 'unpack 'install-32
+                 (lambda* (#:key inputs outputs #:allow-other-keys)
+                   (let* ((out (assoc-ref outputs "out"))
+                          (dxvk32 (assoc-ref inputs "dxvk32")))
+                     (mkdir-p (string-append out "/lib32"))
+                     (copy-recursively (string-append dxvk32 "/lib")
+                                       (string-append out "/lib32"))))))
+             '())
+         (add-after 'install 'install-setup
+           (lambda* (#:key inputs outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (bin (string-append out "/bin/setup_dxvk")))
+               (mkdir-p (string-append out "/bin"))
+               (copy-file "../source/setup_dxvk.sh"
+                          bin)
+               (chmod bin #o755)
+               (substitute* bin
+                 (("wine=\"wine\"")
+                  (string-append "wine=" (assoc-ref inputs "wine") "/bin/wine"))
+                 (("x32") ,(match (%current-system)
+                             ("x86_64-linux" "../lib32")
+                             (_ "../lib")))
+                 (("x64") "../lib"))))))))
+    (native-inputs
+     `(("glslang" ,glslang)
+       ("wine" ,(match (%current-system)
+                  ("x86_64-linux" wine64)
+                  (_ wine)))
+       ,@(match (%current-system)
+           ("x86_64-linux"
+            `(("dxvk32" ,dxvk32)))
+           (_ '()))))
+    (supported-systems '("i686-linux" "x86_64-linux"))))

From 2b1d708294f0aced5c991baed146e0ae4e7d63dd Mon Sep 17 00:00:00 2001
From: Carl Dong 
Date: Fri, 25 Oct 2019 00:12:38 -0400
Subject: [PATCH 0609/1112] gnu: Fix make-gcc-libc.

Until now the following wouldn't build:
--8<---------------cut here---------------start------------->8---
(use-modules (gnu packages commencement)
             (gnu packages gcc)
             (gnu packages base))

(make-gcc-libc gcc-9 glibc-2.27)
--8<---------------cut here---------------end--------------->8---

* gnu/packages/base.scm (make-gcc-libc)[phases]: Add environment
variables to place the target libc on the system header search path.
[make-flags]: Remove unncessary FLAGS_FOR_TARGET.
[native-inputs]: Construct in a way that doesn't require emptying
inputs.
---
 gnu/packages/base.scm | 27 ++++++++++++++++-----------
 1 file changed, 16 insertions(+), 11 deletions(-)

diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm
index 4e80a2fadb1..3a3360dc7a2 100644
--- a/gnu/packages/base.scm
+++ b/gnu/packages/base.scm
@@ -981,18 +981,23 @@ with the Linux kernel.")
             (substitute-keyword-arguments
              (ensure-keyword-arguments (package-arguments base-gcc)
                                        '(#:implicit-inputs? #f))
-             ((#:make-flags flags)
-              `(let ((libc (assoc-ref %build-inputs "libc")))
-                 ;; FLAGS_FOR_TARGET are needed for the target libraries to receive
-                 ;; the -Bxxx for the startfiles.
-                 (cons (string-append "FLAGS_FOR_TARGET=-B" libc "/lib")
-                       ,flags)))))
+             ((#:phases phases)
+              `(modify-phases ,phases
+                 (add-before 'configure 'treat-glibc-as-system-header
+                   (lambda _
+                     (let ((libc (assoc-ref %build-inputs "libc")))
+                       ;; GCCs build processes requires that the libc
+                       ;; we're building against is on the system header
+                       ;; search path.
+                       (for-each (lambda (var)
+                                   (setenv var (string-append libc "/include")))
+                                 '("C_INCLUDE_PATH" "CPLUS_INCLUDE_PATH"))
+                       #t)))))))
            (native-inputs
-            `(("libc" ,libc)
-              ("libc:static" ,libc "static")
-              ,@(append (package-inputs base-gcc)
-                        (fold alist-delete (%final-inputs) '("libc" "libc:static")))))
-           (inputs '())))
+            `(,@(package-native-inputs base-gcc)
+              ,@(append (fold alist-delete (%final-inputs) '("libc" "libc:static")))
+              ("libc" ,libc)
+              ("libc:static" ,libc "static")))))
 
 (define-public (make-glibc-locales glibc)
   (package

From 08db81c95a9aab385524acdff22904a0d4442ce4 Mon Sep 17 00:00:00 2001
From: Leo Prikler 
Date: Tue, 29 Oct 2019 23:30:16 +0100
Subject: [PATCH 0610/1112] gnu: Add gitg.

* gnu/packages/gnome.scm: (gitg): New variable.

Signed-off-by: Mathieu Othacehe 
---
 gnu/packages/gnome.scm | 67 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 67 insertions(+)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 276fa56138a..428fe1cd165 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -8400,6 +8400,73 @@ higher level porcelain stuff.")
     (home-page "https://wiki.gnome.org/Projects/Libgit2-glib")
     (license license:gpl2+)))
 
+(define-public gitg
+  (package
+    (name "gitg")
+    (version "3.32.1")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "mirror://gnome/sources/" name "/"
+                                  (version-major+minor version) "/"
+                                  name "-" version ".tar.xz"))
+              (sha256
+               (base32
+                "0npg4kqpwl992fgjd2cn3fh84aiwpdp9kd8z7rw2xaj2iazsm914"))))
+    (build-system meson-build-system)
+    (arguments
+     `(#:glib-or-gtk? #t
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'disable-post-install-partially
+           (lambda _
+             (substitute* "meson_post_install.py"
+               (("'python'") ; there are no python sources to compile
+                (string-append "'" (which "true") "'"))
+               (("gtk-update-icon-cache") (which "true")))
+             #t))
+         (add-after 'unpack 'fix-test-sources
+           (lambda _
+             (substitute* "tests/libgitg/test-commit.vala"
+               (("/bin/bash") (which "bash")))
+             #t))
+         (add-after 'glib-or-gtk-wrap 'wrap-typelib
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let ((prog (string-append (assoc-ref outputs "out")
+                                        "/bin/gitg")))
+               (wrap-program prog
+                 `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))
+               #t))))))
+    (inputs
+     `(("glib" ,glib)
+       ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
+       ("gtk+" ,gtk+)
+       ("gtkspell3" ,gtkspell3)
+       ("gtksourceview" ,gtksourceview-3)
+       ("json-glib" ,json-glib)
+       ("libdazzle" ,libdazzle)
+       ("libgee" ,libgee)
+       ("libgit2" ,libgit2) ; propagated by libgit2-glib
+       ("libgit2-glib" ,libgit2-glib)
+       ("libpeas" ,libpeas)
+       ("libsecret" ,libsecret)
+       ("libsoup" ,libsoup)
+       ("libxml2" ,libxml2)))
+    (native-inputs
+     `(("glib:bin" ,glib "bin")
+       ("gtk+:bin" ,gtk+ "bin")
+       ("gobject-introspection" ,gobject-introspection)
+       ("intltool" ,intltool)
+       ("pkg-config" ,pkg-config)
+       ("vala" ,vala)))
+    (synopsis "Graphical user interface for git")
+    (description
+     "gitg is a graphical user interface for git.  It aims at being a small,
+fast and convenient tool to visualize the history of git repositories.
+Besides visualization, gitg also provides several utilities to manage your
+repository and commit your work.")
+    (home-page "https://wiki.gnome.org/Apps/Gitg")
+    (license license:gpl2+)))
+
 (define-public gnome-mahjongg
   (package
     (name "gnome-mahjongg")

From 93953ec714d2f36ac6862e3965e8a07b531ffa35 Mon Sep 17 00:00:00 2001
From: Guillaume Le Vaillant 
Date: Tue, 29 Oct 2019 16:14:13 +0100
Subject: [PATCH 0611/1112] gnu: Add python-keyutils.

* gnu/packages/python-crypto.scm (python-keyutils): New variable.
---
 gnu/packages/python-crypto.scm | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

diff --git a/gnu/packages/python-crypto.scm b/gnu/packages/python-crypto.scm
index f05c01060fa..7dac25eb616 100644
--- a/gnu/packages/python-crypto.scm
+++ b/gnu/packages/python-crypto.scm
@@ -19,6 +19,7 @@
 ;;; Copyright © 2018 Nicolas Goaziou 
 ;;; Copyright © 2018 Vagrant Cascadian 
 ;;; Copyright © 2018 Nam Nguyen 
+;;; Copyright © 2019 Guillaume Le Vaillant 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -1062,3 +1063,30 @@ Password-Authenticated Key Exchange algorithm.")
     (description "This package provides a Twisted-based Tor controller client,
 with state-tracking and configuration abstractions.")
     (license license:expat)))
+
+(define-public python-keyutils
+  (package
+    (name "python-keyutils")
+    (version "0.6")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "keyutils" version))
+       (sha256
+        (base32
+         "0lipygpzhwzzsq2k5imb1jgkmj8y4khxdwhzadjs3bd56g6bmkx9"))))
+    (build-system python-build-system)
+    (native-inputs
+     `(("python-pytest" ,python-pytest)
+       ("python-pytest-runner" ,python-pytest-runner)))
+    (inputs
+     `(("keyutils" ,keyutils)))
+    (arguments
+     '(#:tests? #f))
+    (home-page "https://github.com/sassoftware/python-keyutils")
+    (synopsis "Python bindings for keyutils")
+    (description
+     "This is a set of python bindings for keyutils, a key management suite
+that leverages the infrastructure provided by the Linux kernel for safely
+storing and retrieving sensitive infromation in your programs.")
+    (license license:asl2.0)))

From d29d04c9e64c2421ed84022e0c140ead40e5fb58 Mon Sep 17 00:00:00 2001
From: Guillaume Le Vaillant 
Date: Tue, 29 Oct 2019 16:14:14 +0100
Subject: [PATCH 0612/1112] gnu: Add udiskie.

* gnu/packages/freedesktop.scm (udiskie): New variable.
* gnu/packages/patches/udiskie-no-appindicator.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
---
 gnu/local.mk                                  |   1 +
 gnu/packages/freedesktop.scm                  |  63 +++++++
 .../patches/udiskie-no-appindicator.patch     | 155 ++++++++++++++++++
 3 files changed, 219 insertions(+)
 create mode 100644 gnu/packages/patches/udiskie-no-appindicator.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index 41c5a92a0a3..96b570a759c 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1386,6 +1386,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/tuxpaint-stamps-path.patch		\
   %D%/packages/patches/txr-shell.patch				\
   %D%/packages/patches/u-boot-fix-mkimage-header-verification.patch	\
+  %D%/packages/patches/udiskie-no-appindicator.patch		\
   %D%/packages/patches/unzip-CVE-2014-8139.patch		\
   %D%/packages/patches/unzip-CVE-2014-8140.patch		\
   %D%/packages/patches/unzip-CVE-2014-8141.patch		\
diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm
index b18d71cb982..2574153cefe 100644
--- a/gnu/packages/freedesktop.scm
+++ b/gnu/packages/freedesktop.scm
@@ -15,6 +15,7 @@
 ;;; Copyright © 2018 Pierre Neidhardt 
 ;;; Copyright © 2018 Stefan Stefanović 
 ;;; Copyright © 2019 Reza Alizadeh Majd 
+;;; Copyright © 2019 Guillaume Le Vaillant 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -74,6 +75,7 @@
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages polkit)
   #:use-module (gnu packages python)
+  #:use-module (gnu packages python-crypto)
   #:use-module (gnu packages python-xyz)
   #:use-module (gnu packages sqlite)
   #:use-module (gnu packages valgrind)
@@ -1439,3 +1441,64 @@ encoding names are iconv-compatible.")
     ;; This combines code under MPL 1.1, LGPL 2.1+, and GPL 2.0+, so the
     ;; combination is GPL 2.0+.
     (license license:gpl2+)))
+
+(define-public udiskie
+  (package
+    (name "udiskie")
+    (version "1.7.7")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "udiskie" version))
+       (sha256
+        (base32
+         "121g9dkr7drv9igpdbcbkj59x15mm72rzp3198bp50zj0lr4wbvi"))
+       ;; Remove support for the libappindicator library of the
+       ;; Unity desktop environment which is not in Guix.
+       (patches (search-patches "udiskie-no-appindicator.patch"))))
+    (build-system python-build-system)
+    (native-inputs
+     `(("asciidoc" ,asciidoc)
+       ("gettext" ,gettext-minimal)
+       ("gobject-introspection" ,gobject-introspection)))
+    (inputs
+     `(("gobject-introspection" ,gobject-introspection)
+       ("gtk+" ,gtk+)
+       ("libnotify" ,libnotify)
+       ("udisks" ,udisks)))
+    (propagated-inputs
+     `(("python-docopt" ,python-docopt)
+       ("python-pygobject" ,python-pygobject)
+       ("python-keyutils" ,python-keyutils)
+       ("python-pyxdg" ,python-pyxdg)
+       ("python-pyyaml" ,python-pyyaml)))
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-after 'install 'wrap-gi-typelib
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let ((out (assoc-ref outputs "out"))
+                   (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
+               (wrap-program (string-append out "/bin/udiskie")
+                 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
+             #t)))))
+    (home-page "https://github.com/coldfix/udiskie")
+    (synopsis "Automounter for removable media")
+    (description
+     "The @command{udiskie} program is a udisks2 front-end that allows to
+manage removable media such as CDs or flash drives from userspace.
+
+Its features include:
+
+@itemize
+@item automount removable media,
+@item notifications,
+@item tray icon,
+@item command line tools for manual (un)mounting,
+@item LUKS encrypted devices,
+@item unlocking with keyfiles,
+@item loop devices (mounting ISO archives),
+@item password caching.
+@end itemize
+")
+    (license license:expat)))
diff --git a/gnu/packages/patches/udiskie-no-appindicator.patch b/gnu/packages/patches/udiskie-no-appindicator.patch
new file mode 100644
index 00000000000..c19099cdaa8
--- /dev/null
+++ b/gnu/packages/patches/udiskie-no-appindicator.patch
@@ -0,0 +1,155 @@
+Remove the support for Unity's appindicator.
+
+diff -Naur udiskie-1.7.7/completions/_udiskie udiskie-1.7.7a/completions/_udiskie
+--- udiskie-1.7.7/completions/_udiskie	2019-02-17 18:28:58.000000000 +0100
++++ udiskie-1.7.7a/completions/_udiskie	2019-10-29 14:21:04.556193639 +0100
+@@ -21,8 +21,6 @@
+     '(-a)'{-A,--no-automount}"[disable automounting]"
+     '(-N)'{-n,--notify}"[show popup notifications]"
+     '(-n)'{-N,--no-notify}"[disable notifications]"
+-    '(--no-appindicator)'--appindicator"[use appindicator for status icon]"
+-    '(--appindicator)'--no-appindicator"[don't use appindicator]"
+     '(-T -s)'{-t,--tray}"[show tray icon]"
+     '(-T -t)'{-s,--smart-tray}"[auto hide tray icon]"
+     '(-t -s)'{-T,--no-tray}"[disable tray icon]"
+diff -Naur udiskie-1.7.7/doc/udiskie.8.txt udiskie-1.7.7a/doc/udiskie.8.txt
+--- udiskie-1.7.7/doc/udiskie.8.txt	2019-02-17 18:28:58.000000000 +0100
++++ udiskie-1.7.7a/doc/udiskie.8.txt	2019-10-29 14:21:52.304570344 +0100
+@@ -95,12 +95,6 @@
+ *-F, \--no-file-manager*::
+ 	Disable browsing.
+ 
+-*-appindicator*::
+-	Use AppIndicator3 for the status icon. Use this on Ubuntu/Unity if no icon is shown.
+-
+-*--no-appindicator*::
+-	Use Gtk.StatusIcon for the status icon (default).
+-
+ *--password-cache MINUTES*::
+ 	Cache passwords for LUKS partitions and set the timeout.
+ 
+diff -Naur udiskie-1.7.7/udiskie/appindicator.py udiskie-1.7.7a/udiskie/appindicator.py
+--- udiskie-1.7.7/udiskie/appindicator.py	2019-02-17 18:28:58.000000000 +0100
++++ udiskie-1.7.7a/udiskie/appindicator.py	1970-01-01 01:00:00.000000000 +0100
+@@ -1,61 +0,0 @@
+-"""
+-Status icon using AppIndicator3.
+-"""
+-
+-from gi.repository import Gtk
+-from gi.repository import AppIndicator3
+-
+-from udiskie.async_ import Async
+-
+-
+-class AppIndicatorIcon(object):
+-
+-    """
+-    Show status icon using AppIndicator as backend. Replaces
+-    `udiskie.tray.StatusIcon` on ubuntu/unity.
+-    """
+-
+-    def __init__(self, menumaker, _icons):
+-        self._maker = menumaker
+-        self._menu = Gtk.Menu()
+-        self._indicator = AppIndicator3.Indicator.new(
+-            'udiskie',
+-            _icons.get_icon_name('media'),
+-            AppIndicator3.IndicatorCategory.HARDWARE)
+-        self._indicator.set_status(AppIndicator3.IndicatorStatus.PASSIVE)
+-        self._indicator.set_menu(self._menu)
+-        # Get notified before menu is shown, see:
+-        # https://bugs.launchpad.net/screenlets/+bug/522152/comments/15
+-        dbusmenuserver = self._indicator.get_property('dbus-menu-server')
+-        self._dbusmenuitem = dbusmenuserver.get_property('root-node')
+-        self._conn = self._dbusmenuitem.connect('about-to-show', self._on_show)
+-        self.task = Async()
+-        menumaker._quit_action = self.destroy
+-        # Populate menu initially, so libdbusmenu does not ignore the
+-        # 'about-to-show':
+-        self._maker(self._menu)
+-
+-    def destroy(self):
+-        self.show(False)
+-        self._dbusmenuitem.disconnect(self._conn)
+-        self.task.callback()
+-
+-    @property
+-    def visible(self):
+-        status = self._indicator.get_status()
+-        return status == AppIndicator3.IndicatorStatus.ACTIVE
+-
+-    def show(self, show=True):
+-        if show == self.visible:
+-            return
+-        status = (AppIndicator3.IndicatorStatus.ACTIVE if show else
+-                  AppIndicator3.IndicatorStatus.PASSIVE)
+-        self._indicator.set_status(status)
+-
+-    def _on_show(self, menu):
+-        # clear menu:
+-        for item in self._menu.get_children():
+-            self._menu.remove(item)
+-        # repopulate:
+-        self._maker(self._menu)
+-        self._menu.show_all()
+diff -Naur udiskie-1.7.7/udiskie/cli.py udiskie-1.7.7a/udiskie/cli.py
+--- udiskie-1.7.7/udiskie/cli.py	2019-02-17 18:28:58.000000000 +0100
++++ udiskie-1.7.7a/udiskie/cli.py	2019-10-29 14:18:22.678919186 +0100
+@@ -376,9 +376,6 @@
+         -T, --no-tray                           Disable tray icon
+         -m MENU, --menu MENU                    Tray menu [flat/nested]
+ 
+-        --appindicator                          Use appindicator for status icon
+-        --no-appindicator                       Don't use appindicator
+-
+         --password-cache MINUTES                Set password cache timeout
+         --no-password-cache                     Disable password cache
+ 
+@@ -400,7 +397,6 @@
+         'notify': True,
+         'tray': False,
+         'menu': 'flat',
+-        'appindicator': False,
+         'file_manager': 'xdg-open',
+         'password_prompt': 'builtin:gui',
+         'password_cache': False,
+@@ -415,7 +411,6 @@
+             '--no-tray': False,
+             '--smart-tray': 'auto'}),
+         'menu': Value('--menu'),
+-        'appindicator': Switch('appindicator'),
+         'file_manager': OptionalValue('--file-manager'),
+         'password_prompt': OptionalValue('--password-prompt'),
+         'password_cache': OptionalValue('--password-cache'),
+@@ -541,11 +536,7 @@
+             raise ValueError("Invalid menu: %s" % (options['menu'],))
+ 
+         menu_maker = udiskie.tray.UdiskieMenu(self, icons, actions, flat)
+-        if options['appindicator']:
+-            import udiskie.appindicator
+-            TrayIcon = udiskie.appindicator.AppIndicatorIcon
+-        else:
+-            TrayIcon = udiskie.tray.TrayIcon
++        TrayIcon = udiskie.tray.TrayIcon
+         trayicon = TrayIcon(menu_maker, icons)
+         return udiskie.tray.UdiskieStatusIcon(trayicon, menu_maker, smart)
+ 
+diff -Naur udiskie-1.7.7/udiskie.egg-info/SOURCES.txt udiskie-1.7.7a/udiskie.egg-info/SOURCES.txt
+--- udiskie-1.7.7/udiskie.egg-info/SOURCES.txt	2019-02-17 19:42:25.000000000 +0100
++++ udiskie-1.7.7a/udiskie.egg-info/SOURCES.txt	2019-10-29 14:40:09.333315287 +0100
+@@ -24,7 +24,6 @@
+ test/test_cache.py
+ test/test_match.py
+ udiskie/__init__.py
+-udiskie/appindicator.py
+ udiskie/async_.py
+ udiskie/automount.py
+ udiskie/cache.py
+@@ -46,4 +45,4 @@
+ udiskie.egg-info/dependency_links.txt
+ udiskie.egg-info/entry_points.txt
+ udiskie.egg-info/requires.txt
+-udiskie.egg-info/top_level.txt
+\ Pas de fin de ligne à la fin du fichier
++udiskie.egg-info/top_level.txt

From 97bc3cbea5fc281a299c03eaaa3be5baf21ea673 Mon Sep 17 00:00:00 2001
From: Maxim Cournoyer 
Date: Wed, 30 Oct 2019 17:46:17 -0400
Subject: [PATCH 0613/1112] services: ntp: Ensure no double quotes are output
 to config file.

* gnu/services/networking.scm (ntp-server->string): Use the textual
representation of the values as printed by 'display' rather than 'write', to
avoid inserting double quotes in the generated config.
* tests/networking.scm (%ntp-server-sample): Add a comment and make one of the
options a string, to exercise the fix.
("ntp-server->string"): Move the expected value to the first argument.
("ntp configuration servers deprecated form"): Likewise.
("openntpd generated config string ends with a newline"): Likewise.
---
 gnu/services/networking.scm |  2 +-
 tests/networking.scm        | 19 ++++++++++---------
 2 files changed, 11 insertions(+), 10 deletions(-)

diff --git a/gnu/services/networking.scm b/gnu/services/networking.scm
index 93d9b6a15e4..841fbd741e7 100644
--- a/gnu/services/networking.scm
+++ b/gnu/services/networking.scm
@@ -345,7 +345,7 @@ Protocol (DHCP) client, on all the non-loopback network interfaces."
                 (res '()))
        (if (list? x)
            (fold loop res x)
-           (cons (format #f "~s" x) res)))))
+           (cons (format #f "~a" x) res)))))
 
   (match ntp-server
     (($  type address options)
diff --git a/tests/networking.scm b/tests/networking.scm
index 439cca5ffc9..c494a480676 100644
--- a/tests/networking.scm
+++ b/tests/networking.scm
@@ -36,22 +36,23 @@
   (ntp-server
    (type 'server)
    (address "some.ntp.server.org")
-   (options `(iburst (version 3) (maxpoll 16) prefer))))
+   ;; Using either strings or symbols for option names is accepted.
+   (options `("iburst" (version 3) (maxpoll 16) prefer))))
 
 (test-equal "ntp-server->string"
-  (ntp-server->string %ntp-server-sample)
-  "server some.ntp.server.org iburst version 3 maxpoll 16 prefer")
+  "server some.ntp.server.org iburst version 3 maxpoll 16 prefer"
+  (ntp-server->string %ntp-server-sample))
 
 (test-equal "ntp configuration servers deprecated form"
+  (ntp-configuration-servers
+   (ntp-configuration
+    (servers (list "example.pool.ntp.org"))))
   (ntp-configuration-servers
    (ntp-configuration
     (servers (list (ntp-server
                     (type 'server)
                     (address "example.pool.ntp.org")
-                    (options '()))))))
-  (ntp-configuration-servers
-   (ntp-configuration
-    (servers (list "example.pool.ntp.org")))))
+                    (options '())))))))
 
 
 ;;;
@@ -106,8 +107,8 @@ the sanity check:\n~a~%" config)
           #t))))
 
 (test-equal "openntpd generated config string ends with a newline"
+  "\n"
   (let ((config (openntpd-configuration->string %openntpd-conf-sample)))
-    (string-take-right config 1))
-  "\n")
+    (string-take-right config 1)))
 
 (test-end "networking")

From 4b889d3a7a66a37d6513754eae312003a53352cd Mon Sep 17 00:00:00 2001
From: Marius Bakke 
Date: Thu, 31 Oct 2019 00:40:57 +0100
Subject: [PATCH 0614/1112] gnu: pingus: Update source URI.

* gnu/packages/games.scm (pingus)[source](uri): Change to current repository.
---
 gnu/packages/games.scm | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index d0a5d28f049..04b06c88ee3 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -1438,7 +1438,7 @@ fight Morgoth, the Lord of Darkness.")
      (origin
        (method git-fetch)
        (uri (git-reference
-              (url "https://github.com/Pingus/pingus.git")
+              (url "https://gitlab.com/pingus/pingus.git")
               (commit (string-append "v" version))))
        (file-name (git-file-name name version))
        (sha256

From 2ed626bf0d28df44328c1946cd69eb79a853c6e0 Mon Sep 17 00:00:00 2001
From: Marius Bakke 
Date: Thu, 31 Oct 2019 00:41:31 +0100
Subject: [PATCH 0615/1112] gnu: pingus: Adjust for GCC 7.

Fixes .

* gnu/packages/games.scm (pingus)[source](modules, snippet): New fields.
---
 gnu/packages/games.scm | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index 04b06c88ee3..a2917a5f238 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -1445,7 +1445,16 @@ fight Morgoth, the Lord of Darkness.")
         (base32
          "0wp06kcmknsnxz7bjnsndb8x062z7r23fb3yrnbfnj68qhz18y74"))
        (patches (search-patches "pingus-boost-headers.patch"
-                                "pingus-sdl-libs-config.patch"))))
+                                "pingus-sdl-libs-config.patch"))
+       (modules '((guix build utils)))
+       (snippet
+        '(begin
+           (substitute* "src/pingus/screens/demo_session.cpp"
+             (("#include ")
+              ;; std::function moved to  with C++ 11.
+              ;; Remove this for versions newer than 0.7.6.
+              "#include \n#include "))
+           #t))))
     (build-system gnu-build-system)
     (native-inputs `(("pkg-config" ,pkg-config)
                      ("scons-python2" ,scons-python2)))

From 7973d59d1adeb54cffe486b53a3b9b9cfeb42868 Mon Sep 17 00:00:00 2001
From: Marius Bakke 
Date: Thu, 31 Oct 2019 00:45:16 +0100
Subject: [PATCH 0616/1112] gnu: Remove python2-feather-format.

This trivial package fails to build and has no reverse dependencies.

* gnu/packages/serialization.scm (python2-feather-format): Remove variable.
---
 gnu/packages/serialization.scm | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/gnu/packages/serialization.scm b/gnu/packages/serialization.scm
index 249b6f1af57..9c4952793fa 100644
--- a/gnu/packages/serialization.scm
+++ b/gnu/packages/serialization.scm
@@ -524,6 +524,3 @@ game development and other performance-critical applications.")
     (description "This package provides a Python wrapper library to the
 Apache Arrow-based Feather binary columnar serialization data frame format.")
     (license license:asl2.0)))
-
-(define-public python2-feather-format
-  (package-with-python2 python-feather-format))

From b8806e13dc230fa6abc0487860b6774dc0adce09 Mon Sep 17 00:00:00 2001
From: Marius Bakke 
Date: Thu, 31 Oct 2019 00:47:53 +0100
Subject: [PATCH 0617/1112] gnu: u-boot: Remove redundant GCC input.

* gnu/packages/bootloaders.scm (make-u-boot-package)[native-inputs]: Do not
explicitly add GCC 7.
---
 gnu/packages/bootloaders.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/bootloaders.scm b/gnu/packages/bootloaders.scm
index 438f404e1ae..156e4c4cdd9 100644
--- a/gnu/packages/bootloaders.scm
+++ b/gnu/packages/bootloaders.scm
@@ -554,9 +554,9 @@ board-independent tools.")))
                                                      "_" "-")))
       (native-inputs
        `(,@(if (not (same-arch?))
-             `(("cross-gcc" ,(cross-gcc triplet #:xgcc gcc-7))
+             `(("cross-gcc" ,(cross-gcc triplet))
                ("cross-binutils" ,(cross-binutils triplet)))
-             `(("gcc-7" ,gcc-7)))
+             `())
          ,@(package-native-inputs u-boot)))
       (arguments
        `(#:modules ((ice-9 ftw)

From bbad38f4d8e6b6ecc15c476b973094cdf96cdeae Mon Sep 17 00:00:00 2001
From: Ivan Gankevich 
Date: Wed, 30 Oct 2019 19:05:09 +0300
Subject: [PATCH 0618/1112] gnu: pocl: Update to 1.4.

* gnu/packages/opencl.scm (pocl): Update to 1.4.
[inputs]: Change from LLVM to LLVM-8.

Signed-off-by: Marius Bakke 
---
 gnu/packages/opencl.scm | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/opencl.scm b/gnu/packages/opencl.scm
index fc9c11caa54..81e5bab9db8 100644
--- a/gnu/packages/opencl.scm
+++ b/gnu/packages/opencl.scm
@@ -296,7 +296,7 @@ back-end for the LLVM compiler framework.")
 (define-public pocl
   (package
     (name "pocl")
-    (version "1.2")
+    (version "1.4")
     (source
      (origin
        (method git-fetch)
@@ -304,7 +304,7 @@ back-end for the LLVM compiler framework.")
              (url "https://github.com/pocl/pocl.git")
              (commit (string-append "v" version))))
        (sha256
-        (base32 "0fyiwd9nrqhl0jsac0bx17p9acpfzhyxp50mmp28mzn7psb9qidg"))
+        (base32 "1c4y69zks6hkq5fqh9waxgb8g4ka7y6h3vacmsm720kba0h57g8a"))
        (file-name (git-file-name name version))))
     (build-system cmake-build-system)
     (native-inputs
@@ -313,7 +313,7 @@ back-end for the LLVM compiler framework.")
     (inputs
      `(("clang" ,clang)
        ("hwloc" ,hwloc-2.0 "lib")
-       ("llvm" ,llvm)
+       ("llvm" ,llvm-8)
        ("ocl-icd" ,ocl-icd)))
     (arguments
      `(#:configure-flags

From 9b096517bc8de415a8c737e10915a19b0756104a Mon Sep 17 00:00:00 2001
From: Mark H Weaver 
Date: Wed, 30 Oct 2019 03:11:25 -0400
Subject: [PATCH 0619/1112] gnu: icecat: Update to 68.2.0-guix0-preview3.

* gnu/packages/gnuzilla.scm (%icecat-version, %icecat-build-id): Update.
(icecat-source): Update to the latest upstream commit on '68' branch.
* gnu/packages/patches/icecat-gnuzilla-fixes.patch: Remove changes
that have been incorporated upstream, and add new pending changes,
notably the addition of several IceCat-specific preferences.
* gnu/packages/patches/icecat-makeicecat.patch: Adapt to changes in
icecat-gnuzilla-fixes.patch.
---
 gnu/packages/gnuzilla.scm                     |  14 +-
 .../patches/icecat-gnuzilla-fixes.patch       | 757 ++++++++++++------
 gnu/packages/patches/icecat-makeicecat.patch  |   2 +-
 3 files changed, 540 insertions(+), 233 deletions(-)

diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm
index 16d3fe5db90..fa8086671fd 100644
--- a/gnu/packages/gnuzilla.scm
+++ b/gnu/packages/gnuzilla.scm
@@ -550,8 +550,8 @@ from forcing GEXP-PROMISE."
                       #:system system
                       #:guile-for-build guile)))
 
-(define %icecat-version "68.2.0-guix0-preview2")
-(define %icecat-build-id "20191028000000") ;must be of the form YYYYMMDDhhmmss
+(define %icecat-version "68.2.0-guix0-preview3")
+(define %icecat-build-id "20191031000000") ;must be of the form YYYYMMDDhhmmss
 
 ;; 'icecat-source' is a "computed" origin that generates an IceCat tarball
 ;; from the corresponding upstream Firefox ESR tarball, using the 'makeicecat'
@@ -575,19 +575,21 @@ from forcing GEXP-PROMISE."
              (base32
               "0f3gf5gwhxabm6xs29nlxmfqdw3fs7v458vq1fydrglfyvmc5wc5"))))
 
-         (upstream-icecat-base-version "68.1.0") ; maybe older than base-version
+         (upstream-icecat-base-version "68.2.0") ; maybe older than base-version
          ;;(gnuzilla-commit (string-append "v" upstream-icecat-base-version))
-         (gnuzilla-commit "aa7ab9483a64c43e77736917dd83841ccc437300")
+         (gnuzilla-commit "930298e1efff3e40721659d8fd7118cdd2477bd4")
          (gnuzilla-source
           (origin
             (method git-fetch)
             (uri (git-reference
                   (url "git://git.savannah.gnu.org/gnuzilla.git")
                   (commit gnuzilla-commit)))
-            (file-name (git-file-name "gnuzilla" upstream-icecat-base-version))
+            (file-name (git-file-name "gnuzilla"
+                                      ;;upstream-icecat-base-version
+                                      (string-take gnuzilla-commit 8)))
             (sha256
              (base32
-              "03jygq1zna621y0ba6370cff4v2g9l57g3015y3vxbahnmzn9msa"))))
+              "14g57b0262qq5s0w8b1lrk8wkvg7m068dfi0ilvhg2q5jrxk3cd0"))))
 
          (gnuzilla-fixes-patch
           (local-file (search-patch "icecat-gnuzilla-fixes.patch")))
diff --git a/gnu/packages/patches/icecat-gnuzilla-fixes.patch b/gnu/packages/patches/icecat-gnuzilla-fixes.patch
index 41f0d2e3a33..e8e0946f573 100644
--- a/gnu/packages/patches/icecat-gnuzilla-fixes.patch
+++ b/gnu/packages/patches/icecat-gnuzilla-fixes.patch
@@ -1,241 +1,546 @@
-From 2676d4e1eb64e18d2e4722c0ea0babdc1f716fa4 Mon Sep 17 00:00:00 2001
+From 2abca7767c461a022317bf18fbec51e8b3ce6a92 Mon Sep 17 00:00:00 2001
 From: Mark H Weaver 
-Date: Mon, 28 Oct 2019 01:54:19 -0400
-Subject: [PATCH 1/4] Update to 68.2.0-gnu1.
+Date: Thu, 31 Oct 2019 03:59:46 -0400
+Subject: [PATCH 1/2] Branding: fix patching of trademarkInfo within l10n
+ directory.
 
-* makeicecat: Update to FFMINOR to 2, and update the expected
-sha256sum of the firefox source tarball.
+This is a followup to commit 930298e1efff3e40721659d8fd7118cdd2477bd4.
+
+* makeicecat: Patch in the IceCat logo copyright notice in all
+brand.dtd files within l10n directory.
 ---
- makeicecat | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
+ makeicecat | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/makeicecat b/makeicecat
-index 97ee473..1bcf465 100644
+index 3ff2ead..4ff3e64 100755
 --- a/makeicecat
 +++ b/makeicecat
-@@ -21,7 +21,7 @@
- set -euxo pipefail
- 
- FFMAJOR=68
--FFMINOR=1
-+FFMINOR=2
- FFSUB=0
- GNUVERSION=1
- FFVERSION=$FFMAJOR.$FFMINOR.$FFSUB
-@@ -43,7 +43,7 @@ wget -N https://ftp.mozilla.org/pub/mozilla.org/firefox/releases/${FFVERSION}esr
- wget -N https://ftp.mozilla.org/pub/mozilla.org/firefox/releases/${FFVERSION}esr/source/firefox-${FFVERSION}esr.source.tar.xz.asc
- gpg --recv-keys --keyserver keyserver.ubuntu.com 14F26682D0916CDD81E37B6D61B7B526D98F0353
- gpg --verify firefox-${FFVERSION}esr.source.tar.xz.asc
--echo -n f56f5fa5a4744be0b9acf259cb991254d708a50b9a0a12d1d846ffa5a6c409ac firefox-${FFVERSION}esr.source.tar.xz |sha256sum -c -
-+echo -n 85f1c2eaf68ebedcbc0b78a342f6d16ef0865dedd426a1bba94b75c85f716f38 firefox-${FFVERSION}esr.source.tar.xz |sha256sum -c -
- 
- echo Extracting Firefox tarball
- tar -xf firefox-${FFVERSION}esr.source.tar.xz
--- 
-2.23.0
-
-From c3a7b761f11c75d3764779e731a7c7e86b072d2f Mon Sep 17 00:00:00 2001
-From: Mark H Weaver 
-Date: Mon, 28 Oct 2019 04:18:26 -0400
-Subject: [PATCH 2/4] Disable MOZ_SERVICES_HEALTHREPORT and MOZ_DATA_REPORTING.
-
-* data/patches/fix-data-reporting-check.patch: New file.
-* data/patches/legacy-profiles.patch: Rename to ...
-* data/patches/moz-configure-changes.patch: ... this,
-and set MOZ_SERVICES_HEALTHREPORT to False.
----
- data/patches/fix-data-reporting-check.patch | 22 +++++++++++++++++++++
- data/patches/legacy-profiles.patch          | 11 -----------
- data/patches/moz-configure-changes.patch    | 14 +++++++++++++
- 3 files changed, 36 insertions(+), 11 deletions(-)
- create mode 100644 data/patches/fix-data-reporting-check.patch
- delete mode 100644 data/patches/legacy-profiles.patch
- create mode 100644 data/patches/moz-configure-changes.patch
-
-diff --git a/data/patches/fix-data-reporting-check.patch b/data/patches/fix-data-reporting-check.patch
-new file mode 100644
-index 0000000..d586dc5
---- /dev/null
-+++ b/data/patches/fix-data-reporting-check.patch
-@@ -0,0 +1,22 @@
-+--- a/old-configure.in.orig	1980-01-01 18:59:51.000000000 -0500
-++++ b/old-configure.in	2019-10-28 04:13:17.343606008 -0400
-+@@ -3116,7 +3116,7 @@
-+ dnl If we have any service that uploads data (and requires data submission
-+ dnl policy alert), set MOZ_DATA_REPORTING.
-+ dnl We need SUBST for build system and DEFINE for xul preprocessor.
-+-if test -n "$MOZ_TELEMETRY_REPORTING" || test -n "$MOZ_SERVICES_HEALTHREPORT" || test -n "$MOZ_CRASHREPORTER"; then
-++if test "$MOZ_TELEMETRY_REPORTING" = 1 || test "$MOZ_SERVICES_HEALTHREPORT" = 1 || test "$MOZ_CRASHREPORTER" = 1; then
-+   MOZ_DATA_REPORTING=1
-+   AC_DEFINE(MOZ_DATA_REPORTING)
-+   AC_SUBST(MOZ_DATA_REPORTING)
-+--- a/old-configure.orig	1980-01-01 18:59:51.000000000 -0500
-++++ b/old-configure	2019-10-28 04:15:41.772322191 -0400
-+@@ -12150,7 +12150,7 @@
-+ 
-+ 
-+ 
-+-if test -n "$MOZ_TELEMETRY_REPORTING" || test -n "$MOZ_SERVICES_HEALTHREPORT" || test -n "$MOZ_CRASHREPORTER"; then
-++if test "$MOZ_TELEMETRY_REPORTING" = 1 || test "$MOZ_SERVICES_HEALTHREPORT" = 1 || test "$MOZ_CRASHREPORTER" = 1; then
-+   MOZ_DATA_REPORTING=1
-+   cat >> confdefs.pytmp <<\EOF
-+     (''' MOZ_DATA_REPORTING ''', ' 1 ')
-diff --git a/data/patches/legacy-profiles.patch b/data/patches/legacy-profiles.patch
-deleted file mode 100644
-index 33e9e99..0000000
---- a/data/patches/legacy-profiles.patch
-+++ /dev/null
-@@ -1,11 +0,0 @@
----- a/browser/moz.configure.orig	1980-01-01 18:59:51.000000000 -0500
--+++ b/browser/moz.configure	2019-10-26 21:58:37.719617701 -0400
--@@ -7,7 +7,7 @@
-- imply_option('MOZ_PLACES', True)
-- imply_option('MOZ_SERVICES_HEALTHREPORT', True)
-- imply_option('MOZ_SERVICES_SYNC', True)
---imply_option('MOZ_DEDICATED_PROFILES', True)
--+imply_option('MOZ_DEDICATED_PROFILES', False)
-- imply_option('MOZ_BLOCK_PROFILE_DOWNGRADE', True)
-- 
-- with only_when(target_is_linux & compile_environment):
-diff --git a/data/patches/moz-configure-changes.patch b/data/patches/moz-configure-changes.patch
-new file mode 100644
-index 0000000..aa6f1a5
---- /dev/null
-+++ b/data/patches/moz-configure-changes.patch
-@@ -0,0 +1,14 @@
-+--- a/browser/moz.configure.orig	1980-01-01 18:59:51.000000000 -0500
-++++ b/browser/moz.configure	2019-10-28 01:36:13.132873871 -0400
-+@@ -5,9 +5,9 @@
-+ # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-+ 
-+ imply_option('MOZ_PLACES', True)
-+-imply_option('MOZ_SERVICES_HEALTHREPORT', True)
-++imply_option('MOZ_SERVICES_HEALTHREPORT', False)
-+ imply_option('MOZ_SERVICES_SYNC', True)
-+-imply_option('MOZ_DEDICATED_PROFILES', True)
-++imply_option('MOZ_DEDICATED_PROFILES', False)
-+ imply_option('MOZ_BLOCK_PROFILE_DOWNGRADE', True)
-+ 
-+ with only_when(target_is_linux & compile_environment):
--- 
-2.23.0
-
-From 62f50f15abc91483c6aa7a2ac7ebb972e6f9affd Mon Sep 17 00:00:00 2001
-From: Mark H Weaver 
-Date: Mon, 28 Oct 2019 13:05:28 -0400
-Subject: [PATCH 3/4] Disable MOZ_BLOCK_PROFILE_DOWNGRADE.
-
-It would be desirable to prevent downgrades from one major version of
-IceCat to another.  However, as MOZ_BLOCK_PROFILE_DOWNGRADE is
-currently implemented, it prevents downgrades from one build of
-IceCat-68.2 to an earlier build of IceCat-68.2.  Until we can find a
-satisfactory solution, we disable this functionality entirely.
-
-* data/patches/moz-configure-changes.patch: Set
-MOZ_BLOCK_PROFILE_DOWNGRADE to 'False'.
----
- data/patches/moz-configure-changes.patch | 8 +++++---
- 1 file changed, 5 insertions(+), 3 deletions(-)
-
-diff --git a/data/patches/moz-configure-changes.patch b/data/patches/moz-configure-changes.patch
-index aa6f1a5..53091a4 100644
---- a/data/patches/moz-configure-changes.patch
-+++ b/data/patches/moz-configure-changes.patch
-@@ -1,6 +1,6 @@
- --- a/browser/moz.configure.orig	1980-01-01 18:59:51.000000000 -0500
--+++ b/browser/moz.configure	2019-10-28 01:36:13.132873871 -0400
--@@ -5,9 +5,9 @@
-++++ b/browser/moz.configure	2019-10-28 13:04:11.469562089 -0400
-+@@ -5,10 +5,10 @@
-  # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-  
-  imply_option('MOZ_PLACES', True)
-@@ -8,7 +8,9 @@
- +imply_option('MOZ_SERVICES_HEALTHREPORT', False)
-  imply_option('MOZ_SERVICES_SYNC', True)
- -imply_option('MOZ_DEDICATED_PROFILES', True)
-+-imply_option('MOZ_BLOCK_PROFILE_DOWNGRADE', True)
- +imply_option('MOZ_DEDICATED_PROFILES', False)
-- imply_option('MOZ_BLOCK_PROFILE_DOWNGRADE', True)
-++imply_option('MOZ_BLOCK_PROFILE_DOWNGRADE', False)
-  
-  with only_when(target_is_linux & compile_environment):
-+     option(env='MOZ_NO_PIE_COMPAT',
--- 
-2.23.0
-
-From 036f74092d223976054f9eafd8caa056f5975c54 Mon Sep 17 00:00:00 2001
-From: Mark H Weaver 
-Date: Mon, 28 Oct 2019 19:57:37 -0400
-Subject: [PATCH 4/4] Improve branding for version 68 ESR.
-
-* data/branding/icecat/locales/en-US/brand.dtd: Add brandProductName.
-* data/branding/icecat/locales/en-US/brand.ftl: Add
-brand-shorter-name, brand-full-name, brand-product-name,
-vendor-short-name, and trademarkInfo.
-* data/branding/icecat/locales/en-US/brand.properties: Add
-brandProductName.
-* makeicecat: Limit replacement of trademarkInfo.part1 of brand.dtd
-files to only be done within l10n directory.  Replace trademarkInfo of
-brand.ftl files within l10n directory.
----
- data/branding/icecat/locales/en-US/brand.dtd        | 1 +
- data/branding/icecat/locales/en-US/brand.ftl        | 5 +++++
- data/branding/icecat/locales/en-US/brand.properties | 1 +
- makeicecat                                          | 3 ++-
- 4 files changed, 9 insertions(+), 1 deletion(-)
-
-diff --git a/data/branding/icecat/locales/en-US/brand.dtd b/data/branding/icecat/locales/en-US/brand.dtd
-index 3788266..475ce7d 100644
---- a/data/branding/icecat/locales/en-US/brand.dtd
-+++ b/data/branding/icecat/locales/en-US/brand.dtd
-@@ -5,5 +5,6 @@
- 
- 
- 
-+
- 
- 
-diff --git a/data/branding/icecat/locales/en-US/brand.ftl b/data/branding/icecat/locales/en-US/brand.ftl
-index bd7fbe0..7c9fcc8 100644
---- a/data/branding/icecat/locales/en-US/brand.ftl
-+++ b/data/branding/icecat/locales/en-US/brand.ftl
-@@ -2,4 +2,9 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
- 
-+-brand-shorter-name = IceCat
- -brand-short-name = IceCat
-+-brand-full-name = GNU IceCat
-+-brand-product-name = IceCat
-+-vendor-short-name = GNU
-+trademarkInfo = The IceCat logo is Copyright 2008-2015 Free Software Foundation, released under the terms of the GNU Lesser General Public License, version 3 or any later version.
-diff --git a/data/branding/icecat/locales/en-US/brand.properties b/data/branding/icecat/locales/en-US/brand.properties
-index 85e2894..9b9cf97 100644
---- a/data/branding/icecat/locales/en-US/brand.properties
-+++ b/data/branding/icecat/locales/en-US/brand.properties
-@@ -5,6 +5,7 @@
- brandShorterName=IceCat
- brandShortName=IceCat
- brandFullName=IceCat
-+brandProductName=IceCat
- vendorShortName=GNU
- 
- syncBrandShortName=Sync
-diff --git a/makeicecat b/makeicecat
-index 1bcf465..3ff2ead 100644
---- a/makeicecat
-+++ b/makeicecat
-@@ -226,7 +226,8 @@ cp $DATA/bookmarks.html.in browser/locales/generic/profile/bookmarks.html.in
+@@ -226,7 +226,7 @@ cp $DATA/bookmarks.html.in browser/locales/generic/profile/bookmarks.html.in
  
  # Custom legal about pages
  
--find -wholename '*/brand.dtd' |xargs /bin/sed 's/trademarkInfo.part1.*/trademarkInfo.part1 "">/' -i
-+find l10n -wholename '*/brand.dtd' |xargs /bin/sed 's/trademarkInfo.part1.*/trademarkInfo.part1 "">/' -i
-+find l10n -wholename '*/brand.ftl' |xargs /bin/sed 's/^trademarkInfo = .*/trademarkInfo = The IceCat logo is Copyright 2008-2015 Free Software Foundation, released under the terms of the GNU Lesser General Public License, version 3 or any later version./' -i
+-find l10n -wholename '*/brand.dtd' |xargs /bin/sed 's/trademarkInfo.part1.*/trademarkInfo.part1 "">/' -i
++find l10n -wholename '*/brand.dtd' |xargs /bin/sed 's/trademarkInfo.part1.*/trademarkInfo.part1 "The IceCat logo is Copyright 2008-2015 Free Software Foundation, released under the terms of the GNU Lesser General Public License, version 3 or any later version.">/' -i
+ find l10n -wholename '*/brand.ftl' |xargs /bin/sed 's/^trademarkInfo = .*/trademarkInfo = The IceCat logo is Copyright 2008-2015 Free Software Foundation, released under the terms of the GNU Lesser General Public License, version 3 or any later version./' -i
  
  for STRING in rights.intro-point3-unbranded rights.intro-point4a-unbranded rights.intro-point4b-unbranded rights.intro-point4c-unbranded
- do
+-- 
+2.23.0
+
+From 150af5dd8b502b66f325b9fe8bd0b2ae553326a4 Mon Sep 17 00:00:00 2001
+From: Mark H Weaver 
+Date: Wed, 30 Oct 2019 18:34:44 -0400
+Subject: [PATCH 2/2] Add first batch of IceCat-specific preferences.
+
+* makeicecat: Add code to add IceCat-specific messages to l10n directory.
+* data/files-to-append/browser/locales/en-US/browser/preferences/preferences.ftl,
+data/files-to-append/l10n/es-AR/browser/browser/preferences/preferences.ftl,
+data/files-to-append/l10n/es-CL/browser/browser/preferences/preferences.ftl,
+data/files-to-append/l10n/es-ES/browser/browser/preferences/preferences.ftl,
+data/files-to-append/l10n/es-MX/browser/browser/preferences/preferences.ftl,
+data/files-to-append/l10n/fr/browser/browser/preferences/preferences.ftl,
+data/files-to-append/l10n/it/browser/browser/preferences/preferences.ftl,
+data/patches/icecat-preferences.patch: New files.
+---
+ .../en-US/browser/preferences/preferences.ftl |  36 ++++
+ .../browser/preferences/preferences.ftl       |  36 ++++
+ .../browser/preferences/preferences.ftl       |  36 ++++
+ .../browser/preferences/preferences.ftl       |  36 ++++
+ .../browser/preferences/preferences.ftl       |  36 ++++
+ .../browser/preferences/preferences.ftl       |  36 ++++
+ .../browser/preferences/preferences.ftl       |  36 ++++
+ data/patches/icecat-preferences.patch         | 155 ++++++++++++++++++
+ makeicecat                                    |  13 ++
+ 9 files changed, 420 insertions(+)
+ create mode 100644 data/files-to-append/browser/locales/en-US/browser/preferences/preferences.ftl
+ create mode 100644 data/files-to-append/l10n/es-AR/browser/browser/preferences/preferences.ftl
+ create mode 100644 data/files-to-append/l10n/es-CL/browser/browser/preferences/preferences.ftl
+ create mode 100644 data/files-to-append/l10n/es-ES/browser/browser/preferences/preferences.ftl
+ create mode 100644 data/files-to-append/l10n/es-MX/browser/browser/preferences/preferences.ftl
+ create mode 100644 data/files-to-append/l10n/fr/browser/browser/preferences/preferences.ftl
+ create mode 100644 data/files-to-append/l10n/it/browser/browser/preferences/preferences.ftl
+ create mode 100644 data/patches/icecat-preferences.patch
+
+diff --git a/data/files-to-append/browser/locales/en-US/browser/preferences/preferences.ftl b/data/files-to-append/browser/locales/en-US/browser/preferences/preferences.ftl
+new file mode 100644
+index 0000000..2f90bcd
+--- /dev/null
++++ b/data/files-to-append/browser/locales/en-US/browser/preferences/preferences.ftl
+@@ -0,0 +1,36 @@
++
++## IceCat-specific privacy settings
++
++icecat-privacy-group-header = IceCat-specific privacy settings
++
++disable-javascript-option =
++    .label = Disable JavaScript
++disable-javascript-description = Disabling Javascript greatly improves privacy, security and freedom, but it will break many sites.
++
++disable-custom-fonts-option =
++    .label = Do not load custom fonts
++disable-custom-fonts-description = Custom fonts can be used for fingerprinting. Disabling them improves privacy but may make some sites look wrong.
++
++isolate-request-first-party-option =
++    .label = Isolate requests to First Party domains
++isolate-request-first-party-description = This improves privacy, but it may interfere with login into some sites.
++
++auto-update-extensions-option =
++    .label = Automatically update extensions
++auto-update-extensions-description = Enabling automated updates is good for security, but would start Internet connections in the background.
++
++spoof-referers-option =
++    .label = Spoof Referers
++spoof-referers-description = Referers tell sites what link brought you there. This feature greatly improves your privacy, but it may break functionality on some sites.
++
++detect-captive-portal-option =
++    .label = Detect captive portal
++detect-captive-portal-description = Captive portals are the sites that control access to public wireless networks in hotels, airports, cafes, etc. The detection service is useful if you connect to such netwoks, but it will start connections automatically.
++
++geolocation-option =
++    .label = Enable Geolocation
++geolocation-description = This is commonly used for maps, weather sites, and some stores. It is better to keep it off unless you really need it.
++
++webgl-option =
++    .label = Enable WebGL
++webgl-description = Needed to visualize 3D graphics, but it may expose you to security threats. Enable it only if you really use it.
+diff --git a/data/files-to-append/l10n/es-AR/browser/browser/preferences/preferences.ftl b/data/files-to-append/l10n/es-AR/browser/browser/preferences/preferences.ftl
+new file mode 100644
+index 0000000..ad052b3
+--- /dev/null
++++ b/data/files-to-append/l10n/es-AR/browser/browser/preferences/preferences.ftl
+@@ -0,0 +1,36 @@
++
++## IceCat-specific privacy settings
++
++icecat-privacy-group-header = Ajustes de privacidad de IceCat
++
++disable-javascript-option =
++    .label = Desactivar JavaScript
++disable-javascript-description = Desactivar JavaScript mejora enormemente la privacidad, la seguridad en Internet y la libertad en su equipo, pero afectará a la funcionalidad de muchas páginas.
++
++disable-custom-fonts-option =
++    .label = No cargar fuentes personalizadas
++disable-custom-fonts-description = Las fuentes personalizadas pueden usarse para rastrear al usuario. Desactivarlas mejora la privacidad pero puede afectar al aspecto visual de algunas páginas.
++
++isolate-request-first-party-option =
++    .label = Aislar las solicitudes a los Dominios Primarios
++isolate-request-first-party-description = Este ajuste mejora la privacidad, pero puede interferir con el inicio de sesión en algunas webs.
++
++auto-update-extensions-option =
++    .label = Actualizar las extensiones automáticamente
++auto-update-extensions-description = Activar las actualizaciones automáticas es bueno para la seguridad, pero precisa del establecimiento de conexiones a otros servidores en segundo plano.
++
++spoof-referers-option =
++    .label = Modificar los referers HTTP
++spoof-referers-description = Los referers son cabeceras HTTP que informan a una página acerca de nuestro enlace de origen. Activar esta característica mejora enormemente su privacidad, pero puede afectar a la funcionalidad de algunas páginas.
++
++detect-captive-portal-option =
++    .label = Detectar los portales cautivos
++detect-captive-portal-description = Los portales cautivos son las webs que registran y controlan el acceso a redes inalámbricas públicas en hoteles, aeropuertos, cafés y similares. El servicio que los detecta es práctico si se ve a menudo en la necesidad de usarlos, pero implica el establecimiento de conexiones en segundo plano.
++
++geolocation-option =
++    .label = Activar Geolocalización
++geolocation-description = Esta característica se usa habitualmente en mapas, páginas del tiempo y algunas tiendas. Es mejor desactivarla si realmente no necesita que identifiquen su ubicación.
++
++webgl-option =
++    .label = Activar WebGL
++webgl-description = Esta función necesaria para mostrar ciertos gráficos 3D en el navegador puede exponerle a ciertos riesgos de seguridad. Actívela solamente si va a usarla.
+diff --git a/data/files-to-append/l10n/es-CL/browser/browser/preferences/preferences.ftl b/data/files-to-append/l10n/es-CL/browser/browser/preferences/preferences.ftl
+new file mode 100644
+index 0000000..ad052b3
+--- /dev/null
++++ b/data/files-to-append/l10n/es-CL/browser/browser/preferences/preferences.ftl
+@@ -0,0 +1,36 @@
++
++## IceCat-specific privacy settings
++
++icecat-privacy-group-header = Ajustes de privacidad de IceCat
++
++disable-javascript-option =
++    .label = Desactivar JavaScript
++disable-javascript-description = Desactivar JavaScript mejora enormemente la privacidad, la seguridad en Internet y la libertad en su equipo, pero afectará a la funcionalidad de muchas páginas.
++
++disable-custom-fonts-option =
++    .label = No cargar fuentes personalizadas
++disable-custom-fonts-description = Las fuentes personalizadas pueden usarse para rastrear al usuario. Desactivarlas mejora la privacidad pero puede afectar al aspecto visual de algunas páginas.
++
++isolate-request-first-party-option =
++    .label = Aislar las solicitudes a los Dominios Primarios
++isolate-request-first-party-description = Este ajuste mejora la privacidad, pero puede interferir con el inicio de sesión en algunas webs.
++
++auto-update-extensions-option =
++    .label = Actualizar las extensiones automáticamente
++auto-update-extensions-description = Activar las actualizaciones automáticas es bueno para la seguridad, pero precisa del establecimiento de conexiones a otros servidores en segundo plano.
++
++spoof-referers-option =
++    .label = Modificar los referers HTTP
++spoof-referers-description = Los referers son cabeceras HTTP que informan a una página acerca de nuestro enlace de origen. Activar esta característica mejora enormemente su privacidad, pero puede afectar a la funcionalidad de algunas páginas.
++
++detect-captive-portal-option =
++    .label = Detectar los portales cautivos
++detect-captive-portal-description = Los portales cautivos son las webs que registran y controlan el acceso a redes inalámbricas públicas en hoteles, aeropuertos, cafés y similares. El servicio que los detecta es práctico si se ve a menudo en la necesidad de usarlos, pero implica el establecimiento de conexiones en segundo plano.
++
++geolocation-option =
++    .label = Activar Geolocalización
++geolocation-description = Esta característica se usa habitualmente en mapas, páginas del tiempo y algunas tiendas. Es mejor desactivarla si realmente no necesita que identifiquen su ubicación.
++
++webgl-option =
++    .label = Activar WebGL
++webgl-description = Esta función necesaria para mostrar ciertos gráficos 3D en el navegador puede exponerle a ciertos riesgos de seguridad. Actívela solamente si va a usarla.
+diff --git a/data/files-to-append/l10n/es-ES/browser/browser/preferences/preferences.ftl b/data/files-to-append/l10n/es-ES/browser/browser/preferences/preferences.ftl
+new file mode 100644
+index 0000000..ad052b3
+--- /dev/null
++++ b/data/files-to-append/l10n/es-ES/browser/browser/preferences/preferences.ftl
+@@ -0,0 +1,36 @@
++
++## IceCat-specific privacy settings
++
++icecat-privacy-group-header = Ajustes de privacidad de IceCat
++
++disable-javascript-option =
++    .label = Desactivar JavaScript
++disable-javascript-description = Desactivar JavaScript mejora enormemente la privacidad, la seguridad en Internet y la libertad en su equipo, pero afectará a la funcionalidad de muchas páginas.
++
++disable-custom-fonts-option =
++    .label = No cargar fuentes personalizadas
++disable-custom-fonts-description = Las fuentes personalizadas pueden usarse para rastrear al usuario. Desactivarlas mejora la privacidad pero puede afectar al aspecto visual de algunas páginas.
++
++isolate-request-first-party-option =
++    .label = Aislar las solicitudes a los Dominios Primarios
++isolate-request-first-party-description = Este ajuste mejora la privacidad, pero puede interferir con el inicio de sesión en algunas webs.
++
++auto-update-extensions-option =
++    .label = Actualizar las extensiones automáticamente
++auto-update-extensions-description = Activar las actualizaciones automáticas es bueno para la seguridad, pero precisa del establecimiento de conexiones a otros servidores en segundo plano.
++
++spoof-referers-option =
++    .label = Modificar los referers HTTP
++spoof-referers-description = Los referers son cabeceras HTTP que informan a una página acerca de nuestro enlace de origen. Activar esta característica mejora enormemente su privacidad, pero puede afectar a la funcionalidad de algunas páginas.
++
++detect-captive-portal-option =
++    .label = Detectar los portales cautivos
++detect-captive-portal-description = Los portales cautivos son las webs que registran y controlan el acceso a redes inalámbricas públicas en hoteles, aeropuertos, cafés y similares. El servicio que los detecta es práctico si se ve a menudo en la necesidad de usarlos, pero implica el establecimiento de conexiones en segundo plano.
++
++geolocation-option =
++    .label = Activar Geolocalización
++geolocation-description = Esta característica se usa habitualmente en mapas, páginas del tiempo y algunas tiendas. Es mejor desactivarla si realmente no necesita que identifiquen su ubicación.
++
++webgl-option =
++    .label = Activar WebGL
++webgl-description = Esta función necesaria para mostrar ciertos gráficos 3D en el navegador puede exponerle a ciertos riesgos de seguridad. Actívela solamente si va a usarla.
+diff --git a/data/files-to-append/l10n/es-MX/browser/browser/preferences/preferences.ftl b/data/files-to-append/l10n/es-MX/browser/browser/preferences/preferences.ftl
+new file mode 100644
+index 0000000..ad052b3
+--- /dev/null
++++ b/data/files-to-append/l10n/es-MX/browser/browser/preferences/preferences.ftl
+@@ -0,0 +1,36 @@
++
++## IceCat-specific privacy settings
++
++icecat-privacy-group-header = Ajustes de privacidad de IceCat
++
++disable-javascript-option =
++    .label = Desactivar JavaScript
++disable-javascript-description = Desactivar JavaScript mejora enormemente la privacidad, la seguridad en Internet y la libertad en su equipo, pero afectará a la funcionalidad de muchas páginas.
++
++disable-custom-fonts-option =
++    .label = No cargar fuentes personalizadas
++disable-custom-fonts-description = Las fuentes personalizadas pueden usarse para rastrear al usuario. Desactivarlas mejora la privacidad pero puede afectar al aspecto visual de algunas páginas.
++
++isolate-request-first-party-option =
++    .label = Aislar las solicitudes a los Dominios Primarios
++isolate-request-first-party-description = Este ajuste mejora la privacidad, pero puede interferir con el inicio de sesión en algunas webs.
++
++auto-update-extensions-option =
++    .label = Actualizar las extensiones automáticamente
++auto-update-extensions-description = Activar las actualizaciones automáticas es bueno para la seguridad, pero precisa del establecimiento de conexiones a otros servidores en segundo plano.
++
++spoof-referers-option =
++    .label = Modificar los referers HTTP
++spoof-referers-description = Los referers son cabeceras HTTP que informan a una página acerca de nuestro enlace de origen. Activar esta característica mejora enormemente su privacidad, pero puede afectar a la funcionalidad de algunas páginas.
++
++detect-captive-portal-option =
++    .label = Detectar los portales cautivos
++detect-captive-portal-description = Los portales cautivos son las webs que registran y controlan el acceso a redes inalámbricas públicas en hoteles, aeropuertos, cafés y similares. El servicio que los detecta es práctico si se ve a menudo en la necesidad de usarlos, pero implica el establecimiento de conexiones en segundo plano.
++
++geolocation-option =
++    .label = Activar Geolocalización
++geolocation-description = Esta característica se usa habitualmente en mapas, páginas del tiempo y algunas tiendas. Es mejor desactivarla si realmente no necesita que identifiquen su ubicación.
++
++webgl-option =
++    .label = Activar WebGL
++webgl-description = Esta función necesaria para mostrar ciertos gráficos 3D en el navegador puede exponerle a ciertos riesgos de seguridad. Actívela solamente si va a usarla.
+diff --git a/data/files-to-append/l10n/fr/browser/browser/preferences/preferences.ftl b/data/files-to-append/l10n/fr/browser/browser/preferences/preferences.ftl
+new file mode 100644
+index 0000000..4008883
+--- /dev/null
++++ b/data/files-to-append/l10n/fr/browser/browser/preferences/preferences.ftl
+@@ -0,0 +1,36 @@
++
++## IceCat-specific privacy settings
++
++icecat-privacy-group-header = Vie privée de IceCat
++
++disable-javascript-option =
++    .label = Disable JavaScript
++disable-javascript-description = Désactiver JavaScript améliore grandement le respect de la vie privée, la sécurité et la liberté, mais cela risque de rendre beaucoup de sites web inutilisables.
++
++disable-custom-fonts-option =
++    .label = Ne pas charger de polices personnalisées
++disable-custom-fonts-description = Les polices personnalisées peuvent être utilisées pour vous identifier. Les désactiver améliore le respect de la vie privée mais peut détérorier le rendu de certains sites.
++
++isolate-request-first-party-option =
++    .label = Isoler les requêtes vers les domaines de premier niveau
++isolate-request-first-party-description = Améliore le respect de la vie privée, mais peut interférer avec la page de login de certains sites web.
++
++auto-update-extensions-option =
++    .label = Mettre à jour les extensions automatiquement
++auto-update-extensions-description = Activer les mises à jour automatiques améliore votre sécurité, mais cela va ouvrir des connexions internet en arrière-plan.
++
++spoof-referers-option =
++    .label = Usurper l'identité des Referers
++spoof-referers-description = Les Referers indiquent aux sites web quel lien vous y a amené. Cette fonctionnalité améliore grandement le respect de la vie privée, mais peut entraîner la perte de fonctionnalités sur certains sites.
++
++detect-captive-portal-option =
++    .label = Détecter les portails captifs
++detect-captive-portal-description = Les portails captifs sont les sites qui contrôlent l'accès aux réseaux sans fils publics dans les hôtels, les aéroports, les bars, etc. Ce service de détection est utile si vous vous connectez à ce type de réseaux, mais cela entraîne l'ouverture automatique de connexions.
++
++geolocation-option =
++    .label = Activer la géolocalisation
++geolocation-description = Elle est utilisée couramment pour les cartes, les sites de prévisions météo, et certaines boutiques en ligne. Il vaut mieux la désactivez à moins d'en avoir réellement besoin.
++
++webgl-option =
++    .label = Activer WebGL
++webgl-description = Nécessaire afin de visualiser les graphisme en 3D, mais peut vous exposer à des menaces de sécurité. Activer WebGL seulement si vous l'utilisez réellement.
+diff --git a/data/files-to-append/l10n/it/browser/browser/preferences/preferences.ftl b/data/files-to-append/l10n/it/browser/browser/preferences/preferences.ftl
+new file mode 100644
+index 0000000..a1fe1b7
+--- /dev/null
++++ b/data/files-to-append/l10n/it/browser/browser/preferences/preferences.ftl
+@@ -0,0 +1,36 @@
++
++## IceCat-specific privacy settings
++
++icecat-privacy-group-header = Impostazioni sulla privacy di IceCat
++
++disable-javascript-option =
++    .label = Disabilita JavaScript
++disable-javascript-description = Disabilitare Javascript migliora notevolmente la privacy, la sicurezza e la libertà, ma compromette la funzionalità molti siti.
++
++disable-custom-fonts-option =
++    .label = Non caricare caratteri personalizzati
++disable-custom-fonts-description = I caratteri personalizzati possono essere utilizzati per il fingerprinting. Disabilitarli migliora la privacy ma potrebbe far compromettere la visibilità di alcuni siti.
++
++isolate-request-first-party-option =
++    .label = Isolare le richieste ai domini proprietari
++isolate-request-first-party-description = Questo migliora la privacy, ma potrebbe interferire con il login in alcuni siti.
++
++auto-update-extensions-option =
++    .label = Aggiorna automaticamente le estensioni
++auto-update-extensions-description = Abilitare gli aggiornamenti automatici è positivo per la sicurezza, ma avvierebbe connessioni Internet in background.
++
++spoof-referers-option =
++    .label = Spoof Referers
++spoof-referers-description = I referer dicono ai siti quale link ti ha portato lì. Questa funzione migliora notevolmente la privacy, ma potrebbe compromettere la funzionalità  di alcuni siti.
++
++detect-captive-portal-option =
++    .label = Rileva il captive portal
++detect-captive-portal-description = I captive portal sono i siti che controllano l'accesso alle reti wireless pubbliche negli hotel, negli aeroporti, nei bar, ecc. Il servizio di rilevamento è utile se ci si connette a tali reti, ma avvierà automaticamente le connessioni.
++
++geolocation-option =
++    .label = Abilita geolocalizzazione
++geolocation-description = Questo è comunemente usato per mappe, siti meteo e alcuni negozi online. È meglio tenerlo spento a meno che non se ne abbia veramente bisogno.
++
++webgl-option =
++    .label = Abilita WebGL
++webgl-description = Necessario per visualizzare la grafica 3D, ma potrebbe esporre a minacce alla sicurezza. Abilitare solo in caso di necessità.
+diff --git a/data/patches/icecat-preferences.patch b/data/patches/icecat-preferences.patch
+new file mode 100644
+index 0000000..86fdd06
+--- /dev/null
++++ b/data/patches/icecat-preferences.patch
+@@ -0,0 +1,155 @@
++--- a/browser/components/preferences/in-content/privacy.xul.orig	2019-10-16 15:29:49.000000000 -0400
+++++ b/browser/components/preferences/in-content/privacy.xul	2019-10-30 23:54:53.591633131 -0400
++@@ -594,6 +594,79 @@
++          data-l10n-id="addressbar-suggestions-settings"/>
++ 
++ 
+++
+++
+++
++