summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarius Bakke <mbakke@fastmail.com>2020-03-30 12:17:33 +0200
committerMarius Bakke <mbakke@fastmail.com>2020-03-30 12:17:33 +0200
commitae0badf5bb791428423a98d4e4e2b8d297a5d4be (patch)
tree4282d243db3e90839a5f7d3b5878674ccd0e2e14
parentee401ed9249fbe284ef1b9b437d39207ca88131b (diff)
parent927f3655662b41f25225ea03baa3ded687aa7cbb (diff)
Merge branch 'master' into core-updates
Conflicts: gnu/packages/admin.scm gnu/packages/commencement.scm gnu/packages/guile.scm gnu/packages/linux.scm gnu/packages/package-management.scm gnu/packages/pulseaudio.scm gnu/packages/web.scm
-rw-r--r--.mailmap2
-rw-r--r--build-aux/git-authenticate.scm6
-rw-r--r--doc/guix.texi6
-rw-r--r--gnu/build/vm.scm11
-rw-r--r--gnu/local.mk4
-rw-r--r--gnu/packages/admin.scm147
-rw-r--r--gnu/packages/algebra.scm43
-rw-r--r--gnu/packages/assembly.scm4
-rw-r--r--gnu/packages/bioconductor.scm4
-rw-r--r--gnu/packages/cpp.scm6
-rw-r--r--gnu/packages/cran.scm38
-rw-r--r--gnu/packages/crypto.scm10
-rw-r--r--gnu/packages/cybersecurity.scm46
-rw-r--r--gnu/packages/dictionaries.scm4
-rw-r--r--gnu/packages/education.scm4
-rw-r--r--gnu/packages/emacs-xyz.scm126
-rw-r--r--gnu/packages/emacs.scm5
-rw-r--r--gnu/packages/emulators.scm3
-rw-r--r--gnu/packages/engineering.scm3
-rw-r--r--gnu/packages/finance.scm3
-rw-r--r--gnu/packages/firmware.scm2
-rw-r--r--gnu/packages/fonts.scm7
-rw-r--r--gnu/packages/fpga.scm7
-rw-r--r--gnu/packages/games.scm42
-rw-r--r--gnu/packages/gnome-xyz.scm17
-rw-r--r--gnu/packages/gnome.scm69
-rw-r--r--gnu/packages/gnupg.scm8
-rw-r--r--gnu/packages/gnuzilla.scm5
-rw-r--r--gnu/packages/graph.scm7
-rw-r--r--gnu/packages/guile-xyz.scm50
-rw-r--r--gnu/packages/haskell-apps.scm40
-rw-r--r--gnu/packages/haskell-web.scm41
-rw-r--r--gnu/packages/haskell-xyz.scm323
-rw-r--r--gnu/packages/image.scm6
-rw-r--r--gnu/packages/java.scm201
-rw-r--r--gnu/packages/kde-pim.scm2
-rw-r--r--gnu/packages/lean.scm2
-rw-r--r--gnu/packages/libreoffice.scm4
-rw-r--r--gnu/packages/linux.scm21
-rw-r--r--gnu/packages/lisp-xyz.scm31
-rw-r--r--gnu/packages/machine-learning.scm19
-rw-r--r--gnu/packages/mail.scm13
-rw-r--r--gnu/packages/man.scm14
-rw-r--r--gnu/packages/maths.scm11
-rw-r--r--gnu/packages/mpd.scm4
-rw-r--r--gnu/packages/mtools.scm6
-rw-r--r--gnu/packages/multiprecision.scm46
-rw-r--r--gnu/packages/music.scm106
-rw-r--r--gnu/packages/networking.scm24
-rw-r--r--gnu/packages/ocr.scm16
-rw-r--r--gnu/packages/package-management.scm6
-rw-r--r--gnu/packages/patches/gnupg-default-pinentry.patch62
-rw-r--r--gnu/packages/patches/hash-extender-test-suite.patch13
-rw-r--r--gnu/packages/pdf.scm74
-rw-r--r--gnu/packages/php.scm3
-rw-r--r--gnu/packages/plotutils.scm4
-rw-r--r--gnu/packages/pulseaudio.scm2
-rw-r--r--gnu/packages/python-xyz.scm110
-rw-r--r--gnu/packages/qt.scm6
-rw-r--r--gnu/packages/rust.scm121
-rw-r--r--gnu/packages/speech.scm67
-rw-r--r--gnu/packages/statistics.scm8
-rw-r--r--gnu/packages/syndication.scm8
-rw-r--r--gnu/packages/terminals.scm5
-rw-r--r--gnu/packages/version-control.scm10
-rw-r--r--gnu/packages/video.scm13
-rw-r--r--gnu/packages/virtualization.scm3
-rw-r--r--gnu/packages/vulkan.scm3
-rw-r--r--gnu/packages/web.scm43
-rw-r--r--gnu/packages/wm.scm5
-rw-r--r--gnu/packages/xdisorg.scm10
-rw-r--r--gnu/packages/xfce.scm4
-rw-r--r--gnu/services/nfs.scm25
-rw-r--r--gnu/services/shepherd.scm6
-rw-r--r--gnu/services/xorg.scm1
-rw-r--r--gnu/system/vm.scm15
-rw-r--r--guix/build-system/gnu.scm4
-rw-r--r--guix/gexp.scm32
-rw-r--r--guix/grafts.scm20
-rw-r--r--guix/packages.scm76
-rw-r--r--guix/profiles.scm57
-rw-r--r--guix/scripts/archive.scm2
-rw-r--r--guix/scripts/build.scm8
-rw-r--r--guix/scripts/copy.scm2
-rw-r--r--guix/scripts/deploy.scm46
-rw-r--r--guix/scripts/environment.scm2
-rw-r--r--guix/scripts/pack.scm2
-rw-r--r--guix/scripts/package.scm3
-rw-r--r--guix/scripts/pull.scm2
-rw-r--r--guix/scripts/system.scm2
-rw-r--r--guix/store.scm64
-rw-r--r--tests/store.scm36
92 files changed, 1787 insertions, 817 deletions
diff --git a/.mailmap b/.mailmap
index a1cbf02030b..97018775f6e 100644
--- a/.mailmap
+++ b/.mailmap
@@ -6,7 +6,7 @@ Al McElrath <hello@yrns.org> <hello@atonesir.com>
6Alex Sassmannshausen <alex@pompo.co> <alex.sassmannshausen@gmail.com> 6Alex Sassmannshausen <alex@pompo.co> <alex.sassmannshausen@gmail.com>
7Alexander I. Grafov <grafov@gmail.com> 7Alexander I. Grafov <grafov@gmail.com>
8Alírio Eyng <alirioeyng@gmail.com> 8Alírio Eyng <alirioeyng@gmail.com>
9Amin Bandali <mab@gnu.org> <bandali@gnu.org> 9Amin Bandali <bandali@gnu.org> <mab@gnu.org>
10Amirouche Boubekki <amirouche@hypermove.net> 10Amirouche Boubekki <amirouche@hypermove.net>
11Andreas Enge <andreas@enge.fr> <andreas.enge@inria.fr> 11Andreas Enge <andreas@enge.fr> <andreas.enge@inria.fr>
12Andreas Enge <andreas@enge.fr> <privat@xobs-novena> 12Andreas Enge <andreas@enge.fr> <privat@xobs-novena>
diff --git a/build-aux/git-authenticate.scm b/build-aux/git-authenticate.scm
index 514d201c804..37e0c6800c9 100644
--- a/build-aux/git-authenticate.scm
+++ b/build-aux/git-authenticate.scm
@@ -61,6 +61,9 @@
61 ("atheia" 61 ("atheia"
62 ;; primary: "3B12 9196 AE30 0C3C 0E90 A26F A715 5567 3271 9948" 62 ;; primary: "3B12 9196 AE30 0C3C 0E90 A26F A715 5567 3271 9948"
63 "9A2B 401E D001 0650 1584 BAAC 8BC4 F447 6E8A 8E00") 63 "9A2B 401E D001 0650 1584 BAAC 8BC4 F447 6E8A 8E00")
64 ("bandali"
65 ;; primary: "BE62 7373 8E61 6D6D 1B3A 08E8 A21A 0202 4881 6103"
66 "39B3 3C8D 9448 0D2D DCC2 A498 8B44 A0CD C7B9 56F2")
64 ("bavier" 67 ("bavier"
65 ;; primary: "34FF 38BC D151 25A6 E340 A0B5 3453 2F9F AFCA 8B8E" 68 ;; primary: "34FF 38BC D151 25A6 E340 A0B5 3453 2F9F AFCA 8B8E"
66 "A0C5 E352 2EF8 EF5C 64CD B7F0 FD73 CAC7 19D3 2566") 69 "A0C5 E352 2EF8 EF5C 64CD B7F0 FD73 CAC7 19D3 2566")
@@ -133,9 +136,6 @@
133 "B051 5948 F1E7 D3C1 B980 38A0 2646 FA30 BACA 7F08") 136 "B051 5948 F1E7 D3C1 B980 38A0 2646 FA30 BACA 7F08")
134 ("lsl88" 137 ("lsl88"
135 "2AE3 1395 932B E642 FC0E D99C 9BED 6EDA 32E5 B0BC") 138 "2AE3 1395 932B E642 FC0E D99C 9BED 6EDA 32E5 B0BC")
136 ("mab"
137 ;; primary: "BE62 7373 8E61 6D6D 1B3A 08E8 A21A 0202 4881 6103"
138 "39B3 3C8D 9448 0D2D DCC2 A498 8B44 A0CD C7B9 56F2")
139 ("marusich" 139 ("marusich"
140 "CBF5 9755 CBE7 E7EF EF18 3FB1 DD40 9A15 D822 469D") 140 "CBF5 9755 CBE7 E7EF EF18 3FB1 DD40 9A15 D822 469D")
141 ("mbakke" 141 ("mbakke"
diff --git a/doc/guix.texi b/doc/guix.texi
index af87d760878..8cb85fe62c0 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -22233,9 +22233,9 @@ It has the following parameters:
22233@item @code{nfs-utils} (default: @code{nfs-utils}) 22233@item @code{nfs-utils} (default: @code{nfs-utils})
22234The nfs-utils package to use. 22234The nfs-utils package to use.
22235 22235
22236@item @code{nfs-version} (default: @code{#f}) 22236@item @code{nfs-versions} (default: @code{'("4.2" "4.1" "4.0")})
22237If a string value is provided, the @command{rpc.nfsd} daemon will be 22237If a list of string values is provided, the @command{rpc.nfsd} daemon
22238limited to supporting the given version of the NFS protocol. 22238will be limited to supporting the given versions of the NFS protocol.
22239 22239
22240@item @code{exports} (default: @code{'()}) 22240@item @code{exports} (default: @code{'()})
22241This is a list of directories the NFS server should export. Each entry 22241This is a list of directories the NFS server should export. Each entry
diff --git a/gnu/build/vm.scm b/gnu/build/vm.scm
index 9a9e5bd0018..79eed48c1f1 100644
--- a/gnu/build/vm.scm
+++ b/gnu/build/vm.scm
@@ -1,5 +1,5 @@
1;;; GNU Guix --- Functional package management for GNU 1;;; GNU Guix --- Functional package management for GNU
2;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org> 2;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org>
3;;; Copyright © 2016 Christopher Allan Webber <cwebber@dustycloud.org> 3;;; Copyright © 2016 Christopher Allan Webber <cwebber@dustycloud.org>
4;;; Copyright © 2016, 2017 Leo Famulari <leo@famulari.name> 4;;; Copyright © 2016, 2017 Leo Famulari <leo@famulari.name>
5;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com> 5;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
@@ -183,6 +183,15 @@ the #:references-graphs parameter of 'derivation'."
183 '()) 183 '())
184 arch-specific-flags)) 184 arch-specific-flags))
185 185
186 (unless (file-exists? "xchg/.exit-status")
187 (error "VM did not produce an exit code"))
188
189 (match (call-with-input-file "xchg/.exit-status" read)
190 (0 #t)
191 (status (error "guest VM code exited with a non-zero status" status)))
192
193 (delete-file "xchg/.exit-status")
194
186 ;; When MAKE-DISK-IMAGE? is true, the image is in OUTPUT already. 195 ;; When MAKE-DISK-IMAGE? is true, the image is in OUTPUT already.
187 (unless make-disk-image? 196 (unless make-disk-image?
188 (if single-file-output? 197 (if single-file-output?
diff --git a/gnu/local.mk b/gnu/local.mk
index 46e29365674..9d62bec7200 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -25,7 +25,7 @@
25# Copyright © 2019 Jonathan Brielmaier <jonathan.brielmaier@web.de> 25# Copyright © 2019 Jonathan Brielmaier <jonathan.brielmaier@web.de>
26# Copyright © 2019 Evan Straw <evan.straw99@gmail.com> 26# Copyright © 2019 Evan Straw <evan.straw99@gmail.com>
27# Copyright © 2019 Brett Gilio <brettg@gnu.org> 27# Copyright © 2019 Brett Gilio <brettg@gnu.org>
28# Copyright © 2019 Amin Bandali <mab@gnu.org> 28# Copyright © 2019 Amin Bandali <bandali@gnu.org>
29# Copyright © 2020 Brendan Tildesley <mail@brendan.scot> 29# Copyright © 2020 Brendan Tildesley <mail@brendan.scot>
30# Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com> 30# Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
31# 31#
@@ -138,6 +138,7 @@ GNU_SYSTEM_MODULES = \
138 %D%/packages/cups.scm \ 138 %D%/packages/cups.scm \
139 %D%/packages/curl.scm \ 139 %D%/packages/curl.scm \
140 %D%/packages/cvassistant.scm \ 140 %D%/packages/cvassistant.scm \
141 %D%/packages/cybersecurity.scm \
141 %D%/packages/cyrus-sasl.scm \ 142 %D%/packages/cyrus-sasl.scm \
142 %D%/packages/databases.scm \ 143 %D%/packages/databases.scm \
143 %D%/packages/datamash.scm \ 144 %D%/packages/datamash.scm \
@@ -1019,7 +1020,6 @@ dist_patch_DATA = \
1019 %D%/packages/patches/gtksourceview-2-add-default-directory.patch \ 1020 %D%/packages/patches/gtksourceview-2-add-default-directory.patch \
1020 %D%/packages/patches/gzdoom-search-in-installed-share.patch \ 1021 %D%/packages/patches/gzdoom-search-in-installed-share.patch \
1021 %D%/packages/patches/gzdoom-find-system-libgme.patch \ 1022 %D%/packages/patches/gzdoom-find-system-libgme.patch \
1022 %D%/packages/patches/hash-extender-test-suite.patch \
1023 %D%/packages/patches/haskell-mode-unused-variables.patch \ 1023 %D%/packages/patches/haskell-mode-unused-variables.patch \
1024 %D%/packages/patches/haskell-mode-make-check.patch \ 1024 %D%/packages/patches/haskell-mode-make-check.patch \
1025 %D%/packages/patches/hdf4-architectures.patch \ 1025 %D%/packages/patches/hdf4-architectures.patch \
diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
index ae1ed94b1bc..4e1f9afc7ef 100644
--- a/gnu/packages/admin.scm
+++ b/gnu/packages/admin.scm
@@ -32,6 +32,7 @@
32;;; Copyright © 2019, 2020 Mathieu Othacehe <m.othacehe@gmail.com> 32;;; Copyright © 2019, 2020 Mathieu Othacehe <m.othacehe@gmail.com>
33;;; Copyright © 2020 Oleg Pykhalov <go.wigust@gmail.com> 33;;; Copyright © 2020 Oleg Pykhalov <go.wigust@gmail.com>
34;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org> 34;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
35;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de>
35;;; 36;;;
36;;; This file is part of GNU Guix. 37;;; This file is part of GNU Guix.
37;;; 38;;;
@@ -49,11 +50,6 @@
49;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. 50;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
50 51
51(define-module (gnu packages admin) 52(define-module (gnu packages admin)
52 #:use-module ((guix licenses) #:prefix license:)
53 #:use-module (guix packages)
54 #:use-module (guix utils)
55 #:use-module (guix download)
56 #:use-module (guix git-download)
57 #:use-module (guix build-system cmake) 53 #:use-module (guix build-system cmake)
58 #:use-module (guix build-system emacs) 54 #:use-module (guix build-system emacs)
59 #:use-module (guix build-system gnu) 55 #:use-module (guix build-system gnu)
@@ -61,42 +57,59 @@
61 #:use-module (guix build-system perl) 57 #:use-module (guix build-system perl)
62 #:use-module (guix build-system python) 58 #:use-module (guix build-system python)
63 #:use-module (guix build-system trivial) 59 #:use-module (guix build-system trivial)
60 #:use-module (guix download)
61 #:use-module (guix git-download)
62 #:use-module ((guix licenses) #:prefix license:)
63 #:use-module (guix packages)
64 #:use-module (guix utils)
64 #:use-module (gnu packages) 65 #:use-module (gnu packages)
65 #:use-module (gnu packages algebra) 66 #:use-module (gnu packages algebra)
67 #:use-module (gnu packages autotools)
66 #:use-module (gnu packages base) 68 #:use-module (gnu packages base)
67 #:use-module (gnu packages bash) 69 #:use-module (gnu packages bash)
70 #:use-module (gnu packages bison)
71 #:use-module (gnu packages boost)
68 #:use-module (gnu packages c) 72 #:use-module (gnu packages c)
69 #:use-module (gnu packages check) 73 #:use-module (gnu packages check)
74 #:use-module (gnu packages compression)
75 #:use-module (gnu packages cross-base)
70 #:use-module (gnu packages crypto) 76 #:use-module (gnu packages crypto)
71 #:use-module (gnu packages cryptsetup) 77 #:use-module (gnu packages cryptsetup)
72 #:use-module (gnu packages cyrus-sasl) 78 #:use-module (gnu packages cyrus-sasl)
73 #:use-module (gnu packages dns) 79 #:use-module (gnu packages dns)
80 #:use-module (gnu packages elf)
74 #:use-module (gnu packages file) 81 #:use-module (gnu packages file)
75 #:use-module (gnu packages ncurses) 82 #:use-module (gnu packages flex)
76 #:use-module (gnu packages readline) 83 #:use-module (gnu packages gettext)
84 #:use-module (gnu packages gl)
85 #:use-module (gnu packages glib)
86 #:use-module (gnu packages gnome)
87 #:use-module (gnu packages gnupg)
88 #:use-module (gnu packages golang)
89 #:use-module (gnu packages groff)
90 #:use-module (gnu packages gtk)
91 #:use-module (gnu packages guile)
77 #:use-module (gnu packages hurd) 92 #:use-module (gnu packages hurd)
93 #:use-module (gnu packages image)
94 #:use-module (gnu packages imagemagick)
95 #:use-module (gnu packages inkscape)
96 #:use-module (gnu packages kerberos)
78 #:use-module (gnu packages libbsd) 97 #:use-module (gnu packages libbsd)
98 #:use-module (gnu packages libftdi)
99 #:use-module (gnu packages libunwind)
100 #:use-module (gnu packages libusb)
79 #:use-module (gnu packages linux) 101 #:use-module (gnu packages linux)
80 #:use-module (gnu packages lua) 102 #:use-module (gnu packages lua)
81 #:use-module (gnu packages guile) 103 #:use-module (gnu packages man)
82 #:use-module (gnu packages gettext) 104 #:use-module (gnu packages mcrypt)
83 #:use-module (gnu packages imagemagick) 105 #:use-module (gnu packages mpi)
84 #:use-module (gnu packages inkscape) 106 #:use-module (gnu packages ncurses)
107 #:use-module (gnu packages openldap)
108 #:use-module (gnu packages patchutils)
109 #:use-module (gnu packages pciutils)
85 #:use-module (gnu packages pcre) 110 #:use-module (gnu packages pcre)
86 #:use-module (gnu packages perl) 111 #:use-module (gnu packages perl)
87 #:use-module (gnu packages perl-check) 112 #:use-module (gnu packages perl-check)
88 #:use-module (gnu packages tcl)
89 #:use-module (gnu packages compression)
90 #:use-module (gnu packages cross-base)
91 #:use-module (gnu packages tls)
92 #:use-module (gnu packages gnupg)
93 #:use-module (gnu packages bison)
94 #:use-module (gnu packages flex)
95 #:use-module (gnu packages gl)
96 #:use-module (gnu packages glib)
97 #:use-module (gnu packages openldap)
98 #:use-module (gnu packages mcrypt)
99 #:use-module (gnu packages patchutils)
100 #:use-module (gnu packages pkg-config) 113 #:use-module (gnu packages pkg-config)
101 #:use-module (gnu packages popt) 114 #:use-module (gnu packages popt)
102 #:use-module (gnu packages python) 115 #:use-module (gnu packages python)
@@ -104,28 +117,17 @@
104 #:use-module (gnu packages python-web) 117 #:use-module (gnu packages python-web)
105 #:use-module (gnu packages python-xyz) 118 #:use-module (gnu packages python-xyz)
106 #:use-module (gnu packages qt) 119 #:use-module (gnu packages qt)
120 #:use-module (gnu packages readline)
107 #:use-module (gnu packages sphinx) 121 #:use-module (gnu packages sphinx)
122 #:use-module (gnu packages tcl)
108 #:use-module (gnu packages terminals) 123 #:use-module (gnu packages terminals)
109 #:use-module (gnu packages texinfo) 124 #:use-module (gnu packages texinfo)
110 #:use-module (gnu packages groff) 125 #:use-module (gnu packages tls)
111 #:use-module (gnu packages pciutils) 126 #:use-module (gnu packages version-control)
112 #:use-module (gnu packages libunwind) 127 #:use-module (gnu packages web)
113 #:use-module (gnu packages libusb)
114 #:use-module (gnu packages libftdi)
115 #:use-module (gnu packages image)
116 #:use-module (gnu packages xorg)
117 #:use-module (gnu packages xdisorg) 128 #:use-module (gnu packages xdisorg)
118 #:use-module (gnu packages man)
119 #:use-module (gnu packages autotools)
120 #:use-module (gnu packages gnome)
121 #:use-module (gnu packages kerberos)
122 #:use-module (gnu packages gtk)
123 #:use-module (gnu packages xml) 129 #:use-module (gnu packages xml)
124 #:use-module (gnu packages boost) 130 #:use-module (gnu packages xorg))
125 #:use-module (gnu packages elf)
126 #:use-module (gnu packages mpi)
127 #:use-module (gnu packages version-control)
128 #:use-module (gnu packages web))
129 131
130(define-public aide 132(define-public aide
131 (package 133 (package
@@ -1605,7 +1607,7 @@ module slots, and the list of I/O ports (e.g. serial, parallel, USB).")
1605(define-public acpica 1607(define-public acpica
1606 (package 1608 (package
1607 (name "acpica") 1609 (name "acpica")
1608 (version "20200214") 1610 (version "20200326")
1609 (source (origin 1611 (source (origin
1610 (method url-fetch) 1612 (method url-fetch)
1611 (uri (string-append 1613 (uri (string-append
@@ -1613,7 +1615,7 @@ module slots, and the list of I/O ports (e.g. serial, parallel, USB).")
1613 version ".tar.gz")) 1615 version ".tar.gz"))
1614 (sha256 1616 (sha256
1615 (base32 1617 (base32
1616 "0jdasziq184l3iqyp5vhrsbi6g89n10wr0ssliiz0xi3dqwsxcqk")))) 1618 "0y08l6djjn87jmsp5kj0myjdb48000g20xlfs0a22jzzi383h3by"))))
1617 (build-system gnu-build-system) 1619 (build-system gnu-build-system)
1618 (native-inputs `(("flex" ,flex) 1620 (native-inputs `(("flex" ,flex)
1619 ("bison" ,bison))) 1621 ("bison" ,bison)))
@@ -2496,7 +2498,7 @@ throughput (in the same interval).")
2496(define-public thefuck 2498(define-public thefuck
2497 (package 2499 (package
2498 (name "thefuck") 2500 (name "thefuck")
2499 (version "3.29") 2501 (version "3.30")
2500 (source 2502 (source
2501 (origin 2503 (origin
2502 (method git-fetch) 2504 (method git-fetch)
@@ -2505,7 +2507,7 @@ throughput (in the same interval).")
2505 (commit version))) 2507 (commit version)))
2506 (file-name (git-file-name name version)) 2508 (file-name (git-file-name name version))
2507 (sha256 2509 (sha256
2508 (base32 "1qhxwjjgrzpqrqjv7l2847ywpln76lyd6j8bl9gz2r6kl0fx2fqs")) 2510 (base32 "0fnf78956pwhb9cgv1jmgypnkma5xzflkivfrkfiadbgin848yfg"))
2509 (patches (search-patches "thefuck-test-environ.patch")))) 2511 (patches (search-patches "thefuck-test-environ.patch"))))
2510 (build-system python-build-system) 2512 (build-system python-build-system)
2511 (arguments 2513 (arguments
@@ -2527,7 +2529,8 @@ throughput (in the same interval).")
2527 ("python-pyte" ,python-pyte) 2529 ("python-pyte" ,python-pyte)
2528 ("python-six" ,python-six))) 2530 ("python-six" ,python-six)))
2529 (native-inputs 2531 (native-inputs
2530 `(("python-mock" ,python-mock) 2532 `(("go" ,go)
2533 ("python-mock" ,python-mock)
2531 ("python-pytest" ,python-pytest) 2534 ("python-pytest" ,python-pytest)
2532 ("python-pytest-mock" ,python-pytest-mock))) 2535 ("python-pytest-mock" ,python-pytest-mock)))
2533 (home-page "https://github.com/nvbn/thefuck") 2536 (home-page "https://github.com/nvbn/thefuck")
@@ -2880,7 +2883,7 @@ buffers.")
2880 ("automake" ,automake) 2883 ("automake" ,automake)
2881 ("libtool" ,libtool) 2884 ("libtool" ,libtool)
2882 ("pkg-config" ,pkg-config))) 2885 ("pkg-config" ,pkg-config)))
2883 (home-page "https://cgit.freedesktop.org/xorg/app/intel-gpu-tools/") 2886 (home-page "https://gitlab.freedesktop.org/drm/igt-gpu-tools")
2884 (synopsis "Tools for development and testing of the Intel DRM driver") 2887 (synopsis "Tools for development and testing of the Intel DRM driver")
2885 (description "IGT GPU Tools is a collection of tools for development and 2888 (description "IGT GPU Tools is a collection of tools for development and
2886testing of the Intel DRM driver. There are many macro-level test suites that 2889testing of the Intel DRM driver. There are many macro-level test suites that
@@ -2893,9 +2896,6 @@ Intel DRM Driver.")
2893 (supported-systems '("i686-linux" "x86_64-linux")) 2896 (supported-systems '("i686-linux" "x86_64-linux"))
2894 (license license:expat))) 2897 (license license:expat)))
2895 2898
2896(define-public intel-gpu-tools
2897 (deprecated-package "intel-gpu-tools" igt-gpu-tools))
2898
2899(define-public fabric 2899(define-public fabric
2900 (package 2900 (package
2901 (name "fabric") 2901 (name "fabric")
@@ -2943,35 +2943,34 @@ tool for remote execution and deployment.")
2943 (license license:bsd-2))) 2943 (license license:bsd-2)))
2944 2944
2945(define-public neofetch 2945(define-public neofetch
2946 (let ((commit "501d6b7594296d9eac8943140f8581daf555873d")) 2946 (package
2947 (package 2947 (name "neofetch")
2948 (name "neofetch") 2948 (version "7.0.0")
2949 (version (git-version "6.1.0" "1" commit)) 2949 (source (origin
2950 (source (origin 2950 (method git-fetch)
2951 (method git-fetch) 2951 (uri (git-reference
2952 (uri (git-reference 2952 (url "https://github.com/dylanaraps/neofetch")
2953 (url "https://github.com/dylanaraps/neofetch") 2953 (commit version)))
2954 (commit commit))) 2954 (file-name (git-file-name name version))
2955 (file-name (git-file-name name version)) 2955 (sha256
2956 (sha256 2956 (base32
2957 (base32 2957 "0xc0fdc7n5bhqirh83agqiy8r14l14zwca07czvj8vgnsnfybslr"))))
2958 "1h5md9jimyc6z4d7w66j27hn8qghzyxgpkh5h9dclzxpp5cs8whb")))) 2958 (build-system gnu-build-system)
2959 (build-system gnu-build-system) 2959 (arguments
2960 (arguments 2960 `(#:tests? #f ; there are no tests
2961 `(#:tests? #f ; there are no tests 2961 #:make-flags
2962 #:make-flags 2962 (list (string-append "PREFIX=" %output))
2963 (list (string-append "PREFIX=" %output)) 2963 #:phases
2964 #:phases 2964 (modify-phases %standard-phases
2965 (modify-phases %standard-phases 2965 (delete 'configure)))) ; no configure script
2966 (delete 'configure)))) ; no configure script 2966 (home-page "https://github.com/dylanaraps/neofetch")
2967 (home-page "https://github.com/dylanaraps/neofetch") 2967 (synopsis "System information script")
2968 (synopsis "System information script") 2968 (description "Neofetch is a command-line system information tool written in
2969 (description "Neofetch is a command-line system information tool written in
2970Bash. Neofetch displays information about your system next to an image, your OS 2969Bash. Neofetch displays information about your system next to an image, your OS
2971logo, or any ASCII file of your choice. The main purpose of Neofetch is to be 2970logo, or any ASCII file of your choice. The main purpose of Neofetch is to be
2972used in screenshots to show other users what operating system or distribution 2971used in screenshots to show other users what operating system or distribution
2973you are running, what theme or icon set you are using, etc.") 2972you are running, what theme or icon set you are using, etc.")
2974 (license license:expat)))) 2973 (license license:expat)))
2975 2974
2976(define-public screenfetch 2975(define-public screenfetch
2977 (package 2976 (package
diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm
index e2e26c8c253..4ff766eef19 100644
--- a/gnu/packages/algebra.scm
+++ b/gnu/packages/algebra.scm
@@ -10,6 +10,7 @@
10;;; Copyright © 2017, 2019 Eric Bavier <bavier@member.fsf.org> 10;;; Copyright © 2017, 2019 Eric Bavier <bavier@member.fsf.org>
11;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com> 11;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com>
12;;; Copyright © 2020 Björn Höfling <bjoern.hoefling@bjoernhoefling.de> 12;;; Copyright © 2020 Björn Höfling <bjoern.hoefling@bjoernhoefling.de>
13;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
13;;; 14;;;
14;;; This file is part of GNU Guix. 15;;; This file is part of GNU Guix.
15;;; 16;;;
@@ -433,9 +434,6 @@ maple, mupad and the TI89. It is available as a standalone program (graphic
433or text interfaces) or as a C++ library.") 434or text interfaces) or as a C++ library.")
434 (license license:gpl3+))) 435 (license license:gpl3+)))
435 436
436(define-public giac-xcas
437 (deprecated-package "giac-xcas" giac))
438
439(define-public flint 437(define-public flint
440 (package 438 (package
441 (name "flint") 439 (name "flint")
@@ -562,42 +560,50 @@ these types and other mathematical functions.")
562(define-public ntl 560(define-public ntl
563 (package 561 (package
564 (name "ntl") 562 (name "ntl")
565 (version "9.7.0") 563 (version "11.4.3")
566 (source (origin 564 (source (origin
567 (method url-fetch) 565 (method url-fetch)
568 (uri (string-append "http://shoup.net/ntl/ntl-" 566 (uri (string-append "https://shoup.net/ntl/ntl-"
569 version ".tar.gz")) 567 version ".tar.gz"))
570 (sha256 (base32 568 (sha256
571 "115frp5flyvw9wghz4zph1b3llmr5nbxk1skgsggckr81fh3gmxq")))) 569 (base32
570 "1lisp3064rch3jaa2wrhy1s9kll7i3ka3d0y6lj6l3l4ckfcrhdp"))
571 (modules '((guix build utils)))
572 (snippet
573 '(begin
574 (delete-file-recursively "src/libtool-origin")
575 #t))))
572 (build-system gnu-build-system) 576 (build-system gnu-build-system)
573 (native-inputs 577 (native-inputs
574 `(("libtool" ,libtool) 578 `(("libtool" ,libtool)
575 ("perl" ,perl))) ; for configuration 579 ("perl" ,perl))) ; for configuration
576 ;; FIXME: Add optional input gf2x once available; then also add
577 ;; configure flag "NTL_GF2X_LIB=on".
578 (inputs 580 (inputs
579 `(("gmp" ,gmp))) 581 `(("gmp" ,gmp)
582 ("gf2x" ,gf2x)))
580 (arguments 583 (arguments
581 `(#:phases 584 `(#:phases
582 (modify-phases %standard-phases 585 (modify-phases %standard-phases
583 (replace 'configure 586 (replace 'configure
584 (lambda* (#:key outputs #:allow-other-keys) 587 (lambda* (#:key inputs outputs #:allow-other-keys)
585 (chdir "src") 588 (chdir "src")
586 (system* "./configure" 589 (invoke "./configure"
587 (string-append "PREFIX=" (assoc-ref outputs "out")) 590 (string-append "PREFIX=" (assoc-ref outputs "out"))
591 (string-append "LIBTOOL=" (assoc-ref inputs "libtool") "/bin/libtool")
592 ;; set the library prefixes explicitly so that they get
593 ;; embedded in the .la file
594 (string-append "GMP_PREFIX=" (assoc-ref inputs "gmp"))
595 (string-append "GF2X_PREFIX=" (assoc-ref inputs "gf2x"))
588 ;; Do not build especially for the build machine. 596 ;; Do not build especially for the build machine.
589 "NATIVE=off" 597 "NATIVE=off"
590 ;; Also do not tune to the build machine. 598 "NTL_GF2X_LIB=on"
591 "WIZARD=off" 599 "SHARED=on"))))))
592 "SHARED=on")
593 #t)))))
594 (synopsis "C++ library for number theory") 600 (synopsis "C++ library for number theory")
595 (description 601 (description
596 "NTL is a C++ library providing data structures and algorithms 602 "NTL is a C++ library providing data structures and algorithms
597for manipulating signed, arbitrary length integers, and for vectors, 603for manipulating signed, arbitrary length integers, and for vectors,
598matrices, and polynomials over the integers and over finite fields.") 604matrices, and polynomials over the integers and over finite fields.")
599 (license license:gpl2+) 605 (license license:gpl2+)
600 (home-page "http://shoup.net/ntl/"))) 606 (home-page "https://shoup.net/ntl/")))
601 607
602(define-public singular 608(define-public singular
603 (package 609 (package
@@ -1437,8 +1443,7 @@ of M4RI from F_2 to F_{2^e}.")
1437 ("automake" ,automake) 1443 ("automake" ,automake)
1438 ("libtool" ,libtool))) 1444 ("libtool" ,libtool)))
1439 (inputs 1445 (inputs
1440 `(("gmp" ,gmp) 1446 `(("ntl" ,ntl)
1441 ("ntl" ,ntl)
1442 ("pari-gp" ,pari-gp))) 1447 ("pari-gp" ,pari-gp)))
1443 (synopsis "Ranks of elliptic curves and modular symbols") 1448 (synopsis "Ranks of elliptic curves and modular symbols")
1444 (description "The eclib package includes mwrank (for 2-descent on 1449 (description "The eclib package includes mwrank (for 2-descent on
diff --git a/gnu/packages/assembly.scm b/gnu/packages/assembly.scm
index 0a24220e184..9ebfe834bfd 100644
--- a/gnu/packages/assembly.scm
+++ b/gnu/packages/assembly.scm
@@ -259,7 +259,7 @@ runtime")
259(define-public rgbds 259(define-public rgbds
260 (package 260 (package
261 (name "rgbds") 261 (name "rgbds")
262 (version "0.3.9") 262 (version "0.3.10")
263 (source (origin 263 (source (origin
264 (method git-fetch) 264 (method git-fetch)
265 (uri (git-reference 265 (uri (git-reference
@@ -268,7 +268,7 @@ runtime")
268 (file-name (git-file-name name version)) 268 (file-name (git-file-name name version))
269 (sha256 269 (sha256
270 (base32 270 (base32
271 "0pzd9ig3ahpgq7jbj82grllxx1v01d620insr2m8h0c6jj25n5hv")))) 271 "0752fbffxgxyf3jw2iij88l05dqhppgcxy7dvk82hp4wdg4cflpq"))))
272 (build-system gnu-build-system) 272 (build-system gnu-build-system)
273 (arguments 273 (arguments
274 `(#:phases 274 `(#:phases
diff --git a/gnu/packages/bioconductor.scm b/gnu/packages/bioconductor.scm
index b62a6188d12..28522e7c13c 100644
--- a/gnu/packages/bioconductor.scm
+++ b/gnu/packages/bioconductor.scm
@@ -7302,14 +7302,14 @@ access.")
7302(define-public r-multiassayexperiment 7302(define-public r-multiassayexperiment
7303 (package 7303 (package
7304 (name "r-multiassayexperiment") 7304 (name "r-multiassayexperiment")
7305 (version "1.12.5") 7305 (version "1.12.6")
7306 (source 7306 (source
7307 (origin 7307 (origin
7308 (method url-fetch) 7308 (method url-fetch)
7309 (uri (bioconductor-uri "MultiAssayExperiment" version)) 7309 (uri (bioconductor-uri "MultiAssayExperiment" version))
7310 (sha256 7310 (sha256
7311 (base32 7311 (base32
7312 "0a7zsq3adg8rph1w2qr75bpmrq53j99rsypmxj9w5mz9q23r2qlr")))) 7312 "174vzlxsyayb5il77cb3zzgszxl3l0wkprc9w6pgz4yv5ix13adi"))))
7313 (properties 7313 (properties
7314 `((upstream-name . "MultiAssayExperiment"))) 7314 `((upstream-name . "MultiAssayExperiment")))
7315 (build-system r-build-system) 7315 (build-system r-build-system)
diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm
index ce816a528ad..84a7e68b889 100644
--- a/gnu/packages/cpp.scm
+++ b/gnu/packages/cpp.scm
@@ -1,6 +1,6 @@
1;;; GNU Guix --- Functional package management for GNU 1;;; GNU Guix --- Functional package management for GNU
2;;; Copyright © 2017 Ethan R. Jones <doubleplusgood23@gmail.com> 2;;; Copyright © 2017 Ethan R. Jones <doubleplusgood23@gmail.com>
3;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr> 3;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
4;;; Copyright © 2018 Fis Trivial <ybbs.daans@hotmail.com> 4;;; Copyright © 2018 Fis Trivial <ybbs.daans@hotmail.com>
5;;; Copyright © 2018 Ludovic Courtès <ludo@gnu.org> 5;;; Copyright © 2018 Ludovic Courtès <ludo@gnu.org>
6;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com> 6;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com>
@@ -262,7 +262,7 @@ intuitive syntax and trivial integration.")
262(define-public xtl 262(define-public xtl
263 (package 263 (package
264 (name "xtl") 264 (name "xtl")
265 (version "0.6.8") 265 (version "0.6.13")
266 (source (origin 266 (source (origin
267 (method git-fetch) 267 (method git-fetch)
268 (uri 268 (uri
@@ -271,7 +271,7 @@ intuitive syntax and trivial integration.")
271 (commit version))) 271 (commit version)))
272 (sha256 272 (sha256
273 (base32 273 (base32
274 "13gm8vm1b9nzvlcc632f9khnjw1xdjqj6c7k51r173y1hlk0div7")) 274 "0py70lm2i3sxzpgca2cic8zfn6dn18q837h76a5fchl2c0kpxm91"))
275 (file-name (git-file-name name version)))) 275 (file-name (git-file-name name version))))
276 (native-inputs 276 (native-inputs
277 `(("googletest" ,googletest) 277 `(("googletest" ,googletest)
diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm
index 129c5c07c81..9d715020176 100644
--- a/gnu/packages/cran.scm
+++ b/gnu/packages/cran.scm
@@ -677,7 +677,11 @@ LaTeX.")
677 (("if \\(!grepl\\(\"mingw\".*") 677 (("if \\(!grepl\\(\"mingw\".*")
678 "if (FALSE)\n")) 678 "if (FALSE)\n"))
679 (substitute* "src/handle.c" 679 (substitute* "src/handle.c"
680 (("#ifdef _WIN32") "#if 1")) 680 (("/\\* Only set" m)
681 (string-append "\
682const char *_ca_bundle = getenv(\"CURL_CA_BUNDLE\");
683if(_ca_bundle != NULL) { curl_easy_setopt(handle, CURLOPT_CAINFO, _ca_bundle); }
684" m)))
681 #t))))) 685 #t)))))
682 (inputs 686 (inputs
683 `(("libcurl" ,curl) 687 `(("libcurl" ,curl)
@@ -2107,14 +2111,14 @@ package also provides a C++ API, that works with or without Rcpp.")
2107(define-public r-ggally 2111(define-public r-ggally
2108 (package 2112 (package
2109 (name "r-ggally") 2113 (name "r-ggally")
2110 (version "1.4.0") 2114 (version "1.5.0")
2111 (source 2115 (source
2112 (origin 2116 (origin
2113 (method url-fetch) 2117 (method url-fetch)
2114 (uri (cran-uri "GGally" version)) 2118 (uri (cran-uri "GGally" version))
2115 (sha256 2119 (sha256
2116 (base32 2120 (base32
2117 "1zjmcc5bzagvy7c5cmdcl39xmx07fwi98yrj4i05w7y40kqcsiws")))) 2121 "082s321zspg5al6acigwrhg4fsrmkkk5caabg662qbcy8v6n34h6"))))
2118 (properties `((upstream-name . "GGally"))) 2122 (properties `((upstream-name . "GGally")))
2119 (build-system r-build-system) 2123 (build-system r-build-system)
2120 (inputs 2124 (inputs
@@ -6086,14 +6090,14 @@ results to the user.")
6086(define-public r-hdf5r 6090(define-public r-hdf5r
6087 (package 6091 (package
6088 (name "r-hdf5r") 6092 (name "r-hdf5r")
6089 (version "1.3.1") 6093 (version "1.3.2")
6090 (source 6094 (source
6091 (origin 6095 (origin
6092 (method url-fetch) 6096 (method url-fetch)
6093 (uri (cran-uri "hdf5r" version)) 6097 (uri (cran-uri "hdf5r" version))
6094 (sha256 6098 (sha256
6095 (base32 6099 (base32
6096 "0hvi2cvyv6zlxgpawnmsihxclp2ln88slbrnmaxagmjswskxsrpx")))) 6100 "0c2p06k9bp9rf0fyavnxw5d8jr2bbgx3gjblahz581cpvsfksj9i"))))
6097 (build-system r-build-system) 6101 (build-system r-build-system)
6098 (inputs 6102 (inputs
6099 `(("hdf5" ,hdf5) 6103 `(("hdf5" ,hdf5)
@@ -6101,6 +6105,8 @@ results to the user.")
6101 (propagated-inputs 6105 (propagated-inputs
6102 `(("r-bit64" ,r-bit64) 6106 `(("r-bit64" ,r-bit64)
6103 ("r-r6" ,r-r6))) 6107 ("r-r6" ,r-r6)))
6108 (native-inputs
6109 `(("r-knitr" ,r-knitr)))
6104 (home-page "https://hhoeflin.github.io/hdf5r") 6110 (home-page "https://hhoeflin.github.io/hdf5r")
6105 (synopsis "Interface to the HDF5 binary data format") 6111 (synopsis "Interface to the HDF5 binary data format")
6106 (description 6112 (description
@@ -8512,18 +8518,20 @@ differentiation.")
8512(define-public r-bayestestr 8518(define-public r-bayestestr
8513 (package 8519 (package
8514 (name "r-bayestestr") 8520 (name "r-bayestestr")
8515 (version "0.5.2") 8521 (version "0.5.3")
8516 (source 8522 (source
8517 (origin 8523 (origin
8518 (method url-fetch) 8524 (method url-fetch)
8519 (uri (cran-uri "bayestestR" version)) 8525 (uri (cran-uri "bayestestR" version))
8520 (sha256 8526 (sha256
8521 (base32 8527 (base32
8522 "1l0kqw793d8fnk0745fllmqwjwnj9srvqzv4baq5s05ls1gbi2mw")))) 8528 "1q24qh5p6bz4nbf4546kckh7d518x5pm1yhhbc8fwcnbca4kgqjz"))))
8523 (properties `((upstream-name . "bayestestR"))) 8529 (properties `((upstream-name . "bayestestR")))
8524 (build-system r-build-system) 8530 (build-system r-build-system)
8525 (propagated-inputs 8531 (propagated-inputs
8526 `(("r-insight" ,r-insight))) 8532 `(("r-insight" ,r-insight)))
8533 (native-inputs
8534 `(("r-knitr" ,r-knitr)))
8527 (home-page "https://github.com/easystats/bayestestR") 8535 (home-page "https://github.com/easystats/bayestestR")
8528 (synopsis "Describe Bayesian models and posterior distributions") 8536 (synopsis "Describe Bayesian models and posterior distributions")
8529 (description 8537 (description
@@ -13178,14 +13186,14 @@ tessellation.")
13178(define-public r-sf 13186(define-public r-sf
13179 (package 13187 (package
13180 (name "r-sf") 13188 (name "r-sf")
13181 (version "0.8-1") 13189 (version "0.9-0")
13182 (source 13190 (source
13183 (origin 13191 (origin
13184 (method url-fetch) 13192 (method url-fetch)
13185 (uri (cran-uri "sf" version)) 13193 (uri (cran-uri "sf" version))
13186 (sha256 13194 (sha256
13187 (base32 13195 (base32
13188 "17wyv74m1ppc3s5jdv60r74jj23nidxpzl46vjhfclfhnpvm7sx9")))) 13196 "117r9l3v7nkdj9bfy6qr0yz0gd5bv0pwnkc9vk2gv3xqj0h1fpf6"))))
13189 (build-system r-build-system) 13197 (build-system r-build-system)
13190 (inputs 13198 (inputs
13191 `(("gdal" ,gdal) 13199 `(("gdal" ,gdal)
@@ -13198,7 +13206,9 @@ tessellation.")
13198 ("r-magrittr" ,r-magrittr) 13206 ("r-magrittr" ,r-magrittr)
13199 ("r-rcpp" ,r-rcpp) 13207 ("r-rcpp" ,r-rcpp)
13200 ("r-units" ,r-units))) 13208 ("r-units" ,r-units)))
13201 (native-inputs `(("pkg-config" ,pkg-config))) 13209 (native-inputs
13210 `(("pkg-config" ,pkg-config)
13211 ("r-knitr" ,r-knitr)))
13202 (home-page "https://github.com/r-spatial/sf/") 13212 (home-page "https://github.com/r-spatial/sf/")
13203 (synopsis "Simple features for R") 13213 (synopsis "Simple features for R")
13204 (description 13214 (description
@@ -13848,14 +13858,14 @@ the corresponding outputs (tables and graphs).")
13848(define-public r-rjava 13858(define-public r-rjava
13849 (package 13859 (package
13850 (name "r-rjava") 13860 (name "r-rjava")
13851 (version "0.9-11") 13861 (version "0.9-12")
13852 (source 13862 (source
13853 (origin 13863 (origin
13854 (method url-fetch) 13864 (method url-fetch)
13855 (uri (cran-uri "rJava" version)) 13865 (uri (cran-uri "rJava" version))
13856 (sha256 13866 (sha256
13857 (base32 13867 (base32
13858 "0s9cjy1wh7snmbqwznh8f1r4ipylr7mgda4a979z963a8lqy32n2")))) 13868 "03vv0pj6san03c51iyqsyb1rwh3097dfpl2s8iswzzmc7k3shj12"))))
13859 (properties `((upstream-name . "rJava"))) 13869 (properties `((upstream-name . "rJava")))
13860 (build-system r-build-system) 13870 (build-system r-build-system)
13861 (arguments 13871 (arguments
@@ -15355,14 +15365,14 @@ the current document.")
15355(define-public r-xgboost 15365(define-public r-xgboost
15356 (package 15366 (package
15357 (name "r-xgboost") 15367 (name "r-xgboost")
15358 (version "1.0.0.1") 15368 (version "1.0.0.2")
15359 (source 15369 (source
15360 (origin 15370 (origin
15361 (method url-fetch) 15371 (method url-fetch)
15362 (uri (cran-uri "xgboost" version)) 15372 (uri (cran-uri "xgboost" version))
15363 (sha256 15373 (sha256
15364 (base32 15374 (base32
15365 "0fx5qjpjjirzhplddqmxlysyqszp79w74x00b5shp6p2lzy6yd9a")))) 15375 "1ld2w51c5fy3bl0kvjn1iplffc4lmin9s9zz5xx7xsm44d6j6kzd"))))
15366 (build-system r-build-system) 15376 (build-system r-build-system)
15367 (propagated-inputs 15377 (propagated-inputs
15368 `(("r-data-table" ,r-data-table) 15378 `(("r-data-table" ,r-data-table)
diff --git a/gnu/packages/crypto.scm b/gnu/packages/crypto.scm
index 2b77a79c2fb..bb684ddb538 100644
--- a/gnu/packages/crypto.scm
+++ b/gnu/packages/crypto.scm
@@ -1089,8 +1089,8 @@ API.")
1089 (license license:asl2.0))) 1089 (license license:asl2.0)))
1090 1090
1091(define-public hash-extender 1091(define-public hash-extender
1092 (let ((commit "9ecef26809a1ceea2a455f6f591b004298df551b") 1092 (let ((commit "cb8aaee49f93e9c0d2f03eb3cafb429c9eed723d")
1093 (revision "1")) 1093 (revision "2"))
1094 (package 1094 (package
1095 (name "hash-extender") 1095 (name "hash-extender")
1096 (version (git-version "0.0" revision commit)) 1096 (version (git-version "0.0" revision commit))
@@ -1101,10 +1101,8 @@ API.")
1101 (commit commit))) 1101 (commit commit)))
1102 (sha256 1102 (sha256
1103 (base32 1103 (base32
1104 "0fqy3d559zgf71w39py0931d8na0ylils45r8zs6r79wgr6qn78c")) 1104 "1fj118566hr1wv03az2w0iqknazsqqkak0mvlcvwpgr6midjqi9b"))
1105 (file-name (git-file-name name version)) 1105 (file-name (git-file-name name version))))
1106 (patches
1107 (search-patches "hash-extender-test-suite.patch"))))
1108 (build-system gnu-build-system) 1106 (build-system gnu-build-system)
1109 (arguments 1107 (arguments
1110 `(#:phases 1108 `(#:phases
diff --git a/gnu/packages/cybersecurity.scm b/gnu/packages/cybersecurity.scm
new file mode 100644
index 00000000000..aedac03b8a9
--- /dev/null
+++ b/gnu/packages/cybersecurity.scm
@@ -0,0 +1,46 @@
1;;; GNU Guix --- Functional package management for GNU
2;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
3;;;
4;;; This file is part of GNU Guix.
5;;;
6;;; GNU Guix is free software; you can redistribute it and/or modify it
7;;; under the terms of the GNU General Public License as published by
8;;; the Free Software Foundation; either version 3 of the License, or (at
9;;; your option) any later version.
10;;;
11;;; GNU Guix is distributed in the hope that it will be useful, but
12;;; WITHOUT ANY WARRANTY; without even the implied warranty of
13;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14;;; GNU General Public License for more details.
15;;;
16;;; You should have received a copy of the GNU General Public License
17;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
18
19(define-module (gnu packages cybersecurity)
20 #:use-module (guix download)
21 #:use-module (guix packages)
22 #:use-module ((guix licenses) #:prefix license:)
23 #:use-module (guix build-system python)
24 #:use-module (gnu packages engineering))
25
26(define-public ropgadget
27 (package
28 (name "ropgadget")
29 (version "6.2")
30 (source
31 (origin
32 (method url-fetch)
33 (uri (pypi-uri "ROPGadget" version))
34 (sha256
35 (base32
36 "0idiicgpijar9l9kqmfdh865c2mkfgxg0q7lpz77jc09l6q0afjh"))))
37 (build-system python-build-system)
38 (propagated-inputs
39 `(("python-capstone" ,python-capstone)))
40 (home-page "http://shell-storm.org/project/ROPgadget/")
41 (synopsis "Semiautomatic return oriented programming")
42 (description
43 "This tool lets you search for @acronym{ROP, Return Oriented Programming}
44gadgets in binaries. Some facilities are included for automatically generating
45chains of gadgets to execute system calls.")
46 (license license:bsd-3)))
diff --git a/gnu/packages/dictionaries.scm b/gnu/packages/dictionaries.scm
index d8e30a55245..d481b139a5c 100644
--- a/gnu/packages/dictionaries.scm
+++ b/gnu/packages/dictionaries.scm
@@ -205,14 +205,14 @@ It comes with a German-English dictionary with approximately 270,000 entries.")
205(define-public grammalecte 205(define-public grammalecte
206 (package 206 (package
207 (name "grammalecte") 207 (name "grammalecte")
208 (version "1.7.0") 208 (version "1.8.0")
209 (source 209 (source
210 (origin 210 (origin
211 (method url-fetch/zipbomb) 211 (method url-fetch/zipbomb)
212 (uri (string-append "https://grammalecte.net/grammalecte/zip/" 212 (uri (string-append "https://grammalecte.net/grammalecte/zip/"
213 "Grammalecte-fr-v" version ".zip")) 213 "Grammalecte-fr-v" version ".zip"))
214 (sha256 214 (sha256
215 (base32 "0wb126mqnq9ns6gzmhzljc6iqywdkpzvr8xny5s3khd10ki4lxl3")))) 215 (base32 "06z2na1zs5q6vla45q5b8fzjwpckanmwh42r8in8vhb7a8v2fkyp"))))
216 (build-system python-build-system) 216 (build-system python-build-system)
217 (home-page "https://grammalecte.net") 217 (home-page "https://grammalecte.net")
218 (synopsis "French spelling and grammar checker") 218 (synopsis "French spelling and grammar checker")
diff --git a/gnu/packages/education.scm b/gnu/packages/education.scm
index 7c84d832c00..836fc2b525b 100644
--- a/gnu/packages/education.scm
+++ b/gnu/packages/education.scm
@@ -602,14 +602,14 @@ Portuguese, Spanish and Italian.")
602(define-public fet 602(define-public fet
603 (package 603 (package
604 (name "fet") 604 (name "fet")
605 (version "5.43.2") 605 (version "5.44.0")
606 (source 606 (source
607 (origin 607 (origin
608 (method url-fetch) 608 (method url-fetch)
609 (uri (string-append "https://www.lalescu.ro/liviu/fet/download/" 609 (uri (string-append "https://www.lalescu.ro/liviu/fet/download/"
610 "fet-" version ".tar.bz2")) 610 "fet-" version ".tar.bz2"))
611 (sha256 611 (sha256
612 (base32 "111ijwdpdnavi2jjp8jqnwkgi1b9n79svkfw68fmga0z7d3nd62g")))) 612 (base32 "13q3b0g1zz885g15gir8fbalvix8sy42v1p429h0751490wq5c3h"))))
613 (build-system gnu-build-system) 613 (build-system gnu-build-system)
614 (arguments 614 (arguments
615 `(#:phases 615 `(#:phases
diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index d97dc49ce21..feea43b5003 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -43,7 +43,7 @@
43;;; Copyright © 2018, 2019 Pierre Langlois <pierre.langlois@gmx.com> 43;;; Copyright © 2018, 2019 Pierre Langlois <pierre.langlois@gmx.com>
44;;; Copyright © 2018, 2019, 2020 Brett Gilio <brettg@gnu.org> 44;;; Copyright © 2018, 2019, 2020 Brett Gilio <brettg@gnu.org>
45;;; Copyright © 2019, 2020 Dimakakos Dimos <bendersteed@teknik.io> 45;;; Copyright © 2019, 2020 Dimakakos Dimos <bendersteed@teknik.io>
46;;; Copyright © 2019 Brian Leung <bkleung89@gmail.com> 46;;; Copyright © 2019, 2020 Brian Leung <bkleung89@gmail.com>
47;;; Copyright © 2019 mikadoZero <mikadozero@yandex.com> 47;;; Copyright © 2019 mikadoZero <mikadozero@yandex.com>
48;;; Copyright © 2019 Gabriel Hondet <gabrielhondet@gmail.com> 48;;; Copyright © 2019 Gabriel Hondet <gabrielhondet@gmail.com>
49;;; Copyright © 2019, 2020 Joseph LaFreniere <joseph@lafreniere.xyz> 49;;; Copyright © 2019, 2020 Joseph LaFreniere <joseph@lafreniere.xyz>
@@ -51,7 +51,7 @@
51;;; Copyright © 2019 Baptiste Strazzulla <bstrazzull@hotmail.fr> 51;;; Copyright © 2019 Baptiste Strazzulla <bstrazzull@hotmail.fr>
52;;; Copyright © 2019 Giacomo Leidi <goodoldpaul@autistici.org> 52;;; Copyright © 2019 Giacomo Leidi <goodoldpaul@autistici.org>
53;;; Copyright © 2019 Jens Mølgaard <jens@zete.tk> 53;;; Copyright © 2019 Jens Mølgaard <jens@zete.tk>
54;;; Copyright © 2019, 2020 Amin Bandali <mab@gnu.org> 54;;; Copyright © 2019, 2020 Amin Bandali <bandali@gnu.org>
55;;; Copyright © 2019 Jelle Licht <jlicht@fsfe.org> 55;;; Copyright © 2019 Jelle Licht <jlicht@fsfe.org>
56;;; Copyright © 2019 Björn Höfling <bjoern.hoefling@bjoernhoefling.de> 56;;; Copyright © 2019 Björn Höfling <bjoern.hoefling@bjoernhoefling.de>
57;;; Copyright © 2019 Stephen Webber <montokapro@gmail.com> 57;;; Copyright © 2019 Stephen Webber <montokapro@gmail.com>
@@ -108,6 +108,7 @@
108 #:use-module (gnu packages guile) 108 #:use-module (gnu packages guile)
109 #:use-module (gnu packages gtk) 109 #:use-module (gnu packages gtk)
110 #:use-module (gnu packages gnome) 110 #:use-module (gnu packages gnome)
111 #:use-module (gnu packages haskell-apps)
111 #:use-module (gnu packages ncurses) 112 #:use-module (gnu packages ncurses)
112 #:use-module (gnu packages python) 113 #:use-module (gnu packages python)
113 #:use-module (gnu packages python-xyz) 114 #:use-module (gnu packages python-xyz)
@@ -211,9 +212,6 @@ implementation, Emacs and, ultimately, the schemer, giving them access to live
211metadata.") 212metadata.")
212 (license license:bsd-3))) 213 (license license:bsd-3)))
213 214
214(define-public geiser
215 (deprecated-package "geiser" emacs-geiser))
216
217(define-public emacs-paredit 215(define-public emacs-paredit
218 (package 216 (package
219 (name "emacs-paredit") 217 (name "emacs-paredit")
@@ -239,9 +237,6 @@ for those who may want transient periods of unbalanced parentheses, such as
239when typing parentheses directly or commenting out code line by line.") 237when typing parentheses directly or commenting out code line by line.")
240 (license license:gpl3+))) 238 (license license:gpl3+)))
241 239
242(define-public paredit
243 (deprecated-package "paredit" emacs-paredit))
244
245(define-public git-modes 240(define-public git-modes
246 (package 241 (package
247 (name "emacs-git-modes") 242 (name "emacs-git-modes")
@@ -263,9 +258,6 @@ when typing parentheses directly or commenting out code line by line.")
263configuration files, such as .gitattributes, .gitignore, and .git/config.") 258configuration files, such as .gitattributes, .gitignore, and .git/config.")
264 (license license:gpl3+))) 259 (license license:gpl3+)))
265 260
266(define-public git-modes/old-name
267 (deprecated-package "git-modes" git-modes))
268
269(define-public emacs-with-editor 261(define-public emacs-with-editor
270 (package 262 (package
271 (name "emacs-with-editor") 263 (name "emacs-with-editor")
@@ -395,9 +387,6 @@ cherry picking, reverting, merging, rebasing, and other common Git
395operations.") 387operations.")
396 (license license:gpl3+)))) 388 (license license:gpl3+))))
397 389
398(define-public magit
399 (deprecated-package "magit" emacs-magit))
400
401(define-public emacs-magit-svn 390(define-public emacs-magit-svn
402 (let ((commit "9e33ceee32f665db59909e1c00a667ccdd04178f")) 391 (let ((commit "9e33ceee32f665db59909e1c00a667ccdd04178f"))
403 (package 392 (package
@@ -424,9 +413,6 @@ operations.")
424support for Git-SVN.") 413support for Git-SVN.")
425 (license license:gpl3+)))) 414 (license license:gpl3+))))
426 415
427(define-public magit-svn
428 (deprecated-package "magit-svn" emacs-magit-svn))
429
430(define-public emacs-magit-popup 416(define-public emacs-magit-popup
431 (package 417 (package
432 (name "emacs-magit-popup") 418 (name "emacs-magit-popup")
@@ -768,9 +754,6 @@ replacement.")
768programs.") 754programs.")
769 (license license:gpl3+))) 755 (license license:gpl3+)))
770 756
771(define-public haskell-mode
772 (deprecated-package "haskell-mode" emacs-haskell-mode))
773
774(define-public emacs-dante 757(define-public emacs-dante
775 (let ((commit "38b589417294c7ea44bf65b73b8046d950f9531b") 758 (let ((commit "38b589417294c7ea44bf65b73b8046d950f9531b")
776 (revision "1")) 759 (revision "1"))
@@ -1383,10 +1366,6 @@ light user interface.")
1383 (home-page "https://www.gnu.org/software/emms/") 1366 (home-page "https://www.gnu.org/software/emms/")
1384 (license license:gpl3+))) 1367 (license license:gpl3+)))
1385 1368
1386(define-public emacs-emms-player-mpv
1387 ;; A new mpv backend is included in Emms from 5.0.
1388 (deprecated-package "emacs-emms-player-mpv" emacs-emms))
1389
1390(define-public emacs-emms-mode-line-cycle 1369(define-public emacs-emms-mode-line-cycle
1391 (package 1370 (package
1392 (name "emacs-emms-mode-line-cycle") 1371 (name "emacs-emms-mode-line-cycle")
@@ -1485,9 +1464,6 @@ like. It can be linked with various Emacs mail clients (Message and Mail
1485mode, Rmail, Gnus, MH-E, and VM). BBDB is fully customizable.") 1464mode, Rmail, Gnus, MH-E, and VM). BBDB is fully customizable.")
1486 (license license:gpl3+))) 1465 (license license:gpl3+)))
1487 1466
1488(define-public bbdb
1489 (deprecated-package "bbdb" emacs-bbdb))
1490
1491(define-public emacs-aggressive-indent 1467(define-public emacs-aggressive-indent
1492 (package 1468 (package
1493 (name "emacs-aggressive-indent") 1469 (name "emacs-aggressive-indent")
@@ -3367,27 +3343,30 @@ for Flow files.")
3367(define-public emacs-flycheck-grammalecte 3343(define-public emacs-flycheck-grammalecte
3368 (package 3344 (package
3369 (name "emacs-flycheck-grammalecte") 3345 (name "emacs-flycheck-grammalecte")
3370 (version "0.9") 3346 (version "1.0")
3371 (source (origin 3347 (source
3372 (method url-fetch) 3348 (origin
3373 (uri (string-append "https://git.deparis.io/" 3349 (method url-fetch)
3374 "flycheck-grammalecte/snapshot/" 3350 (uri (string-append "https://git.deparis.io/"
3375 "flycheck-grammalecte-" version ".tar.xz")) 3351 "flycheck-grammalecte/snapshot/"
3376 (sha256 3352 "flycheck-grammalecte-" version ".tar.xz"))
3377 (base32 3353 (sha256
3378 "0wjm9xyra870pci4bcrbnc9x66x18mi7iz08rkxa4clxv28xzryb")))) 3354 (base32 "02wxaw228dia8cps0v02327hrrribfqb4601qggjpi4l4ms1lf8b"))))
3379 (build-system emacs-build-system) 3355 (build-system emacs-build-system)
3380 (arguments 3356 (arguments
3381 `(#:include '("\\.(el|py)$") 3357 `(#:include '("\\.(el|py)$")
3382 #:phases 3358 #:phases
3383 (modify-phases %standard-phases 3359 (modify-phases %standard-phases
3384 (add-after 'unpack 'fix-python 3360 (add-after 'unpack 'set-external-executables
3385 ;; Hardcode python3 executable in the Emacs library. 3361 ;; Hardcode python3 and curl executables in the Emacs library.
3386 (lambda* (#:key inputs #:allow-other-keys) 3362 (lambda* (#:key inputs #:allow-other-keys)
3387 (let ((python3 (string-append (assoc-ref inputs "python") 3363 (let ((python3 (string-append (assoc-ref inputs "python")
3388 "/bin/python3"))) 3364 "/bin/python3"))
3365 (curl (string-append (assoc-ref inputs "curl")
3366 "/bin/curl")))
3389 (substitute* "flycheck-grammalecte.el" 3367 (substitute* "flycheck-grammalecte.el"
3390 (("python3") python3)) 3368 (("\"python3?") (string-append "\"" python3))
3369 (("\"curl") (string-append "\"" curl)))
3391 #t))) 3370 #t)))
3392 (add-after 'install 'link-to-grammalecte 3371 (add-after 'install 'link-to-grammalecte
3393 ;; The package expects grammalecte to be in a sub-directory. 3372 ;; The package expects grammalecte to be in a sub-directory.
@@ -3397,14 +3376,15 @@ for Flow files.")
3397 (out (assoc-ref outputs "out")) 3376 (out (assoc-ref outputs "out"))
3398 (version ,(version-major+minor (package-version python)))) 3377 (version ,(version-major+minor (package-version python))))
3399 (with-directory-excursion 3378 (with-directory-excursion
3400 (string-append out "/share/emacs/site-lisp") 3379 (string-append out "/share/emacs/site-lisp")
3401 (symlink (string-append grammalecte "/lib/" 3380 (symlink (string-append grammalecte "/lib/"
3402 "python" version "/site-packages/" 3381 "python" version "/site-packages/"
3403 "grammalecte") 3382 "grammalecte")
3404 "grammalecte")) 3383 "grammalecte"))
3405 #t)))))) 3384 #t))))))
3406 (inputs 3385 (inputs
3407 `(("grammalecte" ,grammalecte) 3386 `(("curl" ,curl)
3387 ("grammalecte" ,grammalecte)
3408 ("python" ,python))) 3388 ("python" ,python)))
3409 (propagated-inputs 3389 (propagated-inputs
3410 `(("emacs-flycheck" ,emacs-flycheck))) 3390 `(("emacs-flycheck" ,emacs-flycheck)))
@@ -10055,9 +10035,6 @@ using ERT. It assumes a certain test structure setup and can therefore make
10055running tests easier.") 10035running tests easier.")
10056 (license license:gpl3+))) 10036 (license license:gpl3+)))
10057 10037
10058(define-public ert-runner
10059 (deprecated-package "ert-runner" emacs-ert-runner))
10060
10061(define-public emacs-xtest 10038(define-public emacs-xtest
10062 (package 10039 (package
10063 (name "emacs-xtest") 10040 (name "emacs-xtest")
@@ -11421,9 +11398,6 @@ Groovy source files, REPL integration with run-groovy and Grails project
11421navigation with the grails mode.") 11398navigation with the grails mode.")
11422 (license license:gpl3+))) 11399 (license license:gpl3+)))
11423 11400
11424(define-public groovy-emacs-modes
11425 (deprecated-package "groovy-emacs-modes" emacs-groovy-modes))
11426
11427(define-public emacs-org-tree-slide 11401(define-public emacs-org-tree-slide
11428 (let ((commit "036a36eec1cf712d3db155572aed325daa372eb5") 11402 (let ((commit "036a36eec1cf712d3db155572aed325daa372eb5")
11429 (revision "2")) 11403 (revision "2"))
@@ -14040,10 +14014,6 @@ functions.")
14040time is being spent during Emacs startup in order to optimize startup time.") 14014time is being spent during Emacs startup in order to optimize startup time.")
14041 (license license:gpl3+))) 14015 (license license:gpl3+)))
14042 14016
14043(define-public emacs-emms-player-simple-mpv
14044 ;; A new mpv backend is included in Emms from 5.0.
14045 (deprecated-package "emacs-emms-player-simple-mpv" emacs-emms))
14046
14047(define-public emacs-magit-gerrit 14017(define-public emacs-magit-gerrit
14048 (let ((version "0.3") 14018 (let ((version "0.3")
14049 (revision "1") 14019 (revision "1")
@@ -15202,10 +15172,6 @@ and the Zotero research assistant: Insertion of links to Zotero items into an
15202Org-mode file, and citations of Zotero items in Pandoc Markdown files.") 15172Org-mode file, and citations of Zotero items in Pandoc Markdown files.")
15203 (license license:gpl3+))) 15173 (license license:gpl3+)))
15204 15174
15205(define-public emacs-evil-ediff
15206 ;; Evil-Ediff is included in Evil Collection from 20180617.
15207 (deprecated-package "emacs-evil-ediff" emacs-evil-collection))
15208
15209(define-public emacs-evil-magit 15175(define-public emacs-evil-magit
15210 (let ((commit "4b66a1db8285457147a5436f209391016a819ea1") 15176 (let ((commit "4b66a1db8285457147a5436f209391016a819ea1")
15211 (revision "3")) 15177 (revision "3"))
@@ -15242,10 +15208,6 @@ See the README at @url{https://github.com/justbur/evil-magit} for a table
15242describing the key binding changes.") 15208describing the key binding changes.")
15243 (license license:gpl3+)))) 15209 (license license:gpl3+))))
15244 15210
15245(define-public emacs-evil-mu4e
15246 ;; Evil-mu4e is included in Evil Collection from 20180617.
15247 (deprecated-package "emacs-evil-mu4e" emacs-evil-collection))
15248
15249(define-public emacs-evil-multiedit 15211(define-public emacs-evil-multiedit
15250 (package 15212 (package
15251 (name "emacs-evil-multiedit") 15213 (name "emacs-evil-multiedit")
@@ -15875,10 +15837,6 @@ file.")
15875@end itemize") 15837@end itemize")
15876 (license license:gpl3+)))) 15838 (license license:gpl3+))))
15877 15839
15878(define-public emacs-wgrep-helm
15879 ;; `emacs-wgrep-helm' was mistakenly added.
15880 (deprecated-package "emacs-wgrep-helm" emacs-wgrep))
15881
15882(define-public emacs-mu4e-conversation 15840(define-public emacs-mu4e-conversation
15883 (let ((commit "98110bb9c300fc9866dee8e0023355f9f79c9b96") 15841 (let ((commit "98110bb9c300fc9866dee8e0023355f9f79c9b96")
15884 (revision "5")) 15842 (revision "5"))
@@ -16071,6 +16029,32 @@ text in neighboring sections.")
16071Pandoc, the document-conversion tool.") 16029Pandoc, the document-conversion tool.")
16072 (license license:bsd-3))) 16030 (license license:bsd-3)))
16073 16031
16032(define-public emacs-hlint-refactor-mode
16033 (let ((commit "c4307f86aad6d02e32e9b30cb6edc115584c791c")
16034 (revision "1"))
16035 (package
16036 (name "emacs-hlint-refactor-mode")
16037 (version (git-version "0.0.1" revision commit))
16038 (source
16039 (origin
16040 (method git-fetch)
16041 (uri (git-reference
16042 (url "https://github.com/mpickering/hlint-refactor-mode")
16043 (commit commit)))
16044 (file-name (git-file-name name version))
16045 (sha256
16046 (base32
16047 "1c71w9s34n0i7mm4njchxn6s3ri1y6mh3akgbg4nq41d42h8iap3"))))
16048 (build-system emacs-build-system)
16049 (propagated-inputs
16050 `(("apply-refact" ,apply-refact)
16051 ("hlint" ,hlint)))
16052 (home-page "https://github.com/mpickering/hlint-refactor-mode")
16053 (synopsis "Emacs bindings for @code{hlint}'s @code{--refactor} option")
16054 (description "This package applies refactoring suggestions from
16055@code{hlint}.")
16056 (license license:expat))))
16057
16074(define-public emacs-ccls 16058(define-public emacs-ccls
16075 (let ((commit "aab3e31fd716daf59f9794e62d473357263e8cc0") 16059 (let ((commit "aab3e31fd716daf59f9794e62d473357263e8cc0")
16076 (revision "4")) 16060 (revision "4"))
@@ -16297,10 +16281,10 @@ text-tree applications inside GNU Emacs. It consists of 2 subprojects:
16297 (license license:gpl3)))) 16281 (license license:gpl3))))
16298 16282
16299(define-public emacs-helm-org-contacts 16283(define-public emacs-helm-org-contacts
16300 (let ((commit "0af703bd9a43032b89fdf5559673151d1ac2fffc")) 16284 (let ((commit "e7f11615802df55bb8b679450b5a5ef82a9081f9"))
16301 (package 16285 (package
16302 (name "emacs-helm-org-contacts") 16286 (name "emacs-helm-org-contacts")
16303 (version (git-version "20180707" "1" commit)) 16287 (version (git-version "20200310" "1" commit))
16304 (source 16288 (source
16305 (origin 16289 (origin
16306 (method git-fetch) 16290 (method git-fetch)
@@ -16310,7 +16294,7 @@ text-tree applications inside GNU Emacs. It consists of 2 subprojects:
16310 (file-name (git-file-name name version)) 16294 (file-name (git-file-name name version))
16311 (sha256 16295 (sha256
16312 (base32 16296 (base32
16313 "1cl7cm2ic9pg4vc9cdh84vzjj1x2lpd5ymimiva8h4l17kiphk4s")))) 16297 "06a1gbrq3qcfsn0kyv4i24x1xxfrrwqa3kgfj4xa4va88q2vqyb5"))))
16314 (build-system emacs-build-system) 16298 (build-system emacs-build-system)
16315 (propagated-inputs 16299 (propagated-inputs
16316 `(("emacs-dash" ,emacs-dash) 16300 `(("emacs-dash" ,emacs-dash)
@@ -21649,9 +21633,11 @@ supports generation of phonetic and numeric passwords.")
21649 "1vmazjrfcsa9aa9aw8bq5sazdhqvhxyj837dyw5lmh8gk7z0xdaa")))) 21633 "1vmazjrfcsa9aa9aw8bq5sazdhqvhxyj837dyw5lmh8gk7z0xdaa"))))
21650 (build-system emacs-build-system) 21634 (build-system emacs-build-system)
21651 (synopsis "Elisp functions for reading and parsing CSV files") 21635 (synopsis "Elisp functions for reading and parsing CSV files")
21652 (description "@code{csv.el} provides functions for reading and parsing CSV (Comma 21636 (description
21653Separated Value) files. It follows the format as defined in RFC 4180 \"Common 21637 "@code{csv.el} provides functions for reading and parsing @acronym{CSV,
21654Format and MIME Type for CSV Files\" (@url{http://tools.ietf.org/html/rfc4180}).") 21638Comma-Separated Values} files. It follows the format as defined in RFC 4180
21639@emph{Common Format and MIME Type for CSV
21640Files} (@url{http://tools.ietf.org/html/rfc4180}).")
21655 (license license:gpl3+))) 21641 (license license:gpl3+)))
21656 21642
21657(define-public emacs-org-journal 21643(define-public emacs-org-journal
diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index 0938dabf1ec..359bb76ae2a 100644
--- a/gnu/packages/emacs.scm
+++ b/gnu/packages/emacs.scm
@@ -19,7 +19,7 @@
19;;; Copyright © 2019 Jesse John Gildersleve <jessejohngildersleve@zohomail.eu> 19;;; Copyright © 2019 Jesse John Gildersleve <jessejohngildersleve@zohomail.eu>
20;;; Copyright © 2019 Valentin Ignatev <valentignatev@gmail.com> 20;;; Copyright © 2019 Valentin Ignatev <valentignatev@gmail.com>
21;;; Copyright © 2019 Leo Prikler <leo.prikler@student.tugraz.at> 21;;; Copyright © 2019 Leo Prikler <leo.prikler@student.tugraz.at>
22;;; Copyright © 2019 Amin Bandali <mab@gnu.org> 22;;; Copyright © 2019 Amin Bandali <bandali@gnu.org>
23;;; 23;;;
24;;; This file is part of GNU Guix. 24;;; This file is part of GNU Guix.
25;;; 25;;;
@@ -290,6 +290,8 @@ languages.")
290 #t)))) 290 #t))))
291 (arguments 291 (arguments
292 (substitute-keyword-arguments (package-arguments emacs) 292 (substitute-keyword-arguments (package-arguments emacs)
293 ((#:configure-flags flags)
294 `(cons* "--with-harfbuzz" ,flags))
293 ((#:phases phases) 295 ((#:phases phases)
294 `(modify-phases ,phases 296 `(modify-phases ,phases
295 ;; The 'reset-gzip-timestamps phase will throw a 297 ;; The 'reset-gzip-timestamps phase will throw a
@@ -318,6 +320,7 @@ languages.")
318 #t))))))) 320 #t)))))))
319 (inputs 321 (inputs
320 `(("jansson" ,jansson) 322 `(("jansson" ,jansson)
323 ("harfbuzz" ,harfbuzz)
321 ,@(package-inputs emacs))) 324 ,@(package-inputs emacs)))
322 (native-inputs 325 (native-inputs
323 `(("autoconf" ,autoconf) ; needed when building from trunk 326 `(("autoconf" ,autoconf) ; needed when building from trunk
diff --git a/gnu/packages/emulators.scm b/gnu/packages/emulators.scm
index 3591b1740c9..2fcb176ae4d 100644
--- a/gnu/packages/emulators.scm
+++ b/gnu/packages/emulators.scm
@@ -511,7 +511,8 @@ and Game Boy Color games.")
511 (with-directory-excursion "build/bin/SDL" 511 (with-directory-excursion "build/bin/SDL"
512 (install-file "sameboy" bin) 512 (install-file "sameboy" bin)
513 (delete-file "sameboy") 513 (delete-file "sameboy")
514 (copy-recursively "." data)))))))) 514 (copy-recursively "." data))
515 #t))))))
515 (home-page "https://sameboy.github.io/") 516 (home-page "https://sameboy.github.io/")
516 (synopsis "Accurate Game Boy, Game Boy Color and Super Game Boy emulator") 517 (synopsis "Accurate Game Boy, Game Boy Color and Super Game Boy emulator")
517 (description "SameBoy is a user friendly Game Boy, Game Boy Color 518 (description "SameBoy is a user friendly Game Boy, Game Boy Color
diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm
index f8ff1bbf0ee..55af90bc822 100644
--- a/gnu/packages/engineering.scm
+++ b/gnu/packages/engineering.scm
@@ -791,9 +791,6 @@ language.")
791 (license (list license:mpl2.0 ;library 791 (license (list license:mpl2.0 ;library
792 license:gpl2+))))) ;Guile bindings and GUI 792 license:gpl2+))))) ;Guile bindings and GUI
793 793
794(define-public ao
795 (deprecated-package "ao-cad" libfive))
796
797;; TODO Add doc https://gitlab.com/kicad/services/kicad-doc/-/tree/master 794;; TODO Add doc https://gitlab.com/kicad/services/kicad-doc/-/tree/master
798(define-public kicad 795(define-public kicad
799 (package 796 (package
diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm
index 43eda97f1a8..7bf8f4fc6e2 100644
--- a/gnu/packages/finance.scm
+++ b/gnu/packages/finance.scm
@@ -744,9 +744,6 @@ the Monero command line client and daemon.")
744the Monero GUI client.") 744the Monero GUI client.")
745 (license license:bsd-3))) 745 (license license:bsd-3)))
746 746
747(define-public monero-core
748 (deprecated-package "monero-core" monero-gui))
749
750(define-public python-trezor-agent 747(define-public python-trezor-agent
751 (package 748 (package
752 (name "python-trezor-agent") 749 (name "python-trezor-agent")
diff --git a/gnu/packages/firmware.scm b/gnu/packages/firmware.scm
index 2dff39f7864..51eae2ad4cc 100644
--- a/gnu/packages/firmware.scm
+++ b/gnu/packages/firmware.scm
@@ -92,7 +92,7 @@
92 ("cross-binutils" ,(cross-binutils "xtensa-elf" binutils-2.33)) 92 ("cross-binutils" ,(cross-binutils "xtensa-elf" binutils-2.33))
93 ("cmake" ,cmake-minimal) 93 ("cmake" ,cmake-minimal)
94 ("perl" ,perl))) 94 ("perl" ,perl)))
95 (home-page "http://wireless.kernel.org/en/users/Drivers/ath9k_htc") 95 (home-page "https://wireless.wiki.kernel.org/en/users/Drivers/ath9k_htc")
96 (synopsis "Firmware for the Atheros AR7010 and AR9271 USB 802.11n NICs") 96 (synopsis "Firmware for the Atheros AR7010 and AR9271 USB 802.11n NICs")
97 (description 97 (description
98 "This is the firmware for the Qualcomm Atheros AR7010 and AR9271 USB 98 "This is the firmware for the Qualcomm Atheros AR7010 and AR9271 USB
diff --git a/gnu/packages/fonts.scm b/gnu/packages/fonts.scm
index 5fb6bbbe186..527f2cbbd6d 100644
--- a/gnu/packages/fonts.scm
+++ b/gnu/packages/fonts.scm
@@ -29,7 +29,8 @@
29;;; Copyright © 2019 Alva <alva@skogen.is> 29;;; Copyright © 2019 Alva <alva@skogen.is>
30;;; Copyright © 2019 Alexandros Theodotou <alex@zrythm.org> 30;;; Copyright © 2019 Alexandros Theodotou <alex@zrythm.org>
31;;; Copyright © 2020 Damien Cassou <damien@cassou.me> 31;;; Copyright © 2020 Damien Cassou <damien@cassou.me>
32;;; Copyright © 2020 Amin Bandali <mab@gnu.org> 32;;; Copyright © 2020 Amin Bandali <bandali@gnu.org>
33;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de>
33;;; 34;;;
34;;; This file is part of GNU Guix. 35;;; This file is part of GNU Guix.
35;;; 36;;;
@@ -1569,7 +1570,7 @@ This package provides the TrueType fonts.")
1569(define-public font-jetbrains-mono 1570(define-public font-jetbrains-mono
1570 (package 1571 (package
1571 (name "font-jetbrains-mono") 1572 (name "font-jetbrains-mono")
1572 (version "1.0.2") 1573 (version "1.0.3")
1573 (source 1574 (source
1574 (origin 1575 (origin
1575 (method url-fetch) 1576 (method url-fetch)
@@ -1577,7 +1578,7 @@ This package provides the TrueType fonts.")
1577 (string-append "https://download.jetbrains.com/fonts/" 1578 (string-append "https://download.jetbrains.com/fonts/"
1578 "JetBrainsMono-" version ".zip")) 1579 "JetBrainsMono-" version ".zip"))
1579 (sha256 1580 (sha256
1580 (base32 "0qlp4902i1v6ni04b6gdip8rxw6wpkdk9w7dir1yn9an5mvbkyar")))) 1581 (base32 "0zvhwmpdwpm4vywmm6i9a4najz0c7vfi411yikgkd66l5hwd1p6f"))))
1581 (build-system font-build-system) 1582 (build-system font-build-system)
1582 (home-page "https://www.jetbrains.com/lp/mono/") 1583 (home-page "https://www.jetbrains.com/lp/mono/")
1583 (synopsis "Mono typeface for developers") 1584 (synopsis "Mono typeface for developers")
diff --git a/gnu/packages/fpga.scm b/gnu/packages/fpga.scm
index 8f34ef82828..ed5bc14e310 100644
--- a/gnu/packages/fpga.scm
+++ b/gnu/packages/fpga.scm
@@ -2,7 +2,7 @@
2;;; Copyright © 2016 Danny Milosavljevic <dannym@scratchpost.org> 2;;; Copyright © 2016 Danny Milosavljevic <dannym@scratchpost.org>
3;;; Copyright © 2016, 2017 Theodoros Foradis <theodoros@foradis.org> 3;;; Copyright © 2016, 2017 Theodoros Foradis <theodoros@foradis.org>
4;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> 4;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
5;;; Copyright © 2019 Amin Bandali <mab@gnu.org> 5;;; Copyright © 2019 Amin Bandali <bandali@gnu.org>
6;;; 6;;;
7;;; This file is part of GNU Guix. 7;;; This file is part of GNU Guix.
8;;; 8;;;
@@ -271,6 +271,7 @@ Includes the actual FTDI connector.")
271 (uri (git-reference 271 (uri (git-reference
272 (url "git://github.com/YosysHQ/nextpnr") 272 (url "git://github.com/YosysHQ/nextpnr")
273 (commit commit))) 273 (commit commit)))
274 (file-name (git-file-name name version))
274 (sha256 275 (sha256
275 (base32 276 (base32
276 "0g2ar1z89b31qw5vgqj2rrcv9rzncs94184dgcsrz19p866654mf")))) 277 "0g2ar1z89b31qw5vgqj2rrcv9rzncs94184dgcsrz19p866654mf"))))
@@ -289,8 +290,8 @@ Includes the actual FTDI connector.")
289 "/share/icebox")) 290 "/share/icebox"))
290 #:tests? #f)) 291 #:tests? #f))
291 (synopsis "Place-and-Route tool for FPGAs") 292 (synopsis "Place-and-Route tool for FPGAs")
292 (description "nextpnr aims to be a vendor neutral, timing driven, 293 (description "Nextpnr aims to be a vendor neutral, timing driven,
293FOSS FPGA place and route tool. ") 294FOSS FPGA place and route tool.")
294 (home-page "https://github.com/YosysHQ/nextpnr") 295 (home-page "https://github.com/YosysHQ/nextpnr")
295 (license license:expat)))) 296 (license license:expat))))
296 297
diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index 0fc50ed2713..7555a0d800b 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -329,9 +329,6 @@ the more advanced player there are new game modes and a wide variety of
329physics settings to tweak as well.") 329physics settings to tweak as well.")
330 (license license:gpl2+))) 330 (license license:gpl2+)))
331 331
332(define-public armagetron-advanced
333 (deprecated-package "armagetron-advanced" armagetronad))
334
335(define-public bastet 332(define-public bastet
336 (package 333 (package
337 (name "bastet") 334 (name "bastet")
@@ -461,9 +458,6 @@ things far stranger and deadlier, and against the others like yourself, that
461want what you have.") 458want what you have.")
462 (license license:cc-by-sa3.0)))) 459 (license license:cc-by-sa3.0))))
463 460
464(define-public cataclysm-dark-days-ahead
465 (deprecated-package "cataclysm-dark-days-ahead" cataclysm-dda))
466
467(define-public corsix-th 461(define-public corsix-th
468 (package 462 (package
469 (name "corsix-th") 463 (name "corsix-th")
@@ -1151,9 +1145,6 @@ beginners and advanced players. In addition to a command-line interface, it
1151also features an attractive, 3D representation of the playing board.") 1145also features an attractive, 3D representation of the playing board.")
1152 (license license:gpl3+))) 1146 (license license:gpl3+)))
1153 1147
1154(define-public gnubackgammon
1155 (deprecated-package "gnubackgammon" gnubg))
1156
1157(define-public gnubik 1148(define-public gnubik
1158 (package 1149 (package
1159 (name "gnubik") 1150 (name "gnubik")
@@ -1704,9 +1695,6 @@ them, called Jean Raymond, found an old church in which to hide, not knowing
1704that beneath its ruins lay buried an ancient evil.") 1695that beneath its ruins lay buried an ancient evil.")
1705 (license license:gpl3))) 1696 (license license:gpl3)))
1706 1697
1707(define-public l-abbaye-des-morts
1708 (deprecated-package "l-abbaye-des-morts" abbaye))
1709
1710(define-public angband 1698(define-public angband
1711 (package 1699 (package
1712 (name "angband") 1700 (name "angband")
@@ -2825,9 +2813,6 @@ experience and advance levels, and are carried over from one scenario to the
2825next campaign.") 2813next campaign.")
2826 (license license:gpl2+))) 2814 (license license:gpl2+)))
2827 2815
2828(define-public the-battle-for-wesnoth
2829 (deprecated-package "the-battle-for-wesnoth" wesnoth))
2830
2831(define-public wesnoth-server 2816(define-public wesnoth-server
2832 (package 2817 (package
2833 (inherit wesnoth) 2818 (inherit wesnoth)
@@ -2844,9 +2829,6 @@ next campaign.")
2844 (description "This package contains a dedicated server for @emph{The 2829 (description "This package contains a dedicated server for @emph{The
2845Battle for Wesnoth}."))) 2830Battle for Wesnoth}.")))
2846 2831
2847(define-public the-battle-for-wesnoth-server
2848 (deprecated-package "the-battle-for-wesnoth-server" wesnoth-server))
2849
2850(define-public gamine 2832(define-public gamine
2851 (package 2833 (package
2852 (name "gamine") 2834 (name "gamine")
@@ -3780,9 +3762,6 @@ in strikes against the evil corporation.")
3780 license:cc0 3762 license:cc0
3781 license:public-domain)))) 3763 license:public-domain))))
3782 3764
3783(define-public project-starfighter
3784 (deprecated-package "project-starfighter" starfighter))
3785
3786(define-public chromium-bsu 3765(define-public chromium-bsu
3787 (package 3766 (package
3788 (name "chromium-bsu") 3767 (name "chromium-bsu")
@@ -4719,9 +4698,6 @@ small robot living in the nano world, repair its maker.")
4719 ;; for a statement from the author. 4698 ;; for a statement from the author.
4720 (license license:public-domain))) 4699 (license license:public-domain)))
4721 4700
4722(define-public kiki-the-nano-bot
4723 (deprecated-package "kiki-the-nano-bot" kiki))
4724
4725(define-public teeworlds 4701(define-public teeworlds
4726 (package 4702 (package
4727 (name "teeworlds") 4703 (name "teeworlds")
@@ -4991,9 +4967,6 @@ underwater realm quarrel among themselves or comment on the efforts of your
4991fish. The whole game is accompanied by quiet, comforting music.") 4967fish. The whole game is accompanied by quiet, comforting music.")
4992 (license license:gpl2+))) 4968 (license license:gpl2+)))
4993 4969
4994(define-public fish-fillets-ng
4995 (deprecated-package "fish-fillets-ng" fillets-ng))
4996
4997(define-public crawl 4970(define-public crawl
4998 (package 4971 (package
4999 (name "crawl") 4972 (name "crawl")
@@ -5073,9 +5046,6 @@ monsters in a quest to find the mystifyingly fabulous Orb of Zot.")
5073 license:zlib 5046 license:zlib
5074 license:asl2.0)))) 5047 license:asl2.0))))
5075 5048
5076(define-public dungeon-crawl-stone-soup
5077 (deprecated-package "dungeon-crawl-stone-soup" crawl))
5078
5079;; The linter here claims that patch file names should start with the package 5049;; The linter here claims that patch file names should start with the package
5080;; name. But, in this case, the patches are inherited from crawl with the 5050;; name. But, in this case, the patches are inherited from crawl with the
5081;; "crawl-" prefix instead of "crawl-tiles-". 5051;; "crawl-" prefix instead of "crawl-tiles-".
@@ -5112,9 +5082,6 @@ monsters in a quest to find the mystifyingly fabulous Orb of Zot.")
5112 ("which" ,which))) 5082 ("which" ,which)))
5113 (synopsis "Graphical roguelike dungeon crawler game"))) 5083 (synopsis "Graphical roguelike dungeon crawler game")))
5114 5084
5115(define-public dungeon-crawl-stone-soup-tiles
5116 (deprecated-package "dungeon-crawl-stone-soup-tiles" crawl-tiles))
5117
5118(define-public lugaru 5085(define-public lugaru
5119 (package 5086 (package
5120 (name "lugaru") 5087 (name "lugaru")
@@ -5518,9 +5485,6 @@ intuitive mouse control, streamlined mechanics and deep, challenging combat,
5518Tales of Maj’Eyal offers engaging roguelike gameplay for the 21st century.") 5485Tales of Maj’Eyal offers engaging roguelike gameplay for the 21st century.")
5519 (license license:gpl3+))) 5486 (license license:gpl3+)))
5520 5487
5521(define-public tales-of-maj-eyal
5522 (deprecated-package "tales-of-maj-eyal" tome4))
5523
5524(define-public quakespasm 5488(define-public quakespasm
5525 (package 5489 (package
5526 (name "quakespasm") 5490 (name "quakespasm")
@@ -6986,9 +6950,6 @@ and cooperative.")
6986 ;; developers. 6950 ;; developers.
6987 (license (list license:gpl2+ license:lgpl2.1+)))) 6951 (license (list license:gpl2+ license:lgpl2.1+))))
6988 6952
6989(define-public battle-tanks
6990 (deprecated-package "battle-tanks" btanks))
6991
6992(define-public slingshot 6953(define-public slingshot
6993 (package 6954 (package
6994 (name "slingshot") 6955 (name "slingshot")
@@ -7189,9 +7150,6 @@ a fortress beyond the forbidden swamp.")
7189 (home-page "https://www.parallelrealities.co.uk/games/edgar/") 7150 (home-page "https://www.parallelrealities.co.uk/games/edgar/")
7190 (license license:gpl2+))) 7151 (license license:gpl2+)))
7191 7152
7192(define-public the-legend-of-edgar
7193 (deprecated-package "the-legend-of-edgar" edgar))
7194
7195(define-public openclonk 7153(define-public openclonk
7196 (package 7154 (package
7197 (name "openclonk") 7155 (name "openclonk")
diff --git a/gnu/packages/gnome-xyz.scm b/gnu/packages/gnome-xyz.scm
index 24a1dc256c4..ad4593bcd5c 100644
--- a/gnu/packages/gnome-xyz.scm
+++ b/gnu/packages/gnome-xyz.scm
@@ -5,6 +5,7 @@
5;;; Copyright © 2020 Alex Griffin <a@ajgrf.com> 5;;; Copyright © 2020 Alex Griffin <a@ajgrf.com>
6;;; Copyright © 2020 Jack Hill <jackhill@jackhill.us> 6;;; Copyright © 2020 Jack Hill <jackhill@jackhill.us>
7;;; Copyright © 2020 Ekaitz Zarraga <ekaitz@elenq.tech> 7;;; Copyright © 2020 Ekaitz Zarraga <ekaitz@elenq.tech>
8;;; Copyright © 2020 Tobias Geerinckx-Rice <me@tobias.gr>
8;;; 9;;;
9;;; This file is part of GNU Guix. 10;;; This file is part of GNU Guix.
10;;; 11;;;
@@ -467,9 +468,9 @@ scrollable tiling of windows and per monitor workspaces. It's inspired by paper
467notebooks and tiling window managers.") 468notebooks and tiling window managers.")
468 (license license:gpl3))) 469 (license license:gpl3)))
469 470
470(define-public numix-theme 471(define-public numix-gtk-theme
471 (package 472 (package
472 (name "numix-theme") 473 (name "numix-gtk-theme")
473 (version "2.6.7") 474 (version "2.6.7")
474 (source (origin 475 (source (origin
475 (method git-fetch) 476 (method git-fetch)
@@ -482,11 +483,14 @@ notebooks and tiling window managers.")
482 "12mw0kr0kkvg395qlbsvkvaqccr90cmxw5rrsl236zh43kj8grb7")))) 483 "12mw0kr0kkvg395qlbsvkvaqccr90cmxw5rrsl236zh43kj8grb7"))))
483 (build-system gnu-build-system) 484 (build-system gnu-build-system)
484 (arguments 485 (arguments
485 '(#:make-flags (list (string-append "DESTDIR=" (assoc-ref %outputs "out"))) 486 '(#:make-flags
487 (list (string-append "INSTALL_DIR="
488 (assoc-ref %outputs "out")
489 "/share/themes/Numix"))
490 #:tests? #f
486 #:phases 491 #:phases
487 (modify-phases %standard-phases 492 (modify-phases %standard-phases
488 (delete 'configure) 493 (delete 'configure)))) ; no configure script
489 (delete 'check))))
490 (native-inputs 494 (native-inputs
491 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas 495 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas
492 ("gnome-shell" ,gnome-shell) 496 ("gnome-shell" ,gnome-shell)
@@ -499,6 +503,9 @@ dark elements. It supports GNOME, Unity, Xfce, and Openbox.")
499 (home-page "https://numixproject.github.io") 503 (home-page "https://numixproject.github.io")
500 (license license:gpl3+))) 504 (license license:gpl3+)))
501 505
506(define-public numix-theme
507 (deprecated-package "numix-theme" numix-gtk-theme))
508
502(define-public papirus-icon-theme 509(define-public papirus-icon-theme
503 (let ((version "0.0.0") ;; The package does not use semver 510 (let ((version "0.0.0") ;; The package does not use semver
504 (revision "0") 511 (revision "0")
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 77964f5c9ce..fc3d853a7a1 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -48,6 +48,7 @@
48;;; Copyright © 2020 Oleg Pykhalov <go.wigust@gmail.com> 48;;; Copyright © 2020 Oleg Pykhalov <go.wigust@gmail.com>
49;;; Copyright © 2020 Pierre Neidhardt <mail@ambrevar.xyz> 49;;; Copyright © 2020 Pierre Neidhardt <mail@ambrevar.xyz>
50;;; Copyright © 2020 raingloom <raingloom@riseup.net> 50;;; Copyright © 2020 raingloom <raingloom@riseup.net>
51;;; Copyright © 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr>
51;;; 52;;;
52;;; This file is part of GNU Guix. 53;;; This file is part of GNU Guix.
53;;; 54;;;
@@ -8117,10 +8118,6 @@ alternative user interface themes, changes in window management behavior,
8117GNOME Shell appearance and extension, etc.") 8118GNOME Shell appearance and extension, etc.")
8118 (license license:gpl3+))) 8119 (license license:gpl3+)))
8119 8120
8120;; This package has been renamed by upstream.
8121(define-public gnome-tweak-tool
8122 (deprecated-package "gnome-tweak-tool" gnome-tweaks))
8123
8124(define-public gnome-shell-extensions 8121(define-public gnome-shell-extensions
8125 (package 8122 (package
8126 (name "gnome-shell-extensions") 8123 (name "gnome-shell-extensions")
@@ -8842,15 +8839,14 @@ views can be printed as PDF or PostScript files, or exported to HTML.")
8842(define-public lollypop 8839(define-public lollypop
8843 (package 8840 (package
8844 (name "lollypop") 8841 (name "lollypop")
8845 (version "1.2.7") 8842 (version "1.2.32")
8846 (source 8843 (source
8847 (origin 8844 (origin
8848 (method url-fetch) 8845 (method url-fetch)
8849 (uri (string-append "https://gitlab.gnome.org/World/lollypop/uploads/" 8846 (uri (string-append "https://adishatz.org/lollypop/"
8850 "08f973788c7ca46d9285eec2ac818edb/"
8851 "lollypop-" version ".tar.xz")) 8847 "lollypop-" version ".tar.xz"))
8852 (sha256 8848 (sha256
8853 (base32 "0hvq6m4i62i0m63bg4gzpfb9rv1fk6vq5jl2g3ppcgm4srmfm77j")))) 8849 (base32 "1ng9492k8754vlqggbfsyzbmfdx4w17fzc4ad21fr92710na0w5a"))))
8854 (build-system meson-build-system) 8850 (build-system meson-build-system)
8855 (arguments 8851 (arguments
8856 `(#:imported-modules ((guix build python-build-system) 8852 `(#:imported-modules ((guix build python-build-system)
@@ -9851,3 +9847,60 @@ to.")
9851 license:public-domain 9847 license:public-domain
9852 ;; snowball 9848 ;; snowball
9853 license:bsd-2)))) 9849 license:bsd-2))))
9850
9851(define-public parlatype
9852 ;; This is one commit away from 2.0, because the latter introduced
9853 ;; a regression in ASR.
9854 (let ((commit "7d22ead13ef7578f99d24146663cc1bdb7d8c2a9")
9855 (revision "0"))
9856 (package
9857 (name "parlatype")
9858 (version (git-version "2.0" revision commit))
9859 (source
9860 (origin
9861 (method git-fetch)
9862 (uri (git-reference
9863 (url "https://github.com/gkarsay/parlatype.git")
9864 (commit commit)))
9865 (file-name (git-file-name name version))
9866 (sha256
9867 (base32 "0r3k3qczbzi7bs5s1rddhpsnadyr805df40bqkx0srlxgh5mfghf"))))
9868 (build-system meson-build-system)
9869 (arguments
9870 `(#:glib-or-gtk? #t
9871 #:tests? #f ;require internet access
9872 #:phases
9873 (modify-phases %standard-phases
9874 (add-after 'install 'wrap-parlatype
9875 ;; Add gstreamer plugin provided in this package to system's
9876 ;; plugins.
9877 (lambda* (#:key outputs #:allow-other-keys)
9878 (let* ((out (assoc-ref outputs "out"))
9879 (gst-plugin-path (string-append
9880 out "/lib/gstreamer-1.0/"
9881 ":"
9882 (getenv "GST_PLUGIN_SYSTEM_PATH"))))
9883 (wrap-program (string-append out "/bin/parlatype")
9884 `("GST_PLUGIN_SYSTEM_PATH" ":" = (,gst-plugin-path))))
9885 #t)))))
9886 (native-inputs
9887 `(("appstream-glib" ,appstream-glib)
9888 ("desktop-file-utils" ,desktop-file-utils) ;for desktop-file-validate
9889 ("gettext" ,gettext-minimal)
9890 ("glib" ,glib "bin") ;for glib-compile-resources
9891 ("pkg-config" ,pkg-config)
9892 ("yelp-tools" ,yelp-tools)))
9893 (inputs
9894 `(("gst-plugins-base" ,gst-plugins-base)
9895 ("gst-plugins-good" ,gst-plugins-good)
9896 ("gstreamer" ,gstreamer)
9897 ("gtk+" ,gtk+)
9898 ("pocketsphinx" ,pocketsphinx)
9899 ("pulseaudio" ,pulseaudio)
9900 ("sphinxbase" ,sphinxbase)))
9901 (home-page "http://gkarsay.github.io/parlatype/")
9902 (synopsis "GNOME audio player for transcription")
9903 (description "Parlatype is an audio player for the GNOME desktop
9904environment. Its main purpose is the manual transcription of spoken
9905audio files.")
9906 (license license:gpl3+))))
diff --git a/gnu/packages/gnupg.scm b/gnu/packages/gnupg.scm
index ab36561f2d5..498a6a1a9aa 100644
--- a/gnu/packages/gnupg.scm
+++ b/gnu/packages/gnupg.scm
@@ -1,5 +1,5 @@
1;;; GNU Guix --- Functional package management for GNU 1;;; GNU Guix --- Functional package management for GNU
2;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org> 2;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
3;;; Copyright © 2013, 2015, 2018 Andreas Enge <andreas@enge.fr> 3;;; Copyright © 2013, 2015, 2018 Andreas Enge <andreas@enge.fr>
4;;; Copyright © 2014, 2018 Eric Bavier <bavier@member.fsf.org> 4;;; Copyright © 2014, 2018 Eric Bavier <bavier@member.fsf.org>
5;;; Copyright © 2014, 2015, 2016 Mark H Weaver <mhw@netris.org> 5;;; Copyright © 2014, 2015, 2016 Mark H Weaver <mhw@netris.org>
@@ -11,7 +11,7 @@
11;;; Copyright © 2016 Christopher Baines <mail@cbaines.net> 11;;; Copyright © 2016 Christopher Baines <mail@cbaines.net>
12;;; Copyright © 2016 Mike Gerwitz <mtg@gnu.org> 12;;; Copyright © 2016 Mike Gerwitz <mtg@gnu.org>
13;;; Copyright © 2016 Troy Sankey <sankeytms@gmail.com> 13;;; Copyright © 2016 Troy Sankey <sankeytms@gmail.com>
14;;; Copyright © 2017 Leo Famulari <leo@famulari.name> 14;;; Copyright © 2017, 2020 Leo Famulari <leo@famulari.name>
15;;; Copyright © 2017 Petter <petter@mykolab.ch> 15;;; Copyright © 2017 Petter <petter@mykolab.ch>
16;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> 16;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
17;;; Copyright © 2018, 2019 Marius Bakke <mbakke@fastmail.com> 17;;; Copyright © 2018, 2019 Marius Bakke <mbakke@fastmail.com>
@@ -256,10 +256,10 @@ compatible to GNU Pth.")
256 (method url-fetch) 256 (method url-fetch)
257 (uri (string-append "mirror://gnupg/gnupg/gnupg-" version 257 (uri (string-append "mirror://gnupg/gnupg/gnupg-" version
258 ".tar.bz2")) 258 ".tar.bz2"))
259 (patches (search-patches "gnupg-default-pinentry.patch"))
259 (sha256 260 (sha256
260 (base32 261 (base32
261 "0c6a4v9p6qzhsw1pfcwc459bxpc8hma0w9z8iqb9khvligack9q4")) 262 "0c6a4v9p6qzhsw1pfcwc459bxpc8hma0w9z8iqb9khvligack9q4"))))
262 (patches (search-patches "gnupg-default-pinentry.patch"))))
263 (build-system gnu-build-system) 263 (build-system gnu-build-system)
264 (native-inputs 264 (native-inputs
265 `(("pkg-config" ,pkg-config))) 265 `(("pkg-config" ,pkg-config)))
diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm
index c69a4e7e031..23f15906c50 100644
--- a/gnu/packages/gnuzilla.scm
+++ b/gnu/packages/gnuzilla.scm
@@ -1142,11 +1142,6 @@ standards of the IceCat project.")
1142 (cpe-name . "firefox_esr") 1142 (cpe-name . "firefox_esr")
1143 (cpe-version . ,(first (string-split version #\-))))))) 1143 (cpe-version . ,(first (string-split version #\-)))))))
1144 1144
1145(define-public conkeror
1146 ;; The Conkeror web browser relied on XULRunner, which IceCat > 50 no longer
1147 ;; provides. See <http://conkeror.org> for the original web page.
1148 (deprecated-package "conkeror" icecat))
1149
1150(define-public firefox-decrypt 1145(define-public firefox-decrypt
1151 (package 1146 (package
1152 (name "firefox-decrypt") 1147 (name "firefox-decrypt")
diff --git a/gnu/packages/graph.scm b/gnu/packages/graph.scm
index 9b391451fe7..a999b1cdfa6 100644
--- a/gnu/packages/graph.scm
+++ b/gnu/packages/graph.scm
@@ -1,7 +1,7 @@
1;;; GNU Guix --- Functional package management for GNU 1;;; GNU Guix --- Functional package management for GNU
2;;; Copyright © 2017, 2018, 2019, 2020 Ricardo Wurmus <rekado@elephly.net> 2;;; Copyright © 2017, 2018, 2019, 2020 Ricardo Wurmus <rekado@elephly.net>
3;;; Copyright © 2018 Joshua Sierles, Nextjournal <joshua@nextjournal.com> 3;;; Copyright © 2018 Joshua Sierles, Nextjournal <joshua@nextjournal.com>
4;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> 4;;; Copyright © 2018, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
5;;; Copyright © 2019 Efraim Flashner <efraim@flashner.co.il> 5;;; Copyright © 2019 Efraim Flashner <efraim@flashner.co.il>
6;;; Copyright © 2019 Andreas Enge <andreas@enge.fr> 6;;; Copyright © 2019 Andreas Enge <andreas@enge.fr>
7;;; Copyright © 2020 Alexander Krotov <krotov@iitp.ru> 7;;; Copyright © 2020 Alexander Krotov <krotov@iitp.ru>
@@ -56,15 +56,14 @@
56(define-public igraph 56(define-public igraph
57 (package 57 (package
58 (name "igraph") 58 (name "igraph")
59 (version "0.8.0") 59 (version "0.8.1")
60 (source 60 (source
61 (origin 61 (origin
62 (method url-fetch) 62 (method url-fetch)
63 (uri (string-append "https://github.com/igraph/igraph/releases/" 63 (uri (string-append "https://github.com/igraph/igraph/releases/"
64 "download/" version "/igraph-" version ".tar.gz")) 64 "download/" version "/igraph-" version ".tar.gz"))
65 (sha256 65 (sha256
66 (base32 66 (base32 "0wbvrac3ip3lqmbkckhnxa2swlbc86l1h8mazdlb618kx3winvi6"))))
67 "0jcnfvahrlj08y46vnax5y5bb294v4b9n00qsy7pbx0cc0sp6qvj"))))
68 (build-system gnu-build-system) 67 (build-system gnu-build-system)
69 (arguments 68 (arguments
70 `(#:configure-flags 69 `(#:configure-flags
diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm
index b181189b3a2..f0f976c3d2a 100644
--- a/gnu/packages/guile-xyz.scm
+++ b/gnu/packages/guile-xyz.scm
@@ -24,6 +24,7 @@
24;;; Copyright © 2019, 2020 Amar Singh <nly@disroot.org> 24;;; Copyright © 2019, 2020 Amar Singh <nly@disroot.org>
25;;; Copyright © 2019 Timothy Sample <samplet@ngyro.com> 25;;; Copyright © 2019 Timothy Sample <samplet@ngyro.com>
26;;; Copyright © 2019 Martin Becze <mjbecze@riseup.net> 26;;; Copyright © 2019 Martin Becze <mjbecze@riseup.net>
27;;; Copyright © 2020 Evan Straw <evan.straw99@gmail.com>
27;;; 28;;;
28;;; This file is part of GNU Guix. 29;;; This file is part of GNU Guix.
29;;; 30;;;
@@ -2238,10 +2239,6 @@ format is also supported.")
2238(define-public guile3.0-mcron 2239(define-public guile3.0-mcron
2239 (deprecated-package "guile3.0-mcron" mcron)) 2240 (deprecated-package "guile3.0-mcron" mcron))
2240 2241
2241(define-public mcron2
2242 ;; This was mthl's mcron development branch, and it became mcron 1.1.
2243 (deprecated-package "mcron2" mcron))
2244
2245(define-public guile-picture-language 2242(define-public guile-picture-language
2246 (let ((commit "91d10c96708d732145006dd2802acc4de08b632e") 2243 (let ((commit "91d10c96708d732145006dd2802acc4de08b632e")
2247 (revision "1")) 2244 (revision "1"))
@@ -3298,3 +3295,48 @@ according to Bitorrent BEP003.")
3298Relay Chat} (IRC).") 3295Relay Chat} (IRC).")
3299 ;; Some file headers incorrectly say LGPLv2+. 3296 ;; Some file headers incorrectly say LGPLv2+.
3300 (license license:lgpl2.1+)))) 3297 (license license:lgpl2.1+))))
3298
3299(define-public guile3.0-websocket
3300 (let ((commit "c854e0f84a40d972cbd532bbb89c97ca0126a7cf"))
3301 (package
3302 (name "guile3.0-websocket")
3303 (version "0.1")
3304 (source
3305 (origin
3306 (method git-fetch)
3307 (uri (git-reference
3308 (url "git://dthompson.us/guile-websocket.git")
3309 (commit commit)))
3310 (file-name (git-file-name name version))
3311 (sha256
3312 (base32
3313 "1hymvsfrmq9qxr5cxnsgdz7y757yp1cpsgxmdp3f5wxxxpqgsmzx"))))
3314 (build-system gnu-build-system)
3315 (arguments
3316 '(#:make-flags
3317 '("GUILE_AUTO_COMPILE=0")
3318 #:phases
3319 (modify-phases %standard-phases
3320 ;; The package was developed for Guile 2.0 and has this version
3321 ;; hardcoded in the configure.ac and Makefile.am files. Substitute
3322 ;; 3.0 instead so it can support Guile 3.0.
3323 (add-after 'unpack 'update-guile-version
3324 (lambda _
3325 (substitute* "configure.ac"
3326 (("2.0.9") "3.0.0"))
3327 (substitute* "Makefile.am"
3328 (("2.0") "3.0")
3329
3330 ;; Install .go files where they belong.
3331 (("/ccache") "/site-ccache"))
3332 #t)))))
3333 (native-inputs
3334 `(("autoconf" ,autoconf)
3335 ("automake" ,automake)))
3336 (inputs
3337 `(("guile" ,guile-next)))
3338 (synopsis "Websocket server/client for Guile")
3339 (description "Guile-websocket provides an implementation of the
3340WebSocket protocol as defined by RFC 6455.")
3341 (home-page "https://git.dthompson.us/guile-websocket.git")
3342 (license license:lgpl3+))))
diff --git a/gnu/packages/haskell-apps.scm b/gnu/packages/haskell-apps.scm
index 12cb857cbba..6ab962100ef 100644
--- a/gnu/packages/haskell-apps.scm
+++ b/gnu/packages/haskell-apps.scm
@@ -14,6 +14,7 @@
14;;; Copyright © 2019 Efraim Flashner <efraim@flashner.co.il> 14;;; Copyright © 2019 Efraim Flashner <efraim@flashner.co.il>
15;;; Copyright © 2019 Alex Griffin <a@ajgrf.com> 15;;; Copyright © 2019 Alex Griffin <a@ajgrf.com>
16;;; Copyright © 2020 Alexandru-Sergiu Marton <brown121407@member.fsf.org> 16;;; Copyright © 2020 Alexandru-Sergiu Marton <brown121407@member.fsf.org>
17;;; Copyright © 2020 Brian Leung <bkleung89@gmail.com>
17;;; 18;;;
18;;; This file is part of GNU Guix. 19;;; This file is part of GNU Guix.
19;;; 20;;;
@@ -50,6 +51,42 @@
50 #:use-module (gnu packages rsync) 51 #:use-module (gnu packages rsync)
51 #:use-module (gnu packages version-control)) 52 #:use-module (gnu packages version-control))
52 53
54(define-public apply-refact
55 (package
56 (name "apply-refact")
57 (version "0.6.0.0")
58 (source
59 (origin
60 (method url-fetch)
61 (uri (string-append
62 "https://hackage.haskell.org/package/apply-refact/apply-refact-"
63 version ".tar.gz"))
64 (sha256
65 (base32
66 "0p2mqgjcqr1zcmk8zgr0yq7g8z1agsa6l493lkj6g3ya9lyhxgig"))))
67 (build-system haskell-build-system)
68 (inputs
69 `(("ghc-refact" ,ghc-refact)
70 ("ghc-exactprint" ,ghc-exactprint)
71 ("ghc-syb" ,ghc-syb)
72 ("ghc-temporary" ,ghc-temporary)
73 ("ghc-filemanip" ,ghc-filemanip)
74 ("ghc-unix-compat" ,ghc-unix-compat)
75 ("ghc-optparse-applicative"
76 ,ghc-optparse-applicative)))
77 (native-inputs
78 `(("ghc-tasty" ,ghc-tasty)
79 ("ghc-tasty-golden" ,ghc-tasty-golden)
80 ("ghc-tasty-expected-failure"
81 ,ghc-tasty-expected-failure)
82 ("ghc-silently" ,ghc-silently)))
83 (home-page "https://hackage.haskell.org/package/apply-refact")
84 (synopsis "Perform refactorings specified by the refact library")
85 (description
86 "This package lets you perform refactorings specified by the refact
87library. It is primarily used with HLint's @code{--refactor} flag.")
88 (license license:bsd-3)))
89
53;; In Stackage LTS 14, this package is at 2.4.1.0. However, that 90;; In Stackage LTS 14, this package is at 2.4.1.0. However, that
54;; version requires version 2.4.1.0 of the 'Cabal' package, which is 91;; version requires version 2.4.1.0 of the 'Cabal' package, which is
55;; provided by GHC 8.6.5 at version 2.4.0.1. Hence, we use an older 92;; provided by GHC 8.6.5 at version 2.4.0.1. Hence, we use an older
@@ -777,3 +814,6 @@ Replace some ASCII sequences by their Unicode equivalent (turned off by
777default) 814default)
778@end itemize") 815@end itemize")
779 (license license:bsd-3))) 816 (license license:bsd-3)))
817
818(define-public ghc-stylish-haskell
819 (deprecated-package "ghc-stylish-haskell" stylish-haskell))
diff --git a/gnu/packages/haskell-web.scm b/gnu/packages/haskell-web.scm
index acdc1447a4b..05be862a85a 100644
--- a/gnu/packages/haskell-web.scm
+++ b/gnu/packages/haskell-web.scm
@@ -752,6 +752,41 @@ Haskell.")
752documents.") 752documents.")
753 (license license:bsd-3))) 753 (license license:bsd-3)))
754 754
755(define-public ghc-html-conduit
756 (package
757 (name "ghc-html-conduit")
758 (version "1.3.2.1")
759 (source
760 (origin
761 (method url-fetch)
762 (uri (string-append
763 "https://hackage.haskell.org/package/html-conduit/"
764 "html-conduit-" version ".tar.gz"))
765 (sha256
766 (base32
767 "196c8zcnjp1pc5qvqxd8arx3xkw0a90rvg9mmiw2l4zwnx65709n"))))
768 (build-system haskell-build-system)
769 (inputs
770 `(("ghc-resourcet" ,ghc-resourcet)
771 ("ghc-conduit" ,ghc-conduit)
772 ("ghc-xml-conduit" ,ghc-xml-conduit)
773 ("ghc-xml-types" ,ghc-xml-types)
774 ("ghc-attoparsec" ,ghc-attoparsec)
775 ("ghc-conduit-extra" ,ghc-conduit-extra)))
776 (native-inputs
777 `(("ghc-hspec" ,ghc-hspec)
778 ("ghc-hunit" ,ghc-hunit)))
779 (home-page "https://github.com/snoyberg/xml")
780 (synopsis "Parse HTML documents using xml-conduit datatypes")
781 (description
782 "This package provides a parser for HTML documents that uses
783tagstream-conduit. It automatically balances mismatched tags, so that
784there shouldn't be any parse failures. It does not handle a full HTML
785document rendering, such as adding missing html and head tags. Note that,
786since version 1.3.1, it uses an inlined copy of tagstream-conduit with
787entity decoding bugfixes applied.")
788 (license license:expat)))
789
755(define-public ghc-blaze-html 790(define-public ghc-blaze-html
756 (package 791 (package
757 (name "ghc-blaze-html") 792 (name "ghc-blaze-html")
@@ -1094,7 +1129,7 @@ functions, widgets, etc.")
1094(define-public ghc-yesod-persistent 1129(define-public ghc-yesod-persistent
1095 (package 1130 (package
1096 (name "ghc-yesod-persistent") 1131 (name "ghc-yesod-persistent")
1097 (version "1.6.0.2") 1132 (version "1.6.0.4")
1098 (source 1133 (source
1099 (origin 1134 (origin
1100 (method url-fetch) 1135 (method url-fetch)
@@ -1103,7 +1138,7 @@ functions, widgets, etc.")
1103 "yesod-persistent-" version ".tar.gz")) 1138 "yesod-persistent-" version ".tar.gz"))
1104 (sha256 1139 (sha256
1105 (base32 1140 (base32
1106 "17adw0aaj29ia7ii3jka301442860b5wvfrms079q973gzahz5fd")))) 1141 "1gsiw2zx6z7za7a164h0fxfggkrdqz6fn0qyb2zn9qr7r2jbg1c0"))))
1107 (build-system haskell-build-system) 1142 (build-system haskell-build-system)
1108 (arguments `(#:tests? #f)) ; FIXME: hspec-discover not available in PATH. 1143 (arguments `(#:tests? #f)) ; FIXME: hspec-discover not available in PATH.
1109 (inputs `(("ghc-yesod-core" ,ghc-yesod-core) 1144 (inputs `(("ghc-yesod-core" ,ghc-yesod-core)
@@ -1655,6 +1690,6 @@ non-Haskell dependencies.")
1655 "High level web scraping library for Haskell") 1690 "High level web scraping library for Haskell")
1656 (description 1691 (description
1657 "Scalpel is a web scraping library inspired by libraries like Parsec 1692 "Scalpel is a web scraping library inspired by libraries like Parsec
1658and Perl's @code{Web::Scraper} Scalpel builds on top of TagSoup to provide a 1693and Perl's @code{Web::Scraper}. Scalpel builds on top of TagSoup to provide a
1659declarative and monadic interface.") 1694declarative and monadic interface.")
1660 (license license:asl2.0))) 1695 (license license:asl2.0)))
diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm
index 0828dc93c62..5dc9f705ccc 100644
--- a/gnu/packages/haskell-xyz.scm
+++ b/gnu/packages/haskell-xyz.scm
@@ -25,6 +25,7 @@
25;;; Copyright © 2020 Brett Gilio <brettg@gnu.org> 25;;; Copyright © 2020 Brett Gilio <brettg@gnu.org>
26;;; Copyright © 2020 JoJo <jo@jo.zone> 26;;; Copyright © 2020 JoJo <jo@jo.zone>
27;;; Copyright © 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr> 27;;; Copyright © 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr>
28;;; Copyright © 2020 Alexandru-Sergiu Marton <brown121407@member.fsf.org>
28;;; 29;;;
29;;; This file is part of GNU Guix. 30;;; This file is part of GNU Guix.
30;;; 31;;;
@@ -906,6 +907,45 @@ stand for certain ASCII character sequences, i.e. → instead of @code{->},
906∀ instead of @code{forall} and many others.") 907∀ instead of @code{forall} and many others.")
907 (license license:bsd-3))) 908 (license license:bsd-3)))
908 909
910(define-public ghc-basic-prelude
911 (package
912 (name "ghc-basic-prelude")
913 (version "0.7.0")
914 (source
915 (origin
916 (method url-fetch)
917 (uri (string-append
918 "https://hackage.haskell.org/package/basic-prelude/"
919 "basic-prelude-" version ".tar.gz"))
920 (sha256
921 (base32
922 "0yckmnvm6i4vw0mykj4fzl4ldsf67v8d2h0vp1bakyj84n4myx8h"))))
923 (build-system haskell-build-system)
924 (inputs
925 `(("ghc-hashable" ,ghc-hashable)
926 ("ghc-unordered-containers"
927 ,ghc-unordered-containers)
928 ("ghc-vector" ,ghc-vector)))
929 (home-page "https://github.com/snoyberg/basic-prelude#readme")
930 (synopsis "Enhanced core prelude; a common foundation for alternate preludes")
931 (description
932 "The premise of basic-prelude is that there are a lot of very commonly
933desired features missing from the standard Prelude, such as commonly used
934operators (<$> and >=>, for instance) and imports for common datatypes
935(e.g., ByteString and Vector). At the same time, there are lots of other
936components which are more debatable, such as providing polymorphic versions
937of common functions.
938
939So basic-prelude is intended to give a common foundation for a number of
940alternate preludes. The package provides two modules: CorePrelude provides
941the common ground for other preludes to build on top of, while BasicPrelude
942exports CorePrelude together with commonly used list functions to provide a
943drop-in replacement for the standard Prelude.
944
945Users wishing to have an improved Prelude can use BasicPrelude. Developers
946wishing to create a new prelude should use CorePrelude.")
947 (license license:expat)))
948
909(define-public ghc-bifunctors 949(define-public ghc-bifunctors
910 (package 950 (package
911 (name "ghc-bifunctors") 951 (name "ghc-bifunctors")
@@ -3612,7 +3652,7 @@ directly uses the type system, rather than out-of-band exceptions.")
3612(define-public ghc-esqueleto 3652(define-public ghc-esqueleto
3613 (package 3653 (package
3614 (name "ghc-esqueleto") 3654 (name "ghc-esqueleto")
3615 (version "3.0.0") 3655 (version "3.3.1.1")
3616 (source 3656 (source
3617 (origin 3657 (origin
3618 (method url-fetch) 3658 (method url-fetch)
@@ -3620,7 +3660,7 @@ directly uses the type system, rather than out-of-band exceptions.")
3620 "esqueleto/esqueleto-" version ".tar.gz")) 3660 "esqueleto/esqueleto-" version ".tar.gz"))
3621 (sha256 3661 (sha256
3622 (base32 3662 (base32
3623 "187c098h2xyf2nhifkdy2bqfl6iap7a93mzwd2kirl5yyicpc9zy")))) 3663 "1qi28ma8j5kfygjxnixlazxsyrkdqv8ljz3icwqi5dlscsnj6v3v"))))
3624 (build-system haskell-build-system) 3664 (build-system haskell-build-system)
3625 (arguments 3665 (arguments
3626 `(#:haddock? #f ; Haddock reports an internal error. 3666 `(#:haddock? #f ; Haddock reports an internal error.
@@ -7897,6 +7937,36 @@ class, and a lazy number type for non-negative numbers (a generalization
7897of Peano numbers).") 7937of Peano numbers).")
7898 (license license:gpl3+))) 7938 (license license:gpl3+)))
7899 7939
7940(define-public ghc-nonce
7941 (package
7942 (name "ghc-nonce")
7943 (version "1.0.7")
7944 (source
7945 (origin
7946 (method url-fetch)
7947 (uri (string-append
7948 "https://hackage.haskell.org/package/nonce/"
7949 "nonce-" version ".tar.gz"))
7950 (sha256
7951 (base32
7952 "1q9ph0aq51mvdvydnriqd12sfin36pfb8f588zgac1ybn8r64ksb"))))
7953 (build-system haskell-build-system)
7954 (inputs
7955 `(("ghc-base64-bytestring" ,ghc-base64-bytestring)
7956 ("ghc-entropy" ,ghc-entropy)
7957 ("ghc-unliftio" ,ghc-unliftio)
7958 ("ghc-unliftio-core" ,ghc-unliftio-core)))
7959 (home-page "https://github.com/prowdsponsor/nonce")
7960 (synopsis "Generate cryptographic nonces in Haskell")
7961 (description
7962 "A nonce is an arbitrary number used only once in a cryptographic
7963communication. This package contain helper functions for generating nonces.
7964There are many kinds of nonces used in different situations. It's not
7965guaranteed that by using the nonces from this package you won't have any
7966security issues. Please make sure that the nonces generated via this
7967package are usable on your design.")
7968 (license license:bsd-3)))
7969
7900(define-public ghc-numeric-extras 7970(define-public ghc-numeric-extras
7901 (package 7971 (package
7902 (name "ghc-numeric-extras") 7972 (name "ghc-numeric-extras")
@@ -8684,41 +8754,36 @@ syntax and semantics as Perl 5.")
8684(define-public ghc-persistent 8754(define-public ghc-persistent
8685 (package 8755 (package
8686 (name "ghc-persistent") 8756 (name "ghc-persistent")
8687 (version "2.9.2") 8757 (version "2.10.4")
8688 (source 8758 (source
8689 (origin 8759 (origin
8690 (method url-fetch) 8760 (method url-fetch)
8691 (uri (string-append "https://hackage.haskell.org/package/" 8761 (uri (string-append
8692 "persistent-" version "/" 8762 "https://hackage.haskell.org/package/persistent/"
8693 "persistent-" version ".tar.gz")) 8763 "persistent-" version ".tar.gz"))
8694 (sha256 8764 (sha256
8695 (base32 8765 (base32
8696 "1wsa3kn427v88a6r0vwr6mz23snik2krbsgc8zqp18xajqn5szj9")))) 8766 "1cxswz72sqdg2z1nbpgp1k5qr41djgk8qbf8nz7wfppsrhacyffi"))))
8697 (build-system haskell-build-system) 8767 (build-system haskell-build-system)
8698 (inputs `(("ghc-old-locale" ,ghc-old-locale) 8768 (inputs
8699 ("ghc-conduit" ,ghc-conduit) 8769 `(("ghc-aeson" ,ghc-aeson)
8700 ("ghc-resourcet" ,ghc-resourcet) 8770 ("ghc-attoparsec" ,ghc-attoparsec)
8701 ("ghc-exceptions" ,ghc-exceptions) 8771 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
8702 ("ghc-monad-control" ,ghc-monad-control) 8772 ("ghc-blaze-html" ,ghc-blaze-html)
8703 ("ghc-lifted-base" ,ghc-lifted-base) 8773 ("ghc-conduit" ,ghc-conduit)
8704 ("ghc-resource-pool" ,ghc-resource-pool) 8774 ("ghc-fast-logger" ,ghc-fast-logger)
8705 ("ghc-path-pieces" ,ghc-path-pieces) 8775 ("ghc-http-api-data" ,ghc-http-api-data)
8706 ("ghc-http-api-data" ,ghc-http-api-data) 8776 ("ghc-monad-logger" ,ghc-monad-logger)
8707 ("ghc-aeson" ,ghc-aeson) 8777 ("ghc-path-pieces" ,ghc-path-pieces)
8708 ("ghc-monad-logger" ,ghc-monad-logger) 8778 ("ghc-resource-pool" ,ghc-resource-pool)
8709 ("ghc-transformers-base" ,ghc-transformers-base) 8779 ("ghc-resourcet" ,ghc-resourcet)
8710 ("ghc-base64-bytestring" ,ghc-base64-bytestring) 8780 ("ghc-scientific" ,ghc-scientific)
8711 ("ghc-unordered-containers" ,ghc-unordered-containers) 8781 ("ghc-silently" ,ghc-silently)
8712 ("ghc-vector" ,ghc-vector) 8782 ("ghc-unliftio-core" ,ghc-unliftio-core)
8713 ("ghc-attoparsec" ,ghc-attoparsec) 8783 ("ghc-unliftio" ,ghc-unliftio)
8714 ("ghc-haskell-src-meta" ,ghc-haskell-src-meta) 8784 ("ghc-unordered-containers"
8715 ("ghc-blaze-html" ,ghc-blaze-html) 8785 ,ghc-unordered-containers)
8716 ("ghc-blaze-markup" ,ghc-blaze-markup) 8786 ("ghc-vector" ,ghc-vector)))
8717 ("ghc-silently" ,ghc-silently)
8718 ("ghc-fast-logger" ,ghc-fast-logger)
8719 ("ghc-scientific" ,ghc-scientific)
8720 ("ghc-tagged" ,ghc-tagged)
8721 ("ghc-void" ,ghc-void)))
8722 (native-inputs `(("ghc-hspec" ,ghc-hspec))) 8787 (native-inputs `(("ghc-hspec" ,ghc-hspec)))
8723 (home-page "https://www.yesodweb.com/book/persistent") 8788 (home-page "https://www.yesodweb.com/book/persistent")
8724 (synopsis "Type-safe, multi-backend data serialization for Haskell") 8789 (synopsis "Type-safe, multi-backend data serialization for Haskell")
@@ -8730,30 +8795,40 @@ way.")
8730(define-public ghc-persistent-sqlite 8795(define-public ghc-persistent-sqlite
8731 (package 8796 (package
8732 (name "ghc-persistent-sqlite") 8797 (name "ghc-persistent-sqlite")
8733 (version "2.9.3") 8798 (version "2.10.5.2")
8734 (source 8799 (source
8735 (origin 8800 (origin
8736 (method url-fetch) 8801 (method url-fetch)
8737 (uri (string-append "https://hackage.haskell.org/package/" 8802 (uri (string-append
8738 "persistent-sqlite-" version "/" 8803 "https://hackage.haskell.org/package/persistent-sqlite/"
8739 "persistent-sqlite-" version ".tar.gz")) 8804 "persistent-sqlite-" version ".tar.gz"))
8740 (sha256 8805 (sha256
8741 (base32 8806 (base32
8742 "13wbn88ixv4d4dfjl1gabm1q60fbcnygbmixz57pi3z84drrynwq")))) 8807 "0agag3cgivl6mk38pqzr0qw5lxps9p2bgdwvi5658l46hs7bixxn"))))
8743 (build-system haskell-build-system) 8808 (build-system haskell-build-system)
8744 (inputs `(("ghc-persistent" ,ghc-persistent) 8809 (inputs
8745 ("ghc-unliftio-core" ,ghc-unliftio-core) 8810 `(("ghc-persistent" ,ghc-persistent)
8746 ("ghc-aeson" ,ghc-aeson) 8811 ("ghc-aeson" ,ghc-aeson)
8747 ("ghc-conduit" ,ghc-conduit) 8812 ("ghc-conduit" ,ghc-conduit)
8748 ("ghc-monad-logger" ,ghc-monad-logger) 8813 ("ghc-microlens-th" ,ghc-microlens-th)
8749 ("ghc-microlens-th" ,ghc-microlens-th) 8814 ("ghc-monad-logger" ,ghc-monad-logger)
8750 ("ghc-resourcet" ,ghc-resourcet) 8815 ("ghc-resource-pool" ,ghc-resource-pool)
8751 ("ghc-old-locale" ,ghc-old-locale) 8816 ("ghc-resourcet" ,ghc-resourcet)
8752 ("ghc-resource-pool" ,ghc-resource-pool) 8817 ("ghc-unliftio-core" ,ghc-unliftio-core)
8753 ("ghc-unordered-containers" ,ghc-unordered-containers))) 8818 ("ghc-unordered-containers"
8754 (native-inputs `(("ghc-hspec" ,ghc-hspec) 8819 ,ghc-unordered-containers)))
8755 ("ghc-persistent-template" ,ghc-persistent-template) 8820 (native-inputs
8756 ("ghc-temporary" ,ghc-temporary))) 8821 `(("ghc-persistent-template"
8822 ,ghc-persistent-template)
8823 ("ghc-persistent-test" ,ghc-persistent-test)
8824 ("ghc-exceptions" ,ghc-exceptions)
8825 ("ghc-fast-logger" ,ghc-fast-logger)
8826 ("ghc-hspec" ,ghc-hspec)
8827 ("ghc-hunit" ,ghc-hunit)
8828 ("ghc-quickcheck" ,ghc-quickcheck)
8829 ("ghc-system-fileio" ,ghc-system-fileio)
8830 ("ghc-system-filepath" ,ghc-system-filepath)
8831 ("ghc-temporary" ,ghc-temporary)))
8757 (home-page 8832 (home-page
8758 "https://www.yesodweb.com/book/persistent") 8833 "https://www.yesodweb.com/book/persistent")
8759 (synopsis "Backend for the persistent library using sqlite3") 8834 (synopsis "Backend for the persistent library using sqlite3")
@@ -8765,34 +8840,79 @@ system dependencies.")
8765(define-public ghc-persistent-template 8840(define-public ghc-persistent-template
8766 (package 8841 (package
8767 (name "ghc-persistent-template") 8842 (name "ghc-persistent-template")
8768 (version "2.6.0") 8843 (version "2.8.0")
8769 (source 8844 (source
8770 (origin 8845 (origin
8771 (method url-fetch) 8846 (method url-fetch)
8772 (uri (string-append "https://hackage.haskell.org/package/" 8847 (uri (string-append
8773 "persistent-template-" version "/" 8848 "https://hackage.haskell.org/package/persistent-template/"
8774 "persistent-template-" version ".tar.gz")) 8849 "persistent-template-" version ".tar.gz"))
8775 (sha256 8850 (sha256
8776 (base32 8851 (base32
8777 "0wr1z2nfrl6jv1lprxb0d2jw4izqfcbcwvkdrhryzg95gjz8ryjv")))) 8852 "16yjrl0gh4jbs4skr7iv6a55lny59bqhd6hjmvch1cl9j5d0c0g3"))))
8778 (build-system haskell-build-system) 8853 (build-system haskell-build-system)
8779 (inputs `(("ghc-persistent" ,ghc-persistent) 8854 (inputs
8780 ("ghc-monad-control" ,ghc-monad-control) 8855 `(("ghc-persistent" ,ghc-persistent)
8781 ("ghc-aeson" ,ghc-aeson) 8856 ("ghc-aeson" ,ghc-aeson)
8782 ("ghc-aeson-compat" ,ghc-aeson-compat) 8857 ("ghc-http-api-data" ,ghc-http-api-data)
8783 ("ghc-monad-logger" ,ghc-monad-logger) 8858 ("ghc-monad-control" ,ghc-monad-control)
8784 ("ghc-unordered-containers" ,ghc-unordered-containers) 8859 ("ghc-monad-logger" ,ghc-monad-logger)
8785 ("ghc-tagged" ,ghc-tagged) 8860 ("ghc-path-pieces" ,ghc-path-pieces)
8786 ("ghc-path-pieces" ,ghc-path-pieces) 8861 ("ghc-th-lift-instances" ,ghc-th-lift-instances)
8787 ("ghc-http-api-data" ,ghc-http-api-data))) 8862 ("ghc-unordered-containers"
8788 (native-inputs `(("ghc-hspec" ,ghc-hspec) 8863 ,ghc-unordered-containers)))
8789 ("ghc-quickcheck" ,ghc-quickcheck))) 8864 (native-inputs
8865 `(("ghc-hspec" ,ghc-hspec)
8866 ("ghc-quickcheck" ,ghc-quickcheck)))
8790 (home-page "https://www.yesodweb.com/book/persistent") 8867 (home-page "https://www.yesodweb.com/book/persistent")
8791 (synopsis "Type-safe, non-relational, multi-backend persistence") 8868 (synopsis "Type-safe, non-relational, multi-backend persistence")
8792 (description "This Haskell package provides interfaces and helper 8869 (description "This Haskell package provides interfaces and helper
8793functions for the ghc-persistent package.") 8870functions for the ghc-persistent package.")
8794 (license license:expat))) 8871 (license license:expat)))
8795 8872
8873(define-public ghc-persistent-test
8874 (package
8875 (name "ghc-persistent-test")
8876 (version "2.0.3.1")
8877 (source
8878 (origin
8879 (method url-fetch)
8880 (uri (string-append
8881 "https://hackage.haskell.org/package/persistent-test/"
8882 "persistent-test-" version ".tar.gz"))
8883 (sha256
8884 (base32
8885 "11aq5cy0n43jamf6mg4sr4300bc2zdbjxsczzxwjkb4hzs0ijsdv"))))
8886 (build-system haskell-build-system)
8887 (inputs
8888 `(("ghc-aeson" ,ghc-aeson)
8889 ("ghc-blaze-html" ,ghc-blaze-html)
8890 ("ghc-conduit" ,ghc-conduit)
8891 ("ghc-monad-control" ,ghc-monad-control)
8892 ("ghc-monad-logger" ,ghc-monad-logger)
8893 ("ghc-path-pieces" ,ghc-path-pieces)
8894 ("ghc-persistent" ,ghc-persistent)
8895 ("ghc-persistent-template" ,ghc-persistent-template)
8896 ("ghc-random" ,ghc-random)
8897 ("ghc-resourcet" ,ghc-resourcet)
8898 ("ghc-transformers-base" ,ghc-transformers-base)
8899 ("ghc-unliftio" ,ghc-unliftio)
8900 ("ghc-unliftio-core" ,ghc-unliftio-core)
8901 ("ghc-unordered-containers" ,ghc-unordered-containers)))
8902 (native-inputs
8903 `(("ghc-quickcheck" ,ghc-quickcheck)
8904 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
8905 ("ghc-hspec" ,ghc-hspec)
8906 ("ghc-hspec-expectations" ,ghc-hspec-expectations)
8907 ("ghc-hunit" ,ghc-hunit)))
8908 (home-page "https://www.yesodweb.com/book/persistent")
8909 (synopsis "Tests for the Persistent database library")
8910 (description
8911 "This is only for use in developing libraries that should conform to
8912the persistent interface, not for users of the persistent suite of database
8913libraries.")
8914 (license license:expat)))
8915
8796(define-public ghc-pipes 8916(define-public ghc-pipes
8797 (package 8917 (package
8798 (name "ghc-pipes") 8918 (name "ghc-pipes")
@@ -9086,6 +9206,46 @@ API.")
9086 (description "This library provides profunctors for Haskell.") 9206 (description "This library provides profunctors for Haskell.")
9087 (license license:bsd-3))) 9207 (license license:bsd-3)))
9088 9208
9209(define-public ghc-project-template
9210 (package
9211 (name "ghc-project-template")
9212 (version "0.2.0.1")
9213 (source
9214 (origin
9215 (method url-fetch)
9216 (uri (string-append
9217 "https://hackage.haskell.org/package/project-template/project-template-"
9218 version ".tar.gz"))
9219 (sha256
9220 (base32
9221 "1p69ww4rhah2qxragl615wl4a6mk4x9w09am8knmz3s4lxpljlpb"))))
9222 (build-system haskell-build-system)
9223 (inputs
9224 `(("ghc-base64-bytestring" ,ghc-base64-bytestring)
9225 ("ghc-conduit" ,ghc-conduit)
9226 ("ghc-conduit-extra" ,ghc-conduit-extra)
9227 ("ghc-resourcet" ,ghc-resourcet)))
9228 (native-inputs
9229 `(("ghc-hspec" ,ghc-hspec)
9230 ("hspec-discover" ,hspec-discover)
9231 ("ghc-quickcheck" ,ghc-quickcheck)))
9232 (arguments
9233 `(#:cabal-revision
9234 ("1"
9235 "0lq3sqnq0nr0gbvgzp0lqdl3j3mqdmdlf8xsw0j3pjh581xj3k0a")))
9236 (home-page "https://github.com/fpco/haskell-ide")
9237 (synopsis "Specify Haskell project templates and generate files")
9238 (description
9239 "Haskell library for both generating and consuming project templates.
9240
9241ost IDEs provide the concept of a project template: instead of writing all
9242of the code for a project from scratch, you select a template, answer a few
9243questions, and a bunch of files are automatically generated.
9244
9245project-template tries to provide a canonical Haskell library for implementing
9246the ideal templating system.")
9247 (license license:bsd-3)))
9248
9089(define-public ghc-psqueues 9249(define-public ghc-psqueues
9090 (package 9250 (package
9091 (name "ghc-psqueues") 9251 (name "ghc-psqueues")
@@ -9151,6 +9311,36 @@ Typical applications of Priority Search Queues include:
9151@end itemize") 9311@end itemize")
9152 (license license:bsd-3))) 9312 (license license:bsd-3)))
9153 9313
9314(define-public ghc-pwstore-fast
9315 (package
9316 (name "ghc-pwstore-fast")
9317 (version "2.4.4")
9318 (source
9319 (origin
9320 (method url-fetch)
9321 (uri (string-append
9322 "https://hackage.haskell.org/package/pwstore-fast/"
9323 "pwstore-fast-" version ".tar.gz"))
9324 (sha256
9325 (base32
9326 "1cpvlwzg3qznhygrr78f75p65mnljd9v5cvnagfxjqppnrkay6bj"))))
9327 (build-system haskell-build-system)
9328 (inputs
9329 `(("ghc-base64-bytestring" ,ghc-base64-bytestring)
9330 ("ghc-cryptohash" ,ghc-cryptohash)
9331 ("ghc-random" ,ghc-random)
9332 ("ghc-byteable" ,ghc-byteable)))
9333 (home-page "https://github.com/PeterScott/pwstore")
9334 (synopsis "Secure password storage")
9335 (description
9336 "To store passwords securely, they should be salted, then hashed with
9337a slow hash function. This library uses PBKDF1-SHA256, and handles all the
9338details. It uses the cryptohash package for speed; if you need a pure
9339Haskell library, pwstore-purehaskell has the exact same API, but uses only
9340pure Haskell. It is about 25 times slower than this package, but still quite
9341usable.")
9342 (license license:bsd-3)))
9343
9154(define-public ghc-random 9344(define-public ghc-random
9155 (package 9345 (package
9156 (name "ghc-random") 9346 (name "ghc-random")
@@ -11118,9 +11308,6 @@ functions for breaking or splitting on substrings and replacing all
11118occurrences of a substring (the first in case of overlaps) with another.") 11308occurrences of a substring (the first in case of overlaps) with another.")
11119 (license license:bsd-3))) 11309 (license license:bsd-3)))
11120 11310
11121(define-public ghc-stylish-haskell
11122 (deprecated-package "ghc-stylish-haskell" stylish-haskell))
11123
11124(define-public ghc-svg-builder 11311(define-public ghc-svg-builder
11125 (package 11312 (package
11126 (name "ghc-svg-builder") 11313 (name "ghc-svg-builder")
diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm
index f0c66dd2158..9974208229c 100644
--- a/gnu/packages/image.scm
+++ b/gnu/packages/image.scm
@@ -241,10 +241,6 @@ APNG patch provides APNG support to libpng.")
241images. It can further losslessly compress them by as much as 40%.") 241images. It can further losslessly compress them by as much as 40%.")
242 (license license:zlib))) 242 (license license:zlib)))
243 243
244(define-public pngcrunch
245 ;; This package used to be wrongfully name "pngcrunch".
246 (deprecated-package "pngcrunch" pngcrush))
247
248(define-public pnglite 244(define-public pnglite
249 (let ((commit "11695c56f7d7db806920bd9229b69f230e6ffb38") 245 (let ((commit "11695c56f7d7db806920bd9229b69f230e6ffb38")
250 (revision "1")) 246 (revision "1"))
@@ -1327,7 +1323,7 @@ ISO/IEC 15444-1).")
1327 (commit (string-append "release-" version)))) 1323 (commit (string-append "release-" version))))
1328 (file-name (git-file-name name version)) 1324 (file-name (git-file-name name version))
1329 (sha256 1325 (sha256
1330 (base32 "12bs2rfmmy021087i10vxibdbbvd5vld0vk3h5hymhpz7rgszcmg")))) 1326 (base32 "1dqyrq3p8bkgvj4ci50ac342hjnhyz6xxvhiwp7wpi3v3nbj7s02"))))
1331 (build-system gnu-build-system) 1327 (build-system gnu-build-system)
1332 (native-inputs 1328 (native-inputs
1333 `(("autoconf" ,autoconf) 1329 `(("autoconf" ,autoconf)
diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index c68b0d3fd2a..1d910e17d17 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -9,7 +9,7 @@
9;;; Copyright © 2017, 2019 Tobias Geerinckx-Rice <me@tobias.gr> 9;;; Copyright © 2017, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
10;;; Copyright © 2018, 2019 Gábor Boskovits <boskovits@gmail.com> 10;;; Copyright © 2018, 2019 Gábor Boskovits <boskovits@gmail.com>
11;;; Copyright © 2018 Chris Marusich <cmmarusich@gmail.com> 11;;; Copyright © 2018 Chris Marusich <cmmarusich@gmail.com>
12;;; Copyright © 2018, 2019 Efraim Flashner <efraim@flashner.co.il> 12;;; Copyright © 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il>
13;;; Copyright © 2019, 2020 Björn Höfling <bjoern.hoefling@bjoernhoefling.de> 13;;; Copyright © 2019, 2020 Björn Höfling <bjoern.hoefling@bjoernhoefling.de>
14;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org> 14;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
15;;; 15;;;
@@ -3442,12 +3442,14 @@ an Ant task that extends the built-in @code{jar} task.")
3442 (name "java-hamcrest-core") 3442 (name "java-hamcrest-core")
3443 (version "1.3") 3443 (version "1.3")
3444 (source (origin 3444 (source (origin
3445 (method url-fetch) 3445 (method git-fetch)
3446 (uri (string-append "https://github.com/hamcrest/JavaHamcrest/" 3446 (uri (git-reference
3447 "archive/hamcrest-java-" version ".tar.gz")) 3447 (url "https://github.com/hamcrest/JavaHamcrest/")
3448 (commit (string-append "hamcrest-java-" version))))
3449 (file-name (git-file-name name version))
3448 (sha256 3450 (sha256
3449 (base32 3451 (base32
3450 "11g0s105fmwzijbv08lx8jlb521yravjmxnpgdx08fvg1kjivhva")) 3452 "16fxxkrd31ahqvcaby30jgh3z1i0zxh51m24hxgz0z2agxj6bc63"))
3451 (modules '((guix build utils))) 3453 (modules '((guix build utils)))
3452 (snippet 3454 (snippet
3453 '(begin 3455 '(begin
@@ -3547,13 +3549,14 @@ testing frameworks, mocking libraries and UI validation rules.")
3547 (name "java-junit") 3549 (name "java-junit")
3548 (version "4.12") 3550 (version "4.12")
3549 (source (origin 3551 (source (origin
3550 (method url-fetch) 3552 (method git-fetch)
3551 (uri (string-append "https://github.com/junit-team/junit/" 3553 (uri (git-reference
3552 "archive/r" version ".tar.gz")) 3554 (url "https://github.com/junit-team/junit/")
3553 (file-name (string-append name "-" version ".tar.gz")) 3555 (commit (string-append "r" version))))
3556 (file-name (git-file-name name version))
3554 (sha256 3557 (sha256
3555 (base32 3558 (base32
3556 "090dn5v1vs0b3acyaqc0gjf6p8lmd2h24wfzsbq7sly6b214anws")) 3559 "1j8avi91px1z8rjc89cfikwrvfifdmmsarwiyrcnr59ynvpz0v8h"))
3557 (modules '((guix build utils))) 3560 (modules '((guix build utils)))
3558 (snippet 3561 (snippet
3559 '(begin 3562 '(begin
@@ -3566,7 +3569,7 @@ testing frameworks, mocking libraries and UI validation rules.")
3566 #:jar-name "junit.jar")) 3569 #:jar-name "junit.jar"))
3567 (inputs 3570 (inputs
3568 `(("java-hamcrest-core" ,java-hamcrest-core))) 3571 `(("java-hamcrest-core" ,java-hamcrest-core)))
3569 (home-page "https://junit.org/") 3572 (home-page "https://junit.org/junit4/")
3570 (synopsis "Test framework for Java") 3573 (synopsis "Test framework for Java")
3571 (description 3574 (description
3572 "JUnit is a simple framework to write repeatable tests for Java projects. 3575 "JUnit is a simple framework to write repeatable tests for Java projects.
@@ -3579,13 +3582,14 @@ sharing common test data, and test runners for running tests.")
3579 (name "java-plexus-utils") 3582 (name "java-plexus-utils")
3580 (version "3.2.0") 3583 (version "3.2.0")
3581 (source (origin 3584 (source (origin
3582 (method url-fetch) 3585 (method git-fetch)
3583 (uri (string-append "https://github.com/codehaus-plexus/" 3586 (uri (git-reference
3584 "plexus-utils/archive/plexus-utils-" 3587 (url "https://github.com/codehaus-plexus/plexus-utils")
3585 version ".tar.gz")) 3588 (commit (string-append "plexus-utils-" version))))
3589 (file-name (git-file-name name version))
3586 (sha256 3590 (sha256
3587 (base32 3591 (base32
3588 "1ihfigar20lvk4pinii7dq05i173xphhw4iyrk6gjfy04m01j2lz")))) 3592 "1mlx7xrq7lgqjqcpg7y4hi1ghavf28vvk3har82037dqx61n0f15"))))
3589 (build-system ant-build-system) 3593 (build-system ant-build-system)
3590 ;; FIXME: The default build.xml does not include a target to install 3594 ;; FIXME: The default build.xml does not include a target to install
3591 ;; javadoc files. 3595 ;; javadoc files.
@@ -3632,13 +3636,14 @@ more.")
3632 (name "java-plexus-interpolation") 3636 (name "java-plexus-interpolation")
3633 (version "1.23") 3637 (version "1.23")
3634 (source (origin 3638 (source (origin
3635 (method url-fetch) 3639 (method git-fetch)
3636 (uri (string-append "https://github.com/codehaus-plexus/" 3640 (uri (git-reference
3637 "plexus-interpolation/archive/" 3641 (url "https://github.com/codehaus-plexus/plexus-interpolation")
3638 "plexus-interpolation-" version ".tar.gz")) 3642 (commit (string-append "plexus-interpolation-" version))))
3643 (file-name (git-file-name name version))
3639 (sha256 3644 (sha256
3640 (base32 3645 (base32
3641 "03377yzlx5q440m6sxxgv6a5qb8fl30zzcgxgc0hxk5qgl2z1jjn")))) 3646 "005hxxg1adv71a96lz4vp65bk3v1pi76j4c45z29xzizclib16vl"))))
3642 (build-system ant-build-system) 3647 (build-system ant-build-system)
3643 (arguments 3648 (arguments
3644 `(#:jar-name "plexus-interpolation.jar" 3649 `(#:jar-name "plexus-interpolation.jar"
@@ -3662,13 +3667,14 @@ these two libraries to vary independently of one another.")
3662 (name "java-plexus-classworlds") 3667 (name "java-plexus-classworlds")
3663 (version "2.5.2") 3668 (version "2.5.2")
3664 (source (origin 3669 (source (origin
3665 (method url-fetch) 3670 (method git-fetch)
3666 (uri (string-append "https://github.com/codehaus-plexus/" 3671 (uri (git-reference
3667 "plexus-classworlds/archive/plexus-classworlds-" 3672 (url "https://github.com/codehaus-plexus/plexus-classworlds")
3668 version ".tar.gz")) 3673 (commit (string-append "plexus-classworlds-" version))))
3674 (file-name (git-file-name name version))
3669 (sha256 3675 (sha256
3670 (base32 3676 (base32
3671 "1qm4p0rl8d82lzhsiwnviw11jnq44s0gflg78zq152xyyr2xmh8g")))) 3677 "1iv8x55fbni2hg4l7pdpbwfq75xmvq1f25g6nxma8rcdpihsh13r"))))
3672 (build-system ant-build-system) 3678 (build-system ant-build-system)
3673 (arguments 3679 (arguments
3674 `(#:jar-name "plexus-classworlds.jar" 3680 `(#:jar-name "plexus-classworlds.jar"
@@ -3688,12 +3694,14 @@ components.")
3688 (name "java-plexus-container-default-bootstrap") 3694 (name "java-plexus-container-default-bootstrap")
3689 (version "1.7.1") 3695 (version "1.7.1")
3690 (source (origin 3696 (source (origin
3691 (method url-fetch) 3697 (method git-fetch)
3692 (uri (string-append "https://github.com/codehaus-plexus/plexus-containers" 3698 (uri (git-reference
3693 "/archive/plexus-containers-" version ".tar.gz")) 3699 (url "https://github.com/codehaus-plexus/plexus-containers")
3700 (commit (string-append "plexus-containers-" version))))
3701 (file-name (git-file-name name version))
3694 (sha256 3702 (sha256
3695 (base32 3703 (base32
3696 "0xw5g30qf4a83608rw9v2hv8pfsz7d69dkdhk6r0wia4q78hh1pc")))) 3704 "1316hrp5vqfv0aw7miq2fp0wwy833h66h502h29vnh5sxj27x228"))))
3697 (build-system ant-build-system) 3705 (build-system ant-build-system)
3698 (arguments 3706 (arguments
3699 `(#:jar-name "container-default.jar" 3707 `(#:jar-name "container-default.jar"
@@ -3727,12 +3735,14 @@ implementation.")
3727 (name "java-plexus-io") 3735 (name "java-plexus-io")
3728 (version "3.0.0") 3736 (version "3.0.0")
3729 (source (origin 3737 (source (origin
3730 (method url-fetch) 3738 (method git-fetch)
3731 (uri (string-append "https://github.com/codehaus-plexus/plexus-io" 3739 (uri (git-reference
3732 "/archive/plexus-io-" version ".tar.gz")) 3740 (url "https://github.com/codehaus-plexus/plexus-io")
3741 (commit (string-append "plexus-io-" version))))
3742 (file-name (git-file-name name version))
3733 (sha256 3743 (sha256
3734 (base32 3744 (base32
3735 "0f2j41kihaymxkpbm55smpxjja235vad8cgz94frfy3ppcp021dw")))) 3745 "1h4q9l2j9sfbscvxpnyy2hazi0r83h3am86y4r959wrl1b24xxwd"))))
3736 (build-system ant-build-system) 3746 (build-system ant-build-system)
3737 (arguments 3747 (arguments
3738 `(#:jar-name "plexus-io.jar" 3748 `(#:jar-name "plexus-io.jar"
@@ -3886,12 +3896,14 @@ from source tags and class annotations.")))
3886 (name "java-plexus-cipher") 3896 (name "java-plexus-cipher")
3887 (version "1.7") 3897 (version "1.7")
3888 (source (origin 3898 (source (origin
3889 (method url-fetch) 3899 (method git-fetch)
3890 (uri (string-append "https://github.com/codehaus-plexus/plexus-cipher" 3900 (uri (git-reference
3891 "/archive/plexus-cipher-" version ".tar.gz")) 3901 (url "https://github.com/codehaus-plexus/plexus-cipher")
3902 (commit (string-append "plexus-cipher-" version))))
3903 (file-name (git-file-name name version))
3892 (sha256 3904 (sha256
3893 (base32 3905 (base32
3894 "1j3r8xzlxlk340snkjp6lk2ilkxlkn8qavsfiq01f43xmvv8ymk3")))) 3906 "0m638nzlxbmnbcj5cwdpgs326ab584yv0k803zlx37r6iqwvf6b0"))))
3895 (build-system ant-build-system) 3907 (build-system ant-build-system)
3896 (arguments 3908 (arguments
3897 `(#:jar-name "plexus-cipher.jar" 3909 `(#:jar-name "plexus-cipher.jar"
@@ -3922,12 +3934,14 @@ and decryption.")
3922 (name "java-plexus-compiler-api") 3934 (name "java-plexus-compiler-api")
3923 (version "2.8.4") 3935 (version "2.8.4")
3924 (source (origin 3936 (source (origin
3925 (method url-fetch) 3937 (method git-fetch)
3926 (uri (string-append "https://github.com/codehaus-plexus/plexus-compiler" 3938 (uri (git-reference
3927 "/archive/plexus-compiler-" version ".tar.gz")) 3939 (url "https://github.com/codehaus-plexus/plexus-compiler")
3940 (commit (string-append "plexus-compiler-" version))))
3941 (file-name (git-file-name name version))
3928 (sha256 3942 (sha256
3929 (base32 3943 (base32
3930 "09vmxs0807wsd26nbrwwj5l8ycmzazqycj52l7w6wjvkryywi69h")))) 3944 "1nq1gnn3s6z1j29gmi1hqbklsmm8b1lmnafb0191914f95mn18gk"))))
3931 (build-system ant-build-system) 3945 (build-system ant-build-system)
3932 (arguments 3946 (arguments
3933 `(#:jar-name "plexus-compiler-api.jar" 3947 `(#:jar-name "plexus-compiler-api.jar"
@@ -3973,13 +3987,14 @@ Compiler component.")))
3973 (source (origin 3987 (source (origin
3974 ;; This project doesn't tag releases or publish tarballs, so we take 3988 ;; This project doesn't tag releases or publish tarballs, so we take
3975 ;; the "prepare release plexus-sec-dispatcher-1.4" git commit. 3989 ;; the "prepare release plexus-sec-dispatcher-1.4" git commit.
3976 (method url-fetch) 3990 (method git-fetch)
3977 (uri (string-append "https://github.com/sonatype/plexus-sec-dispatcher/" 3991 (uri (git-reference
3978 "archive/7db8f88048.tar.gz")) 3992 (url "https://github.com/sonatype/plexus-sec-dispatcher/")
3993 (commit "7db8f880486e192a1c5ea9544e01e756c3d49d0f")))
3979 (sha256 3994 (sha256
3980 (base32 3995 (base32
3981 "1smfrk4n7xbrsxpxcp2j4i0j8q86j73w0w6xg7qz83dp6dagdjgp")) 3996 "1ng4yliy4cqpjr4fxxjbpwyk1wkch5f8vblm1kvwf328s4gibszs"))
3982 (file-name (string-append name "-" version ".tar.gz")))) 3997 (file-name (git-file-name name version))))
3983 (arguments 3998 (arguments
3984 `(#:jar-name "plexus-sec-dispatcher.jar" 3999 `(#:jar-name "plexus-sec-dispatcher.jar"
3985 #:source-dir "src/main/java" 4000 #:source-dir "src/main/java"
@@ -4094,12 +4109,14 @@ Plexus components.")
4094 (name "java-sisu-build-api") 4109 (name "java-sisu-build-api")
4095 (version "0.0.7") 4110 (version "0.0.7")
4096 (source (origin 4111 (source (origin
4097 (method url-fetch) 4112 (method git-fetch)
4098 (uri (string-append "https://github.com/sonatype/sisu-build-api/" 4113 (uri (git-reference
4099 "archive/plexus-build-api-" version ".tar.gz")) 4114 (url "https://github.com/sonatype/sisu-build-api")
4115 (commit (string-append "plexus-build-api-" version))))
4116 (file-name (git-file-name name version))
4100 (sha256 4117 (sha256
4101 (base32 4118 (base32
4102 "1c3rrpma3x634xp2rm2p5iskfhzdyc7qfbhjzr70agrl1jwghgy2")))) 4119 "1d5w6c58gkx30d51v7qwv1xrhc0ly76848gihmgshj19yf6yhca0"))))
4103 (build-system ant-build-system) 4120 (build-system ant-build-system)
4104 (arguments 4121 (arguments
4105 `(#:jar-name "sisu-build-api.jar" 4122 `(#:jar-name "sisu-build-api.jar"
@@ -4149,12 +4166,14 @@ project and determining what files need to be rebuilt.")
4149 (name "java-modello-core") 4166 (name "java-modello-core")
4150 (version "1.9.1") 4167 (version "1.9.1")
4151 (source (origin 4168 (source (origin
4152 (method url-fetch) 4169 (method git-fetch)
4153 (uri (string-append "https://github.com/codehaus-plexus/modello" 4170 (uri (git-reference
4154 "/archive/modello-" version ".tar.gz")) 4171 (url "https://github.com/codehaus-plexus/modello")
4172 (commit (string-append "modello-" version))))
4173 (file-name (git-file-name name version))
4155 (sha256 4174 (sha256
4156 (base32 4175 (base32
4157 "0l2pvns8pmlrmjm3iknp7gpg3654y1m8qhy55b19sdwdchdcyxfh")))) 4176 "1di6ni42aqllpdvkpyfcw70352vr2i8wf6hd5nhd9kmqjb5dj5j4"))))
4158 (build-system ant-build-system) 4177 (build-system ant-build-system)
4159 (arguments 4178 (arguments
4160 `(#:jar-name "modello-core.jar" 4179 `(#:jar-name "modello-core.jar"
@@ -4321,7 +4340,7 @@ on the XPP3 API (XML Pull Parser).")))
4321 (version "6.0") 4340 (version "6.0")
4322 (source (origin 4341 (source (origin
4323 (method url-fetch) 4342 (method url-fetch)
4324 (uri (string-append "http://download.forge.ow2.org/asm/" 4343 (uri (string-append "https://download.forge.ow2.org/asm/"
4325 "asm-" version ".tar.gz")) 4344 "asm-" version ".tar.gz"))
4326 (sha256 4345 (sha256
4327 (base32 4346 (base32
@@ -4423,13 +4442,14 @@ to generate and transform Java byte code.")
4423 (name "java-objenesis") 4442 (name "java-objenesis")
4424 (version "2.5.1") 4443 (version "2.5.1")
4425 (source (origin 4444 (source (origin
4426 (method url-fetch) 4445 (method git-fetch)
4427 (uri (string-append "https://github.com/easymock/objenesis/" 4446 (uri (git-reference
4428 "archive/" version ".tar.gz")) 4447 (url "https://github.com/easymock/objenesis")
4429 (file-name (string-append "objenesis-" version ".tar.gz")) 4448 (commit version)))
4449 (file-name (git-file-name name version))
4430 (sha256 4450 (sha256
4431 (base32 4451 (base32
4432 "1va5qz1i2wawwavhnxfzxnfgrcaflz9p1pg03irrjh4nd3rz8wh6")))) 4452 "054yi200wj00x6dp1sxfrwgndwywadsbn8d8ij1j0v45j9g2vdya"))))
4433 (build-system ant-build-system) 4453 (build-system ant-build-system)
4434 (arguments 4454 (arguments
4435 `(#:jar-name "objenesis.jar" 4455 `(#:jar-name "objenesis.jar"
@@ -4452,12 +4472,14 @@ constructor on object instantiation.")
4452 (name "java-easymock") 4472 (name "java-easymock")
4453 (version "3.4") 4473 (version "3.4")
4454 (source (origin 4474 (source (origin
4455 (method url-fetch) 4475 (method git-fetch)
4456 (uri (string-append "https://github.com/easymock/easymock/" 4476 (uri (git-reference
4457 "archive/easymock-" version ".tar.gz")) 4477 (url "https://github.com/easymock/easymock/")
4478 (commit (string-append "easymock-" version))))
4479 (file-name (git-file-name name version))
4458 (sha256 4480 (sha256
4459 (base32 4481 (base32
4460 "1yzg0kv256ndr57gpav46cyv4a1ns5sj722l50zpxk3j6sk9hnmi")))) 4482 "02vybm8hc0i0n9sp2f2iiqn54zwqhq835f76wc6b2m7819z5a8dq"))))
4461 (build-system ant-build-system) 4483 (build-system ant-build-system)
4462 (arguments 4484 (arguments
4463 `(#:jar-name "easymock.jar" 4485 `(#:jar-name "easymock.jar"
@@ -4502,7 +4524,7 @@ constructor on object instantiation.")
4502 (native-inputs 4524 (native-inputs
4503 `(("java-junit" ,java-junit) 4525 `(("java-junit" ,java-junit)
4504 ("java-hamcrest-core" ,java-hamcrest-core))) 4526 ("java-hamcrest-core" ,java-hamcrest-core)))
4505 (home-page "http://easymock.org") 4527 (home-page "https://easymock.org/")
4506 (synopsis "Java library providing mock objects for unit tests") 4528 (synopsis "Java library providing mock objects for unit tests")
4507 (description "EasyMock is a Java library that provides an easy way to use 4529 (description "EasyMock is a Java library that provides an easy way to use
4508mock objects in unit testing.") 4530mock objects in unit testing.")
@@ -4513,13 +4535,14 @@ mock objects in unit testing.")
4513 (name "java-jmock") 4535 (name "java-jmock")
4514 (version "1.2.0") 4536 (version "1.2.0")
4515 (source (origin 4537 (source (origin
4516 (method url-fetch) 4538 (method git-fetch)
4517 (uri (string-append "https://github.com/jmock-developers/" 4539 (uri (git-reference
4518 "jmock-library/archive/" version ".tar.gz")) 4540 (url "https://github.com/jmock-developers/jmock-library")
4519 (file-name (string-append "jmock-" version ".tar.gz")) 4541 (commit version)))
4542 (file-name (git-file-name name version))
4520 (sha256 4543 (sha256
4521 (base32 4544 (base32
4522 "0xmrlhq0fszldkbv281k9463mv496143vvmqwpxp62yzjvdkx9w0")))) 4545 "0lkga995xd9b9mmzxmcd301hlw83p1h78nibh7djlx7wydscr85z"))))
4523 (build-system ant-build-system) 4546 (build-system ant-build-system)
4524 (arguments 4547 (arguments
4525 `(#:build-target "jars" 4548 `(#:build-target "jars"
@@ -4527,7 +4550,7 @@ mock objects in unit testing.")
4527 #:phases 4550 #:phases
4528 (modify-phases %standard-phases 4551 (modify-phases %standard-phases
4529 (replace 'install (install-jars "build"))))) 4552 (replace 'install (install-jars "build")))))
4530 (home-page "http://www.jmock.org") 4553 (home-page "http://jmock.org/")
4531 (synopsis "Mock object library for test-driven development") 4554 (synopsis "Mock object library for test-driven development")
4532 (description "JMock is a library that supports test-driven development of 4555 (description "JMock is a library that supports test-driven development of
4533Java code with mock objects. Mock objects help you design and test the 4556Java code with mock objects. Mock objects help you design and test the
@@ -4550,13 +4573,14 @@ The jMock library
4550 (name "java-jmock") 4573 (name "java-jmock")
4551 (version "2.8.2") 4574 (version "2.8.2")
4552 (source (origin 4575 (source (origin
4553 (method url-fetch) 4576 (method git-fetch)
4554 (uri (string-append "https://github.com/jmock-developers/" 4577 (uri (git-reference
4555 "jmock-library/archive/" version ".tar.gz")) 4578 (url "https://github.com/jmock-developers/jmock-library")
4556 (file-name (string-append name "-" version ".tar.gz")) 4579 (commit version)))
4580 (file-name (git-file-name name version))
4557 (sha256 4581 (sha256
4558 (base32 4582 (base32
4559 "18650a9g8xffcsdb6w91pbswa7f40fp2sh6s3nclkclz5dbzq8f0")))) 4583 "12b7l22g3nrjvf2dzcw3z03fpd2chrgp0d8xkvn8w55rwb57pax6"))))
4560 (inputs 4584 (inputs
4561 `(("java-hamcrest-all" ,java-hamcrest-all) 4585 `(("java-hamcrest-all" ,java-hamcrest-all)
4562 ("java-asm" ,java-asm) 4586 ("java-asm" ,java-asm)
@@ -6725,12 +6749,14 @@ This is a part of the Apache Commons Project.")
6725 (name "java-javaewah") 6749 (name "java-javaewah")
6726 (version "1.1.6") 6750 (version "1.1.6")
6727 (source (origin 6751 (source (origin
6728 (method url-fetch) 6752 (method git-fetch)
6729 (uri (string-append "https://github.com/lemire/javaewah/" 6753 (uri (git-reference
6730 "archive/JavaEWAH-" version ".tar.gz")) 6754 (url "https://github.com/lemire/javaewah/")
6755 (commit (string-append "JavaEWAH-" version))))
6756 (file-name (git-file-name name version))
6731 (sha256 6757 (sha256
6732 (base32 6758 (base32
6733 "1n7j1r1h24wlhwv9zdcj6yqjrhma2ixwyzm15l5vrv6yqjs6753b")))) 6759 "1m8qcb1py76v7avbjjrkvyy6fhr5dk2ywy73gbsxqry04gkm2nhw"))))
6734 (build-system ant-build-system) 6760 (build-system ant-build-system)
6735 (arguments `(#:jar-name "javaewah.jar")) 6761 (arguments `(#:jar-name "javaewah.jar"))
6736 (inputs 6762 (inputs
@@ -6743,7 +6769,7 @@ This is a part of the Apache Commons Project.")
6743compression scheme. It can be used to implement bitmap indexes. 6769compression scheme. It can be used to implement bitmap indexes.
6744 6770
6745The goal of word-aligned compression is not to achieve the best compression, 6771The goal of word-aligned compression is not to achieve the best compression,
6746but rather to improve query processing time. Hence, JavaEWAH tries to save CPU 6772but rather to improve query processing time. Hence, JavaEWAH tries to save CPU
6747cycles, maybe at the expense of storage. However, the EWAH scheme is always 6773cycles, maybe at the expense of storage. However, the EWAH scheme is always
6748more efficient storage-wise than an uncompressed bitmap (as implemented in the 6774more efficient storage-wise than an uncompressed bitmap (as implemented in the
6749@code{BitSet} class by Sun).") 6775@code{BitSet} class by Sun).")
@@ -7032,13 +7058,14 @@ StringTemplate also powers ANTLR.")
7032 (name "antlr3") 7058 (name "antlr3")
7033 (version "3.5.2") 7059 (version "3.5.2")
7034 (source (origin 7060 (source (origin
7035 (method url-fetch) 7061 (method git-fetch)
7036 (uri (string-append "https://github.com/antlr/antlr3/archive/" 7062 (uri (git-reference
7037 version ".tar.gz")) 7063 (url "https://github.com/antlr/antlr3")
7038 (file-name (string-append name "-" version ".tar.gz")) 7064 (commit version)))
7065 (file-name (git-file-name name version))
7039 (sha256 7066 (sha256
7040 (base32 7067 (base32
7041 "0218v683081lg54z9hvjxinhxd4dqp870jx6n39gslm0bkyi4vd6")))) 7068 "0cafavrjmzqhklghrk8c2jqxkdwxgzskm20pbrfd3r41cn00dpnf"))))
7042 (build-system ant-build-system) 7069 (build-system ant-build-system)
7043 (arguments 7070 (arguments
7044 `(#:jar-name (string-append ,name "-" ,version ".jar") 7071 `(#:jar-name (string-append ,name "-" ,version ".jar")
diff --git a/gnu/packages/kde-pim.scm b/gnu/packages/kde-pim.scm
index bf962859b9b..1b99ae1de4d 100644
--- a/gnu/packages/kde-pim.scm
+++ b/gnu/packages/kde-pim.scm
@@ -1571,7 +1571,7 @@ functionality to help you organize your life.")
1571Kontact. It provides management of events and tasks, alarm notification, web 1571Kontact. It provides management of events and tasks, alarm notification, web
1572export, network transparent handling of data, group scheduling, import and 1572export, network transparent handling of data, group scheduling, import and
1573export of calendar files and more. It is able to work together with a wide 1573export of calendar files and more. It is able to work together with a wide
1574variety of clanedaring services, including NextCloud, Kolab, Google Calendar 1574variety of calendaring services, including NextCloud, Kolab, Google Calendar
1575and others. KOrganizer is fully customizable to your needs and is an integral 1575and others. KOrganizer is fully customizable to your needs and is an integral
1576part of the Kontact suite, which aims to be a complete solution for organizing 1576part of the Kontact suite, which aims to be a complete solution for organizing
1577your personal data. KOrganizer supports the two dominant standards for storing 1577your personal data. KOrganizer supports the two dominant standards for storing
diff --git a/gnu/packages/lean.scm b/gnu/packages/lean.scm
index e71b4c93ae9..235113d4751 100644
--- a/gnu/packages/lean.scm
+++ b/gnu/packages/lean.scm
@@ -1,5 +1,5 @@
1;;; GNU Guix --- Functional package management for GNU 1;;; GNU Guix --- Functional package management for GNU
2;;; Copyright © 2019 Amin Bandali <mab@gnu.org> 2;;; Copyright © 2019 Amin Bandali <bandali@gnu.org>
3;;; 3;;;
4;;; This file is part of GNU Guix. 4;;; This file is part of GNU Guix.
5;;; 5;;;
diff --git a/gnu/packages/libreoffice.scm b/gnu/packages/libreoffice.scm
index d5dd3c092b7..225bf78706d 100644
--- a/gnu/packages/libreoffice.scm
+++ b/gnu/packages/libreoffice.scm
@@ -998,7 +998,7 @@ converting QuarkXPress file format. It supports versions 3.1 to 4.1.")
998(define-public libreoffice 998(define-public libreoffice
999 (package 999 (package
1000 (name "libreoffice") 1000 (name "libreoffice")
1001 (version "6.4.1.2") 1001 (version "6.4.2.2")
1002 (source 1002 (source
1003 (origin 1003 (origin
1004 (method url-fetch) 1004 (method url-fetch)
@@ -1008,7 +1008,7 @@ converting QuarkXPress file format. It supports versions 3.1 to 4.1.")
1008 (version-prefix version 3) "/libreoffice-" version ".tar.xz")) 1008 (version-prefix version 3) "/libreoffice-" version ".tar.xz"))
1009 (sha256 1009 (sha256
1010 (base32 1010 (base32
1011 "02iz94flpxgkvlipk3psddzw2gdq2j4nv7z01kphs5107sfs0r0d")))) 1011 "06acm41q9nda8r30b13cn9zafsw1gszjdphh6lx90s09d2sf7f23"))))
1012 (build-system glib-or-gtk-build-system) 1012 (build-system glib-or-gtk-build-system)
1013 (native-inputs 1013 (native-inputs
1014 `(("bison" ,bison) 1014 `(("bison" ,bison)
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 253f41eb5d9..b56803066b2 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -5,7 +5,7 @@
5;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019, 2020 Mark H Weaver <mhw@netris.org> 5;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019, 2020 Mark H Weaver <mhw@netris.org>
6;;; Copyright © 2015 Federico Beffa <beffa@fbengineering.ch> 6;;; Copyright © 2015 Federico Beffa <beffa@fbengineering.ch>
7;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com> 7;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
8;;; Copyright © 2015, 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il> 8;;; Copyright © 2015, 2016, 2017, 2018, 2020 Efraim Flashner <efraim@flashner.co.il>
9;;; Copyright © 2016 Christopher Allan Webber <cwebber@dustycloud.org> 9;;; Copyright © 2016 Christopher Allan Webber <cwebber@dustycloud.org>
10;;; Copyright © 2016, 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> 10;;; Copyright © 2016, 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
11;;; Copyright © 2016, 2017 Alex Kost <alezost@gmail.com> 11;;; Copyright © 2016, 2017 Alex Kost <alezost@gmail.com>
@@ -2434,14 +2434,14 @@ user-space processes.")
2434 (name "unionfs-fuse") 2434 (name "unionfs-fuse")
2435 (version "2.0") 2435 (version "2.0")
2436 (source (origin 2436 (source (origin
2437 (method url-fetch) 2437 (method git-fetch)
2438 (uri (string-append 2438 (uri (git-reference
2439 "https://github.com/rpodgorny/unionfs-fuse/archive/v" 2439 (url "https://github.com/rpodgorny/unionfs-fuse")
2440 version ".tar.gz")) 2440 (commit (string-append "v" version))))
2441 (file-name (string-append name "-" version ".tar.gz")) 2441 (file-name (git-file-name name version))
2442 (sha256 2442 (sha256
2443 (base32 2443 (base32
2444 "0hsn8l1iblvx27bpd4dvnvnbh9ri3sv2f9xzpsnfz3379kb7skgj")))) 2444 "0lb8zgdxnjy2fjr2284hvdfn7inc1in44ynzgcr66x54bxzvynj6"))))
2445 (build-system cmake-build-system) 2445 (build-system cmake-build-system)
2446 (native-inputs 2446 (native-inputs
2447 `(("python" ,python))) 2447 `(("python" ,python)))
@@ -2953,9 +2953,6 @@ device nodes from /dev/, handles hotplug events and loads drivers at boot
2953time.") 2953time.")
2954 (license license:gpl2+))) 2954 (license license:gpl2+)))
2955 2955
2956(define-public eudev-with-hwdb
2957 (deprecated-package "eudev-with-hwdb" eudev))
2958
2959(define-public lvm2 2956(define-public lvm2
2960 (package 2957 (package
2961 (name "lvm2") 2958 (name "lvm2")
@@ -5391,7 +5388,7 @@ monitoring tools for Linux. These include @code{mpstat}, @code{iostat},
5391(define-public light 5388(define-public light
5392 (package 5389 (package
5393 (name "light") 5390 (name "light")
5394 (version "1.2.1") 5391 (version "1.2.2")
5395 (source 5392 (source
5396 (origin 5393 (origin
5397 (method git-fetch) 5394 (method git-fetch)
@@ -5399,7 +5396,7 @@ monitoring tools for Linux. These include @code{mpstat}, @code{iostat},
5399 (url "https://github.com/haikarainen/light.git") 5396 (url "https://github.com/haikarainen/light.git")
5400 (commit (string-append "v" version)))) 5397 (commit (string-append "v" version))))
5401 (sha256 5398 (sha256
5402 (base32 "0zrjipd392bzjvxx0rjrb0cgi0ix1d83fwgw1mcy8kc4d16cgyjg")) 5399 (base32 "1a70zcf88ifsnwll486aicjnh48zisdf8f7vi34ihw61kdadsq9s"))
5403 (file-name (git-file-name name version)))) 5400 (file-name (git-file-name name version))))
5404 (build-system gnu-build-system) 5401 (build-system gnu-build-system)
5405 (arguments 5402 (arguments
diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm
index 5631383edaf..4c59cfa8723 100644
--- a/gnu/packages/lisp-xyz.scm
+++ b/gnu/packages/lisp-xyz.scm
@@ -6643,8 +6643,8 @@ which implements a set of utilities.")
6643 (sbcl-package->ecl-package sbcl-metatilities-base)) 6643 (sbcl-package->ecl-package sbcl-metatilities-base))
6644 6644
6645(define-public sbcl-cl-containers 6645(define-public sbcl-cl-containers
6646 (let ((commit "810927e19d933bcf38ffeb7a23ce521efc432d45") 6646 (let ((commit "b2980bac9ac87ad32b63b722ce520fa26cb36ee6")
6647 (revision "1")) 6647 (revision "2"))
6648 (package 6648 (package
6649 (name "sbcl-cl-containers") 6649 (name "sbcl-cl-containers")
6650 (version (git-version "0.12.1" revision commit)) 6650 (version (git-version "0.12.1" revision commit))
@@ -6657,7 +6657,7 @@ which implements a set of utilities.")
6657 (file-name (git-file-name name version)) 6657 (file-name (git-file-name name version))
6658 (sha256 6658 (sha256
6659 (base32 6659 (base32
6660 "1s9faxw7svhbjpkhfrz2qxgjm3cvyjb8wpyb4m8dx4i5g7vvprkv")))) 6660 "19hmlax19hq0xjaqr8za90vwf06ymxw1m29sj053a309k3hm84gx"))))
6661 (build-system asdf-build-system/sbcl) 6661 (build-system asdf-build-system/sbcl)
6662 (native-inputs 6662 (native-inputs
6663 `(("lift" ,sbcl-lift))) 6663 `(("lift" ,sbcl-lift)))
@@ -11250,3 +11250,28 @@ If features:
11250 11250
11251(define-public cl-sycamore 11251(define-public cl-sycamore
11252 (sbcl-package->cl-source-package sbcl-sycamore)) 11252 (sbcl-package->cl-source-package sbcl-sycamore))
11253
11254(define-public sbcl-trivial-package-local-nicknames
11255 (package
11256 (name "sbcl-trivial-package-local-nicknames")
11257 (version "0.2")
11258 (home-page "https://github.com/phoe/trivial-package-local-nicknames")
11259 (source
11260 (origin
11261 (method git-fetch)
11262 (uri (git-reference
11263 (url home-page)
11264 (commit "16b7ad4c2b120f50da65154191f468ea5598460e")))
11265 (file-name (git-file-name name version))
11266 (sha256
11267 (base32 "18qc27xkjzdcqrilpk3pm7djldwq5rm3ggd5h9cr8hqcd54i2fqg"))))
11268 (build-system asdf-build-system/sbcl)
11269 (synopsis "Common Lisp compatibility library for package local nicknames")
11270 (description
11271 "This library is a portable compatibility layer around package local nicknames (PLN).
11272This was done so there is a portability library for the PLN API not included
11273in DEFPACKAGE.")
11274 (license license:unlicense)))
11275
11276(define-public cl-trivial-package-local-nicknames
11277 (sbcl-package->cl-source-package sbcl-trivial-package-local-nicknames))
diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm
index 32aa6849d2b..4fb129246b5 100644
--- a/gnu/packages/machine-learning.scm
+++ b/gnu/packages/machine-learning.scm
@@ -962,21 +962,26 @@ the following advantages:
962 (name "vowpal-wabbit") 962 (name "vowpal-wabbit")
963 (version "8.5.0") 963 (version "8.5.0")
964 (source (origin 964 (source (origin
965 (method url-fetch) 965 (method git-fetch)
966 (uri (string-append 966 (uri (git-reference
967 "https://github.com/JohnLangford/vowpal_wabbit/archive/" 967 (url "https://github.com/JohnLangford/vowpal_wabbit")
968 version ".tar.gz")) 968 (commit version)))
969 (sha256 969 (sha256
970 (base32 970 (base32
971 "0clp2kb7rk5sckhllxjr5a651awf4s8dgzg4659yh4hf5cqnf0gr")) 971 "04bwzk6ifgnz3fmzid8b7avxf9n5pnx9xcjm61nkjng1vv0bpj8x"))
972 (file-name (string-append name "-" version ".tar.gz")))) 972 (file-name (git-file-name name version))))
973 (inputs 973 (inputs
974 `(("boost" ,boost) 974 `(("boost" ,boost)
975 ("zlib" ,zlib))) 975 ("zlib" ,zlib)))
976 (arguments 976 (arguments
977 `(#:configure-flags 977 `(#:configure-flags
978 (list (string-append "--with-boost=" 978 (list (string-append "--with-boost="
979 (assoc-ref %build-inputs "boost"))))) 979 (assoc-ref %build-inputs "boost")))
980 #:phases
981 (modify-phases %standard-phases
982 (add-after 'unpack 'make-files-writable
983 (lambda _
984 (for-each make-file-writable (find-files "." ".*")) #t)))))
980 (build-system gnu-build-system) 985 (build-system gnu-build-system)
981 (home-page "https://github.com/JohnLangford/vowpal_wabbit") 986 (home-page "https://github.com/JohnLangford/vowpal_wabbit")
982 (synopsis "Fast machine learning library for online learning") 987 (synopsis "Fast machine learning library for online learning")
diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
index 8fc9d19e6a6..139f737b6a3 100644
--- a/gnu/packages/mail.scm
+++ b/gnu/packages/mail.scm
@@ -8,7 +8,7 @@
8;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org> 8;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org>
9;;; Copyright © 2015, 2016, 2018 Eric Bavier <bavier@member.fsf.org> 9;;; Copyright © 2015, 2016, 2018 Eric Bavier <bavier@member.fsf.org>
10;;; Copyright © 2015 Andreas Enge <andreas@enge.fr> 10;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
11;;; Copyright © 2015, 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il> 11;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il>
12;;; Copyright © 2016 Christopher Allan Webber <cwebber@dustycloud.org> 12;;; Copyright © 2016 Christopher Allan Webber <cwebber@dustycloud.org>
13;;; Copyright © 2016 Al McElrath <hello@yrns.org> 13;;; Copyright © 2016 Al McElrath <hello@yrns.org>
14;;; Copyright © 2016 Leo Famulari <leo@famulari.name> 14;;; Copyright © 2016 Leo Famulari <leo@famulari.name>
@@ -144,14 +144,14 @@
144(define-public mailutils 144(define-public mailutils
145 (package 145 (package
146 (name "mailutils") 146 (name "mailutils")
147 (version "3.8") 147 (version "3.9")
148 (source (origin 148 (source (origin
149 (method url-fetch) 149 (method url-fetch)
150 (uri (string-append "mirror://gnu/mailutils/mailutils-" 150 (uri (string-append "mirror://gnu/mailutils/mailutils-"
151 version ".tar.xz")) 151 version ".tar.xz"))
152 (sha256 152 (sha256
153 (base32 153 (base32
154 "1wkn9ch664477r4d8jk9153w5msljsbj99907k7zgzpmywbs6ba7")))) 154 "1g1xf2lal04nsnf1iym9n9n0wxjpqbcr9nysxpm98v4pniinqwsz"))))
155 (build-system gnu-build-system) 155 (build-system gnu-build-system)
156 (arguments 156 (arguments
157 `(#:phases 157 `(#:phases
@@ -166,7 +166,8 @@
166 ;; Tests try to invoke 'mda' such that it looks up the 166 ;; Tests try to invoke 'mda' such that it looks up the
167 ;; 'root' user, which does not exist in the build 167 ;; 'root' user, which does not exist in the build
168 ;; environment. 168 ;; environment.
169 (substitute* "mda/tests/testsuite" 169 (substitute* '("mda/mda/tests/testsuite"
170 "mda/lmtpd/tests/testsuite")
170 (("root <") "nobody <") 171 (("root <") "nobody <")
171 (("spool/root") "spool/nobody") 172 (("spool/root") "spool/nobody")
172 (("root@localhost") "nobody@localhost")) 173 (("root@localhost") "nobody@localhost"))
@@ -1259,6 +1260,10 @@ which can add many functionalities to the base client.")
1259 (install-file (string-append msmtpq "/msmtp-queue") bin) 1260 (install-file (string-append msmtpq "/msmtp-queue") bin)
1260 (install-file (string-append msmtpq "/README.msmtpq") doc) 1261 (install-file (string-append msmtpq "/README.msmtpq") doc)
1261 (install-file "scripts/vim/msmtp.vim" vimfiles) 1262 (install-file "scripts/vim/msmtp.vim" vimfiles)
1263 ;; Don't rely on netcat being in the PATH to test for a
1264 ;; connection, instead try tp ing debian.org.
1265 (substitute* (string-append bin "/msmtpq")
1266 (("EMAIL_CONN_TEST=n") "EMAIL_CONN_TEST=p"))
1262 #t)))))) 1267 #t))))))
1263 (synopsis 1268 (synopsis
1264 "Simple and easy to use SMTP client with decent sendmail compatibility") 1269 "Simple and easy to use SMTP client with decent sendmail compatibility")
diff --git a/gnu/packages/man.scm b/gnu/packages/man.scm
index e0019d4c6e7..13604af08fc 100644
--- a/gnu/packages/man.scm
+++ b/gnu/packages/man.scm
@@ -3,7 +3,7 @@
3;;; Copyright © 2014 David Thompson <dthompson2@worcester.edu> 3;;; Copyright © 2014 David Thompson <dthompson2@worcester.edu>
4;;; Copyright © 2015, 2016 Ricardo Wurmus <rekado@elephly.net> 4;;; Copyright © 2015, 2016 Ricardo Wurmus <rekado@elephly.net>
5;;; Copyright © 2015 Alex Kost <alezost@gmail.com> 5;;; Copyright © 2015 Alex Kost <alezost@gmail.com>
6;;; Copyright © 2015, 2016 Efraim Flashner <efraim@flashner.co.il> 6;;; Copyright © 2015, 2016, 2020 Efraim Flashner <efraim@flashner.co.il>
7;;; Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> 7;;; Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
8;;; Copyright © 2018, 2019 Rutger Helling <rhelling@mykolab.com> 8;;; Copyright © 2018, 2019 Rutger Helling <rhelling@mykolab.com>
9;;; Copyright © 2018, 2019 Marius Bakke <mbakke@fastmail.com> 9;;; Copyright © 2018, 2019 Marius Bakke <mbakke@fastmail.com>
@@ -25,6 +25,7 @@
25 25
26(define-module (gnu packages man) 26(define-module (gnu packages man)
27 #:use-module (guix licenses) 27 #:use-module (guix licenses)
28 #:use-module (guix git-download)
28 #:use-module (guix download) 29 #:use-module (guix download)
29 #:use-module (guix packages) 30 #:use-module (guix packages)
30 #:use-module (guix build-system gnu) 31 #:use-module (guix build-system gnu)
@@ -259,13 +260,14 @@ in C99.")
259 (version "1.6.0") 260 (version "1.6.0")
260 (source 261 (source
261 (origin 262 (origin
262 (method url-fetch) 263 (method git-fetch)
263 (uri (string-append 264 (uri (git-reference
264 "https://github.com/mvertes/txt2man/archive/txt2man-" 265 (url "https://github.com/mvertes/txt2man")
265 version ".tar.gz")) 266 (commit (string-append "txt2man-" version))))
267 (file-name (git-file-name name version))
266 (sha256 268 (sha256
267 (base32 269 (base32
268 "168cj96974n2z0igin6j1ic1m45zyic7nm5ark7frq8j78rrx4zn")))) 270 "1razjpvlcp85hqli77mwr9nmn5jnv3lm1fxbbqjpx1brv3h1lvm5"))))
269 (build-system gnu-build-system) 271 (build-system gnu-build-system)
270 (arguments 272 (arguments
271 `(#:tests? #f ; no "check" target 273 `(#:tests? #f ; no "check" target
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index 62ca34761fe..4ff2189fb9d 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -29,7 +29,7 @@
29;;; Copyright © 2018 Marius Bakke <mbakke@fastmail.com> 29;;; Copyright © 2018 Marius Bakke <mbakke@fastmail.com>
30;;; Copyright © 2018 Eric Brown <brown@fastmail.com> 30;;; Copyright © 2018 Eric Brown <brown@fastmail.com>
31;;; Copyright © 2018 Julien Lepiller <julien@lepiller.eu> 31;;; Copyright © 2018 Julien Lepiller <julien@lepiller.eu>
32;;; Copyright © 2018 Amin Bandali <mab@gnu.org> 32;;; Copyright © 2018 Amin Bandali <bandali@gnu.org>
33;;; Copyright © 2019 Nicolas Goaziou <mail@nicolasgoaziou.fr> 33;;; Copyright © 2019 Nicolas Goaziou <mail@nicolasgoaziou.fr>
34;;; Copyright © 2019 Steve Sprang <scs@stevesprang.com> 34;;; Copyright © 2019 Steve Sprang <scs@stevesprang.com>
35;;; Copyright © 2019 Robert Smith <robertsmith@posteo.net> 35;;; Copyright © 2019 Robert Smith <robertsmith@posteo.net>
@@ -1648,9 +1648,6 @@ script files.")
1648 "qscintilla2_qt5")) 1648 "qscintilla2_qt5"))
1649 #t)))))))) 1649 #t))))))))
1650 1650
1651(define-public qtoctave
1652 (deprecated-package "qtoctave" octave))
1653
1654(define-public opencascade-oce 1651(define-public opencascade-oce
1655 (package 1652 (package
1656 (name "opencascade-oce") 1653 (name "opencascade-oce")
@@ -3124,7 +3121,7 @@ directly in C++, or quick conversion of research code into production
3124environments. It can be used for machine learning, pattern recognition, 3121environments. It can be used for machine learning, pattern recognition,
3125signal processing, bioinformatics, statistics, econometrics, etc. The library 3122signal processing, bioinformatics, statistics, econometrics, etc. The library
3126provides efficient classes for vectors, matrices and cubes, as well as 150+ 3123provides efficient classes for vectors, matrices and cubes, as well as 150+
3127associated functions (eg. contiguous and non-contiguous submatrix views).") 3124associated functions (e.g., contiguous and non-contiguous submatrix views).")
3128 (license license:asl2.0))) 3125 (license license:asl2.0)))
3129 3126
3130(define-public muparser 3127(define-public muparser
@@ -4212,6 +4209,10 @@ as equations, scalars, vectors, and matrices.")
4212 (guix build utils)) 4209 (guix build utils))
4213 #:phases 4210 #:phases
4214 (modify-phases %standard-phases 4211 (modify-phases %standard-phases
4212 (add-after 'unpack 'enable-bytecode-determinism
4213 (lambda _
4214 (setenv "PYTHONHASHSEED" "0")
4215 #t))
4215 (add-after 'unpack 'fix-compatability 4216 (add-after 'unpack 'fix-compatability
4216 ;; Versions after 4.8.3 have immintrin.h IFDEFed for Windows only. 4217 ;; Versions after 4.8.3 have immintrin.h IFDEFed for Windows only.
4217 (lambda _ 4218 (lambda _
diff --git a/gnu/packages/mpd.scm b/gnu/packages/mpd.scm
index fe670f6aae8..c96d67d8f20 100644
--- a/gnu/packages/mpd.scm
+++ b/gnu/packages/mpd.scm
@@ -92,7 +92,7 @@ interfacing MPD in the C, C++ & Objective C languages.")
92(define-public mpd 92(define-public mpd
93 (package 93 (package
94 (name "mpd") 94 (name "mpd")
95 (version "0.21.20") 95 (version "0.21.21")
96 (source (origin 96 (source (origin
97 (method url-fetch) 97 (method url-fetch)
98 (uri 98 (uri
@@ -101,7 +101,7 @@ interfacing MPD in the C, C++ & Objective C languages.")
101 "/mpd-" version ".tar.xz")) 101 "/mpd-" version ".tar.xz"))
102 (sha256 102 (sha256
103 (base32 103 (base32
104 "1q8hwl3i0a4qzdwfh44r0nh5zd2mm3rraqw5qvmz6qfrjslz0bj2")))) 104 "1kk8q5z99zdzwv3angn03jwnxhqdad0pnyi5j67c2qiv1rgv3gg1"))))
105 (build-system meson-build-system) 105 (build-system meson-build-system)
106 (arguments 106 (arguments
107 `(#:configure-flags '("-Ddocumentation=true"))) ;the default is 'false'... 107 `(#:configure-flags '("-Ddocumentation=true"))) ;the default is 'false'...
diff --git a/gnu/packages/mtools.scm b/gnu/packages/mtools.scm
index b93d5789b98..5994cd140c2 100644
--- a/gnu/packages/mtools.scm
+++ b/gnu/packages/mtools.scm
@@ -1,7 +1,7 @@
1;;; GNU Guix --- Functional package management for GNU 1;;; GNU Guix --- Functional package management for GNU
2;;; Copyright © 2013 John Darrington <jmd@gnu.org> 2;;; Copyright © 2013 John Darrington <jmd@gnu.org>
3;;; Copyright © 2015, 2019 Ludovic Courtès <ludo@gnu.org> 3;;; Copyright © 2015, 2019 Ludovic Courtès <ludo@gnu.org>
4;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> 4;;; Copyright © 2018, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
5;;; Copyright © 2018 Efraim Flashner <efraim@flashner.co.il> 5;;; Copyright © 2018 Efraim Flashner <efraim@flashner.co.il>
6;;; 6;;;
7;;; This file is part of GNU Guix. 7;;; This file is part of GNU Guix.
@@ -29,14 +29,14 @@
29(define-public mtools 29(define-public mtools
30 (package 30 (package
31 (name "mtools") 31 (name "mtools")
32 (version "4.0.23") 32 (version "4.0.24")
33 (source (origin 33 (source (origin
34 (method url-fetch) 34 (method url-fetch)
35 (uri (string-append "mirror://gnu/mtools/mtools-" 35 (uri (string-append "mirror://gnu/mtools/mtools-"
36 version ".tar.bz2")) 36 version ".tar.bz2"))
37 (sha256 37 (sha256
38 (base32 38 (base32
39 "1qwfxzr964fasxlzhllahk8mzh7c82s808wvly95dsqsflkdp27i")) 39 "1f9g7g8zspp8nvg1nz869il9pvxpdpchqd0vxfc89y8rjbda5x14"))
40 (patches 40 (patches
41 (search-patches "mtools-mformat-uninitialized.patch")))) 41 (search-patches "mtools-mformat-uninitialized.patch"))))
42 (build-system gnu-build-system) 42 (build-system gnu-build-system)
diff --git a/gnu/packages/multiprecision.scm b/gnu/packages/multiprecision.scm
index deafd87404d..2848e63d603 100644
--- a/gnu/packages/multiprecision.scm
+++ b/gnu/packages/multiprecision.scm
@@ -3,7 +3,7 @@
3;;; Copyright © 2014 Mark H Weaver <mhw@netris.org> 3;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
4;;; Copyright © 2015, 2018 Andreas Enge <andreas@enge.fr> 4;;; Copyright © 2015, 2018 Andreas Enge <andreas@enge.fr>
5;;; Copyright © 2016 Nicolas Goaziou <mail@nicolasgoaziou.fr> 5;;; Copyright © 2016 Nicolas Goaziou <mail@nicolasgoaziou.fr>
6;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org> 6;;; Copyright © 2016, 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
7;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr> 7;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
8;;; Copyright © 2018 Eric Bavier <bavier@member.fsf.org> 8;;; Copyright © 2018 Eric Bavier <bavier@member.fsf.org>
9;;; Copyright © 2018, 2019 Efraim Flashner <efraim@flashner.co.il> 9;;; Copyright © 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
@@ -50,18 +50,38 @@
50 (build-system gnu-build-system) 50 (build-system gnu-build-system)
51 (native-inputs `(("m4" ,m4))) 51 (native-inputs `(("m4" ,m4)))
52 (outputs '("out" "debug")) 52 (outputs '("out" "debug"))
53 (arguments `(#:parallel-tests? #f ; mpz/reuse fails otherwise 53 (arguments
54 #:configure-flags 54 `(#:parallel-tests? #f ; mpz/reuse fails otherwise
55 '(;; Build a "fat binary", with routines for several 55 #:configure-flags
56 ;; sub-architectures. 56 '(;; Build a "fat binary", with routines for several
57 "--enable-fat" 57 ;; sub-architectures.
58 "--enable-cxx" 58 "--enable-fat"
59 ,@(cond ((target-mingw?) 59 "--enable-cxx"
60 ;; Static and shared cannot be built in one go: 60 ,@(cond ((target-mingw?)
61 ;; they produce different headers. We need shared. 61 ;; Static and shared cannot be built in one go:
62 `("--disable-static" 62 ;; they produce different headers. We need shared.
63 "--enable-shared")) 63 `("--disable-static"
64 (else '()))))) 64 "--enable-shared"))
65 (else '())))
66 ;; Remove after core-updates merge.
67 ;; Workaround for gcc-7 transition breakage, -system and cross-build,
68 ;; Note: See <http://bugs.gnu.org/22186> for why not 'CPATH'.
69 ;; Note: See <http://bugs.gnu.org/30756> for why not 'C_INCLUDE_PATH' & co.
70 ,@(if (target-mingw?)
71 `(#:phases
72 (modify-phases %standard-phases
73 (add-before 'configure 'setenv
74 (lambda _
75 (let ((gcc (assoc-ref %build-inputs "cross-gcc"))
76 (libc (assoc-ref %build-inputs "cross-libc")))
77 (setenv "CROSS_CPLUS_INCLUDE_PATH"
78 (string-append gcc "/include/c++"
79 ":" gcc "/include"
80 ":" libc "/include"))
81 (format #t "environment variable `CROSS_CPLUS_INCLUDE_PATH' set to `~a'\n"
82 (getenv "CROSS_CPLUS_INCLUDE_PATH"))
83 #t)))))
84 '())))
65 (synopsis "Multiple-precision arithmetic library") 85 (synopsis "Multiple-precision arithmetic library")
66 (description 86 (description
67 "The @acronym{GMP, the GNU Multiple Precision Arithmetic} library performs 87 "The @acronym{GMP, the GNU Multiple Precision Arithmetic} library performs
diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
index 5aec8c5077a..773a5820917 100644
--- a/gnu/packages/music.scm
+++ b/gnu/packages/music.scm
@@ -1409,7 +1409,7 @@ users to select LV2 plugins and run them with jalv.")
1409(define-public synthv1 1409(define-public synthv1
1410 (package 1410 (package
1411 (name "synthv1") 1411 (name "synthv1")
1412 (version "0.9.12") 1412 (version "0.9.13")
1413 (source (origin 1413 (source (origin
1414 (method url-fetch) 1414 (method url-fetch)
1415 (uri 1415 (uri
@@ -1417,7 +1417,7 @@ users to select LV2 plugins and run them with jalv.")
1417 "/synthv1-" version ".tar.gz")) 1417 "/synthv1-" version ".tar.gz"))
1418 (sha256 1418 (sha256
1419 (base32 1419 (base32
1420 "1amxrl1cqwgncw5437r572frgf6xhss3cfpbgh178i8phlq1q731")))) 1420 "0bb48myvgvqcibwm68qhd4852pjr2g19rasf059a799d1hzgfq3l"))))
1421 (build-system gnu-build-system) 1421 (build-system gnu-build-system)
1422 (arguments 1422 (arguments
1423 `(#:tests? #f)) ; there are no tests 1423 `(#:tests? #f)) ; there are no tests
@@ -1441,7 +1441,7 @@ oscillators and stereo effects.")
1441(define-public drumkv1 1441(define-public drumkv1
1442 (package 1442 (package
1443 (name "drumkv1") 1443 (name "drumkv1")
1444 (version "0.9.12") 1444 (version "0.9.13")
1445 (source (origin 1445 (source (origin
1446 (method url-fetch) 1446 (method url-fetch)
1447 (uri 1447 (uri
@@ -1449,7 +1449,7 @@ oscillators and stereo effects.")
1449 "/drumkv1-" version ".tar.gz")) 1449 "/drumkv1-" version ".tar.gz"))
1450 (sha256 1450 (sha256
1451 (base32 1451 (base32
1452 "0hmnmk9vvi43wl6say0dg7j088h7mmwmfdwjhsq89c7i7cpg78da")))) 1452 "1h88sakxs0b20k8v2sh14y05fin1zqmhnid6h9mk9c37ixxg58ia"))))
1453 (build-system gnu-build-system) 1453 (build-system gnu-build-system)
1454 (arguments 1454 (arguments
1455 `(#:tests? #f)) ; there are no tests 1455 `(#:tests? #f)) ; there are no tests
@@ -1474,7 +1474,7 @@ effects.")
1474(define-public samplv1 1474(define-public samplv1
1475 (package 1475 (package
1476 (name "samplv1") 1476 (name "samplv1")
1477 (version "0.9.12") 1477 (version "0.9.13")
1478 (source (origin 1478 (source (origin
1479 (method url-fetch) 1479 (method url-fetch)
1480 (uri 1480 (uri
@@ -1482,7 +1482,7 @@ effects.")
1482 "/samplv1-" version ".tar.gz")) 1482 "/samplv1-" version ".tar.gz"))
1483 (sha256 1483 (sha256
1484 (base32 1484 (base32
1485 "0xzjxiqzcf1ygabrjsy0iachhnpy85rp9519fmj2f568r6ml6hzg")))) 1485 "0clsp6s5qfnh0xaxbd35vq2ppi72q9dfayrzlgl73800a8p7gh9m"))))
1486 (build-system gnu-build-system) 1486 (build-system gnu-build-system)
1487 (arguments 1487 (arguments
1488 `(#:tests? #f)) ; there are no tests 1488 `(#:tests? #f)) ; there are no tests
@@ -1507,7 +1507,7 @@ effects.")
1507(define-public padthv1 1507(define-public padthv1
1508 (package 1508 (package
1509 (name "padthv1") 1509 (name "padthv1")
1510 (version "0.9.12") 1510 (version "0.9.13")
1511 (source (origin 1511 (source (origin
1512 (method url-fetch) 1512 (method url-fetch)
1513 (uri 1513 (uri
@@ -1515,7 +1515,7 @@ effects.")
1515 "/padthv1-" version ".tar.gz")) 1515 "/padthv1-" version ".tar.gz"))
1516 (sha256 1516 (sha256
1517 (base32 1517 (base32
1518 "1zz3rz990k819q0rlzllqdwvag0x9k63443lb0mp8lwlczxnza6l")))) 1518 "1c1zllph86qswcxddz4vpsj6r9w21hbv4gkba0pyd3q7pbfqr7nz"))))
1519 (build-system gnu-build-system) 1519 (build-system gnu-build-system)
1520 (arguments 1520 (arguments
1521 `(#:tests? #f)) ; there are no tests 1521 `(#:tests? #f)) ; there are no tests
@@ -5293,3 +5293,93 @@ as JACK standalone applications.")
5293automation that comes as an LV2 plugin bundle with a custom UI.") 5293automation that comes as an LV2 plugin bundle with a custom UI.")
5294 (home-page "https://git.zrythm.org/cgit/ZLFO/") 5294 (home-page "https://git.zrythm.org/cgit/ZLFO/")
5295 (license license:agpl3+))) 5295 (license license:agpl3+)))
5296
5297(define-public vl1-emulator
5298 (package
5299 (name "vl1-emulator")
5300 (version "1.1.0.0")
5301 (source
5302 (origin
5303 (method git-fetch)
5304 (uri (git-reference
5305 (url "https://github.com/linuxmao-org/VL1-emulator.git")
5306 (commit (string-append "v" version))
5307 ;; bundles a specific commit of the DISTRHO plugin framework
5308 (recursive? #t)))
5309 (file-name (git-file-name name version))
5310 (sha256
5311 (base32
5312 "1npc86vqma8gk1hawa0lii0r2xmnv846plyl1ci3bdswyrdk5chm"))))
5313 (build-system gnu-build-system)
5314 (arguments
5315 `(#:tests? #f ;no check target
5316 #:make-flags
5317 (list (string-append "PREFIX=" (assoc-ref %outputs "out"))
5318 "CC=gcc")
5319 #:phases
5320 (modify-phases %standard-phases
5321 (delete 'configure)))) ;no configure target
5322 (inputs
5323 `(("cairo" ,cairo)
5324 ("jack" ,jack-1)
5325 ("mesa" ,mesa)))
5326 (native-inputs
5327 `(("pkg-config" ,pkg-config)))
5328 (home-page "https://github.com/linuxmao-org/VL1-emulator")
5329 (synopsis "Emulator of Casio VL-Tone VL1")
5330 (description "The VL1-Emulator is an emulator of Casio VL-Tone VL1,
5331based on source code by PolyValens, offered as an LV2 plugin and a
5332standalone JACK application.")
5333 ;; Expat or CC0
5334 (license (list license:expat license:cc0))))
5335
5336(define-public regrader
5337 (package
5338 (inherit vl1-emulator)
5339 (name "regrader")
5340 (version "1.0.0")
5341 (source
5342 (origin
5343 (method git-fetch)
5344 (uri (git-reference
5345 (url "https://github.com/linuxmao-org/regrader.git")
5346 (commit (string-append "v" version))
5347 ;; bundles a specific commit of the DISTRHO plugin framework
5348 (recursive? #t)))
5349 (file-name (git-file-name name version))
5350 (sha256
5351 (base32
5352 "0gl4d5lf2afqknz22jz7hh7029sc9v1xrz6nbz9dlv42bwc0cvl0"))))
5353 (home-page "https://github.com/linuxmao-org/regrader")
5354 (synopsis "Delay effect plugin")
5355 (description
5356 "Regrader is a delay effect where the repeats degrade in resolution.
5357This is an unofficial port of the Regrader plugin created by Igorski. It
5358is available as an LV2 plugin and a standalone JACK application.")
5359 (license license:expat)))
5360
5361(define-public fogpad
5362 (package
5363 (inherit vl1-emulator)
5364 (name "fogpad")
5365 (version "1.0.0")
5366 (source
5367 (origin
5368 (method git-fetch)
5369 (uri (git-reference
5370 (url "https://github.com/linuxmao-org/fogpad")
5371 (commit (string-append "v" version))
5372 ;; bundles a specific commit of the DISTRHO plugin framework
5373 (recursive? #t)))
5374 (file-name (git-file-name name version))
5375 (sha256
5376 (base32
5377 "1j1hbya2dsqpf22zkpi4kwz3dram9g1ndxzmgfwpmf3i4jd3csgb"))))
5378 (home-page "https://github.com/linuxmao-org/fogpad")
5379 (synopsis "Reverb effect plugin")
5380 (description
5381 "Fogpad is a reverb effect in which the reflections can be frozen,
5382filtered, pitch shifted and ultimately disintegrated. This is an unofficial
5383port of the Regrader plugin created by Igorski. It is available as an LV2
5384plugin and a standalone JACK application.")
5385 (license license:expat)))
diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
index 84aab45e5f5..c492a7f2adf 100644
--- a/gnu/packages/networking.scm
+++ b/gnu/packages/networking.scm
@@ -32,7 +32,7 @@
32;;; Copyright © 2019 Timotej Lazar <timotej.lazar@araneo.si> 32;;; Copyright © 2019 Timotej Lazar <timotej.lazar@araneo.si>
33;;; Copyright © 2019 Brice Waegeneire <brice@waegenei.re> 33;;; Copyright © 2019 Brice Waegeneire <brice@waegenei.re>
34;;; Copyright © 2019 Tonton <tonton@riseup.net> 34;;; Copyright © 2019 Tonton <tonton@riseup.net>
35;;; Copyright © 2019 Alex Griffin <a@ajgrf.com> 35;;; Copyright © 2019, 2020 Alex Griffin <a@ajgrf.com>
36;;; Copyright © 2019 Jan Wielkiewicz <tona_kosmicznego_smiecia@interia.pl> 36;;; Copyright © 2019 Jan Wielkiewicz <tona_kosmicznego_smiecia@interia.pl>
37;;; Copyright © 2019 Daniel Schaefer <git@danielschaefer.me> 37;;; Copyright © 2019 Daniel Schaefer <git@danielschaefer.me>
38;;; Copyright © 2019 Diego N. Barbato <dnbarbato@posteo.de> 38;;; Copyright © 2019 Diego N. Barbato <dnbarbato@posteo.de>
@@ -2784,7 +2784,7 @@ module @code{batman-adv}, for Layer 2.")
2784(define-public pagekite 2784(define-public pagekite
2785 (package 2785 (package
2786 (name "pagekite") 2786 (name "pagekite")
2787 (version "1.5.0.191126") 2787 (version "1.5.0.200327")
2788 (source 2788 (source
2789 (origin 2789 (origin
2790 (method git-fetch) 2790 (method git-fetch)
@@ -2793,7 +2793,7 @@ module @code{batman-adv}, for Layer 2.")
2793 (commit (string-append "v" version)))) 2793 (commit (string-append "v" version))))
2794 (file-name (git-file-name name version)) 2794 (file-name (git-file-name name version))
2795 (sha256 2795 (sha256
2796 (base32 "0mncfjfrr13sm84g5z49qxg5cy791h5qxphjsl77x91zs3m36c8l")))) 2796 (base32 "1vw7kjwxqd3qvm7kpxgjzl6797y0i1f16yfkfad84qpx2ij0gvdm"))))
2797 (build-system python-build-system) 2797 (build-system python-build-system)
2798 (arguments 2798 (arguments
2799 `(#:phases 2799 `(#:phases
@@ -2902,6 +2902,24 @@ Such interfaces are useful for VPN software, virtualization, emulation,
2902simulation, and a number of other applications.") 2902simulation, and a number of other applications.")
2903 (license license:gpl2))) 2903 (license license:gpl2)))
2904 2904
2905(define-public wol
2906 (package
2907 (name "wol")
2908 (version "0.7.1")
2909 (source
2910 (origin
2911 (method url-fetch)
2912 (uri (string-append "mirror://sourceforge/wake-on-lan/wol/"
2913 version "/wol-" version ".tar.gz"))
2914 (sha256
2915 (base32 "08i6l5lr14mh4n3qbmx6kyx7vjqvzdnh3j9yfvgjppqik2dnq270"))))
2916 (build-system gnu-build-system)
2917 (home-page "https://sourceforge.net/projects/wake-on-lan/")
2918 (synopsis "Implements Wake On LAN functionality in a small program")
2919 (description "Tool to send a magic packet to wake another host on the
2920network. This must be enabled on the target host, usually in the BIOS.")
2921 (license license:gpl2)))
2922
2905(define-public vde2 2923(define-public vde2
2906 (package 2924 (package
2907 (name "vde2") 2925 (name "vde2")
diff --git a/gnu/packages/ocr.scm b/gnu/packages/ocr.scm
index 1266e7e419a..dc690f3cefb 100644
--- a/gnu/packages/ocr.scm
+++ b/gnu/packages/ocr.scm
@@ -1,6 +1,6 @@
1;;; GNU Guix --- Functional package management for GNU 1;;; GNU Guix --- Functional package management for GNU
2;;; Copyright © 2013 Ludovic Courtès <ludo@gnu.org> 2;;; Copyright © 2013 Ludovic Courtès <ludo@gnu.org>
3;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il> 3;;; Copyright © 2016, 2020 Efraim Flashner <efraim@flashner.co.il>
4;;; Copyright © 2019 Tobias Geerinckx-Rice <me@tobias.gr> 4;;; Copyright © 2019 Tobias Geerinckx-Rice <me@tobias.gr>
5;;; Copyright © 2019 Alex Vong <alexvong1995@gmail.com> 5;;; Copyright © 2019 Alex Vong <alexvong1995@gmail.com>
6;;; 6;;;
@@ -57,13 +57,13 @@ it produces text in 8-bit or UTF-8 formats.")
57 (version "3.04.01") 57 (version "3.04.01")
58 (source 58 (source
59 (origin 59 (origin
60 (method url-fetch) 60 (method git-fetch)
61 (uri (string-append 61 (uri (git-reference
62 "https://github.com/tesseract-ocr/tesseract/archive/" 62 (url "https://github.com/tesseract-ocr/tesseract")
63 version ".tar.gz")) 63 (commit version)))
64 (file-name (string-append name "-" version ".tar.gz")) 64 (file-name (git-file-name name version))
65 (sha256 65 (sha256
66 (base32 "0snwd8as5i8vx7zkimpd2yg898jl96zf90r65a9w615f2hdkxxjp")))) 66 (base32 "0h1x4z1h86n2gwknd0wck6gykkp99bmm02lg4a47a698g4az6ybv"))))
67 (build-system gnu-build-system) 67 (build-system gnu-build-system)
68 (inputs 68 (inputs
69 `(("leptonica" ,leptonica))) 69 `(("leptonica" ,leptonica)))
@@ -71,7 +71,7 @@ it produces text in 8-bit or UTF-8 formats.")
71 '(#:configure-flags 71 '(#:configure-flags
72 (let ((leptonica (assoc-ref %build-inputs "leptonica"))) 72 (let ((leptonica (assoc-ref %build-inputs "leptonica")))
73 (list (string-append "LIBLEPT_HEADERSDIR=" leptonica "/include"))))) 73 (list (string-append "LIBLEPT_HEADERSDIR=" leptonica "/include")))))
74 (home-page "https://github.com/tesseract-ocr") 74 (home-page "https://github.com/tesseract-ocr/tesseract")
75 (synopsis "Optical character recognition engine") 75 (synopsis "Optical character recognition engine")
76 (description 76 (description
77 "Tesseract is an optical character recognition (OCR) engine with very 77 "Tesseract is an optical character recognition (OCR) engine with very
diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm
index 1c4503995be..a27c7691b08 100644
--- a/gnu/packages/package-management.scm
+++ b/gnu/packages/package-management.scm
@@ -413,8 +413,6 @@ the Nix package manager.")
413 (invoke "make" "install-binPROGRAMS"))) 413 (invoke "make" "install-binPROGRAMS")))
414 (delete 'wrap-program))))))) 414 (delete 'wrap-program)))))))
415 415
416(define-public guile2.0-guix
417 (deprecated-package "guile2.0-guix" guix))
418 416
419(define-public guile2.2-guix 417(define-public guile2.2-guix
420 (package 418 (package
@@ -1024,7 +1022,7 @@ for packaging and deployment of cross-compiled Windows applications.")
1024(define-public libostree 1022(define-public libostree
1025 (package 1023 (package
1026 (name "libostree") 1024 (name "libostree")
1027 (version "2020.2") 1025 (version "2020.3")
1028 (source (origin 1026 (source (origin
1029 (method url-fetch) 1027 (method url-fetch)
1030 (uri (string-append 1028 (uri (string-append
@@ -1032,7 +1030,7 @@ for packaging and deployment of cross-compiled Windows applications.")
1032 (version-major+minor version) "/libostree-" version ".tar.xz")) 1030 (version-major+minor version) "/libostree-" version ".tar.xz"))
1033 (sha256 1031 (sha256
1034 (base32 1032 (base32
1035 "0bbk0sg4m38g7j00hy358p2azxas87minpgz3avwma6jsylj1qjg")))) 1033 "01cch4as23xspq6pck59al7x5jj60wl21g8p3iqbdxcjl1p3jxsq"))))
1036 (build-system gnu-build-system) 1034 (build-system gnu-build-system)
1037 (arguments 1035 (arguments
1038 '(#:phases 1036 '(#:phases
diff --git a/gnu/packages/patches/gnupg-default-pinentry.patch b/gnu/packages/patches/gnupg-default-pinentry.patch
index 272f4b53dc3..a8ed6135650 100644
--- a/gnu/packages/patches/gnupg-default-pinentry.patch
+++ b/gnu/packages/patches/gnupg-default-pinentry.patch
@@ -1,15 +1,65 @@
1Default to the pinentry program installed in ~/.guix-profile. 1Make GnuPG automatically find a pinentry installed by Guix. Try using
2$HOME or, if that variable is not set, use the system password database,
3or fall back to looking in "/".
4
5More information:
6
7https://bugs.gnu.org/24076
2 8
3diff --git a/common/homedir.c b/common/homedir.c 9diff --git a/common/homedir.c b/common/homedir.c
4index e9e75d0..74e0aaf 100644 10index 4b6e46e88..f7ae68ba5 100644
5--- a/common/homedir.c 11--- a/common/homedir.c
6+++ b/common/homedir.c 12+++ b/common/homedir.c
7@@ -968,7 +968,7 @@ get_default_pinentry_name (int reset) 13@@ -33,6 +33,7 @@
14 #include <errno.h>
15 #include <fcntl.h>
16 #include <unistd.h>
17+#include <pwd.h>
18
19 #ifdef HAVE_W32_SYSTEM
20 #include <winsock2.h> /* Due to the stupid mingw64 requirement to
21@@ -67,6 +68,10 @@
22 * gnupg_homedir and gnupg_set_homedir. Malloced. */
23 static char *the_gnupg_homedir;
24
25+/* The user's home directory. Used in Guix to help GnuPG find the
26+ * pinentry. */
27+static char *the_user_homedir;
28+
29 /* Flag indicating that home directory is not the default one. */
30 static byte non_default_homedir;
31
32@@ -509,6 +514,25 @@ gnupg_homedir (void)
33 return the_gnupg_homedir;
34 }
35
36+/* Return the user's home directory */
37+const char *
38+user_homedir (void)
39+{
40+ const char *dir;
41+ dir = getenv("HOME");
42+ if (dir == NULL)
43+ {
44+ struct passwd *pw = NULL;
45+ pw = getpwuid (getuid ());
46+ if (pw != NULL)
47+ dir = pw->pw_dir;
48+ else
49+ dir = "/";
50+ }
51+ if (!the_user_homedir)
52+ the_user_homedir = make_absfilename (dir, NULL);
53+ return the_user_homedir;
54+}
55
56 /* Return whether the home dir is the default one. */
57 int
58@@ -971,6 +995,7 @@ get_default_pinentry_name (int reset)
8 } names[] = { 59 } names[] = {
9 /* The first entry is what we return in case we found no 60 /* The first entry is what we return in case we found no
10 other pinentry. */ 61 other pinentry. */
11- { gnupg_bindir, DIRSEP_S "pinentry" EXEEXT_S }, 62+ { user_homedir, "/.guix-profile/bin/pinentry" },
12+ { gnupg_homedir, "/.guix-profile/bin/pinentry" }, 63 { gnupg_bindir, DIRSEP_S "pinentry" EXEEXT_S },
13 #ifdef HAVE_W32_SYSTEM 64 #ifdef HAVE_W32_SYSTEM
14 /* Try Gpg4win directory (with bin and without.) */ 65 /* Try Gpg4win directory (with bin and without.) */
15 { w32_rootdir, "\\..\\Gpg4win\\bin\\pinentry.exe" },
diff --git a/gnu/packages/patches/hash-extender-test-suite.patch b/gnu/packages/patches/hash-extender-test-suite.patch
deleted file mode 100644
index 59de52dad49..00000000000
--- a/gnu/packages/patches/hash-extender-test-suite.patch
+++ /dev/null
@@ -1,13 +0,0 @@
1Make the test suite exit with a non-zero exit code if some tests failed.
2Pull request pending upstream: https://github.com/iagox86/hash_extender/pull/13
3--- a/test.c
4+++ b/test.c
5@@ -79,5 +79,9 @@ void test_report(void)
6 printf("TESTS PASSED: %d / %d [%2.4f%%]\n", tests_passed, tests_run, 100 * (float)tests_passed / tests_run);
7 printf("--------------------------------------------------------------------------------\n");
8 }
9+
10+ if (tests_passed != tests_run) {
11+ exit(1);
12+ }
13 }
diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm
index 700968d60a6..d565f0dd469 100644
--- a/gnu/packages/pdf.scm
+++ b/gnu/packages/pdf.scm
@@ -16,7 +16,7 @@
16;;; Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> 16;;; Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
17;;; Copyright © 2019 Alex Griffin <a@ajgrf.com> 17;;; Copyright © 2019 Alex Griffin <a@ajgrf.com>
18;;; Copyright © 2019 Ben Sturmfels <ben@sturm.com.au> 18;;; Copyright © 2019 Ben Sturmfels <ben@sturm.com.au>
19;;; Copyright © 2019 Hartmut Goebel <h.goebel@crazy-compilers.com> 19;;; Copyright © 2019,2020 Hartmut Goebel <h.goebel@crazy-compilers.com>
20;;; Copyright © 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr> 20;;; Copyright © 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr>
21;;; 21;;;
22;;; This file is part of GNU Guix. 22;;; This file is part of GNU Guix.
@@ -93,6 +93,78 @@
93 #:use-module (gnu packages xorg) 93 #:use-module (gnu packages xorg)
94 #:use-module (srfi srfi-1)) 94 #:use-module (srfi srfi-1))
95 95
96(define-public flyer-composer
97 (package
98 (name "flyer-composer")
99 (version "1.0rc2")
100 (source
101 (origin
102 (method url-fetch)
103 (uri (pypi-uri "flyer-composer" version))
104 (sha256
105 (base32 "17igqb5dlcgcq4nimjw6cf9qgz6a728zdx1d0rr90r2z0llcchsv"))))
106 (build-system python-build-system)
107 (arguments
108 `(#:tests? #f ;; TODO
109 #:phases
110 (modify-phases %standard-phases
111 (add-after 'install 'wrap-executable
112 (lambda* (#:key inputs outputs #:allow-other-keys)
113 (let* ((out (assoc-ref outputs "out"))
114 (qtbase (assoc-ref inputs "qtbase"))
115 (qml "/lib/qt5/qml"))
116 (wrap-program (string-append out "/bin/flyer-composer-gui")
117 `("QT_PLUGIN_PATH" ":" =
118 (,(string-append qtbase "/lib/qt5/plugins")))
119 `("QT_QPA_PLATFORM_PLUGIN_PATH" ":" =
120 (,(string-append qtbase "/lib/qt5/plugins/platforms"))))
121 #t))))))
122 (inputs
123 `(("python-pypdf2" ,python-pypdf2)
124 ("python-pyqt" ,python-pyqt)
125 ("python-poppler-qt5" ,python-poppler-qt5)
126 ("qtbase" ,qtbase)))
127 (home-page "http://crazy-compilers.com/flyer-composer")
128 (synopsis "Rearrange PDF pages to print as flyers on one sheet")
129 (description "@command{flyer-composer} can be used to prepare one- or
130two-sided flyers for printing on one sheet of paper.
131
132Imagine you have designed a flyer in A6 format and want to print it using your
133A4 printer. Of course, you want to print four flyers on each sheet. This is
134where Flyer Composer steps in, creating a PDF which holds your flyer four
135times. If you have a second page, Flyer Composer can arrange it the same way
136- even if the second page is in a separate PDF file.
137
138This package contains both the commnd line tool and the gui too.")
139 (license license:agpl3+)))
140
141(define-public flyer-composer-cli
142 (package/inherit flyer-composer
143 (name "flyer-composer-cli")
144 (arguments
145 `(#:tests? #f ;; TODO
146 #:phases
147 (modify-phases %standard-phases
148 (add-after 'unpack 'remove-gui
149 (lambda _
150 (delete-file-recursively "flyer_composer/gui")
151 (substitute* "setup.cfg"
152 (("^\\s+flyer-composer-gui\\s*=.*") ""))
153 #t)))))
154 (inputs
155 `(("python-pypdf2" ,python-pypdf2)))
156 (description "@command{flyer-composer} can be used to prepare one- or
157two-sided flyers for printing on one sheet of paper.
158
159Imagine you have designed a flyer in A6 format and want to print it using your
160A4 printer. Of course, you want to print four flyers on each sheet. This is
161where Flyer Composer steps in, creating a PDF which holds your flyer four
162times. If you have a second page, Flyer Composer can arrange it the same way
163- even if the second page is in a separate PDF file.
164
165This package contains only the commnd line tool. If you like to use the gui,
166please install the @code{flyer-composer-gui} package.")))
167
96(define-public poppler 168(define-public poppler
97 (package 169 (package
98 (name "poppler") 170 (name "poppler")
diff --git a/gnu/packages/php.scm b/gnu/packages/php.scm
index ff4bd8d3a17..992de3af1e1 100644
--- a/gnu/packages/php.scm
+++ b/gnu/packages/php.scm
@@ -353,6 +353,3 @@ systems, web content management systems and web frameworks." )
353 license:lgpl2.1+ ; ext/bcmath/libbcmath 353 license:lgpl2.1+ ; ext/bcmath/libbcmath
354 license:bsd-2 ; ext/fileinfo/libmagic 354 license:bsd-2 ; ext/fileinfo/libmagic
355 license:expat)))) ; ext/date/lib 355 license:expat)))) ; ext/date/lib
356
357(define-public php-with-bcmath
358 (deprecated-package "php-with-bcmath" php))
diff --git a/gnu/packages/plotutils.scm b/gnu/packages/plotutils.scm
index a7b6e22030c..a1e32eb3981 100644
--- a/gnu/packages/plotutils.scm
+++ b/gnu/packages/plotutils.scm
@@ -197,14 +197,14 @@ colors, styles, options and details.")
197(define-public asymptote 197(define-public asymptote
198 (package 198 (package
199 (name "asymptote") 199 (name "asymptote")
200 (version "2.64") 200 (version "2.65")
201 (source 201 (source
202 (origin 202 (origin
203 (method url-fetch) 203 (method url-fetch)
204 (uri (string-append "mirror://sourceforge/asymptote/" 204 (uri (string-append "mirror://sourceforge/asymptote/"
205 version "/asymptote-" version ".src.tgz")) 205 version "/asymptote-" version ".src.tgz"))
206 (sha256 206 (sha256
207 (base32 "1x4nmzklzd2xfmm03mgnpg0345dwrwr5czk9gkfl5sx7x1cgx4c0")))) 207 (base32 "0i4qqlvzz69mhdq6kf689sa9rxfb1cwsg1nx88hryb291hddgqqm"))))
208 (build-system gnu-build-system) 208 (build-system gnu-build-system)
209 ;; Note: The 'asy' binary retains a reference to docdir for use with its 209 ;; Note: The 'asy' binary retains a reference to docdir for use with its
210 ;; "help" command in interactive mode, so adding a "doc" output is not 210 ;; "help" command in interactive mode, so adding a "doc" output is not
diff --git a/gnu/packages/pulseaudio.scm b/gnu/packages/pulseaudio.scm
index b209fd30762..4ad32d6d1e0 100644
--- a/gnu/packages/pulseaudio.scm
+++ b/gnu/packages/pulseaudio.scm
@@ -10,7 +10,7 @@
10;;; Copyright © 2018 Pierre Langlois <pierre.langlois@gmx.com> 10;;; Copyright © 2018 Pierre Langlois <pierre.langlois@gmx.com>
11;;; Copyright © 2019 Alex Griffin <a@ajgrf.com> 11;;; Copyright © 2019 Alex Griffin <a@ajgrf.com>
12;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com> 12;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com>
13;;; Copyright © 2020 Amin Bandali <mab@gnu.org> 13;;; Copyright © 2020 Amin Bandali <bandali@gnu.org>
14;;; 14;;;
15;;; This file is part of GNU Guix. 15;;; This file is part of GNU Guix.
16;;; 16;;;
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 8617f634540..a917001dc0e 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -60,7 +60,7 @@
60;;; Copyright © 2019 Sam <smbaines8@gmail.com> 60;;; Copyright © 2019 Sam <smbaines8@gmail.com>
61;;; Copyright © 2019 Jack Hill <jackhill@jackhill.us> 61;;; Copyright © 2019 Jack Hill <jackhill@jackhill.us>
62;;; Copyright © 2019, 2020 Guillaume Le Vaillant <glv@posteo.net> 62;;; Copyright © 2019, 2020 Guillaume Le Vaillant <glv@posteo.net>
63;;; Copyright © 2019 Alex Griffin <a@ajgrf.com> 63;;; Copyright © 2019, 2020 Alex Griffin <a@ajgrf.com>
64;;; Copyright © 2019 Pierre Langlois <pierre.langlois@gmx.com> 64;;; Copyright © 2019 Pierre Langlois <pierre.langlois@gmx.com>
65;;; Copyright © 2019 Jacob MacDonald <jaccarmac@gmail.com> 65;;; Copyright © 2019 Jacob MacDonald <jaccarmac@gmail.com>
66;;; Copyright © 2019 Giacomo Leidi <goodoldpaul@autistici.org> 66;;; Copyright © 2019 Giacomo Leidi <goodoldpaul@autistici.org>
@@ -74,6 +74,7 @@
74;;; Copyright © 2020 Alexandros Theodotou <alex@zrythm.org> 74;;; Copyright © 2020 Alexandros Theodotou <alex@zrythm.org>
75;;; Copyright © 2020 Josh Marshall <joshua.r.marshall.1991@gmail.com> 75;;; Copyright © 2020 Josh Marshall <joshua.r.marshall.1991@gmail.com>
76;;; Copyright © 2020 Alexandros Theodotou <alex@zrythm.org> 76;;; Copyright © 2020 Alexandros Theodotou <alex@zrythm.org>
77;;; Copyright © 2020 Lars-Dominik Braun <ldb@leibniz-psychology.org>
77;;; 78;;;
78;;; This file is part of GNU Guix. 79;;; This file is part of GNU Guix.
79;;; 80;;;
@@ -4641,30 +4642,33 @@ as the original project seems to have been abandoned circa 2007.")
4641 (package-with-python2 python-socksipy-branch)) 4642 (package-with-python2 python-socksipy-branch))
4642 4643
4643(define-public python-socksipychain 4644(define-public python-socksipychain
4644 (package 4645 (let ((commit "eb5ee8741ce006ac0c5c3e2e83204062c348c155")
4645 (name "python-socksipychain") 4646 (revision "1")
4646 (version "2.1.0") 4647 (version "2.1.1"))
4647 (source 4648 (package
4648 (origin 4649 (name "python-socksipychain")
4649 (method git-fetch) 4650 (version (git-version version revision commit))
4650 (uri (git-reference 4651 (source
4651 (url "https://github.com/pagekite/PySocksipyChain.git") 4652 (origin
4652 (commit (string-append "v" version)))) 4653 (method git-fetch)
4653 (file-name (git-file-name name version)) 4654 (uri (git-reference
4654 (sha256 4655 (url "https://github.com/pagekite/PySocksipyChain.git")
4655 (base32 4656 (commit commit)))
4656 "0idm9a050rd2kbgbz2sk9ib9589kj4xh1xdnggs6xbq2v2y8f6zn")))) 4657 (file-name (git-file-name name version))
4657 (build-system python-build-system) 4658 (sha256
4658 (arguments 4659 (base32
4659 `(#:tests? #f)) ; Tests try to access the network. 4660 "0fpphn6xnpm7qk8a914s4abycsbq9w6qkci07my632v0fylnm5n7"))))
4660 (home-page "http://pagekite.net/wiki/Floss/PySocksipyChain/") 4661 (build-system python-build-system)
4661 (synopsis "Python SOCKS module with chained proxies support") 4662 (arguments
4662 (description 4663 `(#:tests? #f)) ; Tests try to access the network.
4663 "SocksiPyChain is a modified version of the SocksiPy SOCKS module, which 4664 (home-page "http://pagekite.net/wiki/Floss/PySocksipyChain/")
4665 (synopsis "Python SOCKS module with chained proxies support")
4666 (description
4667 "SocksiPyChain is a modified version of the SocksiPy SOCKS module, which
4664adds support for arbitrary chaining of proxy servers and various modes of 4668adds support for arbitrary chaining of proxy servers and various modes of
4665TLS/SSL encryption. It was developed for use in PageKite, and also includes 4669TLS/SSL encryption. It was developed for use in PageKite, and also includes
4666a simple netcat replacement with chaining support.") 4670a simple netcat replacement with chaining support.")
4667 (license license:bsd-3))) 4671 (license license:bsd-3))))
4668 4672
4669(define-public python-pycodestyle 4673(define-public python-pycodestyle
4670 (package 4674 (package
@@ -11854,12 +11858,6 @@ hardware-accelerated multitouch applications.")
11854(define-public python2-kivy 11858(define-public python2-kivy
11855 (package-with-python2 python-kivy)) 11859 (package-with-python2 python-kivy))
11856 11860
11857(define-public python-kivy-next
11858 (deprecated-package "python-kivy-next" python-kivy))
11859
11860(define-public python2-kivy-next
11861 (deprecated-package "python2-kivy-next" python2-kivy))
11862
11863(define-public python-binaryornot 11861(define-public python-binaryornot
11864 (package 11862 (package
11865 (name "python-binaryornot") 11863 (name "python-binaryornot")
@@ -15734,14 +15732,14 @@ and other tools.")
15734(define-public python-typing-extensions 15732(define-public python-typing-extensions
15735 (package 15733 (package
15736 (name "python-typing-extensions") 15734 (name "python-typing-extensions")
15737 (version "3.7.2") 15735 (version "3.7.4.1")
15738 (source 15736 (source
15739 (origin 15737 (origin
15740 (method url-fetch) 15738 (method url-fetch)
15741 (uri (pypi-uri "typing_extensions" version)) 15739 (uri (pypi-uri "typing_extensions" version))
15742 (sha256 15740 (sha256
15743 (base32 15741 (base32
15744 "0wfsv71pvkyf2na938l579jh0v3kzl6g744ijgnahcwd4d9x0b7v")))) 15742 "1wj1vcgbnm20aiinmphyxfrbv3qi9xdhvw89ab3qm42y9n4wq7h9"))))
15745 (build-system python-build-system) 15743 (build-system python-build-system)
15746 (home-page 15744 (home-page
15747 "https://github.com/python/typing/blob/master/typing_extensions/README.rst") 15745 "https://github.com/python/typing/blob/master/typing_extensions/README.rst")
@@ -18781,3 +18779,55 @@ allows to start and stop daemons for a quick throw-away usage. This is typicall
18781useful when needing these daemons to run integration testing. It originally 18779useful when needing these daemons to run integration testing. It originally
18782evolved from its precursor @code{overtest}.") 18780evolved from its precursor @code{overtest}.")
18783 (license license:asl2.0))) 18781 (license license:asl2.0)))
18782
18783(define-public python-pytest-check-links
18784 (package
18785 (name "python-pytest-check-links")
18786 (version "0.3.0")
18787 (source
18788 (origin
18789 (method url-fetch)
18790 ;; URI uses underscores
18791 (uri (pypi-uri "pytest_check_links" version))
18792 (sha256
18793 (base32
18794 "12x3wmrdzm6wgk0vz02hb769h68nr49q47w5q1pj95pc89hsa34v"))))
18795 (build-system python-build-system)
18796 (propagated-inputs
18797 `(("python-docutils" ,python-docutils)
18798 ("python-html5lib" ,python-html5lib)
18799 ("python-nbconvert" ,python-nbconvert)
18800 ("python-nbformat" ,python-nbformat)
18801 ("python-pytest" ,python-pytest)
18802 ("python-six" ,python-six)))
18803 (native-inputs
18804 `(("python-pbr-minimal" ,python-pbr-minimal)))
18805 (home-page "https://github.com/minrk/pytest-check-links")
18806 (synopsis "Check links in files")
18807 (description "This package provides a pytest plugin that checks URLs for
18808HTML-containing files.")
18809 (license license:bsd-3)))
18810
18811(define-public python-json5
18812 (package
18813 (name "python-json5")
18814 (version "0.8.5")
18815 (source
18816 (origin
18817 ;; sample.json5 is missing from PyPi source tarball
18818 (method git-fetch)
18819 (uri (git-reference
18820 (url "https://github.com/dpranke/pyjson5.git")
18821 (commit (string-append "v" version))))
18822 (file-name (git-file-name name version))
18823 (sha256
18824 (base32 "0nyngj18jlkgvm1177lc3cj47wm4yh3dqigygvcvw7xkyryafsqn"))))
18825 (build-system python-build-system)
18826 (home-page "https://github.com/dpranke/pyjson5")
18827 (synopsis
18828 "Python implementation of the JSON5 data format")
18829 (description
18830 "JSON5 extends the JSON data interchange format to make it slightly more
18831usable as a configuration language. This Python package implements parsing and
18832dumping of JSON5 data structures.")
18833 (license license:asl2.0)))
diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index 368cfb7e152..a5e2300f970 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -2374,7 +2374,7 @@ different kinds of sliders, and much more.")
2374(define-public qtwebkit 2374(define-public qtwebkit
2375 (package 2375 (package
2376 (name "qtwebkit") 2376 (name "qtwebkit")
2377 (version "5.212.0-alpha3") 2377 (version "5.212.0-alpha4")
2378 (source 2378 (source
2379 (origin 2379 (origin
2380 (method url-fetch) 2380 (method url-fetch)
@@ -2382,12 +2382,12 @@ different kinds of sliders, and much more.")
2382 "qtwebkit-" version "/qtwebkit-" version ".tar.xz")) 2382 "qtwebkit-" version "/qtwebkit-" version ".tar.xz"))
2383 (sha256 2383 (sha256
2384 (base32 2384 (base32
2385 "05syvwi3jw9abwsc93rmjkna0vyh6bkfrsqhwir48ms54icfwzim")) 2385 "1rm9sjkabxna67dl7myx9d9vpdyfxfdhrk9w7b94srkkjbd2d8cw"))
2386 (patches (search-patches "qtwebkit-pbutils-include.patch")))) 2386 (patches (search-patches "qtwebkit-pbutils-include.patch"))))
2387 (build-system cmake-build-system) 2387 (build-system cmake-build-system)
2388 (native-inputs 2388 (native-inputs
2389 `(("perl" ,perl) 2389 `(("perl" ,perl)
2390 ("python" ,python-2.7) 2390 ("python" ,python)
2391 ("ruby" ,ruby) 2391 ("ruby" ,ruby)
2392 ("bison" ,bison) 2392 ("bison" ,bison)
2393 ("flex" ,flex) 2393 ("flex" ,flex)
diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm
index 76afdefabe2..6774603db6f 100644
--- a/gnu/packages/rust.scm
+++ b/gnu/packages/rust.scm
@@ -55,6 +55,32 @@
55 #:use-module (ice-9 match) 55 #:use-module (ice-9 match)
56 #:use-module (srfi srfi-26)) 56 #:use-module (srfi srfi-26))
57 57
58;; This is the hash for the empty file, and the reason it's relevant is not
59;; the most obvious.
60;;
61;; The root of the problem is that Cargo keeps track of a file called
62;; Cargo.lock, that contains the hash of the tarball source of each dependency.
63;;
64;; However, tarball sources aren't handled well by Guix because of the need to
65;; patch shebangs in any helper scripts. This is why we use Cargo's vendoring
66;; capabilities, where instead of the tarball, a directory is provided in its
67;; place. (In the case of rustc, the source code already ships with vendored
68;; dependencies, but crates built with cargo-build-system undergo vendoring
69;; during the build.)
70;;
71;; To preserve the advantages of checksumming, vendored dependencies contain
72;; a file called .cargo-checksum.json, which contains the hash of the tarball,
73;; as well as the list of files in it, with the hash of each file.
74;;
75;; The patch-cargo-checksums phase of cargo-build-system runs after
76;; any Guix-specific patches to the vendored dependencies and regenerates the
77;; .cargo-checksum.json files, but it's hard to know the tarball checksum that
78;; should be written to the file - and taking care of any unhandled edge case
79;; would require rebuilding everything that depends on rust. This is why we lie,
80;; and say that the tarball has the hash of an empty file. It's not a problem
81;; because cargo-build-system removes the Cargo.lock file. We can't do that
82;; for rustc because of a quirk of its build system, so we modify the lock file
83;; to substitute the hash.
58(define %cargo-reference-hash 84(define %cargo-reference-hash
59 "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855") 85 "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855")
60 86
@@ -912,9 +938,30 @@ jemalloc = \"" jemalloc "/lib/libjemalloc_pic.a" "\"
912 (replace 'disable-amd64-avx-test 938 (replace 'disable-amd64-avx-test
913 (lambda _ 939 (lambda _
914 (substitute* "src/test/ui/run-pass/issues/issue-44056.rs" 940 (substitute* "src/test/ui/run-pass/issues/issue-44056.rs"
915 (("only-x86_64") "ignore-test")) 941 (("only-x86_64") "ignore-test"))
916 #t))))))))) 942 #t)))))))))
917 943
944(define (patch-command-exec-tests-phase test-path)
945 "The command-exec.rs test moves around between releases. We need to apply
946a Guix-specific patch to it for each release. This function generates the phase
947that applies said patch, parametrized by the test-path. This is done this way
948because the phase is more complex than the equivalents for other tests that
949move around."
950 `(lambda* (#:key inputs #:allow-other-keys)
951 (let ((coreutils (assoc-ref inputs "coreutils")))
952 (substitute* ,test-path
953 ;; This test suite includes some tests that the stdlib's
954 ;; `Command` execution properly handles situations where
955 ;; the environment or PATH variable are empty, but this
956 ;; fails since we don't have `echo` available in the usual
957 ;; Linux directories.
958 ;; NB: the leading space is so we don't fail a tidy check
959 ;; for trailing whitespace, and the newlines are to ensure
960 ;; we don't exceed the 100 chars tidy check as well
961 ((" Command::new\\(\"echo\"\\)")
962 (string-append "\nCommand::new(\"" coreutils "/bin/echo\")\n")))
963 #t)))
964
918(define-public rust-1.31 965(define-public rust-1.31
919 (let ((base-rust 966 (let ((base-rust
920 (rust-bootstrapped-package rust-1.30 "1.31.1" 967 (rust-bootstrapped-package rust-1.30 "1.31.1"
@@ -926,26 +973,14 @@ jemalloc = \"" jemalloc "/lib/libjemalloc_pic.a" "\"
926 ((#:phases phases) 973 ((#:phases phases)
927 `(modify-phases ,phases 974 `(modify-phases ,phases
928 (add-after 'patch-tests 'patch-command-exec-tests 975 (add-after 'patch-tests 'patch-command-exec-tests
929 (lambda* (#:key inputs #:allow-other-keys) 976 ,(patch-command-exec-tests-phase
930 (let ((coreutils (assoc-ref inputs "coreutils"))) 977 "src/test/run-pass/command-exec.rs"))
931 (substitute* "src/test/run-pass/command-exec.rs" 978 ;; The test has been moved elsewhere.
932 ;; This test suite includes some tests that the stdlib's 979 (replace 'disable-amd64-avx-test
933 ;; `Command` execution properly handles situations where 980 (lambda _
934 ;; the environment or PATH variable are empty, but this 981 (substitute* "src/test/ui/issues/issue-44056.rs"
935 ;; fails since we don't have `echo` available in the usual 982 (("only-x86_64") "ignore-test"))
936 ;; Linux directories. 983 #t))
937 ;; NB: the leading space is so we don't fail a tidy check
938 ;; for trailing whitespace, and the newlines are to ensure
939 ;; we don't exceed the 100 chars tidy check as well
940 ((" Command::new\\(\"echo\"\\)")
941 (string-append "\nCommand::new(\"" coreutils "/bin/echo\")\n")))
942 #t)))
943 ;; The test has been moved elsewhere.
944 (replace 'disable-amd64-avx-test
945 (lambda _
946 (substitute* "src/test/ui/issues/issue-44056.rs"
947 (("only-x86_64") "ignore-test"))
948 #t))
949 (add-after 'patch-tests 'patch-process-docs-rev-cmd 984 (add-after 'patch-tests 'patch-process-docs-rev-cmd
950 (lambda* _ 985 (lambda* _
951 ;; Disable some doc tests which depend on the "rev" command 986 ;; Disable some doc tests which depend on the "rev" command
@@ -1087,7 +1122,7 @@ jemalloc = \"" jemalloc "/lib/libjemalloc_pic.a" "\"
1087 `(modify-phases ,phases 1122 `(modify-phases ,phases
1088 (delete 'patch-process-docs-rev-cmd)))))))) 1123 (delete 'patch-process-docs-rev-cmd))))))))
1089 1124
1090(define-public rust 1125(define-public rust-1.37
1091 (let ((base-rust 1126 (let ((base-rust
1092 (rust-bootstrapped-package rust-1.36 "1.37.0" 1127 (rust-bootstrapped-package rust-1.36 "1.37.0"
1093 "1hrqprybhkhs6d9b5pjskfnc5z9v2l2gync7nb39qjb5s0h703hj"))) 1128 "1hrqprybhkhs6d9b5pjskfnc5z9v2l2gync7nb39qjb5s0h703hj")))
@@ -1103,3 +1138,45 @@ jemalloc = \"" jemalloc "/lib/libjemalloc_pic.a" "\"
1103 (mkdir-p cargo-home) 1138 (mkdir-p cargo-home)
1104 (setenv "CARGO_HOME" cargo-home) 1139 (setenv "CARGO_HOME" cargo-home)
1105 #t)))))))))) 1140 #t))))))))))
1141
1142(define-public rust-1.38
1143 (let ((base-rust
1144 (rust-bootstrapped-package rust-1.37 "1.38.0"
1145 "101dlpsfkq67p0hbwx4acqq6n90dj4bbprndizpgh1kigk566hk4")))
1146 (package
1147 (inherit base-rust)
1148 (arguments
1149 (substitute-keyword-arguments (package-arguments base-rust)
1150 ((#:phases phases)
1151 `(modify-phases ,phases
1152 (replace 'patch-command-exec-tests
1153 ,(patch-command-exec-tests-phase
1154 "src/test/ui/command-exec.rs"))
1155 (add-after 'patch-tests 'patch-command-uid-gid-test
1156 (lambda _
1157 (substitute* "src/test/ui/command-uid-gid.rs"
1158 (("/bin/sh") (which "sh"))
1159 (("ignore-sgx") "ignore-sgx\n// ignore-tidy-linelength"))
1160 #t)))))))))
1161
1162(define-public rust-1.39
1163 (let ((base-rust
1164 (rust-bootstrapped-package rust-1.38 "1.39.0"
1165 "0mwkc1bnil2cfyf6nglpvbn2y0zfbv44zfhsd5qg4c9rm6vgd8dl")))
1166 (package
1167 (inherit base-rust)
1168 (arguments
1169 (substitute-keyword-arguments (package-arguments base-rust)
1170 ((#:phases phases)
1171 `(modify-phases ,phases
1172 (replace 'patch-cargo-checksums
1173 ;; The Cargo.lock format changed.
1174 (lambda* _
1175 (use-modules (guix build cargo-utils))
1176 (substitute* "Cargo.lock"
1177 (("(checksum = )\".*\"" all name)
1178 (string-append name "\"" ,%cargo-reference-hash "\"")))
1179 (generate-all-checksums "vendor")
1180 #t)))))))))
1181
1182(define-public rust rust-1.37)
diff --git a/gnu/packages/speech.scm b/gnu/packages/speech.scm
index 5fdf2cdbd8b..8ee6fbfdc4b 100644
--- a/gnu/packages/speech.scm
+++ b/gnu/packages/speech.scm
@@ -5,6 +5,7 @@
5;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> 5;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
6;;; Copyright © 2016 Kei Kebreau <kkebreau@posteo.net> 6;;; Copyright © 2016 Kei Kebreau <kkebreau@posteo.net>
7;;; Copyright © 2019 Ricardo Wurmus <rekado@elephly.net> 7;;; Copyright © 2019 Ricardo Wurmus <rekado@elephly.net>
8;;; Copyright © 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr>
8;;; 9;;;
9;;; This file is part of GNU Guix. 10;;; This file is part of GNU Guix.
10;;; 11;;;
@@ -32,15 +33,20 @@
32 #:use-module (gnu packages audio) 33 #:use-module (gnu packages audio)
33 #:use-module (gnu packages autotools) 34 #:use-module (gnu packages autotools)
34 #:use-module (gnu packages base) ;for 'which' 35 #:use-module (gnu packages base) ;for 'which'
36 #:use-module (gnu packages bison)
35 #:use-module (gnu packages compression) 37 #:use-module (gnu packages compression)
38 #:use-module (gnu packages documentation)
36 #:use-module (gnu packages emacs) 39 #:use-module (gnu packages emacs)
37 #:use-module (gnu packages gcc) 40 #:use-module (gnu packages gcc)
38 #:use-module (gnu packages glib) 41 #:use-module (gnu packages glib)
42 #:use-module (gnu packages gstreamer)
39 #:use-module (gnu packages linux) 43 #:use-module (gnu packages linux)
40 #:use-module (gnu packages ncurses) 44 #:use-module (gnu packages ncurses)
45 #:use-module (gnu packages perl)
41 #:use-module (gnu packages pkg-config) 46 #:use-module (gnu packages pkg-config)
42 #:use-module (gnu packages pulseaudio) 47 #:use-module (gnu packages pulseaudio)
43 #:use-module (gnu packages python) 48 #:use-module (gnu packages python)
49 #:use-module (gnu packages swig)
44 #:use-module (gnu packages texinfo) 50 #:use-module (gnu packages texinfo)
45 #:use-module (gnu packages textutils)) 51 #:use-module (gnu packages textutils))
46 52
@@ -471,3 +477,64 @@ The system is written in C++ and uses the Edinburgh Speech Tools Library for
471low level architecture and has a Scheme (SIOD) based command interpreter for 477low level architecture and has a Scheme (SIOD) based command interpreter for
472control.") 478control.")
473 (license (license:non-copyleft "file://COPYING")))) 479 (license (license:non-copyleft "file://COPYING"))))
480
481(define-public sphinxbase
482 (package
483 (name "sphinxbase")
484 (version "5prealpha")
485 (source
486 (origin
487 (method url-fetch)
488 (uri (string-append "mirror://sourceforge/cmusphinx/"
489 "sphinxbase/" version "/"
490 "sphinxbase-" version ".tar.gz"))
491 (sha256
492 (base32 "0vr4k8pv5a8nvq9yja7kl13b5lh0f9vha8fc8znqnm8bwmcxnazp"))))
493 (build-system gnu-build-system)
494 (arguments
495 `(#:parallel-tests? #f)) ;tests fail otherwise
496 (native-inputs
497 `(("bison" ,bison)
498 ("doxygen" ,doxygen)
499 ("perl" ,perl) ;for tests
500 ("python" ,python)
501 ("swig" ,swig)))
502 (inputs
503 `(("pulseaudio" ,pulseaudio)))
504 (home-page "https://cmusphinx.github.io/")
505 (synopsis "Support library required by Pocketsphinx and Sphinxtrain")
506 (description "This package contains the basic libraries shared by
507the CMU Sphinx trainer and all the Sphinx decoders (Sphinx-II,
508Sphinx-III, and PocketSphinx), as well as some common utilities for
509manipulating acoustic feature and audio files.")
510 (license license:bsd-4)))
511
512(define-public pocketsphinx
513 (package
514 (name "pocketsphinx")
515 (version "5prealpha")
516 (source
517 (origin
518 (method url-fetch)
519 (uri (string-append "mirror://sourceforge/cmusphinx/"
520 "pocketsphinx/" version "/"
521 "pocketsphinx-" version ".tar.gz"))
522 (sha256
523 (base32 "1n9yazzdgvpqgnfzsbl96ch9cirayh74jmpjf7svs4i7grabanzg"))))
524 (build-system gnu-build-system)
525 (native-inputs
526 `(("pkg-config" ,pkg-config)
527 ("perl" ,perl) ;for tests
528 ("python" ,python)
529 ("swig" ,swig)))
530 (inputs
531 `(("gstreamer" ,gstreamer)
532 ("libcap" ,libcap)
533 ("pulseaudio" ,pulseaudio)
534 ("sphinxbase" ,sphinxbase)))
535 (home-page "https://cmusphinx.github.io/")
536 (synopsis "Recognizer library written in C")
537 (description "PocketSphinx is one of Carnegie Mellon University's
538large vocabulary, speaker-independent continuous speech recognition
539engine.")
540 (license license:bsd-2)))
diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm
index 5feae3fb921..1ffce54913b 100644
--- a/gnu/packages/statistics.scm
+++ b/gnu/packages/statistics.scm
@@ -441,14 +441,14 @@ Applied Statistics with S\" (4th edition, 2002) by Venables and Ripley.")
441(define-public r-class 441(define-public r-class
442 (package 442 (package
443 (name "r-class") 443 (name "r-class")
444 (version "7.3-15") 444 (version "7.3-16")
445 (source 445 (source
446 (origin 446 (origin
447 (method url-fetch) 447 (method url-fetch)
448 (uri (cran-uri "class" version)) 448 (uri (cran-uri "class" version))
449 (sha256 449 (sha256
450 (base32 450 (base32
451 "1x1hqz8xyhbpq4krsh02glqnlzcch25agkmn4a3da9n723b37gzn")))) 451 "1jpdgj0lsi60q0mqbhfw809w8d66whix27y6wpdzll6775g3j3ll"))))
452 (build-system r-build-system) 452 (build-system r-build-system)
453 (propagated-inputs 453 (propagated-inputs
454 `(("r-mass" ,r-mass))) 454 `(("r-mass" ,r-mass)))
@@ -1762,14 +1762,14 @@ side.")
1762(define-public r-locfit 1762(define-public r-locfit
1763 (package 1763 (package
1764 (name "r-locfit") 1764 (name "r-locfit")
1765 (version "1.5-9.2") 1765 (version "1.5-9.4")
1766 (source 1766 (source
1767 (origin 1767 (origin
1768 (method url-fetch) 1768 (method url-fetch)
1769 (uri (cran-uri "locfit" version)) 1769 (uri (cran-uri "locfit" version))
1770 (sha256 1770 (sha256
1771 (base32 1771 (base32
1772 "00l0s6cxnv95zybkgki0380fih2kr1kbm7m88x56phklln3nx27b")))) 1772 "1vcw16qww4v4547w0gfvhqg60l051bsdlxa6zfcgcj9xbxf6dlyr"))))
1773 (build-system r-build-system) 1773 (build-system r-build-system)
1774 (propagated-inputs 1774 (propagated-inputs
1775 `(("r-lattice" ,r-lattice))) 1775 `(("r-lattice" ,r-lattice)))
diff --git a/gnu/packages/syndication.scm b/gnu/packages/syndication.scm
index a84281364f8..6c0997da86c 100644
--- a/gnu/packages/syndication.scm
+++ b/gnu/packages/syndication.scm
@@ -84,16 +84,10 @@ interface that might look familiar to @command{mutt} or @command{slrn} users.
84 84
85Newsboat supports OPML import/exports, HTML rendering, podcasts (with 85Newsboat supports OPML import/exports, HTML rendering, podcasts (with
86@command{podboat}), off-line reading, searching and storing articles to your 86@command{podboat}), off-line reading, searching and storing articles to your
87file system, and many more features. 87file system, and many more features.")
88
89It started life as a fork of the currently unmaintained Newsbeuter.")
90 (license (list license:gpl2+ ; filter/* 88 (license (list license:gpl2+ ; filter/*
91 license:expat)))) ; everything else 89 license:expat)))) ; everything else
92 90
93(define-public newsbeuter
94 ;; Newsbeuter is unmaintained with multiple CVEs, and was forked as Newsboat.
95 (deprecated-package "newsbeuter" newsboat))
96
97(define-public rtv 91(define-public rtv
98 (package 92 (package
99 (name "rtv") 93 (name "rtv")
diff --git a/gnu/packages/terminals.scm b/gnu/packages/terminals.scm
index 3eeda9d417a..226f3ee05a4 100644
--- a/gnu/packages/terminals.scm
+++ b/gnu/packages/terminals.scm
@@ -19,6 +19,7 @@
19;;; Copyright © 2019 Brett Gilio <brettg@gnu.org> 19;;; Copyright © 2019 Brett Gilio <brettg@gnu.org>
20;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net> 20;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
21;;; Copyright © 2020 Valentin Ignatev <valentignatev@gmail.com> 21;;; Copyright © 2020 Valentin Ignatev <valentignatev@gmail.com>
22;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de>
22;;; 23;;;
23;;; This file is part of GNU Guix. 24;;; This file is part of GNU Guix.
24;;; 25;;;
@@ -896,7 +897,7 @@ per-line fullscreen terminal rendering, and keyboard input event reporting.")
896(define-public tmate 897(define-public tmate
897 (package 898 (package
898 (name "tmate") 899 (name "tmate")
899 (version "2.2.1") 900 (version "2.4.0")
900 (source 901 (source
901 (origin 902 (origin
902 (method git-fetch) 903 (method git-fetch)
@@ -906,7 +907,7 @@ per-line fullscreen terminal rendering, and keyboard input event reporting.")
906 (file-name (git-file-name name version)) 907 (file-name (git-file-name name version))
907 (sha256 908 (sha256
908 (base32 909 (base32
909 "0pfl9vrswzim9ydi1n652h3rax2zrmy6sqkp0r09yy3lw83h4y1r")))) 910 "0x5c31yq7ansmiy20a0qf59wagba9v3pq97mlkxrqxn4n1gcc6vi"))))
910 (build-system gnu-build-system) 911 (build-system gnu-build-system)
911 (inputs 912 (inputs
912 `(("libevent" ,libevent) 913 `(("libevent" ,libevent)
diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm
index d626f173f91..75de83ab60f 100644
--- a/gnu/packages/version-control.scm
+++ b/gnu/packages/version-control.scm
@@ -152,8 +152,6 @@ as well as the classic centralized workflow.")
152(define-public git 152(define-public git
153 (package 153 (package
154 (name "git") 154 (name "git")
155 ;; XXX When updating Git, check if the special 'git-source' input to cgit
156 ;; needs to be updated as well.
157 (version "2.26.0") 155 (version "2.26.0")
158 (source (origin 156 (source (origin
159 (method url-fetch) 157 (method url-fetch)
@@ -810,7 +808,7 @@ collaboration using typical untrusted file hosts or services.")
810 (package 808 (package
811 (name "cgit") 809 (name "cgit")
812 ;; Update the ‘git-source’ input as well. 810 ;; Update the ‘git-source’ input as well.
813 (version "1.2.2") 811 (version "1.2.3")
814 (source (origin 812 (source (origin
815 (method url-fetch) 813 (method url-fetch)
816 (uri (string-append 814 (uri (string-append
@@ -818,7 +816,7 @@ collaboration using typical untrusted file hosts or services.")
818 version ".tar.xz")) 816 version ".tar.xz"))
819 (sha256 817 (sha256
820 (base32 818 (base32
821 "0dmjsisigjz5k4gw7gm55qhm3wazzbm4cg7a5dwf0gqg9nacx5rz")))) 819 "193d990ym10qlslk0p8mjwp2j6rhqa7fq0y1iff65lvbyv914pss"))))
822 (build-system gnu-build-system) 820 (build-system gnu-build-system)
823 (arguments 821 (arguments
824 '(#:tests? #f ; XXX: fail to build the in-source git. 822 '(#:tests? #f ; XXX: fail to build the in-source git.
@@ -898,9 +896,9 @@ collaboration using typical untrusted file hosts or services.")
898 (method url-fetch) 896 (method url-fetch)
899 ;; cgit is tightly bound to git. Use GIT_VER from the Makefile, 897 ;; cgit is tightly bound to git. Use GIT_VER from the Makefile,
900 ;; which may not match the current (package-version git). 898 ;; which may not match the current (package-version git).
901 (uri "mirror://kernel.org/software/scm/git/git-2.25.0.tar.xz") 899 (uri "mirror://kernel.org/software/scm/git/git-2.25.1.tar.xz")
902 (sha256 900 (sha256
903 (base32 "1l58v42aazj0x9276gk8r9mwyl9pgp9w99aakz4xfhzv7wd2jq60")))) 901 (base32 "09lzwa183nblr6l8ib35g2xrjf9wm9yhk3szfvyzkwivdv69c9r2"))))
904 ("openssl" ,openssl) 902 ("openssl" ,openssl)
905 ("groff" ,groff) 903 ("groff" ,groff)
906 ("python" ,python) 904 ("python" ,python)
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index 112c7c31e2c..23533dfdbf9 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -1640,7 +1640,7 @@ To load this plugin, specify the following option when starting mpv:
1640(define-public youtube-dl 1640(define-public youtube-dl
1641 (package 1641 (package
1642 (name "youtube-dl") 1642 (name "youtube-dl")
1643 (version "2020.03.08") 1643 (version "2020.03.24")
1644 (source (origin 1644 (source (origin
1645 (method url-fetch) 1645 (method url-fetch)
1646 (uri (string-append "https://github.com/ytdl-org/youtube-dl/" 1646 (uri (string-append "https://github.com/ytdl-org/youtube-dl/"
@@ -1648,7 +1648,7 @@ To load this plugin, specify the following option when starting mpv:
1648 version ".tar.gz")) 1648 version ".tar.gz"))
1649 (sha256 1649 (sha256
1650 (base32 1650 (base32
1651 "1xbka14wnalcqkhibfcqw8f5bw1m9b1f44719yifv1jk0614q4bn")))) 1651 "05l4asakakxn53wrvxn6c03fd80zdizdbj6r2cj8c1ja3sj9i8s5"))))
1652 (build-system python-build-system) 1652 (build-system python-build-system)
1653 (arguments 1653 (arguments
1654 ;; The problem here is that the directory for the man page and completion 1654 ;; The problem here is that the directory for the man page and completion
@@ -1860,6 +1860,8 @@ audio, images) from the Web. It can use either mpv or vlc for playback.")
1860 `(#:modules ((guix build perl-build-system) 1860 `(#:modules ((guix build perl-build-system)
1861 (guix build utils) 1861 (guix build utils)
1862 (srfi srfi-26)) 1862 (srfi srfi-26))
1863 ;; gtk-2/3 variants are both installed by default but the gtk3 variant
1864 ;; is broken without perl-gtk3.
1863 #:module-build-flags '("--gtk2") 1865 #:module-build-flags '("--gtk2")
1864 #:phases 1866 #:phases
1865 (modify-phases %standard-phases 1867 (modify-phases %standard-phases
@@ -2209,7 +2211,7 @@ capabilities.")
2209(define-public vapoursynth 2211(define-public vapoursynth
2210 (package 2212 (package
2211 (name "vapoursynth") 2213 (name "vapoursynth")
2212 (version "48") 2214 (version "49")
2213 (source (origin 2215 (source (origin
2214 (method git-fetch) 2216 (method git-fetch)
2215 (uri (git-reference 2217 (uri (git-reference
@@ -2218,7 +2220,7 @@ capabilities.")
2218 (file-name (git-file-name name version)) 2220 (file-name (git-file-name name version))
2219 (sha256 2221 (sha256
2220 (base32 2222 (base32
2221 "1i6163bidlp0p9zcnxpsphr44ayfzd51fig4ri7vbrbl9lw9jaih")))) 2223 "1d298mlb24nlc2x7pixfbkd0qbpv4c706c32idsgpi96z1spkhvl"))))
2222 (build-system gnu-build-system) 2224 (build-system gnu-build-system)
2223 (native-inputs 2225 (native-inputs
2224 `(("autoconf" ,autoconf) 2226 `(("autoconf" ,autoconf)
@@ -2309,9 +2311,6 @@ and custom quantization matrices.")
2309from sites like Twitch.tv and pipes them into a video player of choice.") 2311from sites like Twitch.tv and pipes them into a video player of choice.")
2310 (license license:bsd-2))) 2312 (license license:bsd-2)))
2311 2313
2312(define-public livestreamer
2313 (deprecated-package "livestreamer" streamlink))
2314
2315(define-public twitchy 2314(define-public twitchy
2316 (let ((commit "9beb36d80b16662414129693e74fa3a2fd97554e")) ; 3.4 has no tag 2315 (let ((commit "9beb36d80b16662414129693e74fa3a2fd97554e")) ; 3.4 has no tag
2317 (package 2316 (package
diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm
index efb325ac8f4..fbafed9ed43 100644
--- a/gnu/packages/virtualization.scm
+++ b/gnu/packages/virtualization.scm
@@ -913,9 +913,6 @@ monitor/GPU.")
913 (supported-systems '("i686-linux" "x86_64-linux")) 913 (supported-systems '("i686-linux" "x86_64-linux"))
914 (license license:gpl2+)))) 914 (license license:gpl2+))))
915 915
916(define-public lookingglass
917 (deprecated-package "lookingglass" looking-glass-client))
918
919(define-public runc 916(define-public runc
920 (package 917 (package
921 (name "runc") 918 (name "runc")
diff --git a/gnu/packages/vulkan.scm b/gnu/packages/vulkan.scm
index 61a01f56b81..d3b4e5cc33d 100644
--- a/gnu/packages/vulkan.scm
+++ b/gnu/packages/vulkan.scm
@@ -218,9 +218,6 @@ and the ICD.")
218 (license:x11-style "file://COPYRIGHT.txt") 218 (license:x11-style "file://COPYRIGHT.txt")
219 license:bsd-3)))) 219 license:bsd-3))))
220 220
221(define-public vulkan-icd-loader
222 (deprecated-package "vulkan-icd-loader" vulkan-loader))
223
224(define-public vulkan-tools 221(define-public vulkan-tools
225 (package 222 (package
226 (name "vulkan-tools") 223 (name "vulkan-tools")
diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
index 781f76a1329..2b1585c8e3b 100644
--- a/gnu/packages/web.scm
+++ b/gnu/packages/web.scm
@@ -42,6 +42,7 @@
42;;; Copyright © 2020 Alexandros Theodotou <alex@zrythm.org> 42;;; Copyright © 2020 Alexandros Theodotou <alex@zrythm.org>
43;;; Copyright © 2020 Pierre Neidhardt <mail@ambrevar.xyz> 43;;; Copyright © 2020 Pierre Neidhardt <mail@ambrevar.xyz>
44;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org> 44;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
45;;; Copyright © 2018, 2019, 2020 Björn Höfling <bjoern.hoefling@bjoernhoefling.de>
45;;; 46;;;
46;;; This file is part of GNU Guix. 47;;; This file is part of GNU Guix.
47;;; 48;;;
@@ -4385,8 +4386,8 @@ CDF, Atom 0.3, and Atom 1.0 feeds.")
4385 (package-with-python2 python-feedparser)) 4386 (package-with-python2 python-feedparser))
4386 4387
4387(define-public guix-data-service 4388(define-public guix-data-service
4388 (let ((commit "18eb9dfdcb3174bfd4bab5b9089acffa13aa1214") 4389 (let ((commit "d1c243f7fd8902f359ff06fb78dce663cf4297ce")
4389 (revision "18")) 4390 (revision "19"))
4390 (package 4391 (package
4391 (name "guix-data-service") 4392 (name "guix-data-service")
4392 (version (string-append "0.0.1-" revision "." (string-take commit 7))) 4393 (version (string-append "0.0.1-" revision "." (string-take commit 7)))
@@ -4398,11 +4399,13 @@ CDF, Atom 0.3, and Atom 1.0 feeds.")
4398 (file-name (git-file-name name version)) 4399 (file-name (git-file-name name version))
4399 (sha256 4400 (sha256
4400 (base32 4401 (base32
4401 "0lb78cqzqaz0r4sspg272w2a3yhzhqah30j0kxf0z182b0qpmp37")))) 4402 "1ji8d4vwmv7j9h7z96hvzi3zvik594yngjrdal37w13fbxy2v6sw"))))
4402 (build-system gnu-build-system) 4403 (build-system gnu-build-system)
4403 (arguments 4404 (arguments
4404 '(#:modules ((guix build utils) 4405 '(#:modules ((guix build utils)
4405 (guix build gnu-build-system) 4406 (guix build gnu-build-system)
4407 (ice-9 ftw)
4408 (ice-9 match)
4406 (ice-9 rdelim) 4409 (ice-9 rdelim)
4407 (ice-9 popen)) 4410 (ice-9 popen))
4408 #:test-target "check-with-tmp-database" 4411 #:test-target "check-with-tmp-database"
@@ -4430,20 +4433,28 @@ CDF, Atom 0.3, and Atom 1.0 feeds.")
4430 "/site-ccache"))) 4433 "/site-ccache")))
4431 (for-each 4434 (for-each
4432 (lambda (file) 4435 (lambda (file)
4436 (simple-format (current-error-port)
4437 "wrapping: ~A\n"
4438 (string-append bin "/" file))
4433 (wrap-program (string-append bin "/" file) 4439 (wrap-program (string-append bin "/" file)
4434 `("PATH" ":" prefix 4440 `("PATH" ":" prefix
4435 (,bin)) 4441 ,(cons*
4442 bin
4443 (map (lambda (input)
4444 (string-append
4445 (assoc-ref inputs input)
4446 "/bin"))
4447 '("ephemeralpg"
4448 "util-linux"
4449 "postgresql"))))
4436 `("GUILE_LOAD_PATH" ":" prefix 4450 `("GUILE_LOAD_PATH" ":" prefix
4437 (,scm ,(getenv "GUILE_LOAD_PATH"))) 4451 (,scm ,(getenv "GUILE_LOAD_PATH")))
4438 `("GUILE_LOAD_COMPILED_PATH" ":" prefix 4452 `("GUILE_LOAD_COMPILED_PATH" ":" prefix
4439 (,go ,(getenv "GUILE_LOAD_COMPILED_PATH"))))) 4453 (,go ,(getenv "GUILE_LOAD_COMPILED_PATH")))))
4440 '("guix-data-service" 4454 (scandir bin
4441 "guix-data-service-process-branch-updated-email" 4455 (match-lambda
4442 "guix-data-service-process-branch-updated-mbox" 4456 ((or "." "..") #f)
4443 "guix-data-service-process-job" 4457 (_ #t))))
4444 "guix-data-service-process-jobs"
4445 "guix-data-service-manage-build-servers"
4446 "guix-data-service-query-build-servers"))
4447 #t))) 4458 #t)))
4448 (delete 'strip)))) ; As the .go files aren't compatible 4459 (delete 'strip)))) ; As the .go files aren't compatible
4449 (inputs 4460 (inputs
@@ -4452,13 +4463,14 @@ CDF, Atom 0.3, and Atom 1.0 feeds.")
4452 ("guile-json" ,guile3.0-json) 4463 ("guile-json" ,guile3.0-json)
4453 ("guile-email" ,guile3.0-email) 4464 ("guile-email" ,guile3.0-email)
4454 ("guile-squee" ,guile3.0-squee) 4465 ("guile-squee" ,guile3.0-squee)
4455 ("postgresql" ,postgresql) 4466 ("ephemeralpg" ,ephemeralpg)
4467 ("util-linux" ,util-linux)
4468 ("postgresql" ,postgresql-11)
4456 ("sqitch" ,sqitch))) 4469 ("sqitch" ,sqitch)))
4457 (native-inputs 4470 (native-inputs
4458 `(("guile" ,guile-3.0) 4471 `(("guile" ,guile-3.0)
4459 ("autoconf" ,autoconf) 4472 ("autoconf" ,autoconf)
4460 ("automake" ,automake) 4473 ("automake" ,automake)
4461 ("ephemeralpg" ,ephemeralpg)
4462 ("emacs-minimal" ,emacs-minimal) 4474 ("emacs-minimal" ,emacs-minimal)
4463 ("emacs-htmlize" ,emacs-htmlize) 4475 ("emacs-htmlize" ,emacs-htmlize)
4464 ("pkg-config" ,pkg-config))) 4476 ("pkg-config" ,pkg-config)))
@@ -6125,14 +6137,14 @@ encoder/decoder based on the draft-12 specification for UBJSON.")
6125(define-public java-tomcat 6137(define-public java-tomcat
6126 (package 6138 (package
6127 (name "java-tomcat") 6139 (name "java-tomcat")
6128 (version "8.5.46") 6140 (version "8.5.53")
6129 (source (origin 6141 (source (origin
6130 (method url-fetch) 6142 (method url-fetch)
6131 (uri (string-append "mirror://apache/tomcat/tomcat-8/v" 6143 (uri (string-append "mirror://apache/tomcat/tomcat-8/v"
6132 version "/src/apache-tomcat-" version "-src.tar.gz")) 6144 version "/src/apache-tomcat-" version "-src.tar.gz"))
6133 (sha256 6145 (sha256
6134 (base32 6146 (base32
6135 "0fb49gsqa3r6jrwc54yynvsakq9qbzr2pbxr7a29c2zvja2v65iq")) 6147 "15lwq3clf21hzk7mma70sffpxjqn8ww5mjq6zhmwcp4m17m22z26"))
6136 (modules '((guix build utils))) 6148 (modules '((guix build utils)))
6137 ;; Delete bundled jars. 6149 ;; Delete bundled jars.
6138 (snippet 6150 (snippet
@@ -6210,6 +6222,7 @@ encoder/decoder based on the draft-12 specification for UBJSON.")
6210 (let ((out (assoc-ref outputs "out"))) 6222 (let ((out (assoc-ref outputs "out")))
6211 (copy-recursively "output/build" out)) 6223 (copy-recursively "output/build" out))
6212 #t))))) 6224 #t)))))
6225 (properties '((cpe-name . "tomcat")))
6213 (home-page "https://tomcat.apache.org") 6226 (home-page "https://tomcat.apache.org")
6214 (synopsis "Java Servlet, JavaServer Pages, Java Expression Language and Java 6227 (synopsis "Java Servlet, JavaServer Pages, Java Expression Language and Java
6215WebSocket") 6228WebSocket")
diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm
index 25ec278e2ce..5d28cac38a2 100644
--- a/gnu/packages/wm.scm
+++ b/gnu/packages/wm.scm
@@ -172,8 +172,7 @@ the leaves of a full binary tree.")
172 (arguments 172 (arguments
173 '(#:phases 173 '(#:phases
174 (modify-phases %standard-phases 174 (modify-phases %standard-phases
175 (delete 'configure) 175 (delete 'configure) ; no configure script
176 (delete 'check)
177 (add-after 'install 'install-xsession 176 (add-after 'install 'install-xsession
178 (lambda* (#:key outputs #:allow-other-keys) 177 (lambda* (#:key outputs #:allow-other-keys)
179 (let* ((out (assoc-ref outputs "out")) 178 (let* ((out (assoc-ref outputs "out"))
@@ -195,6 +194,8 @@ the leaves of a full binary tree.")
195 (list "CC=gcc" 194 (list "CC=gcc"
196 (string-append "PREFIX=''") 195 (string-append "PREFIX=''")
197 (string-append "DESTDIR=" out) 196 (string-append "DESTDIR=" out)
197 (string-append "FISHCOMPLETIONDIR="
198 "/share/fish/vendor_completions.d")
198 (string-append "BASHCOMPLETIONDIR=" out 199 (string-append "BASHCOMPLETIONDIR=" out
199 "/etc/bash_completion.d"))))) 200 "/etc/bash_completion.d")))))
200 (synopsis "Tiling window manager for X11") 201 (synopsis "Tiling window manager for X11")
diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm
index 9ecfdcf12f5..937595cb9de 100644
--- a/gnu/packages/xdisorg.scm
+++ b/gnu/packages/xdisorg.scm
@@ -1064,7 +1064,7 @@ Escape key when Left Control is pressed and released on its own.")
1064(define-public libwacom 1064(define-public libwacom
1065 (package 1065 (package
1066 (name "libwacom") 1066 (name "libwacom")
1067 (version "1.2") 1067 (version "1.3")
1068 (source (origin 1068 (source (origin
1069 (method url-fetch) 1069 (method url-fetch)
1070 (uri (string-append 1070 (uri (string-append
@@ -1072,7 +1072,7 @@ Escape key when Left Control is pressed and released on its own.")
1072 "libwacom-" version "/libwacom-" version ".tar.bz2")) 1072 "libwacom-" version "/libwacom-" version ".tar.bz2"))
1073 (sha256 1073 (sha256
1074 (base32 1074 (base32
1075 "1hv3z2qkvycqcyv99zfpbbgrlbyppdq8kk2y9x51578mwbgcy162")))) 1075 "0g48cdg2qpvrr2nk8ccibjg3iv7iqskdv66izxacqx70w47y1771"))))
1076 (build-system glib-or-gtk-build-system) 1076 (build-system glib-or-gtk-build-system)
1077 (arguments 1077 (arguments
1078 `(#:configure-flags '("--disable-static"))) 1078 `(#:configure-flags '("--disable-static")))
@@ -1213,7 +1213,7 @@ protocol.")
1213(define-public xscreensaver 1213(define-public xscreensaver
1214 (package 1214 (package
1215 (name "xscreensaver") 1215 (name "xscreensaver")
1216 (version "5.43") 1216 (version "5.44")
1217 (source 1217 (source
1218 (origin 1218 (origin
1219 (method url-fetch) 1219 (method url-fetch)
@@ -1221,7 +1221,7 @@ protocol.")
1221 (string-append "https://www.jwz.org/xscreensaver/xscreensaver-" 1221 (string-append "https://www.jwz.org/xscreensaver/xscreensaver-"
1222 version ".tar.gz")) 1222 version ".tar.gz"))
1223 (sha256 1223 (sha256
1224 (base32 "1571pj1a9998sq14y9366s2rw9wd2kq3l3dvvsk610vyd0fki3qm")))) 1224 (base32 "15bv05vpfjwsrqbazrjmm382jd7vvw0mp6y9vasn6wvxzjf0in3k"))))
1225 (build-system gnu-build-system) 1225 (build-system gnu-build-system)
1226 (arguments 1226 (arguments
1227 `(#:tests? #f ; no check target 1227 `(#:tests? #f ; no check target
@@ -1237,7 +1237,7 @@ protocol.")
1237 "--without-readdisplay") 1237 "--without-readdisplay")
1238 #:make-flags (list (string-append "AD_DIR=" 1238 #:make-flags (list (string-append "AD_DIR="
1239 (assoc-ref %outputs "out") 1239 (assoc-ref %outputs "out")
1240 "/usr/lib/X11/app-defaults")))) 1240 "/lib/X11/app-defaults"))))
1241 (native-inputs 1241 (native-inputs
1242 `(("pkg-config" ,pkg-config) 1242 `(("pkg-config" ,pkg-config)
1243 ("intltool" ,intltool))) 1243 ("intltool" ,intltool)))
diff --git a/gnu/packages/xfce.scm b/gnu/packages/xfce.scm
index b6eba0a72c7..5b9aa498271 100644
--- a/gnu/packages/xfce.scm
+++ b/gnu/packages/xfce.scm
@@ -1158,7 +1158,7 @@ A plugin for the Xfce panel is also available.")
1158(define-public xfce4-screensaver 1158(define-public xfce4-screensaver
1159 (package 1159 (package
1160 (name "xfce4-screensaver") 1160 (name "xfce4-screensaver")
1161 (version "0.1.8") 1161 (version "0.1.9")
1162 (source (origin 1162 (source (origin
1163 (method url-fetch) 1163 (method url-fetch)
1164 (uri (string-append "https://archive.xfce.org/src/apps/" 1164 (uri (string-append "https://archive.xfce.org/src/apps/"
@@ -1168,7 +1168,7 @@ A plugin for the Xfce panel is also available.")
1168 version ".tar.bz2")) 1168 version ".tar.bz2"))
1169 (sha256 1169 (sha256
1170 (base32 1170 (base32
1171 "1mv0r150yb29kji2rr2462g9p574bqjax1lb6bzcqgpxlmg08mj0")))) 1171 "11p48yyjgy6crwfbyvm16yg0rkzn90ssd2wygzmwvwrx3wkzyhsp"))))
1172 (build-system gnu-build-system) 1172 (build-system gnu-build-system)
1173 (arguments 1173 (arguments
1174 `(#:phases 1174 `(#:phases
diff --git a/gnu/services/nfs.scm b/gnu/services/nfs.scm
index cbaa97b2fd3..4e358197e26 100644
--- a/gnu/services/nfs.scm
+++ b/gnu/services/nfs.scm
@@ -245,8 +245,8 @@
245 nfs-configuration? 245 nfs-configuration?
246 (nfs-utils nfs-configuration-nfs-utils 246 (nfs-utils nfs-configuration-nfs-utils
247 (default nfs-utils)) 247 (default nfs-utils))
248 (nfs-version nfs-configuration-nfs-version 248 (nfs-versions nfs-configuration-nfs-versions
249 (default #f)) ; string 249 (default '("4.2" "4.1" "4.0")))
250 (exports nfs-configuration-exports 250 (exports nfs-configuration-exports
251 (default '())) 251 (default '()))
252 (rpcmountd-port nfs-configuration-rpcmountd-port 252 (rpcmountd-port nfs-configuration-rpcmountd-port
@@ -270,7 +270,7 @@
270(define (nfs-shepherd-services config) 270(define (nfs-shepherd-services config)
271 "Return a list of <shepherd-service> for the NFS daemons with CONFIG." 271 "Return a list of <shepherd-service> for the NFS daemons with CONFIG."
272 (match-record config <nfs-configuration> 272 (match-record config <nfs-configuration>
273 (nfs-utils nfs-version exports 273 (nfs-utils nfs-versions exports
274 rpcmountd-port rpcstatd-port nfsd-port nfsd-threads 274 rpcmountd-port rpcstatd-port nfsd-port nfsd-threads
275 pipefs-directory debug) 275 pipefs-directory debug)
276 (list (shepherd-service 276 (list (shepherd-service
@@ -323,15 +323,16 @@
323 (requirement '(/proc/fs/nfsd rpc.statd networking)) 323 (requirement '(/proc/fs/nfsd rpc.statd networking))
324 (start 324 (start
325 #~(lambda _ 325 #~(lambda _
326 (zero? (system* #$(file-append nfs-utils "/sbin/rpc.nfsd") 326 (zero? (apply system* #$(file-append nfs-utils "/sbin/rpc.nfsd")
327 #$@(if (member 'nfsd debug) 327 (list
328 '("--debug") 328 #$@(if (member 'nfsd debug)
329 '()) 329 '("--debug")
330 "--port" #$(number->string nfsd-port) 330 '())
331 #$@(if nfs-version 331 "--port" #$(number->string nfsd-port)
332 '("--nfs-version" nfs-version) 332 #$@(map (lambda (version)
333 '()) 333 (string-append "--nfs-version=" version))
334 #$(number->string nfsd-threads))))) 334 nfs-versions)
335 #$(number->string nfsd-threads))))))
335 (stop 336 (stop
336 #~(lambda _ 337 #~(lambda _
337 (zero? 338 (zero?
diff --git a/gnu/services/shepherd.scm b/gnu/services/shepherd.scm
index d483ff1a151..bad089844d0 100644
--- a/gnu/services/shepherd.scm
+++ b/gnu/services/shepherd.scm
@@ -269,7 +269,11 @@ and return the resulting '.go' file."
269 (module-use! env (resolve-interface '(oop goops))) 269 (module-use! env (resolve-interface '(oop goops)))
270 (module-use! env (resolve-interface '(shepherd service))) 270 (module-use! env (resolve-interface '(shepherd service)))
271 (compile-file #$file #:output-file #$output 271 (compile-file #$file #:output-file #$output
272 #:env env)))))) 272 #:env env)))
273
274 ;; It's faster to build locally than to download.
275 #:options '(#:local-build? #t
276 #:substitutable? #f))))
273 277
274(define (shepherd-configuration-file services) 278(define (shepherd-configuration-file services)
275 "Return the shepherd configuration file for SERVICES." 279 "Return the shepherd configuration file for SERVICES."
diff --git a/gnu/services/xorg.scm b/gnu/services/xorg.scm
index a6dbec6957a..e6f64b30c11 100644
--- a/gnu/services/xorg.scm
+++ b/gnu/services/xorg.scm
@@ -798,6 +798,7 @@ the GNOME desktop environment.")
798 (user-account 798 (user-account
799 (name "gdm") 799 (name "gdm")
800 (group "gdm") 800 (group "gdm")
801 (supplementary-groups '("video"))
801 (system? #t) 802 (system? #t)
802 (comment "GNOME Display Manager user") 803 (comment "GNOME Display Manager user")
803 (home-directory "/var/lib/gdm") 804 (home-directory "/var/lib/gdm")
diff --git a/gnu/system/vm.scm b/gnu/system/vm.scm
index d1c131ecb41..c6ec25a8958 100644
--- a/gnu/system/vm.scm
+++ b/gnu/system/vm.scm
@@ -186,12 +186,15 @@ made available under the /xchg CIFS share."
186 ;; the initrd. See example at 186 ;; the initrd. See example at
187 ;; <https://lists.gnu.org/archive/html/guix-devel/2017-10/msg00233.html>. 187 ;; <https://lists.gnu.org/archive/html/guix-devel/2017-10/msg00233.html>.
188 (program-file "linux-vm-loader" 188 (program-file "linux-vm-loader"
189 ;; When USER-BUILDER succeeds, reboot (indicating a 189 ;; Communicate USER-BUILDER's exit status via /xchg so that
190 ;; success), otherwise die, which causes a kernel panic 190 ;; the host can distinguish between success, failure, and
191 ;; ("Attempted to kill init!"). 191 ;; kernel panic.
192 #~(if (zero? (system* #$user-builder)) 192 #~(let ((status (system* #$user-builder)))
193 (reboot) 193 (call-with-output-file "/xchg/.exit-status"
194 (exit 1)))) 194 (lambda (port)
195 (write status port)))
196 (sync)
197 (reboot))))
195 198
196 (let ((initrd (or initrd 199 (let ((initrd (or initrd
197 (base-initrd file-systems 200 (base-initrd file-systems
diff --git a/guix/build-system/gnu.scm b/guix/build-system/gnu.scm
index d6613edb330..f59567febb3 100644
--- a/guix/build-system/gnu.scm
+++ b/guix/build-system/gnu.scm
@@ -151,8 +151,8 @@ so that they use INPUTS (a thunk) instead of implicit inputs."
151 p)) 151 p))
152 152
153 (define (cut? p) 153 (define (cut? p)
154 (and (eq? (package-build-system p) gnu-build-system) 154 (or (not (eq? (package-build-system p) gnu-build-system))
155 (memq #:implicit-inputs? (package-arguments p)))) 155 (memq #:implicit-inputs? (package-arguments p))))
156 156
157 (package-mapping add-explicit-inputs cut?)) 157 (package-mapping add-explicit-inputs cut?))
158 158
diff --git a/guix/gexp.scm b/guix/gexp.scm
index 99390bcafc4..1f1993a89fd 100644
--- a/guix/gexp.scm
+++ b/guix/gexp.scm
@@ -683,22 +683,22 @@ When TARGET is true, use it as the cross-compilation target triplet."
683 (and (string? obj) (store-path? obj))) 683 (and (string? obj) (store-path? obj)))
684 684
685 (with-monad %store-monad 685 (with-monad %store-monad
686 (mapm %store-monad 686 (mapm/accumulate-builds
687 (match-lambda 687 (match-lambda
688 (((? struct? thing) sub-drv ...) 688 (((? struct? thing) sub-drv ...)
689 (mlet %store-monad ((obj (lower-object 689 (mlet %store-monad ((obj (lower-object
690 thing system #:target target))) 690 thing system #:target target)))
691 (return (match obj 691 (return (match obj
692 ((? derivation? drv) 692 ((? derivation? drv)
693 (let ((outputs (if (null? sub-drv) 693 (let ((outputs (if (null? sub-drv)
694 '("out") 694 '("out")
695 sub-drv))) 695 sub-drv)))
696 (derivation-input drv outputs))) 696 (derivation-input drv outputs)))
697 ((? store-item? item) 697 ((? store-item? item)
698 item))))) 698 item)))))
699 (((? store-item? item)) 699 (((? store-item? item))
700 (return item))) 700 (return item)))
701 inputs))) 701 inputs)))
702 702
703(define* (lower-reference-graphs graphs #:key system target) 703(define* (lower-reference-graphs graphs #:key system target)
704 "Given GRAPHS, a list of (FILE-NAME INPUT ...) lists for use as a 704 "Given GRAPHS, a list of (FILE-NAME INPUT ...) lists for use as a
diff --git a/guix/grafts.scm b/guix/grafts.scm
index adc7bfafaec..5173a77e58f 100644
--- a/guix/grafts.scm
+++ b/guix/grafts.scm
@@ -1,5 +1,5 @@
1;;; GNU Guix --- Functional package management for GNU 1;;; GNU Guix --- Functional package management for GNU
2;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org> 2;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org>
3;;; 3;;;
4;;; This file is part of GNU Guix. 4;;; This file is part of GNU Guix.
5;;; 5;;;
@@ -166,22 +166,14 @@ references. Call REFERENCES to get the list of references."
166(define (references-oracle store input) 166(define (references-oracle store input)
167 "Return a one-argument procedure that, when passed the output file names of 167 "Return a one-argument procedure that, when passed the output file names of
168INPUT, a derivation input, or their dependencies, returns the list of 168INPUT, a derivation input, or their dependencies, returns the list of
169references of that item. Use either local info or substitute info; build 169references of that item. Build INPUT if it's not available."
170INPUT if no information is available."
171 (define (references* items) 170 (define (references* items)
171 ;; Return the references of ITEMS.
172 (guard (c ((store-protocol-error? c) 172 (guard (c ((store-protocol-error? c)
173 ;; As a last resort, build DRV and query the references of the 173 ;; ITEMS are not in store so build INPUT first.
174 ;; build result.
175
176 ;; Warm up the narinfo cache, otherwise each derivation build
177 ;; will result in one HTTP request to get one narinfo, which is
178 ;; much less efficient than fetching them all upfront.
179 (substitution-oracle store
180 (list (derivation-input-derivation input)))
181
182 (and (build-derivations store (list input)) 174 (and (build-derivations store (list input))
183 (map (cut references store <>) items)))) 175 (map (cut references/cached store <>) items))))
184 (references/substitutes store items))) 176 (map (cut references/cached store <>) items)))
185 177
186 (let loop ((items (derivation-input-output-paths input)) 178 (let loop ((items (derivation-input-output-paths input))
187 (result vlist-null)) 179 (result vlist-null))
diff --git a/guix/packages.scm b/guix/packages.scm
index ef96b5692f4..567240f54e1 100644
--- a/guix/packages.scm
+++ b/guix/packages.scm
@@ -444,9 +444,9 @@ derivations."
444 (let ((distro (resolve-interface '(gnu packages commencement)))) 444 (let ((distro (resolve-interface '(gnu packages commencement))))
445 (module-ref distro 'guile-final))) 445 (module-ref distro 'guile-final)))
446 446
447(define (guile-2.0) 447(define (guile-for-grafts)
448 "Return Guile 2.0." 448 "Return the Guile package used to build grafting derivations."
449 ;; FIXME: This is used as a workaround for <https://bugs.gnu.org/28211> when 449 ;; Guile 2.2 would not work due to <https://bugs.gnu.org/28211> when
450 ;; grafting packages. 450 ;; grafting packages.
451 (let ((distro (resolve-interface '(gnu packages guile)))) 451 (let ((distro (resolve-interface '(gnu packages guile))))
452 (module-ref distro 'guile-2.0))) 452 (module-ref distro 'guile-2.0)))
@@ -1031,39 +1031,39 @@ information in exceptions."
1031 #:key (graft? (%graft?))) 1031 #:key (graft? (%graft?)))
1032 "Compile PACKAGE into a bag for SYSTEM, possibly cross-compiled to TARGET, 1032 "Compile PACKAGE into a bag for SYSTEM, possibly cross-compiled to TARGET,
1033and return it." 1033and return it."
1034 (cached (=> %bag-cache) 1034 (let ((package (or (and graft? (package-replacement package))
1035 package (list system target graft?) 1035 package)))
1036 ;; Bind %CURRENT-SYSTEM and %CURRENT-TARGET-SYSTEM so that thunked 1036 (cached (=> %bag-cache)
1037 ;; field values can refer to it. 1037 package (list system target)
1038 (parameterize ((%current-system system) 1038 ;; Bind %CURRENT-SYSTEM and %CURRENT-TARGET-SYSTEM so that thunked
1039 (%current-target-system target)) 1039 ;; field values can refer to it.
1040 (match (if graft? 1040 (parameterize ((%current-system system)
1041 (or (package-replacement package) package) 1041 (%current-target-system target))
1042 package) 1042 (match package
1043 ((and self 1043 ((and self
1044 ($ <package> name version source build-system 1044 ($ <package> name version source build-system
1045 args inputs propagated-inputs native-inputs 1045 args inputs propagated-inputs native-inputs
1046 outputs)) 1046 outputs))
1047 ;; Even though we prefer to use "@" to separate the package 1047 ;; Even though we prefer to use "@" to separate the package
1048 ;; name from the package version in various user-facing parts 1048 ;; name from the package version in various user-facing parts
1049 ;; of Guix, checkStoreName (in nix/libstore/store-api.cc) 1049 ;; of Guix, checkStoreName (in nix/libstore/store-api.cc)
1050 ;; prohibits the use of "@", so use "-" instead. 1050 ;; prohibits the use of "@", so use "-" instead.
1051 (or (make-bag build-system (string-append name "-" version) 1051 (or (make-bag build-system (string-append name "-" version)
1052 #:system system 1052 #:system system
1053 #:target target 1053 #:target target
1054 #:source source 1054 #:source source
1055 #:inputs (append (inputs self) 1055 #:inputs (append (inputs self)
1056 (propagated-inputs self)) 1056 (propagated-inputs self))
1057 #:outputs outputs 1057 #:outputs outputs
1058 #:native-inputs (native-inputs self) 1058 #:native-inputs (native-inputs self)
1059 #:arguments (args self)) 1059 #:arguments (args self))
1060 (raise (if target 1060 (raise (if target
1061 (condition 1061 (condition
1062 (&package-cross-build-system-error 1062 (&package-cross-build-system-error
1063 (package package))) 1063 (package package)))
1064 (condition 1064 (condition
1065 (&package-error 1065 (&package-error
1066 (package package))))))))))) 1066 (package package))))))))))))
1067 1067
1068(define %graft-cache 1068(define %graft-cache
1069 ;; 'eq?' cache mapping package objects to a graft corresponding to their 1069 ;; 'eq?' cache mapping package objects to a graft corresponding to their
@@ -1271,7 +1271,7 @@ This is an internal procedure."
1271 (() 1271 (()
1272 drv) 1272 drv)
1273 (grafts 1273 (grafts
1274 (let ((guile (package-derivation store (guile-2.0) 1274 (let ((guile (package-derivation store (guile-for-grafts)
1275 system #:graft? #f))) 1275 system #:graft? #f)))
1276 ;; TODO: As an optimization, we can simply graft the tip 1276 ;; TODO: As an optimization, we can simply graft the tip
1277 ;; of the derivation graph since 'graft-derivation' 1277 ;; of the derivation graph since 'graft-derivation'
@@ -1297,7 +1297,7 @@ system identifying string)."
1297 (graft-derivation store drv grafts 1297 (graft-derivation store drv grafts
1298 #:system system 1298 #:system system
1299 #:guile 1299 #:guile
1300 (package-derivation store (guile-2.0) 1300 (package-derivation store (guile-for-grafts)
1301 system #:graft? #f)))) 1301 system #:graft? #f))))
1302 drv)))) 1302 drv))))
1303 1303
diff --git a/guix/profiles.scm b/guix/profiles.scm
index 2a838d3a9a1..91508860814 100644
--- a/guix/profiles.scm
+++ b/guix/profiles.scm
@@ -280,29 +280,37 @@ file name."
280 (define lookup 280 (define lookup
281 (manifest-entry-lookup manifest)) 281 (manifest-entry-lookup manifest))
282 282
283 (with-monad %store-monad 283 (define candidates
284 (filter-map (lambda (entry)
285 (let ((other (lookup (manifest-entry-name entry)
286 (manifest-entry-output entry))))
287 (and other (list entry other))))
288 (manifest-transitive-entries manifest)))
289
290 (define lower-pair
291 (match-lambda
292 ((first second)
293 (mlet %store-monad ((first (lower-manifest-entry first system
294 #:target target))
295 (second (lower-manifest-entry second system
296 #:target target)))
297 (return (list first second))))))
298
299 ;; Start by lowering CANDIDATES "in parallel".
300 (mlet %store-monad ((lst (mapm/accumulate-builds lower-pair candidates)))
284 (foldm %store-monad 301 (foldm %store-monad
285 (lambda (entry result) 302 (lambda (entries result)
286 (match (lookup (manifest-entry-name entry) 303 (match entries
287 (manifest-entry-output entry)) 304 ((first second)
288 ((? manifest-entry? second) ;potential conflict 305 (if (string=? (manifest-entry-item first)
289 (mlet %store-monad ((first (lower-manifest-entry entry system 306 (manifest-entry-item second))
290 #:target 307 (return result)
291 target)) 308 (raise (condition
292 (second (lower-manifest-entry second system 309 (&profile-collision-error
293 #:target 310 (entry first)
294 target))) 311 (conflict second))))))))
295 (if (string=? (manifest-entry-item first)
296 (manifest-entry-item second))
297 (return result)
298 (raise (condition
299 (&profile-collision-error
300 (entry first)
301 (conflict second)))))))
302 (#f ;no conflict
303 (return result))))
304 #t 312 #t
305 (manifest-transitive-entries manifest)))) 313 lst)))
306 314
307(define* (package->manifest-entry package #:optional (output "out") 315(define* (package->manifest-entry package #:optional (output "out")
308 #:key (parent (delay #f)) 316 #:key (parent (delay #f))
@@ -1523,10 +1531,9 @@ are cross-built for TARGET."
1523 #:target target))) 1531 #:target target)))
1524 (extras (if (null? (manifest-entries manifest)) 1532 (extras (if (null? (manifest-entries manifest))
1525 (return '()) 1533 (return '())
1526 (mapm %store-monad 1534 (mapm/accumulate-builds (lambda (hook)
1527 (lambda (hook) 1535 (hook manifest))
1528 (hook manifest)) 1536 hooks))))
1529 hooks))))
1530 (define inputs 1537 (define inputs
1531 (append (filter-map (lambda (drv) 1538 (append (filter-map (lambda (drv)
1532 (and (derivation? drv) 1539 (and (derivation? drv)
diff --git a/guix/scripts/archive.scm b/guix/scripts/archive.scm
index 80f3b704d77..41a2a42c210 100644
--- a/guix/scripts/archive.scm
+++ b/guix/scripts/archive.scm
@@ -183,7 +183,7 @@ Export/import one or more packages from/to the store.\n"))
183 (alist-delete 'verbosity result))))) 183 (alist-delete 'verbosity result)))))
184 (option '(#\n "dry-run") #f #f 184 (option '(#\n "dry-run") #f #f
185 (lambda (opt name arg result) 185 (lambda (opt name arg result)
186 (alist-cons 'dry-run? #t (alist-cons 'graft? #f result)))) 186 (alist-cons 'dry-run? #t result)))
187 187
188 %standard-build-options)) 188 %standard-build-options))
189 189
diff --git a/guix/scripts/build.scm b/guix/scripts/build.scm
index af18d8b6f9c..79bd84a1a03 100644
--- a/guix/scripts/build.scm
+++ b/guix/scripts/build.scm
@@ -778,7 +778,7 @@ must be one of 'package', 'all', or 'transitive'~%")
778 (alist-cons 'manifest arg result))) 778 (alist-cons 'manifest arg result)))
779 (option '(#\n "dry-run") #f #f 779 (option '(#\n "dry-run") #f #f
780 (lambda (opt name arg result) 780 (lambda (opt name arg result)
781 (alist-cons 'dry-run? #t (alist-cons 'graft? #f result)))) 781 (alist-cons 'dry-run? #t result)))
782 (option '(#\r "root") #t #f 782 (option '(#\r "root") #t #f
783 (lambda (opt name arg result) 783 (lambda (opt name arg result)
784 (alist-cons 'gc-root arg result))) 784 (alist-cons 'gc-root arg result)))
@@ -920,8 +920,10 @@ build."
920 (with-unbound-variable-handling 920 (with-unbound-variable-handling
921 (parameterize ((%graft? graft?)) 921 (parameterize ((%graft? graft?))
922 (append-map (lambda (system) 922 (append-map (lambda (system)
923 (append-map (cut compute-derivation <> system) 923 (concatenate
924 things-to-build)) 924 (map/accumulate-builds store
925 (cut compute-derivation <> system)
926 things-to-build)))
925 systems)))) 927 systems))))
926 928
927(define (show-build-log store file urls) 929(define (show-build-log store file urls)
diff --git a/guix/scripts/copy.scm b/guix/scripts/copy.scm
index 2fa31ecf45e..f6f64d0a118 100644
--- a/guix/scripts/copy.scm
+++ b/guix/scripts/copy.scm
@@ -135,7 +135,7 @@ Copy ITEMS to or from the specified host over SSH.\n"))
135 (alist-delete 'verbosity result))))) 135 (alist-delete 'verbosity result)))))
136 (option '(#\n "dry-run") #f #f 136 (option '(#\n "dry-run") #f #f
137 (lambda (opt name arg result) 137 (lambda (opt name arg result)
138 (alist-cons 'dry-run? #t (alist-cons 'graft? #f result)))) 138 (alist-cons 'dry-run? #t result)))
139 139
140 (option '(#\h "help") #f #f 140 (option '(#\h "help") #f #f
141 (lambda args 141 (lambda args
diff --git a/guix/scripts/deploy.scm b/guix/scripts/deploy.scm
index f70d41f35c8..4466a0c6324 100644
--- a/guix/scripts/deploy.scm
+++ b/guix/scripts/deploy.scm
@@ -30,6 +30,7 @@
30 #:use-module (guix status) 30 #:use-module (guix status)
31 #:use-module (ice-9 format) 31 #:use-module (ice-9 format)
32 #:use-module (srfi srfi-1) 32 #:use-module (srfi srfi-1)
33 #:use-module (srfi srfi-26)
33 #:use-module (srfi srfi-34) 34 #:use-module (srfi srfi-34)
34 #:use-module (srfi srfi-35) 35 #:use-module (srfi srfi-35)
35 #:use-module (srfi srfi-37) 36 #:use-module (srfi srfi-37)
@@ -102,7 +103,7 @@ Perform the deployment specified by FILE.\n"))
102 "Show the list of machines to deploy, MACHINES." 103 "Show the list of machines to deploy, MACHINES."
103 (let ((count (length machines))) 104 (let ((count (length machines)))
104 (format (current-error-port) 105 (format (current-error-port)
105 (N_ "The following ~*machine will be deployed:~%" 106 (N_ "The following ~d machine will be deployed:~%"
106 "The following ~d machines will be deployed:~%" 107 "The following ~d machines will be deployed:~%"
107 count) 108 count)
108 count) 109 count)
@@ -114,6 +115,27 @@ Perform the deployment specified by FILE.\n"))
114 (current-error-port)) 115 (current-error-port))
115 (display "\n\n" (current-error-port)))) 116 (display "\n\n" (current-error-port))))
116 117
118(define (deploy-machine* store machine)
119 "Deploy MACHINE, taking care of error handling."
120 (info (G_ "deploying to ~a...~%")
121 (machine-display-name machine))
122
123 (guard (c ((message-condition? c)
124 (report-error (G_ "failed to deploy ~a: ~a~%")
125 (machine-display-name machine)
126 (condition-message c)))
127 ((deploy-error? c)
128 (when (deploy-error-should-roll-back c)
129 (info (G_ "rolling back ~a...~%")
130 (machine-display-name machine))
131 (run-with-store store (roll-back-machine machine)))
132 (apply throw (deploy-error-captured-args c))))
133 (run-with-store store (deploy-machine machine))
134
135 (info (G_ "successfully deployed ~a~%")
136 (machine-display-name machine))))
137
138
117(define (guix-deploy . args) 139(define (guix-deploy . args)
118 (define (handle-argument arg result) 140 (define (handle-argument arg result)
119 (alist-cons 'file arg result)) 141 (alist-cons 'file arg result))
@@ -129,21 +151,7 @@ Perform the deployment specified by FILE.\n"))
129 (set-build-options-from-command-line store opts) 151 (set-build-options-from-command-line store opts)
130 (with-build-handler (build-notifier #:use-substitutes? 152 (with-build-handler (build-notifier #:use-substitutes?
131 (assoc-ref opts 'substitutes?)) 153 (assoc-ref opts 'substitutes?))
132 (for-each (lambda (machine) 154 (parameterize ((%graft? (assq-ref opts 'graft?)))
133 (info (G_ "deploying to ~a...~%") 155 (map/accumulate-builds store
134 (machine-display-name machine)) 156 (cut deploy-machine* store <>)
135 (parameterize ((%graft? (assq-ref opts 'graft?))) 157 machines)))))))
136 (guard (c ((message-condition? c)
137 (report-error (G_ "failed to deploy ~a: ~a~%")
138 (machine-display-name machine)
139 (condition-message c)))
140 ((deploy-error? c)
141 (when (deploy-error-should-roll-back c)
142 (info (G_ "rolling back ~a...~%")
143 (machine-display-name machine))
144 (run-with-store store (roll-back-machine machine)))
145 (apply throw (deploy-error-captured-args c))))
146 (run-with-store store (deploy-machine machine))
147 (info (G_ "successfully deployed ~a~%")
148 (machine-display-name machine)))))
149 machines))))))
diff --git a/guix/scripts/environment.scm b/guix/scripts/environment.scm
index e6f45d3eba9..03f455ab7b8 100644
--- a/guix/scripts/environment.scm
+++ b/guix/scripts/environment.scm
@@ -254,7 +254,7 @@ use '--preserve' instead~%"))
254 (alist-cons 'ad-hoc? #t result))) 254 (alist-cons 'ad-hoc? #t result)))
255 (option '(#\n "dry-run") #f #f 255 (option '(#\n "dry-run") #f #f
256 (lambda (opt name arg result) 256 (lambda (opt name arg result)
257 (alist-cons 'dry-run? #t (alist-cons 'graft? #f result)))) 257 (alist-cons 'dry-run? #t result)))
258 (option '(#\s "system") #t #f 258 (option '(#\s "system") #t #f
259 (lambda (opt name arg result) 259 (lambda (opt name arg result)
260 (alist-cons 'system arg 260 (alist-cons 'system arg
diff --git a/guix/scripts/pack.scm b/guix/scripts/pack.scm
index 9d981c05d68..a4b38735a79 100644
--- a/guix/scripts/pack.scm
+++ b/guix/scripts/pack.scm
@@ -823,7 +823,7 @@ last resort for relocation."
823 823
824 (option '(#\n "dry-run") #f #f 824 (option '(#\n "dry-run") #f #f
825 (lambda (opt name arg result) 825 (lambda (opt name arg result)
826 (alist-cons 'dry-run? #t (alist-cons 'graft? #f result)))) 826 (alist-cons 'dry-run? #t result)))
827 (option '(#\d "derivation") #f #f 827 (option '(#\d "derivation") #f #f
828 (lambda (opt name arg result) 828 (lambda (opt name arg result)
829 (alist-cons 'derivation-only? #t result))) 829 (alist-cons 'derivation-only? #t result)))
diff --git a/guix/scripts/package.scm b/guix/scripts/package.scm
index 8af0a7a27e6..304084796a2 100644
--- a/guix/scripts/package.scm
+++ b/guix/scripts/package.scm
@@ -487,8 +487,7 @@ kind of search path~%")
487 #f))) 487 #f)))
488 (option '(#\n "dry-run") #f #f 488 (option '(#\n "dry-run") #f #f
489 (lambda (opt name arg result arg-handler) 489 (lambda (opt name arg result arg-handler)
490 (values (alist-cons 'dry-run? #t 490 (values (alist-cons 'dry-run? #t result)
491 (alist-cons 'graft? #f result))
492 #f))) 491 #f)))
493 (option '(#\v "verbosity") #t #f 492 (option '(#\v "verbosity") #t #f
494 (lambda (opt name arg result arg-handler) 493 (lambda (opt name arg result arg-handler)
diff --git a/guix/scripts/pull.scm b/guix/scripts/pull.scm
index dbd02431fe2..dfe7ee7ad51 100644
--- a/guix/scripts/pull.scm
+++ b/guix/scripts/pull.scm
@@ -168,7 +168,7 @@ Download and deploy the latest version of Guix.\n"))
168 (alist-delete 'system result eq?)))) 168 (alist-delete 'system result eq?))))
169 (option '(#\n "dry-run") #f #f 169 (option '(#\n "dry-run") #f #f
170 (lambda (opt name arg result) 170 (lambda (opt name arg result)
171 (alist-cons 'dry-run? #t (alist-cons 'graft? #f result)))) 171 (alist-cons 'dry-run? #t result)))
172 (option '(#\v "verbosity") #t #f 172 (option '(#\v "verbosity") #t #f
173 (lambda (opt name arg result) 173 (lambda (opt name arg result)
174 (let ((level (string->number* arg))) 174 (let ((level (string->number* arg)))
diff --git a/guix/scripts/system.scm b/guix/scripts/system.scm
index 61a3c95dbd8..a178761203c 100644
--- a/guix/scripts/system.scm
+++ b/guix/scripts/system.scm
@@ -1041,7 +1041,7 @@ Some ACTIONS support additional ARGS.\n"))
1041 1041
1042 (option '(#\n "dry-run") #f #f 1042 (option '(#\n "dry-run") #f #f
1043 (lambda (opt name arg result) 1043 (lambda (opt name arg result)
1044 (alist-cons 'dry-run? #t (alist-cons 'graft? #f result)))) 1044 (alist-cons 'dry-run? #t result)))
1045 (option '(#\v "verbosity") #t #f 1045 (option '(#\v "verbosity") #t #f
1046 (lambda (opt name arg result) 1046 (lambda (opt name arg result)
1047 (let ((level (string->number* arg))) 1047 (let ((level (string->number* arg)))
diff --git a/guix/store.scm b/guix/store.scm
index 5dea264811e..12f66d0e713 100644
--- a/guix/store.scm
+++ b/guix/store.scm
@@ -106,6 +106,8 @@
106 file-mapping->tree 106 file-mapping->tree
107 binary-file 107 binary-file
108 with-build-handler 108 with-build-handler
109 map/accumulate-builds
110 mapm/accumulate-builds
109 build-things 111 build-things
110 build 112 build
111 query-failed-paths 113 query-failed-paths
@@ -134,6 +136,7 @@
134 136
135 built-in-builders 137 built-in-builders
136 references 138 references
139 references/cached
137 references/substitutes 140 references/substitutes
138 references* 141 references*
139 query-path-info* 142 query-path-info*
@@ -1303,6 +1306,48 @@ deals with \"dynamic dependencies\" such as grafts---derivations that depend
1303on the build output of a previous derivation." 1306on the build output of a previous derivation."
1304 (call-with-build-handler handler (lambda () exp ...))) 1307 (call-with-build-handler handler (lambda () exp ...)))
1305 1308
1309;; Unresolved dynamic dependency.
1310(define-record-type <unresolved>
1311 (unresolved things continuation)
1312 unresolved?
1313 (things unresolved-things)
1314 (continuation unresolved-continuation))
1315
1316(define (build-accumulator continue store things mode)
1317 "This build handler accumulates THINGS and returns an <unresolved> object."
1318 (if (= mode (build-mode normal))
1319 (unresolved things continue)
1320 (continue #t)))
1321
1322(define (map/accumulate-builds store proc lst)
1323 "Apply PROC over each element of LST, accumulating 'build-things' calls and
1324coalescing them into a single call."
1325 (define result
1326 (map (lambda (obj)
1327 (with-build-handler build-accumulator
1328 (proc obj)))
1329 lst))
1330
1331 (match (append-map (lambda (obj)
1332 (if (unresolved? obj)
1333 (unresolved-things obj)
1334 '()))
1335 result)
1336 (()
1337 result)
1338 (to-build
1339 ;; We've accumulated things TO-BUILD. Actually build them and resume the
1340 ;; corresponding continuations.
1341 (build-things store (delete-duplicates to-build))
1342 (map/accumulate-builds store
1343 (lambda (obj)
1344 (if (unresolved? obj)
1345 ;; Pass #f because 'build-things' is now
1346 ;; unnecessary.
1347 ((unresolved-continuation obj) #f)
1348 obj))
1349 result))))
1350
1306(define build-things 1351(define build-things
1307 (let ((build (operation (build-things (string-list things) 1352 (let ((build (operation (build-things (string-list things)
1308 (integer mode)) 1353 (integer mode))
@@ -1389,6 +1434,13 @@ error if there is no such root."
1389 ;; would use a cache associated with the daemon connection instead (XXX). 1434 ;; would use a cache associated with the daemon connection instead (XXX).
1390 (make-hash-table 100)) 1435 (make-hash-table 100))
1391 1436
1437(define (references/cached store item)
1438 "Like 'references', but cache results."
1439 (or (hash-ref %reference-cache item)
1440 (let ((references (references store item)))
1441 (hash-set! %reference-cache item references)
1442 references)))
1443
1392(define (references/substitutes store items) 1444(define (references/substitutes store items)
1393 "Return the list of list of references of ITEMS; the result has the same 1445 "Return the list of list of references of ITEMS; the result has the same
1394length as ITEMS. Query substitute information for any item missing from the 1446length as ITEMS. Query substitute information for any item missing from the
@@ -1829,6 +1881,18 @@ taking the store as its first argument."
1829 (lambda (store . args) 1881 (lambda (store . args)
1830 (run-with-store store (apply proc args))))) 1882 (run-with-store store (apply proc args)))))
1831 1883
1884(define (mapm/accumulate-builds mproc lst)
1885 "Like 'mapm' in %STORE-MONAD, but accumulate 'build-things' calls and
1886coalesce them into a single call."
1887 (lambda (store)
1888 (values (map/accumulate-builds store
1889 (lambda (obj)
1890 (run-with-store store
1891 (mproc obj)))
1892 lst)
1893 store)))
1894
1895
1832;; 1896;;
1833;; Store monad operators. 1897;; Store monad operators.
1834;; 1898;;
diff --git a/tests/store.scm b/tests/store.scm
index b61a981b28e..0458a347465 100644
--- a/tests/store.scm
+++ b/tests/store.scm
@@ -412,6 +412,42 @@
412 (build-derivations %store (list d2)) 412 (build-derivations %store (list d2))
413 'fail))) 413 'fail)))
414 414
415(test-assert "map/accumulate-builds"
416 (let* ((b (add-text-to-store %store "build" "echo $foo > $out" '()))
417 (s (add-to-store %store "bash" #t "sha256"
418 (search-bootstrap-binary "bash"
419 (%current-system))))
420 (d1 (derivation %store "the-thing"
421 s `("-e" ,b)
422 #:env-vars `(("foo" . ,(random-text)))
423 #:sources (list b s)))
424 (d2 (derivation %store "the-thing"
425 s `("-e" ,b)
426 #:env-vars `(("foo" . ,(random-text))
427 ("bar" . "baz"))
428 #:sources (list b s))))
429 (with-build-handler (lambda (continue store things mode)
430 (equal? (map derivation-file-name (list d1 d2))
431 things))
432 (map/accumulate-builds %store
433 (lambda (drv)
434 (build-derivations %store (list drv))
435 (add-to-store %store "content-addressed"
436 #t "sha256"
437 (derivation->output-path drv)))
438 (list d1 d2)))))
439
440(test-assert "mapm/accumulate-builds"
441 (let* ((d1 (run-with-store %store
442 (gexp->derivation "foo" #~(mkdir #$output))))
443 (d2 (run-with-store %store
444 (gexp->derivation "bar" #~(mkdir #$output)))))
445 (with-build-handler (lambda (continue store things mode)
446 (equal? (map derivation-file-name (pk 'zz (list d1 d2)))
447 (pk 'XX things)))
448 (run-with-store %store
449 (mapm/accumulate-builds built-derivations `((,d1) (,d2)))))))
450
415(test-assert "topologically-sorted, one item" 451(test-assert "topologically-sorted, one item"
416 (let* ((a (add-text-to-store %store "a" "a")) 452 (let* ((a (add-text-to-store %store "a" "a"))
417 (b (add-text-to-store %store "b" "b" (list a))) 453 (b (add-text-to-store %store "b" "b" (list a)))