aboutsummaryrefslogtreecommitdiff
path: root/tests/syscalls.scm
blob: 22ca2a05d44e2fba97d0b3a1195a3df55df92cbf (about) (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015 David Thompson <davet@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.

(define-module (test-syscalls)
  #:use-module (guix utils)
  #:use-module (guix build syscalls)
  #:use-module (gnu build linux-container)
  #:use-module (srfi srfi-1)
  #:use-module (srfi srfi-26)
  #:use-module (srfi srfi-64)
  #:use-module (system foreign)
  #:use-module ((ice-9 ftw) #:select (scandir))
  #:use-module (ice-9 match))

;; Test the (guix build syscalls) module, although there's not much that can
;; actually be tested without being root.

(define temp-file
  (string-append "t-utils-" (number->string (getpid))))


(test-begin "syscalls")

(test-equal "mount, ENOENT"
  ENOENT
  (catch 'system-error
    (lambda ()
      (mount "/dev/null" "/does-not-exist" "ext2")
      #f)
    (compose system-error-errno list)))

(test-assert "umount, ENOENT/EPERM"
  (catch 'system-error
    (lambda ()
      (umount "/does-not-exist")
      #f)
    (lambda args
      ;; Both return values have been encountered in the wild.
      (memv (system-error-errno args) (list EPERM ENOENT)))))

(test-assert "mount-points"
  ;; Reportedly "/" is not always listed as a mount point, so check a few
  ;; others (see <http://bugs.gnu.org/20261>.)
  (any (cute member <> (mount-points))
       '("/" "/proc" "/sys" "/dev")))

(test-assert "swapon, ENOENT/EPERM"
  (catch 'system-error
    (lambda ()
      (swapon "/does-not-exist")
      #f)
    (lambda args
      (memv (system-error-errno args) (list EPERM ENOENT)))))

(test-assert "swapoff, ENOENT/EINVAL/EPERM"
  (catch 'system-error
    (lambda ()
      (swapoff "/does-not-exist")
      #f)
    (lambda args
      (memv (system-error-errno args) (list EPERM EINVAL ENOENT)))))

(test-assert "mkdtemp!"
  (let* ((tmp (or (getenv "TMPDIR") "/tmp"))
         (dir (mkdtemp! (string-append tmp "/guix-test-XXXXXX"))))
    (and (file-exists? dir)
         (begin
           (rmdir dir)
           #t))))

(test-equal "statfs, ENOENT"
  ENOENT
  (catch 'system-error
    (lambda ()
      (statfs "/does-not-exist"))
    (compose system-error-errno list)))

(test-assert "statfs"
  (let ((fs (statfs "/")))
    (and (file-system? fs)
         (> (file-system-block-size fs) 0)
         (>= (file-system-blocks-available fs) 0)
         (>= (file-system-blocks-free fs)
             (file-system-blocks-available fs)))))

(define (user-namespace pid)
  (string-append "/proc/" (number->string pid) "/ns/user"))

(define perform-container-tests?
  (and (user-namespace-supported?)
       (unprivileged-user-namespace-supported?)))

(unless perform-container-tests?
  (test-skip 1))
(test-assert "clone"
  (match (clone (logior CLONE_NEWUSER SIGCHLD))
    (0 (primitive-exit 42))
    (pid
     ;; Check if user namespaces are different.
     (and (not (equal? (readlink (user-namespace pid))
                       (readlink (user-namespace (getpid)))))
          (match (waitpid pid)
            ((_ . status)
             (= 42 (status:exit-val status))))))))

(unless perform-container-tests?
  (test-skip 1))
(test-assert "setns"
  (match (clone (logior CLONE_NEWUSER SIGCHLD))
    (0 (primitive-exit 0))
    (clone-pid
     (match (pipe)
       ((in . out)
        (match (primitive-fork)
          (0
           (close in)
           ;; Join the user namespace.
           (call-with-input-file (user-namespace clone-pid)
             (lambda (port)
               (setns (port->fdes port) 0)))
           (write 'done out)
           (close out)
           (primitive-exit 0))
          (fork-pid
           (close out)
           ;; Wait for the child process to join the namespace.
           (read in)
           (let ((result (and (equal? (readlink (user-namespace clone-pid))
                                      (readlink (user-namespace fork-pid))))))
             ;; Clean up.
             (waitpid clone-pid)
             (waitpid fork-pid)
             result))))))))

;; XXX: Skip this test when running Linux > 4.7.5 to work around
;; <https://bugzilla.kernel.org/show_bug.cgi?id=183461>.
(when (or (not perform-container-tests?)
          (version>? (utsname:release (uname)) "4.7.5"))
  (test-skip 1))
(test-equal "pivot-root"
  #t
  (match (pipe)
    ((in . out)
     (match (clone (logior CLONE_NEWUSER CLONE_NEWNS SIGCHLD))
       (0
        (dynamic-wind
          (const #t)
          (lambda ()
            (close in)
            (call-with-temporary-directory
             (lambda (root)
               (let ((put-old (string-append root "/real-root")))
                 (mount "none" root "tmpfs")
                 (mkdir put-old)
                 (call-with-output-file (string-append root "/test")
                   (lambda (port)
                     (display "testing\n" port)))
                 (pivot-root root put-old)
                 ;; The test file should now be located inside the root directory.
                 (write (file-exists? "/test") out)
                 (close out)))))
          (lambda ()
            (primitive-exit 0))))
       (pid
        (close out)
        (let ((result (read in)))
          (close in)
          (and (zero? (match (waitpid pid)
                        ((_ . status)
                         (status:exit-val status))))
               (eq? #t result))))))))

(test-equal "scandir*, ENOENT"
  ENOENT
  (catch 'system-error
    (lambda ()
      (scandir* "/does/not/exist"))
    (lambda args
      (system-error-errno args))))

(test-equal "scandir*, ASCII file names"
  (scandir (dirname (search-path %load-path "guix/base32.scm"))
           (const #t) string<?)
  (match (scandir* (dirname (search-path %load-path "guix/base32.scm")))
    (((names . properties) ...)
     names)))

(test-equal "scandir*, UTF-8 file names"
  '("." ".." "α" "λ")
  (call-with-temporary-directory
   (lambda (directory)
     ;; Wrap 'creat' to make sure that we really pass a UTF-8-encoded file
     ;; name to the system call.
     (let ((creat (pointer->procedure int
                                      (dynamic-func "creat" (dynamic-link))
                                      (list '* int))))
       (creat (string->pointer (string-append directory "/α")
                               "UTF-8")
              #o644)
       (creat (string->pointer (string-append directory "/λ")
                               "UTF-8")
              #o644)
       (let ((locale (setlocale LC_ALL)))
         (dynamic-wind
           (lambda ()
             ;; Make sure that even in a C locale we get the right result.
             (setlocale LC_ALL "C"))
           (lambda ()
             (match (scandir* directory)
               (((names . properties) ...)
                names)))
           (lambda ()
             (setlocale LC_ALL locale))))))))

(test-assert "scandir*, properties"
  (let ((directory (dirname (search-path %load-path "guix/base32.scm"))))
    (every (lambda (entry name)
             (match entry
               ((name2 . properties)
                (and (string=? name2 name)
                     (let* ((full  (string-append directory "/" name))
                            (stat  (lstat full))
                            (inode (assoc-ref properties 'inode))
                            (type  (assoc-ref properties 'type)))
                       (and (= inode (stat:ino stat))
                            (or (eq? type 'unknown)
                                (eq? type (stat:type stat)))))))))
           (scandir* directory)
           (scandir directory (const #t) string<?))))

(false-if-exception (delete-file temp-file))
(test-equal "fcntl-flock wait"
  42                                              ; the child's exit status
  (let ((file (open-file temp-file "w0b")))
    ;; Acquire an exclusive lock.
    (fcntl-flock file 'write-lock)
    (match (primitive-fork)
      (0
       (dynamic-wind
         (const #t)
         (lambda ()
           ;; Reopen FILE read-only so we can have a read lock.
           (let ((file (open-file temp-file "r0b")))
             ;; Wait until we can acquire the lock.
             (fcntl-flock file 'read-lock)
             (primitive-exit (read file)))
           (primitive-exit 1))
         (lambda ()
           (primitive-exit 2))))
      (pid
       ;; Write garbage and wait.
       (display "hello, world!"  file)
       (force-output file)
       (sleep 1)

       ;; Write the real answer.
       (seek file 0 SEEK_SET)
       (truncate-file file 0)
       (write 42 file)
       (force-output file)

       ;; Unlock, which should let the child continue.
       (fcntl-flock file 'unlock)

       (match (waitpid pid)
         ((_  . status)
          (let ((result (status:exit-val status)))
            (close-port file)
            result)))))))

(test-equal "fcntl-flock non-blocking"
  EAGAIN                                          ; the child's exit status
  (match (pipe)
    ((input . output)
     (match (primitive-fork)
       (0
        (dynamic-wind
          (const #t)
          (lambda ()
            (close-port output)

            ;; Wait for the green light.
            (read-char input)

            ;; Open FILE read-only so we can have a read lock.
            (let ((file (open-file temp-file "w0")))
              (catch 'flock-error
                (lambda ()
                  ;; This attempt should throw EAGAIN.
                  (fcntl-flock file 'write-lock #:wait? #f))
                (lambda (key errno)
                  (primitive-exit (pk 'errno errno)))))
            (primitive-exit -1))
          (lambda ()
            (primitive-exit -2))))
       (pid
        (close-port input)
        (let ((file (open-file temp-file "w0")))
          ;; Acquire an exclusive lock.
          (fcntl-flock file 'write-lock)

          ;; Tell the child to continue.
          (write 'green-light output)
          (force-output output)

          (match (waitpid pid)
            ((_  . status)
             (let ((result (status:exit-val status)))
               (fcntl-flock file 'unlock)
               (close-port file)
               result)))))))))

(test-equal "set-thread-name"
  "Syscall Test"
  (let ((name (thread-name)))
    (set-thread-name "Syscall Test")
    (let ((new-name (thread-name)))
      (set-thread-name name)
      new-name)))

(test-assert "all-network-interface-names"
  (match (all-network-interface-names)
    (((? string? names) ..1)
     (member "lo" names))))

(test-assert "network-interface-names"
  (match (network-interface-names)
    (((? string? names) ..1)
     (lset<= string=? names (all-network-interface-names)))))

(test-assert "network-interface-flags"
  (let* ((sock  (socket AF_INET SOCK_STREAM 0))
         (flags (network-interface-flags sock "lo")))
    (close-port sock)
    (and (not (zero? (logand flags IFF_LOOPBACK)))
         (not (zero? (logand flags IFF_UP))))))

(test-equal "loopback-network-interface?"
  ENODEV
  (and (loopback-network-interface? "lo")
       (catch 'system-error
         (lambda ()
           (loopback-network-interface? "nonexistent")
           #f)
         (lambda args
           (system-error-errno args)))))

(test-equal "loopback-network-interface-running?"
  ENODEV
  (and (network-interface-running? "lo")
       (catch 'system-error
         (lambda ()
           (network-interface-running? "nonexistent")
           #f)
         (lambda args
           (system-error-errno args)))))

(test-skip (if (zero? (getuid)) 1 0))
(test-assert "set-network-interface-flags"
  (let ((sock (socket AF_INET SOCK_STREAM 0)))
    (catch 'system-error
      (lambda ()
        (set-network-interface-flags sock "lo" IFF_UP))
      (lambda args
        (close-port sock)
        ;; We get EPERM with Linux 3.18ish and EACCES with 2.6.32.
        (memv (system-error-errno args) (list EPERM EACCES))))))

(test-equal "network-interface-address lo"
  (make-socket-address AF_INET (inet-pton AF_INET "127.0.0.1") 0)
  (let* ((sock (socket AF_INET SOCK_STREAM 0))
         (addr (network-interface-address sock "lo")))
    (close-port sock)
    addr))

(test-skip (if (zero? (getuid)) 1 0))
(test-assert "set-network-interface-address"
  (let ((sock (socket AF_INET SOCK_STREAM 0)))
    (catch 'system-error
      (lambda ()
        (set-network-interface-address sock "nonexistent"
                                       (make-socket-address
                                        AF_INET
                                        (inet-pton AF_INET "127.12.14.15")
                                        0)))
      (lambda args
        (close-port sock)
        ;; We get EPERM with Linux 3.18ish and EACCES with 2.6.32.
        (memv (system-error-errno args) (list EPERM EACCES))))))

(test-equal "network-interface-netmask lo"
  (make-socket-address AF_INET (inet-pton AF_INET "255.0.0.0") 0)
  (let* ((sock (socket AF_INET SOCK_STREAM 0))
         (addr (network-interface-netmask sock "lo")))
    (close-port sock)
    addr))

(test-skip (if (zero? (getuid)) 1 0))
(test-assert "set-network-interface-netmask"
  (let ((sock (socket AF_INET SOCK_STREAM 0)))
    (catch 'system-error
      (lambda ()
        (set-network-interface-netmask sock "nonexistent"
                                       (make-socket-address
                                        AF_INET
                                        (inet-pton AF_INET "255.0.0.0")
                                        0)))
      (lambda args
        (close-port sock)
        (memv (system-error-errno args) (list EPERM EACCES))))))

(test-equal "network-interfaces returns one or more interfaces"
  '(#t #t #t)
  (match (network-interfaces)
    ((interfaces ..1)
     (list (every interface? interfaces)
           (every string? (map interface-name interfaces))
           (every (lambda (sockaddr)
                    ;; Sometimes interfaces have no associated address.
                    (or (vector? sockaddr)
                        (not sockaddr)))
                  (map interface-address interfaces))))))

(test-equal "network-interfaces returns \"lo\""
  (list #t (make-socket-address AF_INET (inet-pton AF_INET "127.0.0.1") 0))
  (match (filter (lambda (interface)
                   (string=? "lo" (interface-name interface)))
                 (network-interfaces))
    ((loopbacks ..1)
     (list (every (lambda (lo)
                    (not (zero? (logand IFF_LOOPBACK (interface-flags lo)))))
                  loopbacks)
           (match (find (lambda (lo)
                          (= AF_INET (sockaddr:fam (interface-address lo))))
                        loopbacks)
             (#f #f)
             (lo (interface-address lo)))))))

(test-skip (if (zero? (getuid)) 1 0))
(test-assert "add-network-route/gateway"
  (let ((sock    (socket AF_INET SOCK_STREAM 0))
        (gateway (make-socket-address AF_INET
                                      (inet-pton AF_INET "192.168.0.1")
                                      0)))
    (catch 'system-error
      (lambda ()
        (add-network-route/gateway sock gateway))
      (lambda args
        (close-port sock)
        (memv (system-error-errno args) (list EPERM EACCES))))))

(test-skip (if (zero? (getuid)) 1 0))
(test-assert "delete-network-route"
  (let ((sock        (socket AF_INET SOCK_STREAM 0))
        (destination (make-socket-address AF_INET INADDR_ANY 0)))
    (catch 'system-error
      (lambda ()
        (delete-network-route sock destination))
      (lambda args
        (close-port sock)
        (memv (system-error-errno args) (list EPERM EACCES))))))

(test-equal "tcgetattr ENOTTY"
  ENOTTY
  (catch 'system-error
    (lambda ()
      (call-with-input-file "/dev/null"
        (lambda (port)
          (tcgetattr (fileno port)))))
    (compose system-error-errno list)))

(test-skip (if (and (file-exists? "/proc/self/fd/0")
                    (string-prefix? "/dev/pts/" (readlink "/proc/self/fd/0")))
               0
               2))

(test-assert "tcgetattr"
  (let ((termios (tcgetattr 0)))
    (and (termios? termios)
         (> (termios-input-speed termios) 0)
         (> (termios-output-speed termios) 0))))

(test-assert "tcsetattr"
  (let ((first (tcgetattr 0)))
    (tcsetattr 0 (tcsetattr-action TCSANOW) first)
    (equal? first (tcgetattr 0))))

(test-assert "terminal-window-size ENOTTY"
  (call-with-input-file "/dev/null"
    (lambda (port)
      (catch 'system-error
        (lambda ()
          (terminal-window-size port))
        (lambda args
          ;; Accept EINVAL, which some old Linux versions might return.
          (memv (system-error-errno args)
                (list ENOTTY EINVAL)))))))

(test-assert "terminal-columns"
  (> (terminal-columns) 0))

(test-assert "terminal-columns non-file port"
  (> (terminal-columns (open-input-string "Join us now, share the software!"))
     0))

(test-assert "utmpx-entries"
  (match (utmpx-entries)
    (((? utmpx? entries) ...)
     (every (lambda (entry)
              (match (utmpx-user entry)
                ((? string?)
                 ;; Ensure we have a valid PID for those entries where it
                 ;; makes sense.
                 (or (not (memv (utmpx-login-type entry)
                                (list (login-type INIT_PROCESS)
                                      (login-type LOGIN_PROCESS)
                                      (login-type USER_PROCESS))))
                     (> (utmpx-pid entry) 0)))
                (#f                               ;might be DEAD_PROCESS
                 #t)))
            entries))))

(test-assert "read-utmpx, EOF"
  (eof-object? (read-utmpx (%make-void-port "r"))))

(unless (access? "/var/run/utmpx" O_RDONLY)
  (test-skip 1))
(test-assert "read-utmpx"
  (let ((result (call-with-input-file "/var/run/utmpx" read-utmpx)))
    (or (utmpx? result) (eof-object? result))))

(test-end)

(false-if-exception (delete-file temp-file))
--r--gnu/packages/version-control.scm10
-rw-r--r--gnu/packages/video.scm60
-rw-r--r--gnu/packages/vim.scm56
-rw-r--r--gnu/packages/virtualization.scm12
-rw-r--r--gnu/packages/vpn.scm18
-rw-r--r--gnu/packages/vulkan.scm8
-rw-r--r--gnu/packages/web.scm8
-rw-r--r--gnu/packages/wine.scm43
-rw-r--r--gnu/packages/wm.scm22
-rw-r--r--gnu/packages/xiph.scm5
-rw-r--r--gnu/packages/xorg.scm10
-rw-r--r--gnu/tests/reconfigure.scm32
-rw-r--r--guix/build-system/texlive.scm15
-rw-r--r--guix/build/ant-build-system.scm10
-rw-r--r--guix/build/cargo-build-system.scm48
-rw-r--r--guix/build/svn.scm9
-rw-r--r--guix/scripts/deploy.scm6
-rw-r--r--guix/scripts/system/reconfigure.scm27
-rw-r--r--guix/svn-download.scm59
108 files changed, 7408 insertions, 3428 deletions
diff --git a/doc/guix.texi b/doc/guix.texi
index 4034948b2f..42acc3c7f3 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -5854,8 +5854,11 @@ should be added to the package definition via the
In its @code{configure} phase, this build system will make any source inputs
specified in the @code{#:cargo-inputs} and @code{#:cargo-development-inputs}
-parameters available to cargo. The @code{install} phase installs any crate
-the binaries if they are defined by the crate.
+parameters available to cargo. The @code{update-cargo-lock} phase will,
+when there is a @code{Cargo.lock} file, update the @code{Cargo.lock} file
+with the inputs and their versions available at build time. The
+@code{install} phase installs any crate the binaries if they are defined by
+the crate.
@end defvr
@cindex Clojure (programming language)
@@ -25507,7 +25510,7 @@ evaluates to. As an example, @var{file} might contain a definition like this:
%base-services))))
(list (machine
- (system %system)
+ (operating-system %system)
(environment managed-host-environment-type)
(configuration (machine-ssh-configuration
(host-name "localhost")
@@ -25527,12 +25530,28 @@ complex deployment may involve, for example, starting virtual machines through
a Virtual Private Server (VPS) provider. In such a case, a different
@var{environment} type would be used.
+Do note that you first need to generate a key pair on the coordinator machine
+to allow the daemon to export signed archives of files from the store
+(@pxref{Invoking guix archive}).
+
+@example
+# guix archive --generate-key
+@end example
+
+@noindent
+Each target machine must authorize the key of the master machine so that it
+accepts store items it receives from the coordinator:
+
+@example
+# guix archive --authorize < coordinator-public-key.txt
+@end example
+
@deftp {Data Type} machine
This is the data type representing a single machine in a heterogeneous Guix
deployment.
@table @asis
-@item @code{system}
+@item @code{operating-system}
The object of the operating system configuration to deploy.
@item @code{environment}
diff --git a/gnu/local.mk b/gnu/local.mk
index 41f4e4eec2..c6962aebd1 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -238,6 +238,7 @@ GNU_SYSTEM_MODULES = \
%D%/packages/haskell-check.scm \
%D%/packages/haskell-crypto.scm \
%D%/packages/haskell-web.scm \
+ %D%/packages/haskell-xyz.scm \
%D%/packages/ham-radio.scm \
%D%/packages/hexedit.scm \
%D%/packages/hugs.scm \
@@ -771,6 +772,7 @@ dist_patch_DATA = \
%D%/packages/patches/elfutils-tests-ptrace.patch \
%D%/packages/patches/elixir-path-length.patch \
%D%/packages/patches/einstein-build.patch \
+ %D%/packages/patches/emacs-dired-toggle-sudo-emacs-26.patch \
%D%/packages/patches/emacs-exec-path.patch \
%D%/packages/patches/emacs-fix-scheme-indent-function.patch \
%D%/packages/patches/emacs-json-reformat-fix-tests.patch \
@@ -806,7 +808,6 @@ dist_patch_DATA = \
%D%/packages/patches/findutils-localstatedir.patch \
%D%/packages/patches/findutils-makedev.patch \
%D%/packages/patches/findutils-test-xargs.patch \
- %D%/packages/patches/flac-CVE-2017-6888.patch \
%D%/packages/patches/flann-cmake-3.11.patch \
%D%/packages/patches/flint-ldconfig.patch \
%D%/packages/patches/foomatic-filters-CVE-2015-8327.patch \
@@ -961,6 +962,7 @@ dist_patch_DATA = \
%D%/packages/patches/inkscape-poppler-0.76.patch \
%D%/packages/patches/intltool-perl-compatibility.patch \
%D%/packages/patches/irrlicht-use-system-libs.patch \
+ %D%/packages/patches/isc-dhcp-4.4.1-fixes-for-newer-bind.patch \
%D%/packages/patches/isl-0.11.1-aarch64-support.patch \
%D%/packages/patches/jacal-fix-texinfo.patch \
%D%/packages/patches/jamvm-arm.patch \
@@ -1026,7 +1028,8 @@ dist_patch_DATA = \
%D%/packages/patches/libotr-test-auth-fix.patch \
%D%/packages/patches/libmad-armv7-thumb-pt1.patch \
%D%/packages/patches/libmad-armv7-thumb-pt2.patch \
- %D%/packages/patches/libmad-frame-length.patch \
+ %D%/packages/patches/libmad-length-check.patch \
+ %D%/packages/patches/libmad-md_size.patch \
%D%/packages/patches/libmad-mips-newgcc.patch \
%D%/packages/patches/libmp4v2-c++11.patch \
%D%/packages/patches/libmygpo-qt-fix-qt-5.11.patch \
@@ -1047,7 +1050,6 @@ dist_patch_DATA = \
%D%/packages/patches/libutils-add-includes.patch \
%D%/packages/patches/libutils-remove-damaging-includes.patch \
%D%/packages/patches/libvdpau-va-gl-unbundle.patch \
- %D%/packages/patches/libvirt-remove-ATTRIBUTE_UNUSED.patch \
%D%/packages/patches/libvpx-CVE-2016-2818.patch \
%D%/packages/patches/libvpx-use-after-free-in-postproc.patch \
%D%/packages/patches/libxslt-generated-ids.patch \
@@ -1078,6 +1080,7 @@ dist_patch_DATA = \
%D%/packages/patches/lxsession-use-gapplication.patch \
%D%/packages/patches/make-glibc-compat.patch \
%D%/packages/patches/make-impure-dirs.patch \
+ %D%/packages/patches/mame-rapidjson-fix.patch \
%D%/packages/patches/mariadb-client-test-32bit.patch \
%D%/packages/patches/mars-install.patch \
%D%/packages/patches/mars-sfml-2.3.patch \
@@ -1124,6 +1127,7 @@ dist_patch_DATA = \
%D%/packages/patches/nfs-utils-missing-headers.patch \
%D%/packages/patches/ngircd-handle-zombies.patch \
%D%/packages/patches/nm-plugin-path.patch \
+ %D%/packages/patches/nss-freebl-stubs.patch \
%D%/packages/patches/nss-increase-test-timeout.patch \
%D%/packages/patches/nss-pkgconfig.patch \
%D%/packages/patches/ntfs-3g-CVE-2019-9755.patch \
@@ -1169,6 +1173,7 @@ dist_patch_DATA = \
%D%/packages/patches/patchelf-rework-for-arm.patch \
%D%/packages/patches/patchutils-test-perms.patch \
%D%/packages/patches/patch-hurd-path-max.patch \
+ %D%/packages/patches/pcre2-fix-jit_match-crash.patch \
%D%/packages/patches/perl-autosplit-default-time.patch \
%D%/packages/patches/perl-deterministic-ordering.patch \
%D%/packages/patches/perl-finance-quote-unuse-mozilla-ca.patch \
@@ -1291,8 +1296,6 @@ dist_patch_DATA = \
%D%/packages/patches/scheme48-tests.patch \
%D%/packages/patches/scotch-build-parallelism.patch \
%D%/packages/patches/scotch-integer-declarations.patch \
- %D%/packages/patches/scribus-poppler.patch \
- %D%/packages/patches/scribus-poppler-0.73.patch \
%D%/packages/patches/sdl-libx11-1.6.patch \
%D%/packages/patches/seq24-rename-mutex.patch \
%D%/packages/patches/sharutils-CVE-2018-1000097.patch \
@@ -1308,6 +1311,7 @@ dist_patch_DATA = \
%D%/packages/patches/soundconverter-remove-gconf-dependency.patch \
%D%/packages/patches/sssd-curl-compat.patch \
%D%/packages/patches/steghide-fixes.patch \
+ %D%/packages/patches/strace-ipc-tests.patch \
%D%/packages/patches/streamlink-update-test.patch \
%D%/packages/patches/stumpwm-fix-broken-read-one-line.patch \
%D%/packages/patches/superlu-dist-awpm-grid.patch \
diff --git a/gnu/machine.scm b/gnu/machine.scm
index 0b79402b0a..30ae97f6ec 100644
--- a/gnu/machine.scm
+++ b/gnu/machine.scm
@@ -34,7 +34,7 @@
machine?
this-machine
- machine-system
+ machine-operating-system
machine-environment
machine-configuration
machine-display-name
@@ -85,14 +85,14 @@
make-machine
machine?
this-machine
- (system machine-system) ; <operating-system>
- (environment machine-environment) ; symbol
- (configuration machine-configuration ; configuration object
- (default #f))) ; specific to environment
+ (operating-system machine-operating-system) ; <operating-system>
+ (environment machine-environment) ; symbol
+ (configuration machine-configuration ; configuration object
+ (default #f))) ; specific to environment
(define (machine-display-name machine)
"Return the host-name identifying MACHINE."
- (operating-system-host-name (machine-system machine)))
+ (operating-system-host-name (machine-operating-system machine)))
(define (machine-remote-eval machine exp)
"Evaluate EXP, a gexp, on MACHINE. Ensure that all the elements EXP refers to
diff --git a/gnu/machine/ssh.scm b/gnu/machine/ssh.scm
index 552eafa9de..ba3e33c922 100644
--- a/gnu/machine/ssh.scm
+++ b/gnu/machine/ssh.scm
@@ -20,6 +20,9 @@
#:use-module (gnu machine)
#:autoload (gnu packages gnupg) (guile-gcrypt)
#:use-module (gnu system)
+ #:use-module (gnu system file-systems)
+ #:use-module (gnu system uuid)
+ #:use-module (guix diagnostics)
#:use-module (guix gexp)
#:use-module (guix i18n)
#:use-module (guix modules)
@@ -29,6 +32,7 @@
#:use-module (guix scripts system reconfigure)
#:use-module (guix ssh)
#:use-module (guix store)
+ #:use-module (guix utils)
#:use-module (ice-9 match)
#:use-module (srfi srfi-19)
#:use-module (srfi srfi-26)
@@ -40,6 +44,7 @@
machine-ssh-configuration
machine-ssh-configuration-host-name
+ machine-ssh-configuration-build-locally?
machine-ssh-configuration-port
machine-ssh-configuration-user
machine-ssh-configuration-session))
@@ -62,15 +67,17 @@
make-machine-ssh-configuration
machine-ssh-configuration?
this-machine-ssh-configuration
- (host-name machine-ssh-configuration-host-name) ; string
- (port machine-ssh-configuration-port ; integer
- (default 22))
- (user machine-ssh-configuration-user ; string
- (default "root"))
- (identity machine-ssh-configuration-identity ; path to a private key
- (default #f))
- (session machine-ssh-configuration-session ; session
- (default #f)))
+ (host-name machine-ssh-configuration-host-name) ; string
+ (build-locally? machine-ssh-configuration-build-locally?
+ (default #t))
+ (port machine-ssh-configuration-port ; integer
+ (default 22))
+ (user machine-ssh-configuration-user ; string
+ (default "root"))
+ (identity machine-ssh-configuration-identity ; path to a private key
+ (default #f))
+ (session machine-ssh-configuration-session ; session
+ (default #f)))
(define (machine-ssh-session machine)
"Return the SSH session that was given in MACHINE's configuration, or create
@@ -96,7 +103,149 @@ one from the configuration's parameters if one was not provided."
"Internal implementation of 'machine-remote-eval' for MACHINE instances with
an environment type of 'managed-host."
(maybe-raise-unsupported-configuration-error machine)
- (remote-eval exp (machine-ssh-session machine)))
+ (remote-eval exp (machine-ssh-session machine)
+ #:build-locally?
+ (machine-ssh-configuration-build-locally?
+ (machine-configuration machine))))
+
+
+;;;
+;;; Safety checks.
+;;;
+
+(define (machine-check-file-system-availability machine)
+ "Raise a '&message' error condition if any of the file-systems specified in
+MACHINE's 'system' declaration do not exist on the machine."
+ (define file-systems
+ (filter (lambda (fs)
+ (and (file-system-mount? fs)
+ (not (member (file-system-type fs)
+ %pseudo-file-system-types))
+ (not (memq 'bind-mount (file-system-flags fs)))))
+ (operating-system-file-systems (machine-operating-system machine))))
+
+ (define (check-literal-file-system fs)
+ (define remote-exp
+ #~(catch 'system-error
+ (lambda ()
+ (stat #$(file-system-device fs))
+ #t)
+ (lambda args
+ (system-error-errno args))))
+
+ (mlet %store-monad ((errno (machine-remote-eval machine remote-exp)))
+ (when (number? errno)
+ (raise (condition
+ (&message
+ (message (format #f (G_ "device '~a' not found: ~a")
+ (file-system-device fs)
+ (strerror errno)))))))
+ (return #t)))
+
+ (define (check-labeled-file-system fs)
+ (define remote-exp
+ (with-imported-modules '((gnu build file-systems))
+ #~(begin
+ (use-modules (gnu build file-systems))
+ (find-partition-by-label #$(file-system-label->string
+ (file-system-device fs))))))
+
+ (mlet %store-monad ((result (machine-remote-eval machine remote-exp)))
+ (unless result
+ (raise (condition
+ (&message
+ (message (format #f (G_ "no file system with label '~a'")
+ (file-system-label->string
+ (file-system-device fs))))))))
+ (return #t)))
+
+ (define (check-uuid-file-system fs)
+ (define remote-exp
+ (with-imported-modules (source-module-closure
+ '((gnu build file-systems)
+ (gnu system uuid)))
+ #~(begin
+ (use-modules (gnu build file-systems)
+ (gnu system uuid))
+
+ (define uuid
+ (string->uuid #$(uuid->string (file-system-device fs))))
+
+ (find-partition-by-uuid uuid))))
+
+ (mlet %store-monad ((result (machine-remote-eval machine remote-exp)))
+ (unless result
+ (raise (condition
+ (&message
+ (message (format #f (G_ "no file system with UUID '~a'")
+ (uuid->string (file-system-device fs))))))))
+ (return #t)))
+
+ (mbegin %store-monad
+ (mapm %store-monad check-literal-file-system
+ (filter (lambda (fs)
+ (string? (file-system-device fs)))
+ file-systems))
+ (mapm %store-monad check-labeled-file-system
+ (filter (lambda (fs)
+ (file-system-label? (file-system-device fs)))
+ file-systems))
+ (mapm %store-monad check-uuid-file-system
+ (filter (lambda (fs)
+ (uuid? (file-system-device fs)))
+ file-systems))))
+
+(define (machine-check-initrd-modules machine)
+ "Raise a '&message' error condition if any of the modules needed by
+'needed-for-boot' file systems in MACHINE are not available in the initrd."
+ (define file-systems
+ (filter file-system-needed-for-boot?
+ (operating-system-file-systems (machine-operating-system machine))))
+
+ (define (missing-modules fs)
+ (define remote-exp
+ (let ((device (file-system-device fs)))
+ (with-imported-modules (source-module-closure
+ '((gnu build file-systems)
+ (gnu build linux-modules)
+ (gnu system uuid)))
+ #~(begin
+ (use-modules (gnu build file-systems)
+ (gnu build linux-modules)
+ (gnu system uuid))
+
+ (define dev
+ #$(cond ((string? device) device)
+ ((uuid? device) #~(find-partition-by-uuid
+ (string->uuid
+ #$(uuid->string device))))
+ ((file-system-label? device)
+ #~(find-partition-by-label
+ (file-system-label->string #$device)))))
+
+ (missing-modules dev '#$(operating-system-initrd-modules
+ (machine-operating-system machine)))))))
+ (mlet %store-monad ((missing (machine-remote-eval machine remote-exp)))
+ (return (list fs missing))))
+
+ (mlet %store-monad ((device (mapm %store-monad missing-modules file-systems)))
+ (for-each (match-lambda
+ ((fs missing)
+ (unless (null? missing)
+ (raise (condition
+ (&message
+ (message (format #f (G_ "~a missing modules ~{ ~a~}~%")
+ (file-system-device fs)
+ missing))))))))
+ device)
+ (return #t)))
+
+(define (check-deployment-sanity machine)
+ "Raise a '&message' error condition if it is clear that deploying MACHINE's
+'system' declaration would fail."
+ (mbegin %store-monad
+ (machine-check-file-system-availability machine)
+ (machine-check-initrd-modules machine)))
;;;
@@ -165,8 +314,9 @@ of MACHINE's system profile, ordered from most recent to oldest."
"Internal implementation of 'deploy-machine' for MACHINE instances with an
environment type of 'managed-host."
(maybe-raise-unsupported-configuration-error machine)
- (mlet %store-monad ((boot-parameters (machine-boot-parameters machine)))
- (let* ((os (machine-system machine))
+ (mlet %store-monad ((_ (check-deployment-sanity machine))
+ (boot-parameters (machine-boot-parameters machine)))
+ (let* ((os (machine-operating-system machine))
(eval (cut machine-remote-eval machine <>))
(menu-entries (map boot-parameters->menu-entry boot-parameters))
(bootloader-configuration (operating-system-bootloader os))
diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
index c3b1e04901..bd3c14033e 100644
--- a/gnu/packages/admin.scm
+++ b/gnu/packages/admin.scm
@@ -1,7 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013 Cyril Roelandt <tipecaml@gmail.com>
-;;; Copyright © 2014, 2015, 2016, 2018 Mark H Weaver <mhw@netris.org>
+;;; Copyright © 2014, 2015, 2016, 2018, 2019 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2014, 2015, 2016, 2017, 2018 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2015, 2016 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
;;; Copyright © 2015 Alex Sassmannshausen <alex.sassmannshausen@gmail.com>
@@ -684,9 +684,9 @@ connection alive.")
(define-public isc-dhcp
(let* ((bind-major-version "9")
(bind-minor-version "11")
- (bind-patch-version "4")
- (bind-release-type "-P") ; for patch release, use "-P"
- (bind-release-version "2") ; for patch release, e.g. "6"
+ (bind-patch-version "9")
+ (bind-release-type "") ; for patch release, use "-P"
+ (bind-release-version "") ; for patch release, e.g. "6"
(bind-version (string-append bind-major-version
"."
bind-minor-version
@@ -710,7 +710,18 @@ connection alive.")
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'replace-bundled-bind
- (lambda* (#:key inputs #:allow-other-keys)
+ (lambda* (#:key inputs native-inputs #:allow-other-keys)
+ ;; XXX TODO: Remove the following invocation of 'patch' when
+ ;; isc-dhcp is updated. It should be needed only for 4.4.1.
+ (let ((patch (string-append (assoc-ref (or native-inputs inputs)
+ "patch")
+ "/bin/patch"))
+ (the-patch (assoc-ref (or native-inputs inputs)
+ "fixes-for-newer-bind.patch")))
+ (format #t "applying '~a'...~%" the-patch)
+ (invoke patch "--force" "--no-backup-if-mismatch"
+ "-p1" "--input" the-patch))
+
(delete-file "bind/bind.tar.gz")
(copy-file (assoc-ref inputs "bind-source-tarball")
"bind/bind.tar.gz")
@@ -743,15 +754,18 @@ connection alive.")
;; shell is used.
(with-directory-excursion "bind"
(substitute* "Makefile"
- (("\\./configure")
+ (("\\./configure ")
(let ((sh (which "sh")))
(string-append "./configure CONFIG_SHELL="
- sh " SHELL=" sh))))
+ sh " SHELL=" sh " "))))
(let ((bind-directory (string-append "bind-" ,bind-version)))
(invoke "tar" "xf" "bind.tar.gz")
(for-each patch-shebang
(find-files bind-directory ".*"))
+ (substitute* (string-append bind-directory "/configure")
+ (("/usr/bin/file")
+ (which "file")))
(invoke "tar" "cf" "bind.tar.gz"
bind-directory
;; avoid non-determinism in the archive
@@ -787,7 +801,15 @@ connection alive.")
(list inetutils net-tools coreutils sed))))
#t))))))
- (native-inputs `(("perl" ,perl)))
+ (native-inputs
+ `(("perl" ,perl)
+ ("file" ,file)
+
+ ;; XXX TODO: Remove the following patch, and also the 'patch'
+ ;; program, when isc-dhcp is updated.
+ ("fixes-for-newer-bind.patch"
+ ,(search-patch "isc-dhcp-4.4.1-fixes-for-newer-bind.patch"))
+ ("patch" ,patch)))
(inputs `(("inetutils" ,inetutils)
("net-tools" ,net-tools)
@@ -803,7 +825,7 @@ connection alive.")
"/bind-" bind-version ".tar.gz"))
(sha256
(base32
- "04fq17zksd2b3w6w6padps5n7b6s2lasxpksbhl4378h56vgfnm8"))))
+ "03n57as73ygw6g3lqsmq2idkykajpbskzgixixdvi5a76m4g0fwn"))))
;; When cross-compiling, we need the cross Coreutils and sed.
;; Otherwise just use those from %FINAL-INPUTS.
@@ -1181,7 +1203,7 @@ commands and their arguments.")
(define-public wpa-supplicant-minimal
(package
(name "wpa-supplicant-minimal")
- (version "2.8")
+ (version "2.9")
(source (origin
(method url-fetch)
(uri (string-append
@@ -1189,7 +1211,7 @@ commands and their arguments.")
version ".tar.gz"))
(sha256
(base32
- "15ixzm347n8w6gdvi3j3yks3i15qmp6by9ayvswm34d929m372d6"))
+ "05qzak1mssnxcgdrafifxh9w86a4ha69qabkg4bsigk499xyxggw"))
(modules '((guix build utils)))
(snippet
'(begin
@@ -2606,7 +2628,7 @@ buffers.")
`(#:tests? #f ; many of the tests try to load kernel modules
#:phases
(modify-phases %standard-phases
- (add-after 'unpack 'autogen
+ (replace 'bootstrap
(lambda _
;; Don't run configure in this phase.
(setenv "NOCONFIGURE" "1")
diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm
index 1e21562e91..fb9e78bf92 100644
--- a/gnu/packages/algebra.scm
+++ b/gnu/packages/algebra.scm
@@ -236,8 +236,7 @@ the real span of the lattice.")
(build-system gnu-build-system)
(native-inputs
`(("texlive" ,(texlive-union
- (list texlive-fonts-amsfonts
- texlive-latex-amsfonts)))))
+ (list texlive-amsfonts)))))
(inputs `(("gmp" ,gmp)
("libx11" ,libx11)
("perl" ,perl)
@@ -345,7 +344,7 @@ precision.")
(define-public giac
(package
(name "giac")
- (version "1.5.0-61")
+ (version "1.5.0-63")
(source (origin
(method url-fetch)
;; "~parisse/giac" is not used because the maintainer regularly
@@ -357,7 +356,7 @@ precision.")
"source/giac_" version ".tar.gz"))
(sha256
(base32
- "050vzpqq77fhky32sbisc0ysimgp60xjv39q7y45jkaabdkmclwh"))))
+ "1jp7awyp8j8w6fhn802z8ddbq1fxhkyk9xdf0mq0mm0chpkylwqk"))))
(build-system gnu-build-system)
(arguments
`(#:modules ((ice-9 ftw)
diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index 43c1bc6c8b..c3bcecf349 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -3692,7 +3692,7 @@ library.")
(define-public faudio
(package
(name "faudio")
- (version "19.07")
+ (version "19.08")
(source
(origin
(method git-fetch)
@@ -3701,7 +3701,7 @@ library.")
(commit version)))
(file-name (string-append name "-" version "-checkout"))
(sha256
- (base32 "1wf6skc5agaikc9qgwk8bx56sad31fafs53lqqn4jmx8i76pl0lw"))))
+ (base32 "1v13kfhyr46241vb6a4dcb4gw5f149525sprwa9cj4rv6wlcqgm5"))))
(arguments
'(#:tests? #f ; No tests.
#:configure-flags '("-DFFMPEG=ON")))
diff --git a/gnu/packages/bioconductor.scm b/gnu/packages/bioconductor.scm
index 1adf47b08f..74620a2cbe 100644
--- a/gnu/packages/bioconductor.scm
+++ b/gnu/packages/bioconductor.scm
@@ -38,7 +38,8 @@
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages statistics)
- #:use-module (gnu packages web))
+ #:use-module (gnu packages web)
+ #:use-module (srfi srfi-1))
;;; Annotations
@@ -1211,14 +1212,14 @@ determining dependencies between variables, code improvement suggestions.")
(define-public r-chippeakanno
(package
(name "r-chippeakanno")
- (version "3.18.1")
+ (version "3.18.2")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "ChIPpeakAnno" version))
(sha256
(base32
- "1mwi5s600c3jxy8f1azfrndc3g06qvhbmrp9wqac9nwjbfx1kfji"))))
+ "0wzwdxvvr7wknz5jnan0wsp81c1gv4d2qx0mrb1yybqf4z068779"))))
(properties `((upstream-name . "ChIPpeakAnno")))
(build-system r-build-system)
(propagated-inputs
@@ -1520,14 +1521,14 @@ experiments.")
(define-public r-genomicinteractions
(package
(name "r-genomicinteractions")
- (version "1.18.0")
+ (version "1.18.1")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "GenomicInteractions" version))
(sha256
(base32
- "0ipvm3c1cqd46n60lsrqzf6fx4b3lwia57jyfx9wcqqg205qj73b"))))
+ "0hq2n5yfr9h2ayn10dy9lz08gd2q0awrm5cy2kqdmz4d8ss4r94p"))))
(properties
`((upstream-name . "GenomicInteractions")))
(build-system r-build-system)
@@ -3528,14 +3529,14 @@ position-specific scores within R and Bioconductor.")
(define-public r-atacseqqc
(package
(name "r-atacseqqc")
- (version "1.8.1")
+ (version "1.8.5")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "ATACseqQC" version))
(sha256
(base32
- "0h5j3724hnd86w22vy3whqx6gkf0nf2dxd2clgzdvjzblbcd5s69"))))
+ "1i8f0vs0z4jbc2yvj1diay7jhcmb1a82zv96xllk771f25nvmmxp"))))
(properties `((upstream-name . "ATACseqQC")))
(build-system r-build-system)
(propagated-inputs
@@ -3620,14 +3621,14 @@ annotations and ontologies.")
(define-public r-abaenrichment
(package
(name "r-abaenrichment")
- (version "1.14.0")
+ (version "1.14.1")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "ABAEnrichment" version))
(sha256
(base32
- "0av1dysk7qa8c4a0pp7yq89k8c4y40d2gyvsb8f27slvv2i3aad2"))))
+ "1w322wsp6bd3gyfwzgdf088cvfmpq774knr57d0dj420ljf4xn48"))))
(properties `((upstream-name . "ABAEnrichment")))
(build-system r-build-system)
(propagated-inputs
@@ -4840,14 +4841,14 @@ annotations.")
(define-public r-rsubread
(package
(name "r-rsubread")
- (version "1.34.4")
+ (version "1.34.6")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "Rsubread" version))
(sha256
(base32
- "1230p8nsakifmpsqfiaj8rpm7npa8ab903mfjmayfa71n6yzvcbs"))))
+ "0nnfh4hnrs5kd72m8c50cidbsxjz12szw2vynpmg8q0wpd99q550"))))
(properties `((upstream-name . "Rsubread")))
(build-system r-build-system)
(inputs `(("zlib" ,zlib)))
@@ -5128,3 +5129,25 @@ data, to only emphasize the data that actually matters.")
accessibility data. It also extends the monocle package for use in chromatin
accessibility data.")
(license license:expat)))
+
+;; This is the latest commit on the "monocle3" branch.
+(define-public r-cicero-monocle3
+ (let ((commit "fa2fb6515857a8cfc88bc9af044f34de1bcd2b7b")
+ (revision "1"))
+ (package (inherit r-cicero)
+ (name "r-cicero-monocle3")
+ (version (git-version "1.3.2" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/cole-trapnell-lab/cicero-release.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "077yza93wdhi08n40md20jwk55k9lw1f3y0063qkk90cpz60wi0c"))))
+ (propagated-inputs
+ `(("r-monocle3" ,r-monocle3)
+ ,@(alist-delete "r-monocle"
+ (package-propagated-inputs r-cicero)))))))
diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index b1cf294177..898b8d200e 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -13,6 +13,7 @@
;;; Copyright © 2018 Gábor Boskovits <boskovits@gmail.com>
;;; Copyright © 2018 Mădălin Ionel Patrașcu <madalinionel.patrascu@mdc-berlin.de>
;;; Copyright © 2019 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; Copyright © 2019 Brian Leung <bkleung89@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -4195,8 +4196,15 @@ command, or queried for specific k-mers with @code{jellyfish query}.")
(modify-phases %standard-phases
(add-after 'unpack 'set-cc
(lambda _ (setenv "CC" "gcc") #t))
- ;; FIXME: This fails with "permission denied".
- (delete 'reset-gzip-timestamps))))
+
+ (add-before 'reset-gzip-timestamps 'make-files-writable
+ (lambda* (#:key outputs #:allow-other-keys)
+ ;; Make sure .gz files are writable so that the
+ ;; 'reset-gzip-timestamps' phase can do its work.
+ (let ((out (assoc-ref outputs "out")))
+ (for-each make-file-writable
+ (find-files out "\\.gz$"))
+ #t))))))
(native-inputs
`(("python-cython" ,python-cython)
("python-pytest" ,python-pytest)
@@ -7439,13 +7447,13 @@ names in their natural, rather than lexicographic, order.")
(define-public r-edger
(package
(name "r-edger")
- (version "3.26.5")
+ (version "3.26.6")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "edgeR" version))
(sha256
(base32
- "0iba4krz30dx5b0s89n5cfkwn64867s7vmvvfqms9lbcr4kj439m"))))
+ "17vadhamjv4x0l4qqq2p2fi6j2bkllz5zd8dq761vgd5ic23zizm"))))
(properties `((upstream-name . "edgeR")))
(build-system r-build-system)
(propagated-inputs
@@ -7506,13 +7514,13 @@ coding changes and predict coding outcomes.")
(define-public r-limma
(package
(name "r-limma")
- (version "3.40.2")
+ (version "3.40.6")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "limma" version))
(sha256
(base32
- "1d4ig2b7fa9mwja52isxrwmprfdjdk1mlcf2skhdp51l24z6wbk7"))))
+ "166z8cdh6w90rldqqaar7hyaskwiy4smawjfbn4sn58clv6q3mp8"))))
(build-system r-build-system)
(home-page "http://bioinf.wehi.edu.au/limma")
(synopsis "Package for linear models for microarray and RNA-seq data")
@@ -7639,13 +7647,13 @@ annotation data packages using SQLite data storage.")
(define-public r-biomart
(package
(name "r-biomart")
- (version "2.40.1")
+ (version "2.40.3")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "biomaRt" version))
(sha256
(base32
- "1abl0c4qbhfqf9ixdp74183phm7s8rszrr5ldczm59b8vyng8rhx"))))
+ "022m1r44s00c5k9bmv0lr22lcn662nhc91aazvv0yyysxjamyf60"))))
(properties
`((upstream-name . "biomaRt")))
(build-system r-build-system)
@@ -7672,13 +7680,13 @@ powerful online queries from gene annotation to database mining.")
(define-public r-biocparallel
(package
(name "r-biocparallel")
- (version "1.18.0")
+ (version "1.18.1")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "BiocParallel" version))
(sha256
(base32
- "0v8rhf3hbgb3v32h2pmsv1y6q2x4airmpp50fk7z6ardcn4aza7x"))))
+ "1j6wbls4qgvi5gj99c51r00jhxrzxk3x3258wg7dcjzbfqypvyw3"))))
(properties
`((upstream-name . "BiocParallel")))
(build-system r-build-system)
@@ -7800,13 +7808,13 @@ array-like objects like @code{DataFrame} objects (typically with Rle columns),
(define-public r-summarizedexperiment
(package
(name "r-summarizedexperiment")
- (version "1.14.0")
+ (version "1.14.1")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "SummarizedExperiment" version))
(sha256
(base32
- "1ypk63pdml89y81pr41i2zq0fimsaxsa5lgpg6xs5cwikyaq0pci"))))
+ "0bhwgzrdipr0qjzc4j0qspqprx3v1rvshmx4j6506dv43pqlgp3f"))))
(properties
`((upstream-name . "SummarizedExperiment")))
(build-system r-build-system)
@@ -7864,13 +7872,13 @@ alignments.")
(define-public r-rtracklayer
(package
(name "r-rtracklayer")
- (version "1.44.0")
+ (version "1.44.2")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "rtracklayer" version))
(sha256
(base32
- "161gcks9b12993g9k27gf7wfh8lgd8m8rr7x2slgfqqssk0yrmpd"))))
+ "03b4rfsbzjjf5kxcsjv7kq8hrsgcvz9rfzcn2v7fx3nr818pbb8s"))))
(build-system r-build-system)
(arguments
`(#:phases
@@ -7911,13 +7919,13 @@ as well as query and modify the browser state, such as the current viewport.")
(define-public r-genomicfeatures
(package
(name "r-genomicfeatures")
- (version "1.36.3")
+ (version "1.36.4")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "GenomicFeatures" version))
(sha256
(base32
- "0zkd57i5qjxsravv0gbyckc0wrnqzgxd61ibh3jmhmrccrr9ihn3"))))
+ "0mzqv8pyxx5nwchyx3radym9ws2f9hb50xc9abjsjs4w4pv91j3k"))))
(properties
`((upstream-name . "GenomicFeatures")))
(build-system r-build-system)
@@ -8335,13 +8343,13 @@ paired-end data.")
(define-public r-rcas
(package
(name "r-rcas")
- (version "1.10.0")
+ (version "1.10.1")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "RCAS" version))
(sha256
(base32
- "1h4vf5gzilqbdrd8m9l3zc2m4sca8cir8366a7njgd558k7ld5kl"))))
+ "06z5zmdi34jblw37z6ff8hb6lvvi0chwr37acwqfn8d27ax9lakz"))))
(properties `((upstream-name . "RCAS")))
(build-system r-build-system)
(propagated-inputs
@@ -9399,14 +9407,14 @@ of mass spectrometry based proteomics data.")
(define-public r-msnid
(package
(name "r-msnid")
- (version "1.18.0")
+ (version "1.18.1")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "MSnID" version))
(sha256
(base32
- "18mp8zacawhfapfwpq8czbswxix2ykvqhwjga54v0a99zg3k87h3"))))
+ "1n49l5mjdz7p4g2nwsbhm1jcj42sv6lsriq77n2imvacsvk0qfmb"))))
(properties `((upstream-name . "MSnID")))
(build-system r-build-system)
(propagated-inputs
@@ -10406,14 +10414,14 @@ provided.")
(define-public r-hdf5array
(package
(name "r-hdf5array")
- (version "1.12.1")
+ (version "1.12.2")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "HDF5Array" version))
(sha256
(base32
- "0n8zc1x582vwb0zfhrjmnqbnpqky9zbhjc2j836i0a4yisklwdcp"))))
+ "0afradisrr5gn0lf2kxjw55vdm3lm9mlgx53qlr9r40c1hrydpf5"))))
(properties `((upstream-name . "HDF5Array")))
(build-system r-build-system)
(inputs
@@ -14804,3 +14812,406 @@ trees by inserting random mutations. The tbsp package implements an
alternative method to detect significant, cell type specific sequence
mutations from scRNA-Seq data.")
(license license:expat))))
+
+(define-public tabixpp
+ (package
+ (name "tabixpp")
+ (version "1.0.0")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/ekg/tabixpp")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "08vx6nsipk971cyr8z53rnzwkvlld63kcn1fw0pwddynz91xfny8"))))
+ (build-system gnu-build-system)
+ (inputs
+ `(("htslib" ,htslib)
+ ("zlib" ,zlib)))
+ (arguments
+ `(#:tests? #f ; There are no tests to run.
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure) ; There is no configure phase.
+ ;; The build phase needs overriding the location of htslib.
+ (replace 'build
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let ((htslib-ref (assoc-ref inputs "htslib")))
+ (invoke "make"
+ (string-append "HTS_LIB=" htslib-ref "/lib/libhts.a")
+ "HTS_HEADERS=" ; No need to check for headers here.
+ (string-append "LIBPATH=-L. -L" htslib-ref "/include")))))
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((bin (string-append (assoc-ref outputs "out") "/bin")))
+ (install-file "tabix++" bin))
+ #t)))))
+ (home-page "https://github.com/ekg/tabixpp")
+ (synopsis "C++ wrapper around tabix project")
+ (description "This is a C++ wrapper around the Tabix project which abstracts
+some of the details of opening and jumping in tabix-indexed files.")
+ (license license:expat)))
+
+(define tabixpp-freebayes
+ ;; This version works with FreeBayes while the released
+ ;; version doesn't. The released creates a variable with the name \"vcf\"
+ ;; somewhere, which is also the name of a namespace in vcflib.
+ (let ((commit "bbc63a49acc52212199f92e9e3b8fba0a593e3f7"))
+ (package
+ (inherit tabixpp)
+ (name "tabixpp-freebayes")
+ (version (git-version "0.0.0" "1" commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/ekg/tabixpp/")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "017qsmsc2kyiyzqr9nl8cc6pfldxf16dbn8flx5i59mbqr9ydi7g")))))))
+
+(define-public smithwaterman
+ ;; TODO: Upgrading smithwaterman breaks FreeBayes.
+ (let ((commit "203218b47d45ac56ef234716f1bd4c741b289be1"))
+ (package
+ (name "smithwaterman")
+ (version (string-append "0-1." (string-take commit 7)))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/ekg/smithwaterman/")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0z9xsmsv452kgdfbbwydyc6nymg3fwyv8zswls8qjin3r4ia4415"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f ; There are no tests to run.
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure) ; There is no configure phase.
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((bin (string-append (assoc-ref outputs "out") "/bin")))
+ (install-file "smithwaterman" bin))
+ #t)))))
+ (home-page "https://github.com/ekg/smithwaterman")
+ (synopsis "Implementation of the Smith-Waterman algorithm")
+ (description "Implementation of the Smith-Waterman algorithm.")
+ ;; The licensing terms are unclear: https://github.com/ekg/smithwaterman/issues/9.
+ (license (list license:gpl2 license:expat)))))
+
+(define-public multichoose
+ (package
+ (name "multichoose")
+ (version "1.0.3")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/ekg/multichoose/")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0ci5fqvmpamwgxvmyd79ygj6n3bnbl3vc7b6h1sxz58186sm3pfs"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f ; Tests require node.
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure) ; There is no configure phase.
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((bin (string-append (assoc-ref outputs "out") "/bin")))
+ ;; TODO: There are Python modules for these programs too.
+ (install-file "multichoose" bin)
+ (install-file "multipermute" bin))
+ #t)))))
+ (home-page "https://github.com/ekg/multichoose")
+ (synopsis "Efficient loopless multiset combination generation algorithm")
+ (description "This library implements an efficient loopless multiset
+combination generation algorithm which is (approximately) described in
+\"Loopless algorithms for generating permutations, combinations, and other
+combinatorial configurations.\", G. Ehrlich - Journal of the ACM (JACM),
+1973. (Algorithm 7.)")
+ (license license:expat)))
+
+(define-public fsom
+ (let ((commit "a6ef318fbd347c53189384aef7f670c0e6ce89a3"))
+ (package
+ (name "fsom")
+ (version (git-version "0.0.0" "1" commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/ekg/fsom/")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0gw1lpvr812pywg9y546x0h1hhj261xwls41r6kqhddjlrcjc0pi"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f ; There are no tests to run.
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure) ; There is no configure phase.
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((bin (string-append (assoc-ref outputs "out") "/bin")))
+ (install-file "fsom" bin))
+ #t)))))
+ (home-page "https://github.com/ekg/fsom")
+ (synopsis "Manage SOM (Self-Organizing Maps) neural networks")
+ (description "A tiny C library for managing SOM (Self-Organizing Maps)
+neural networks.")
+ (license license:gpl3))))
+
+(define-public fastahack
+ (let ((commit "c68cebb4f2e5d5d2b70cf08fbdf1944e9ab2c2dd"))
+ (package
+ (name "fastahack")
+ (version (git-version "0.0.0" "1" commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/ekg/fastahack/")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0hfdv67l9g611i2ck4l92pd6ygmsp9g1ph4zx1ni7qkpsikf0l19"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f ; Unclear how to run tests: https://github.com/ekg/fastahack/issues/15
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure) ; There is no configure phase.
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((bin (string-append (assoc-ref outputs "out") "/bin")))
+ (install-file "fastahack" bin))
+ #t)))))
+ (home-page "https://github.com/ekg/fastahack")
+ (synopsis "Indexing and sequence extraction from FASTA files")
+ (description "Fastahack is a small application for indexing and
+extracting sequences and subsequences from FASTA files. The included library
+provides a FASTA reader and indexer that can be embedded into applications
+which would benefit from directly reading subsequences from FASTA files. The
+library automatically handles index file generation and use.")
+ (license (list license:expat license:gpl2)))))
+
+(define-public vcflib
+ (let ((commit "5ac091365fdc716cc47cc5410bb97ee5dc2a2c92")
+ (revision "1"))
+ (package
+ (name "vcflib")
+ (version (git-version "0.0.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/vcflib/vcflib/")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1gijvcz1lcdn5kvgzb671l6iby0379qk00nqmcrszgk67hfwx6kq"))))
+ (build-system gnu-build-system)
+ (inputs
+ `(("zlib" ,zlib)))
+ (native-inputs
+ `(("perl" ,perl)
+ ("python" ,python-2)
+ ;; Submodules.
+ ;; This package builds against the .o files so we need to extract the source.
+ ("tabixpp-src" ,(package-source tabixpp-freebayes))
+ ("smithwaterman-src" ,(package-source smithwaterman))
+ ("multichoose-src" ,(package-source multichoose))
+ ("fsom-src" ,(package-source fsom))
+ ("filevercmp-src" ,(package-source filevercmp))
+ ("fastahack-src" ,(package-source fastahack))
+ ("intervaltree-src"
+ ,(origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/ekg/intervaltree/")
+ (commit "dbb4c513d1ad3baac516fc1484c995daf9b42838")))
+ (file-name "intervaltree-src-checkout")
+ (sha256
+ (base32 "1fy5qbj4bg8d2bjysvaa9wfnqn2rj2sk5yra2h4l5pzvy53f23fj"))))))
+ (arguments
+ `(#:tests? #f ; no tests
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure)
+ (delete 'check)
+ (add-after 'unpack 'unpack-submodule-sources
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let ((unpack (lambda (source target)
+ (with-directory-excursion target
+ (if (file-is-directory? (assoc-ref inputs source))
+ (copy-recursively (assoc-ref inputs source) ".")
+ (invoke "tar" "xvf"
+ (assoc-ref inputs source)
+ "--strip-components=1"))))))
+ (and
+ (unpack "intervaltree-src" "intervaltree")
+ (unpack "fastahack-src" "fastahack")
+ (unpack "filevercmp-src" "filevercmp")
+ (unpack "fsom-src" "fsom")
+ (unpack "multichoose-src" "multichoose")
+ (unpack "smithwaterman-src" "smithwaterman")
+ (unpack "tabixpp-src" "tabixpp")))))
+ (replace 'build
+ (lambda* (#:key inputs make-flags #:allow-other-keys)
+ (with-directory-excursion "tabixpp"
+ (invoke "make"))
+ (invoke "make" "CC=gcc"
+ (string-append "CFLAGS=\"" "-Itabixpp " "\"")
+ "all")))
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((bin (string-append (assoc-ref outputs "out") "/bin"))
+ (lib (string-append (assoc-ref outputs "out") "/lib")))
+ (for-each (lambda (file)
+ (install-file file bin))
+ (find-files "bin" ".*"))
+ ;; The header files in src/ do not interface libvcflib,
+ ;; therefore they are left out.
+ (install-file "libvcflib.a" lib))
+ #t)))))
+ (home-page "https://github.com/vcflib/vcflib/")
+ (synopsis "Library for parsing and manipulating VCF files")
+ (description "Vcflib provides methods to manipulate and interpret
+sequence variation as it can be described by VCF. It is both an API for parsing
+and operating on records of genomic variation as it can be described by the VCF
+format, and a collection of command-line utilities for executing complex
+manipulations on VCF files.")
+ (license license:expat))))
+
+(define-public freebayes
+ (let ((commit "3ce827d8ebf89bb3bdc097ee0fe7f46f9f30d5fb")
+ (revision "1")
+ (version "1.0.2"))
+ (package
+ (name "freebayes")
+ (version (git-version version revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/ekg/freebayes.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1sbzwmcbn78ybymjnhwk7qc5r912azy5vqz2y7y81616yc3ba2a2"))))
+ (build-system gnu-build-system)
+ (inputs
+ `(("bamtools" ,bamtools)
+ ("htslib" ,htslib)
+ ("zlib" ,zlib)))
+ (native-inputs
+ `(("bc" ,bc) ; Needed for running tests.
+ ("samtools" ,samtools) ; Needed for running tests.
+ ("parallel" ,parallel) ; Needed for running tests.
+ ("perl" ,perl) ; Needed for running tests.
+ ("procps" ,procps) ; Needed for running tests.
+ ("python" ,python-2) ; Needed for running tests.
+ ("vcflib-src" ,(package-source vcflib))
+ ;; These are submodules for the vcflib version used in freebayes.
+ ;; This package builds against the .o files so we need to extract the source.
+ ("tabixpp-src" ,(package-source tabixpp-freebayes))
+ ("smithwaterman-src" ,(package-source smithwaterman))
+ ("multichoose-src" ,(package-source multichoose))
+ ("fsom-src" ,(package-source fsom))
+ ("filevercmp-src" ,(package-source filevercmp))
+ ("fastahack-src" ,(package-source fastahack))
+ ("intervaltree-src"
+ ,(origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/ekg/intervaltree/")
+ (commit "dbb4c513d1ad3baac516fc1484c995daf9b42838")))
+ (file-name "intervaltree-src-checkout")
+ (sha256
+ (base32 "1fy5qbj4bg8d2bjysvaa9wfnqn2rj2sk5yra2h4l5pzvy53f23fj"))))
+ ;; These submodules are needed to run the tests.
+ ("bash-tap-src" ,(package-source bash-tap))
+ ("test-simple-bash-src"
+ ,(origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/ingydotnet/test-simple-bash/")
+ (commit "124673ff204b01c8e96b7fc9f9b32ee35d898acc")))
+ (file-name "test-simple-bash-src-checkout")
+ (sha256
+ (base32 "043plp6z0x9yf7mdpky1fw7zcpwn1p47px95w9mh16603zqqqpga"))))))
+ (arguments
+ `(#:make-flags
+ (list "CC=gcc"
+ (string-append "BAMTOOLS_ROOT="
+ (assoc-ref %build-inputs "bamtools")))
+ #:test-target "test"
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure)
+ (add-after 'unpack 'fix-tests
+ (lambda _
+ (substitute* "test/t/01_call_variants.t"
+ (("grep -P \"\\(\\\\t500\\$\\|\\\\t11000\\$\\|\\\\t1000\\$\\)\"")
+ "grep -E ' (500|11000|1000)$'"))
+ #t))
+ (add-after 'unpack 'unpack-submodule-sources
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let ((unpack (lambda (source target)
+ (with-directory-excursion target
+ (if (file-is-directory? (assoc-ref inputs source))
+ (copy-recursively (assoc-ref inputs source) ".")
+ (invoke "tar" "xvf"
+ (assoc-ref inputs source)
+ "--strip-components=1"))))))
+ (and
+ (unpack "vcflib-src" "vcflib")
+ (unpack "fastahack-src" "vcflib/fastahack")
+ (unpack "filevercmp-src" "vcflib/filevercmp")
+ (unpack "fsom-src" "vcflib/fsom")
+ (unpack "intervaltree-src" "vcflib/intervaltree")
+ (unpack "multichoose-src" "vcflib/multichoose")
+ (unpack "smithwaterman-src" "vcflib/smithwaterman")
+ (unpack "tabixpp-src" "vcflib/tabixpp")
+ (unpack "test-simple-bash-src" "test/test-simple-bash")
+ (unpack "bash-tap-src" "test/bash-tap")))))
+ (add-after 'unpack-submodule-sources 'fix-makefiles
+ (lambda _
+ ;; We don't have the .git folder to get the version tag from.
+ (substitute* "vcflib/Makefile"
+ (("^GIT_VERSION.*")
+ (string-append "GIT_VERSION = v" ,version)))
+ (substitute* "src/Makefile"
+ (("-I\\$\\(BAMTOOLS_ROOT\\)/src")
+ "-I$(BAMTOOLS_ROOT)/include/bamtools"))
+ #t))
+ (add-before 'build 'build-tabixpp-and-vcflib
+ (lambda* (#:key inputs make-flags #:allow-other-keys)
+ (with-directory-excursion "vcflib"
+ (with-directory-excursion "tabixpp"
+ (apply invoke "make"
+ (string-append "HTS_LIB="
+ (assoc-ref inputs "htslib")
+ "/lib/libhts.a")
+ make-flags))
+ (apply invoke "make"
+ (string-append "CFLAGS=-Itabixpp")
+ "all"
+ make-flags))))
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((bin (string-append (assoc-ref outputs "out") "/bin")))
+ (install-file "bin/freebayes" bin)
+ (install-file "bin/bamleftalign" bin))
+ #t)))))
+ (home-page "https://github.com/ekg/freebayes")
+ (synopsis "Haplotype-based variant detector")
+ (description "FreeBayes is a Bayesian genetic variant detector designed to
+find small polymorphisms, specifically SNPs (single-nucleotide polymorphisms),
+indels (insertions and deletions), MNPs (multi-nucleotide polymorphisms), and
+complex events (composite insertion and substitution events) smaller than the
+length of a short-read sequencing alignment.")
+ (license license:expat))))
diff --git a/gnu/packages/bittorrent.scm b/gnu/packages/bittorrent.scm
index e622170815..b0893d9410 100644
--- a/gnu/packages/bittorrent.scm
+++ b/gnu/packages/bittorrent.scm
@@ -1,7 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 Taylan Ulrich Bayirli/Kammer <taylanbayirli@gmail.com>
;;; Copyright © 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org>
-;;; Copyright © 2016, 2017, 2018 Leo Famulari <leo@famulari.name>
+;;; Copyright © 2016, 2017, 2018, 2019 Leo Famulari <leo@famulari.name>
;;; Copyright © 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Tomáš Čech <sleep_walker@gnu.org>
;;; Copyright © 2016, 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
@@ -183,35 +183,38 @@ XML-RPC over SCGI.")
(license l:gpl2+)))
(define-public tremc
- (package
- (name "tremc")
- (version "0.9.1")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/tremc/tremc.git")
- (commit version)))
- (file-name (git-file-name name version))
- (sha256
- (base32 "1yhwvlcyv1s830p5a7q5x3mkb3mbvr5cn5nh7y62l5b6iyyynlvm"))))
- (build-system gnu-build-system)
- (arguments
- `(#:tests? #f ; no test suite
- #:make-flags
- (list (string-append "PREFIX=" (assoc-ref %outputs "out")))
- #:phases
- (modify-phases %standard-phases
- ;; The software is just a Python script that must be copied into place.
- (delete 'configure)
- (delete 'build))))
- (inputs
- `(("python" ,python)))
- (synopsis "Console client for the Transmission BitTorrent daemon")
- (description "Tremc is a console client, with a curses interface, for the
+ (let ((commit "4d50dab7376601daca13f7be6eabc0eaa057c1b0")
+ (revision "0"))
+ (package
+ (name "tremc")
+ (version (git-version "0.9.1" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/tremc/tremc.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0qpi65n8rv7l9mg8qyqx70z83inkl8v5r5nks65c99lhscdki0w7"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f ; no test suite
+ #:make-flags
+ (list (string-append "PREFIX=" (assoc-ref %outputs "out")))
+ #:phases
+ (modify-phases %standard-phases
+ ;; The software is just a Python script that must be copied into place.
+ (delete 'configure)
+ (delete 'build))))
+ (inputs
+ `(("python" ,python)))
+ (synopsis "Console client for the Transmission BitTorrent daemon")
+ (description "Tremc is a console client, with a curses interface, for the
Transmission BitTorrent daemon.")
- (home-page "https://github.com/tremc/tremc")
- (license l:gpl3+)))
+ (home-page "https://github.com/tremc/tremc")
+ (license l:gpl3+))))
(define-public transmission-remote-cli
(package
diff --git a/gnu/packages/certs.scm b/gnu/packages/certs.scm
index c41870332c..7e0071ecf9 100644
--- a/gnu/packages/certs.scm
+++ b/gnu/packages/certs.scm
@@ -76,7 +76,7 @@
(define-public nss-certs
(package
(name "nss-certs")
- (version "3.44.1")
+ (version "3.45")
(source (origin
(method url-fetch)
(uri (let ((version-with-underscores
@@ -87,7 +87,7 @@
"nss-" version ".tar.gz")))
(sha256
(base32
- "1y0jvva4s3j7cjz22kqw2lsml0an1295bgpc2raf7kc9r60cpr7w"))))
+ "12sfq9xvpwpc22qnjsg1if1lmchiy33byrh92wn91phz7li0abqi"))))
(build-system gnu-build-system)
(outputs '("out"))
(native-inputs
diff --git a/gnu/packages/chromium.scm b/gnu/packages/chromium.scm
index 3dccecba88..3b45c430ca 100644
--- a/gnu/packages/chromium.scm
+++ b/gnu/packages/chromium.scm
@@ -73,7 +73,8 @@
#:use-module (srfi srfi-1))
(define %preserved-third-party-files
- '("base/third_party/dmg_fp" ;X11-style
+ '("base/third_party/cityhash" ;Expat
+ "base/third_party/dmg_fp" ;X11-style
"base/third_party/dynamic_annotations" ;BSD-2
"base/third_party/icu" ;Unicode, X11-style
"base/third_party/superfasthash" ;BSD-3
@@ -85,7 +86,7 @@
"courgette/third_party/divsufsort" ;Expat
"net/third_party/mozilla_security_manager" ;MPL-1.1/GPL2+/LGPL2.1+
"net/third_party/nss" ;MPL-2.0
- "net/third_party/quic" ;BSD-3
+ "net/third_party/quiche" ;BSD-3
"net/third_party/uri_template" ;ASL2.0
"third_party/abseil-cpp" ;ASL2.0
"third_party/adobe/flash/flapper_version.h" ;no license, trivial
@@ -105,6 +106,10 @@
"third_party/blink" ;BSD-3, LGPL2+
"third_party/boringssl" ;OpenSSL/ISC (Google additions are ISC)
"third_party/boringssl/src/third_party/fiat" ;Expat
+ "third_party/boringssl/src/third_party/sike" ;Expat
+ ;; XXX: these files are generated by fp-$arch.pl in the above directory.
+ "third_party/boringssl/linux-aarch64/crypto/third_party/sike/asm/fp-armv8.S"
+ "third_party/boringssl/linux-x86_64/crypto/third_party/sike/asm/fp-x86_64.S"
"third_party/breakpad" ;BSD-3
"third_party/brotli" ;Expat
"third_party/cacheinvalidation" ;ASL2.0
@@ -164,6 +169,7 @@
"third_party/nasm" ;BSD-2
"third_party/node" ;Expat
"third_party/node/node_modules/polymer-bundler/lib/third_party/UglifyJS2" ;BSD-2
+ "third_party/openscreen" ;BSD-3
"third_party/ots" ;BSD-3
"third_party/pdfium" ;BSD-3
"third_party/pdfium/third_party/agg23" ;Expat
@@ -182,9 +188,10 @@
"third_party/s2cellid" ;ASL2.0
"third_party/sfntly" ;ASL2.0
"third_party/skia" ;BSD-3
+ "third_party/skia/include/third_party/skcms" ;BSD-3
"third_party/skia/third_party/gif" ;MPL1.1/GPL2+/LGPL2.1+
"third_party/skia/third_party/skcms" ;BSD-3
- "third_party/skia/third_party/vulkan" ;BSD-3
+ "third_party/skia/third_party/vulkanmemoryallocator" ;BSD-3, Expat
"third_party/smhasher" ;Expat, public domain
"third_party/speech-dispatcher" ;GPL2+
"third_party/spirv-headers" ;ASL2.0
@@ -231,9 +238,9 @@ from forcing GEXP-PROMISE."
#:system system
#:guile-for-build guile)))
-(define %chromium-version "75.0.3770.142")
-(define %ungoogled-revision "5d8abc38b43a62f379615a0dc972b29d9aebb4b4")
-(define %debian-revision "debian/75.0.3770.90-1")
+(define %chromium-version "76.0.3809.100")
+(define %ungoogled-revision "8eba5c0df1a318012e3deab39a9add252a0d56a3")
+(define %debian-revision "debian/76.0.3809.87-2")
(define package-revision "0")
(define %package-version (string-append %chromium-version "-"
package-revision "."
@@ -247,7 +254,7 @@ from forcing GEXP-PROMISE."
%chromium-version ".tar.xz"))
(sha256
(base32
- "1b550hc9sav0qdnh4hiin2bb3jmfyrb3dhbmnc0v8662rjknq3ji"))))
+ "0vfjfxsqf8jrmd7y08ln1lpbilwi150875zn2bawwdq87vd3mncc"))))
(define %ungoogled-origin
(origin
@@ -258,7 +265,7 @@ from forcing GEXP-PROMISE."
(string-take %ungoogled-revision 7)))
(sha256
(base32
- "1vk8jzzsn20ysn4nlz84mwwhfa9nnywzd1lrahlhcky9pf6xzpwa"))))
+ "08fd9whfc1qky44xqxbypr7jz1rg6cma017wj4b5c5b14grxz6k6"))))
(define %debian-origin
(origin
@@ -272,7 +279,29 @@ from forcing GEXP-PROMISE."
(string-take %debian-revision 7))))
(sha256
(base32
- "0sh6z2lx44zb31qrpa29vm0sw09dxi7i9h6fsq3ivfxjs7v98bbx"))))
+ "1fjhpzrxmgjr7i31li1vsfmp0qkbi0cpyc7p1zjwvf2x4da0v907"))))
+
+(define (gentoo-patch name hash revision)
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://gitweb.gentoo.org/repo/gentoo.git/plain"
+ "/www-client/chromium/files/" name "?id=" revision))
+ (file-name name)
+ (sha256 (base32 hash))))
+
+(define-syntax-rule (gentoo-patches (name hash) ...)
+ (list (gentoo-patch name hash "9fd80e7d75aa63843ec33c9d44fee32596ae8f25")
+ ...))
+
+(define %auxiliary-patches
+ ;; XXX: Debians "gcc/wrong-namespace.patch" and "fixes/inspector.patch" does
+ ;; not work for us, so we take these upstream fixes via Gentoo instead.
+ (gentoo-patches
+ ("chromium-76-quiche.patch" "1cs0y16jn7r1nxh0j36vqcsdvigl902kdcqfmyivnxgblrx66l2i")
+ ("chromium-76-gcc-blink-namespace1.patch"
+ "0k7nrn0dhvqxj4sg2gndzxih0l1f77h6pv7jhcdz7h69sm4xci2z")
+ ("chromium-76-gcc-blink-namespace2.patch"
+ "014y2d8ii9sr340sjbv1fhsjd5s3dl0vbmq5wzlkdjsp91dcn9ch")))
;; This is a "computed" origin that does the following:
;; *) Runs the Ungoogled scripts on a pristine Chromium tarball.
@@ -314,6 +343,12 @@ from forcing GEXP-PROMISE."
(force-output)
(invoke "tar" "xf" #+chromium-source)
+ ;; Ungoogled-Chromium contains a forked subset of the Debian
+ ;; patches. Disable those, as we apply newer versions later.
+ (substitute* "patches/series"
+ ((".*/debian_buster/.*")
+ ""))
+
(format #t "Ungooglifying...~%")
(force-output)
(invoke "python3" "utils/prune_binaries.py" chromium-dir
@@ -330,16 +365,7 @@ from forcing GEXP-PROMISE."
(force-output)
(let* ((debian #+debian-source)
(patches (string-append debian "/debian/patches"))
- (series (string-append patches "/series"))
- (grep-q (lambda (query file)
- (with-input-from-file file
- (lambda ()
- (let loop ((line (read-line))
- (match #f))
- (if (or match (eof-object? line))
- (if match #t #f)
- (loop (read-line)
- (string-contains line query)))))))))
+ (series (string-append patches "/series")))
(with-input-from-file series
(lambda ()
(let loop ((line (read-line)))
@@ -347,19 +373,35 @@ from forcing GEXP-PROMISE."
(when (and (> (string-length line) 1)
;; Skip the Debian-specific ones.
(not (string-prefix? "debianization/" line))
+ (not (string-prefix? "buster/" line))
;; And those that conflict with Ungoogled.
(not (any (cute string-suffix? <> line)
'("widevine-buildflag.patch"
"signin.patch"
- "third-party-cookies.patch")))
- ;; Ungoogled includes a subset of the Debian
- ;; patches. Exclude those already present.
- (not (grep-q line "../patches/series")))
+ "third-party-cookies.patch"
+
+ ;; XXX: 'fixes/inspector.patch'
+ ;; makes v8 reuse the top-level
+ ;; third_party/inspector_protocol
+ ;; instead of its own bundled copy,
+ ;; but that does not work here for
+ ;; some reason. Ignore that patch
+ ;; and those that depend on it.
+ "wrong-namespace.patch"
+ "explicit-specialization.patch"
+ "inspector.patch"))))
(invoke "patch" "--force" "-p1" "--input"
(string-append patches "/" line)
"--no-backup-if-mismatch"))
(loop (read-line)))))))
+ (format #t "Applying Guix-specific patches...~%")
+ (force-output)
+ (for-each (lambda (patch)
+ (invoke "patch" "--force" "-p1" "--input"
+ patch "--no-backup-if-mismatch"))
+ '#+%auxiliary-patches)
+
(format #t "Pruning third party files...~%")
(force-output)
(apply invoke "python"
@@ -458,7 +500,6 @@ from forcing GEXP-PROMISE."
"is_clang=false"
;; Disable debugging features to save space. These are normally
;; pulled in by "is_official_build", but that requires "is_clang".
- "blink_symbol_level=0"
"enable_iterator_debugging=false"
"exclude_unwind_tables=true"
;; Optimize for building everything at once, as opposed to
@@ -488,7 +529,7 @@ from forcing GEXP-PROMISE."
'("use_vaapi=true")
'())
- ;; Don't arbitrarily restrict formats supported by system ffmpeg.
+ ;; Do not artifically restrict formats supported by system ffmpeg.
"proprietary_codecs=true"
"ffmpeg_branding=\"Chrome\""
@@ -561,12 +602,12 @@ from forcing GEXP-PROMISE."
(substitute* "third_party/webrtc/rtc_base/strings/json.h"
(("#include \"third_party/jsoncpp/") "#include \"json/"))
- (substitute* '("ui/gfx/skia_util.h"
+ (substitute* '("components/viz/common/gpu/vulkan_context_provider.h"
"components/viz/common/resources/resource_format_utils.h")
(("third_party/vulkan/include/") ""))
(substitute* "third_party/skia/include/gpu/vk/GrVkVulkan.h"
- (("\\.\\./\\.\\./include/third_party/vulkan/") ""))
+ (("include/third_party/vulkan/") ""))
;; Building chromedriver embeds some files using the ZIP
;; format which doesn't support timestamps before
@@ -587,6 +628,9 @@ from forcing GEXP-PROMISE."
(setenv "AR" "ar") (setenv "NM" "nm")
(setenv "CC" "gcc") (setenv "CXX" "g++")
+ ;; Prevent GCC from optimizing away null pointer safety checks.
+ (setenv "CXXFLAGS" "-fno-delete-null-pointer-checks")
+
;; Work around <https://bugs.gnu.org/30756>.
(unsetenv "C_INCLUDE_PATH")
(unsetenv "CPLUS_INCLUDE_PATH")
diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm
index 3bd0d664da..17c85fe512 100644
--- a/gnu/packages/cran.scm
+++ b/gnu/packages/cran.scm
@@ -78,14 +78,14 @@
(define-public r-clipr
(package
(name "r-clipr")
- (version "0.6.0")
+ (version "0.7.0")
(source
(origin
(method url-fetch)
(uri (cran-uri "clipr" version))
(sha256
(base32
- "0k9kimkmmj9k7290sxiqn4kd1vvm4w7q9a44wp0w30b7yjpavx2m"))))
+ "1qn2p13d0c1bpqss6mv9hk60980rzhznfqpyaf5x0fy65svy9903"))))
(build-system r-build-system)
(home-page "https://github.com/mdlincoln/clipr")
(synopsis "Read and write from the system clipboard")
@@ -97,14 +97,14 @@ the system clipboards.")
(define-public r-ellipsis
(package
(name "r-ellipsis")
- (version "0.2.0")
+ (version "0.2.0.1")
(source
(origin
(method url-fetch)
(uri (cran-uri "ellipsis" version))
(sha256
(base32
- "0hdk79q4wn5nq52p8qd65kqz81l0b8gfzsbzyvmfais0p24qclib"))))
+ "0hx9l043433bwm1np9sypph77c7y9dddpz0wrhbkcv01x32jhr8f"))))
(build-system r-build-system)
(propagated-inputs
`(("r-rlang" ,r-rlang)))
@@ -370,14 +370,14 @@ such as copy/paste from an R session.")
(define-public r-callr
(package
(name "r-callr")
- (version "3.2.0")
+ (version "3.3.1")
(source
(origin
(method url-fetch)
(uri (cran-uri "callr" version))
(sha256
(base32
- "1s5h2k7c1vgbry90xczin66q89cbkc6mvh4679l5rsz83087pd2b"))))
+ "0rvrlg86fxr5nadvqa0dr1iifqjs4d1rc32v76m3ccvx6m3xlq5z"))))
(build-system r-build-system)
(propagated-inputs
`(("r-r6" ,r-r6)
@@ -420,21 +420,21 @@ the embedded @code{RapidXML} C++ library.")
(define-public r-modelr
(package
(name "r-modelr")
- (version "0.1.4")
+ (version "0.1.5")
(source
(origin
(method url-fetch)
(uri (cran-uri "modelr" version))
(sha256
(base32
- "1ngxphbjkv7yl1rg30sj36mfwhc76g452drjrq9abgab4k0pgnml"))))
+ "0nnfhlzz75ihs8azy963cc4cwg1kx81rybk4z3wm98bbghwfxfs5"))))
(build-system r-build-system)
(propagated-inputs
`(("r-broom" ,r-broom)
("r-dplyr" ,r-dplyr)
- ("r-lazyeval" ,r-lazyeval)
("r-magrittr" ,r-magrittr)
("r-purrr" ,r-purrr)
+ ("r-rlang" ,r-rlang)
("r-tibble" ,r-tibble)
("r-tidyr" ,r-tidyr)))
(home-page "https://github.com/tidyverse/modelr")
@@ -500,13 +500,13 @@ in systems and applications.")
(define-public r-servr
(package
(name "r-servr")
- (version "0.14")
+ (version "0.15")
(source (origin
(method url-fetch)
(uri (cran-uri "servr" version))
(sha256
(base32
- "0zjjnfgas9d16fihksyk24kgkkqswb4sd0rz51id2ni1ymdyasjk"))))
+ "199k9aghwk9rf1rm8pjg60xacqww25cza259h5dfj1ixil0m6dxi"))))
(build-system r-build-system)
(propagated-inputs
`(("r-httpuv" ,r-httpuv)
@@ -614,13 +614,13 @@ LaTeX.")
(define-public r-curl
(package
(name "r-curl")
- (version "3.3")
+ (version "4.0")
(source (origin
(method url-fetch)
(uri (cran-uri "curl" version))
(sha256
(base32
- "1gd5i25anzi28lg1f8p7g63z9d46xi0qaw4lxpml5p0f52lvkc0c"))))
+ "0wb1j87fa2nd4a9x1w2nmc453nzvx6qiq8dviwc4jr36hsf9ra89"))))
(build-system r-build-system)
(arguments
`(#:phases
@@ -1205,14 +1205,14 @@ including functions for geolocation and routing.")
(define-public r-haven
(package
(name "r-haven")
- (version "2.1.0")
+ (version "2.1.1")
(source
(origin
(method url-fetch)
(uri (cran-uri "haven" version))
(sha256
(base32
- "0x5fwc4q2gdxwwp5sxdd6q17jhpisd769y9kv0xgnjcm0cdwz8f0"))))
+ "12h64r2v2451igyl7v4w2kg0hzw9rnanph0m7smffq29ybkv9g4h"))))
(build-system r-build-system)
(inputs
`(("zlib" ,zlib)))
@@ -1441,14 +1441,14 @@ processes. Most of its code is based on the @code{psutil} Python package.")
(define-public r-pkgbuild
(package
(name "r-pkgbuild")
- (version "1.0.3")
+ (version "1.0.4")
(source
(origin
(method url-fetch)
(uri (cran-uri "pkgbuild" version))
(sha256
(base32
- "0k8zwa66rm1ncx19ld5mbaxcjxkswiczpdqyssy44vl8k6scwfn9"))))
+ "0prvx91dha5pvd0k4jca2arkngvi6vnfs2indmiy3kwwzyjyyd19"))))
(build-system r-build-system)
(propagated-inputs
`(("r-callr" ,r-callr)
@@ -1497,13 +1497,13 @@ you to rapidly iterate while developing a package.")
(define-public r-rcpp
(package
(name "r-rcpp")
- (version "1.0.1")
+ (version "1.0.2")
(source
(origin
(method url-fetch)
(uri (cran-uri "Rcpp" version))
(sha256
- (base32 "015rmxns8mhmnd9wnz9bmma4iwx2sf4bcwkkp9hcgvdmblzf0vg7"))))
+ (base32 "170jlmjrs92z5qdv58badhxycjvfjpqwwpic7rm13pc9zkb3i4xd"))))
(build-system r-build-system)
(native-inputs
`(("r-knitr" ,r-knitr))) ; for vignettes
@@ -2230,14 +2230,14 @@ topics for ecologists (ISBN 978-0-691-12522-0).")
(define-public r-lpsolve
(package
(name "r-lpsolve")
- (version "5.6.13.1")
+ (version "5.6.13.2")
(source
(origin
(method url-fetch)
(uri (cran-uri "lpSolve" version))
(sha256
(base32
- "1f10ywlaaldgjj84vs108ly0nsbkrdgbn5d6qj7nk93j1x1xrn3a"))))
+ "0fc5m259ayc880f5hvnq59ih6nb2rlp394n756n1khmxbjpw1w3m"))))
(properties `((upstream-name . "lpSolve")))
(build-system r-build-system)
(home-page "https://cran.r-project.org/web/packages/lpSolve")
@@ -2315,14 +2315,14 @@ data). Weighted versions of MLE, MME and QME are available.")
(define-public r-energy
(package
(name "r-energy")
- (version "1.7-5")
+ (version "1.7-6")
(source
(origin
(method url-fetch)
(uri (cran-uri "energy" version))
(sha256
(base32
- "15k9dg0a82cs9ypm0wpcsff3il1hzhnnv86dv5ngby1r144czhi4"))))
+ "16m8bxfgr9sdisjy2qrv6fv5xxwcc9q890l0hpbwq6qzisrdn3lh"))))
(build-system r-build-system)
(propagated-inputs
`(("r-boot" ,r-boot)
@@ -2450,14 +2450,14 @@ available in a vignette.")
(define-public r-lava
(package
(name "r-lava")
- (version "1.6.5")
+ (version "1.6.6")
(source
(origin
(method url-fetch)
(uri (cran-uri "lava" version))
(sha256
(base32
- "13rlqdg42ylnz4hc932bl50xismrcr4d9ykcd9zs19cw5mckjx0f"))))
+ "0nfab5fgnmxh8cplg8rd8cp34fny5j0k5wn4baj51r6ck7fq9g3s"))))
(build-system r-build-system)
(propagated-inputs
`(("r-numderiv" ,r-numderiv)
@@ -2640,20 +2640,41 @@ to access PostgreSQL database systems.")
;; under the PostgreSQL license.
(license license:gpl2)))
+(define-public r-linprog
+ (package
+ (name "r-linprog")
+ (version "0.9-2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (cran-uri "linprog" version))
+ (sha256
+ (base32
+ "1ki14an0pmhs2mnmfjjvdzd76pshiyvi659zf7hqvqwj0viv4dw9"))))
+ (build-system r-build-system)
+ (propagated-inputs `(("r-lpsolve" ,r-lpsolve)))
+ (home-page "http://linprog.r-forge.r-project.org/")
+ (synopsis "Linear programming and optimization")
+ (description
+ "This package can be used to solve Linear Programming / Linear
+Optimization problems by using the simplex algorithm.")
+ (license license:gpl2+)))
+
(define-public r-geometry
(package
(name "r-geometry")
- (version "0.4.1")
+ (version "0.4.2")
(source
(origin
(method url-fetch)
(uri (cran-uri "geometry" version))
(sha256
(base32
- "0v3ivaw8vbjyxg08dd573qk3kqfyknj5hli9503dza6p6xz0dzmm"))))
+ "0vq334115qi039vy198ggv1dsp6n1s6jwcm9ivipf5r8lbm287zz"))))
(build-system r-build-system)
(propagated-inputs
`(("r-magic" ,r-magic)
+ ("r-linprog" ,r-linprog)
("r-lpsolve" ,r-lpsolve)
("r-rcpp" ,r-rcpp)
("r-rcppprogress" ,r-rcppprogress)))
@@ -2871,14 +2892,14 @@ provides a one-row summary of model-level statistics.")
(define-public r-recipes
(package
(name "r-recipes")
- (version "0.1.5")
+ (version "0.1.6")
(source
(origin
(method url-fetch)
(uri (cran-uri "recipes" version))
(sha256
(base32
- "056zv4vhayyy8q9izcdknbb9hff2gxivg21g5mkssia78vw8g3mg"))))
+ "1ndz9h0zvdj141r63l8047wbhaj0x8fwzzyq7b8mh78pvrrdpq2i"))))
(build-system r-build-system)
(propagated-inputs
`(("r-dplyr" ,r-dplyr)
@@ -2890,7 +2911,6 @@ provides a one-row summary of model-level statistics.")
("r-magrittr" ,r-magrittr)
("r-matrix" ,r-matrix)
("r-purrr" ,r-purrr)
- ("r-rcpproll" ,r-rcpproll)
("r-rlang" ,r-rlang)
("r-tibble" ,r-tibble)
("r-tidyr" ,r-tidyr)
@@ -3056,14 +3076,14 @@ Laplace approximation and adaptive Gauss-Hermite quadrature.")
(define-public r-jomo
(package
(name "r-jomo")
- (version "2.6-8")
+ (version "2.6-9")
(source
(origin
(method url-fetch)
(uri (cran-uri "jomo" version))
(sha256
(base32
- "097zfdcqc3a45ay8xxbraqh8xsfyivskkdmc2b4ca4n979lx8vyb"))))
+ "16ychdhhv8cii8zrdfdf5gzgnvmfaq573bmi00xqdf323q3lf3xr"))))
(build-system r-build-system)
(propagated-inputs
`(("r-lme4" ,r-lme4)
@@ -3129,14 +3149,14 @@ analysis of multiply imputed data sets.")
(define-public r-mice
(package
(name "r-mice")
- (version "3.5.0")
+ (version "3.6.0")
(source
(origin
(method url-fetch)
(uri (cran-uri "mice" version))
(sha256
(base32
- "0icydc312sbvzbp0r0mhs2r77a2ly2xvz5w5amirz3wdkvgyrk2g"))))
+ "0pgcxdmp77604h6f4x8hhs6j4xdjgf5b9zvnixyzdj8vcgdjpivv"))))
(build-system r-build-system)
(propagated-inputs
`(("r-broom" ,r-broom)
@@ -3212,14 +3232,14 @@ programming} (SQP) based solver).")
(define-public r-hardyweinberg
(package
(name "r-hardyweinberg")
- (version "1.6.2")
+ (version "1.6.3")
(source
(origin
(method url-fetch)
(uri (cran-uri "HardyWeinberg" version))
(sha256
(base32
- "15i7b444hikkfgqmx2ki827998xwra38k9v7a7kavwz6zmq5mmv9"))))
+ "1irz44q6nf95h37av868f47aakwv3jgwgw217xfsfw0afkm7s25f"))))
(properties `((upstream-name . "HardyWeinberg")))
(build-system r-build-system)
(propagated-inputs
@@ -3289,14 +3309,14 @@ structure.")
(define-public r-vioplot
(package
(name "r-vioplot")
- (version "0.3.0")
+ (version "0.3.2")
(source
(origin
(method url-fetch)
(uri (cran-uri "vioplot" version))
(sha256
(base32
- "1ddmmqq7qrnvr5q518afnysrl7ccr8am9njknv3dpwaqzcdr9akn"))))
+ "13kfjp747bnzksai8j39y2hyl3ljc6n53c2cfhaw78q3d63x0lbv"))))
(build-system r-build-system)
(propagated-inputs
`(("r-sm" ,r-sm)
@@ -3631,14 +3651,14 @@ constants, and control debugging of packages via environment variables.")
(define-public r-processx
(package
(name "r-processx")
- (version "3.3.1")
+ (version "3.4.1")
(source
(origin
(method url-fetch)
(uri (cran-uri "processx" version))
(sha256
(base32
- "1bhbfacx2z2d97pz5bch45nvbvywhx2zp049czlfbdivkzgxn8v1"))))
+ "1g6ipcaxg9y94lyrnbp7kkbqfkcdh1fyrqjjclbjp3x7iysdvazi"))))
(build-system r-build-system)
(propagated-inputs
`(("r-ps" ,r-ps)
@@ -3839,18 +3859,19 @@ to variables on the left-hand side of the assignment.")
(define-public r-vctrs
(package
(name "r-vctrs")
- (version "0.1.0")
+ (version "0.2.0")
(source
(origin
(method url-fetch)
(uri (cran-uri "vctrs" version))
(sha256
(base32
- "13w1r8zpalirpfaz5sykpn0mj4jmhxi2qkdcfq081ixlfjyzwa6c"))))
+ "05h0y8qzwc899qj84gkhg4jwzscd065as00d4d8smv42h4i8zkjv"))))
(build-system r-build-system)
(propagated-inputs
`(("r-backports" ,r-backports)
("r-digest" ,r-digest)
+ ("r-ellipsis" ,r-ellipsis)
("r-glue" ,r-glue)
("r-rlang" ,r-rlang)
("r-zeallot" ,r-zeallot)))
@@ -3877,14 +3898,14 @@ to variables on the left-hand side of the assignment.")
(define-public r-pillar
(package
(name "r-pillar")
- (version "1.4.1")
+ (version "1.4.2")
(source
(origin
(method url-fetch)
(uri (cran-uri "pillar" version))
(sha256
(base32
- "0mcc09caxm69pghhz6b8vawj9ni63aijv5qba53pg4ph7rxclwgm"))))
+ "0988047mf0xdhdkqqmavzx4ifjhndjnxniyrrhrdq1nvnrvbpfms"))))
(build-system r-build-system)
(propagated-inputs
`(("r-cli" ,r-cli)
@@ -3923,14 +3944,14 @@ terminals.")
(define-public r-tinytex
(package
(name "r-tinytex")
- (version "0.14")
+ (version "0.15")
(source
(origin
(method url-fetch)
(uri (cran-uri "tinytex" version))
(sha256
(base32
- "0aab7ybc6kkxxk3lzdmbla8zcpp6nmlahchc33miv28cmnqw363w"))))
+ "145dmgq7h55mmqqlnnj153j484x2a9s1fbvjbjkdyqzpnz9qh2ax"))))
(build-system r-build-system)
(propagated-inputs
`(("r-xfun" ,r-xfun)))
@@ -4628,14 +4649,14 @@ files.")
(define-public r-shinyace
(package
(name "r-shinyace")
- (version "0.3.3")
+ (version "0.4.0")
(source
(origin
(method url-fetch)
(uri (cran-uri "shinyAce" version))
(sha256
(base32
- "02q6wqw349nlyf3mbf18cxif1xv9cal5qzccrdlnv73szqn9jk7j"))))
+ "0hvih5g0pswlnz5rf3blx5yqw11ssxvm8w4klxddp1ap20ncbgl1"))))
(properties `((upstream-name . "shinyAce")))
(build-system r-build-system)
(propagated-inputs
@@ -4678,14 +4699,14 @@ systems.")
(define-public r-radiant-data
(package
(name "r-radiant-data")
- (version "0.9.9")
+ (version "1.0.0")
(source
(origin
(method url-fetch)
(uri (cran-uri "radiant.data" version))
(sha256
(base32
- "17mgm0sggh4f7ihqmj9m3996p3pqc7h2cwx6ll1ha3kg5mx0znyn"))
+ "0b35jn4mcj10hqra18l8pi6s4pvj6fxipslbn6hkr4zza1z27gzw"))
(modules '((guix build utils)))
(snippet
'(begin
@@ -5140,14 +5161,14 @@ misclassification probabilities of different models.")
(define-public r-zip
(package
(name "r-zip")
- (version "2.0.2")
+ (version "2.0.3")
(source
(origin
(method url-fetch)
(uri (cran-uri "zip" version))
(sha256
(base32
- "1xvgs7mhxi0sdp5ix4nisqm9lf8f75b7ip7b1hqpq9bzh0x6z8ix"))))
+ "0zii05jg9v9ljd0wd67g9x4bhlmpmsy5dzd093sbnc5n3vjbi32a"))))
(build-system r-build-system)
(home-page "https://github.com/gaborcsardi/zip")
(synopsis "Cross-platform Zip compression")
@@ -5298,14 +5319,14 @@ promises, but with a syntax that is idiomatic R.")
(define-public r-dosnow
(package
(name "r-dosnow")
- (version "1.0.16")
+ (version "1.0.18")
(source
(origin
(method url-fetch)
(uri (cran-uri "doSNOW" version))
(sha256
(base32
- "13ir4a8252h4yvp5ir9xnwack1kn58i4ny6sf2qdc12zspn3850n"))))
+ "0rj72z5505cprh6wykhhiz08l9bmd966srqh2qypwivf321bvrvh"))))
(properties `((upstream-name . "doSNOW")))
(build-system r-build-system)
(propagated-inputs
@@ -5431,14 +5452,14 @@ obtain a better initial configuration in non-metric MDS.")
(define-public r-reticulate
(package
(name "r-reticulate")
- (version "1.12")
+ (version "1.13")
(source
(origin
(method url-fetch)
(uri (cran-uri "reticulate" version))
(sha256
(base32
- "0pqr1rcs8yg9nlh729mvlws93cqhpmv49j9bcgarh7vxzkwyv0kb"))))
+ "1qwxh7zq9igl7dxl5g5qjbvv0mlac3w80djnkm0w8rxnaval3gmd"))))
(build-system r-build-system)
(inputs `(("python" ,python)))
(propagated-inputs
@@ -5523,14 +5544,14 @@ movies, and TV shows.")
(define-public r-ggsignif
(package
(name "r-ggsignif")
- (version "0.5.0")
+ (version "0.6.0")
(source
(origin
(method url-fetch)
(uri (cran-uri "ggsignif" version))
(sha256
(base32
- "0z04g5kqdj66fyfxb5d2m7njkqd7idbiy4xgsnxdh5pbh3cr643x"))))
+ "17j9hg967k1wp9xw3x84mqss58jkb8pvlrnlchz4i1hklgykxqbg"))))
(build-system r-build-system)
(propagated-inputs
`(("r-ggplot2" ,r-ggplot2)))
@@ -5548,14 +5569,14 @@ and adds the annotation to the plot.")
(define-public r-ggpubr
(package
(name "r-ggpubr")
- (version "0.2.1")
+ (version "0.2.2")
(source
(origin
(method url-fetch)
(uri (cran-uri "ggpubr" version))
(sha256
(base32
- "0a4dv6a752hwvc7l31xs7bgqhfzfdy94xp6wgwaxf5dxm46na7k1"))))
+ "0r5knv3707pmpngmj60zn761y3bh8lj89dhh1b80ss083xnxr4qw"))))
(build-system r-build-system)
(propagated-inputs
`(("r-cowplot" ,r-cowplot)
@@ -5569,6 +5590,7 @@ and adds the annotation to the plot.")
("r-magrittr" ,r-magrittr)
("r-polynom" ,r-polynom)
("r-purrr" ,r-purrr)
+ ("r-rlang" ,r-rlang)
("r-scales" ,r-scales)
("r-tidyr" ,r-tidyr)))
(home-page "http://www.sthda.com/english/rpkgs/ggpubr")
@@ -5628,14 +5650,14 @@ clustering.")
(define-public r-factominer
(package
(name "r-factominer")
- (version "1.41")
+ (version "1.42")
(source
(origin
(method url-fetch)
(uri (cran-uri "FactoMineR" version))
(sha256
(base32
- "1h20hydav6l2b7bngqw1av4l5rrh0wk58nhailga1f4qw9lrv259"))))
+ "1yl16inb2m89l1czgaf0pgy9655dpr751hyx92yw6rqpd2ryznac"))))
(properties `((upstream-name . "FactoMineR")))
(build-system r-build-system)
(propagated-inputs
@@ -5918,20 +5940,19 @@ to help insert or delete content at a specific location in the document.")
(define-public r-abn
(package
(name "r-abn")
- (version "1.3")
+ (version "2.1")
(source
(origin
(method url-fetch)
(uri (cran-uri "abn" version))
(sha256
(base32
- "1q9hzpxwg835711kxwygd0l2awal6f015f8s6fprwz7graz1wbbm"))))
+ "08jlvb6i5f7ry2dwm0jgrnn2w95vr0l67dpx13n9878lz9ld131b"))))
(build-system r-build-system)
(inputs
`(("gsl" ,gsl)))
(propagated-inputs
- `(("r-cairo" ,r-cairo)
- ("r-lme4" ,r-lme4)
+ `(("r-lme4" ,r-lme4)
("r-mass" ,r-mass)
("r-nnet" ,r-nnet)
("r-rcpp" ,r-rcpp)
@@ -6070,14 +6091,14 @@ other add-on packages.")
(define-public r-insight
(package
(name "r-insight")
- (version "0.3.0")
+ (version "0.4.1")
(source
(origin
(method url-fetch)
(uri (cran-uri "insight" version))
(sha256
(base32
- "1r288hc01cpyrk3nias30fw783z2vw20qr1k67vr65anh7mwm7vb"))))
+ "1lw1r3mb97z5p9z25jfzlhs0sbnwp6v8kzysf0am01x4m7l3iz82"))))
(build-system r-build-system)
(home-page "https://easystats.github.io/insight/")
(synopsis "Easy access to model information for various model objects")
@@ -6527,14 +6548,14 @@ containing one or more SNPs that evolved under directional selection.")
(define-public r-proc
(package
(name "r-proc")
- (version "1.15.0")
+ (version "1.15.3")
(source
(origin
(method url-fetch)
(uri (cran-uri "pROC" version))
(sha256
(base32
- "1dxxkwdhxfnj2znq4c5ggrr9m5klh5pmfxg17rz59vr2hfb73m24"))))
+ "1jx8af9p6sxbypqvj1cci7q9sbyaw310inbjxibjcr3acj59h45h"))))
(properties `((upstream-name . "pROC")))
(build-system r-build-system)
(propagated-inputs
@@ -6900,14 +6921,14 @@ used to teach mathematics, statistics, computation and modeling.")
(define-public r-raster
(package
(name "r-raster")
- (version "2.9-5")
+ (version "2.9-23")
(source
(origin
(method url-fetch)
(uri (cran-uri "raster" version))
(sha256
(base32
- "0ljrymsp4zzaxdj1l0mw0a6hi88m5h0h920ixfzrg0szbyxqd0yk"))))
+ "1brqigic8ygr223bp2hgk5qjz3q03r4sfglrv4an0ghy7fgfralh"))))
(build-system r-build-system)
(propagated-inputs
`(("r-rcpp" ,r-rcpp)
@@ -7468,14 +7489,14 @@ multiple-imputation datasets.")
(define-public r-magick
(package
(name "r-magick")
- (version "2.0")
+ (version "2.1")
(source
(origin
(method url-fetch)
(uri (cran-uri "magick" version))
(sha256
(base32
- "18y465325mhf48x2jn3jz9khwq1z2aj13wfbdkv8k3hln1sd572m"))))
+ "1pz71maz05gx4ds1wfw0alggc8nn2w75lj12dg1zr72s3kybhkzg"))))
(build-system r-build-system)
(inputs
`(("imagemagick" ,imagemagick)
@@ -7857,14 +7878,14 @@ Hothorn, Westfall, 2010, CRC Press).")
(define-public r-emmeans
(package
(name "r-emmeans")
- (version "1.3.5.1")
+ (version "1.4")
(source
(origin
(method url-fetch)
(uri (cran-uri "emmeans" version))
(sha256
(base32
- "0rgzjvmp3yqhwgfg96v17wi8gbafzbrmz134shj2jsf5bsmw6vbj"))))
+ "1ynf9hhbch83k63lwps69ijfch30fk5v0sc418ck264c5vih26dh"))))
(build-system r-build-system)
(propagated-inputs
`(("r-estimability" ,r-estimability)
@@ -8089,14 +8110,14 @@ differentiation.")
(define-public r-bayestestr
(package
(name "r-bayestestr")
- (version "0.2.2")
+ (version "0.2.5")
(source
(origin
(method url-fetch)
(uri (cran-uri "bayestestR" version))
(sha256
(base32
- "09r654lrhwwnshn5h2s2fbx3c8wigv3j4sva5hmfnkwjg8cclhd9"))))
+ "08d3bsb6li59n17bx1zrqnlnvniyb3vls9kl856km4chx3b2ff82"))))
(properties `((upstream-name . "bayestestR")))
(build-system r-build-system)
(propagated-inputs
@@ -8114,14 +8135,14 @@ ROPE percentage and pd).")
(define-public r-performance
(package
(name "r-performance")
- (version "0.2.0")
+ (version "0.3.0")
(source
(origin
(method url-fetch)
(uri (cran-uri "performance" version))
(sha256
(base32
- "1pzd6z7i1jxr2xi1shg3d0bxlbpmjl7kpmwgjnfys6syv57znd1z"))))
+ "13j74ffhx950kacs86ixx84nviq9qlwzr7hjnhkmzw2hspjxq99w"))))
(build-system r-build-system)
(propagated-inputs
`(("r-bayestestr" ,r-bayestestr)
@@ -8141,14 +8162,14 @@ effects models and Bayesian models.")
(define-public r-ggeffects
(package
(name "r-ggeffects")
- (version "0.10.0")
+ (version "0.11.0")
(source
(origin
(method url-fetch)
(uri (cran-uri "ggeffects" version))
(sha256
(base32
- "0gmqzjk8k8q6j4q6asv9f3b1fv4qrw5w8xa48ha3y98shzm5np9k"))))
+ "1b0lxa8bljdh6h4lk7pql1lrhjlvh7p5c8qlgb8ac6ay8hb79vmi"))))
(build-system r-build-system)
(propagated-inputs
`(("r-dplyr" ,r-dplyr)
@@ -8175,14 +8196,14 @@ results using @code{ggplot2}.")
(define-public r-sjplot
(package
(name "r-sjplot")
- (version "2.6.3")
+ (version "2.7.0")
(source
(origin
(method url-fetch)
(uri (cran-uri "sjPlot" version))
(sha256
(base32
- "0h1mkmp5mrkbf7y3zh6m4cnm737cpg1m5si0lrmal7j2ixqicwjy"))))
+ "1m0gy991fmxvqry91kkzdkdapyalhrwql25d0hg2a2naxgfw4zpk"))))
(properties `((upstream-name . "sjPlot")))
(build-system r-build-system)
(propagated-inputs
@@ -8192,6 +8213,7 @@ results using @code{ggplot2}.")
("r-forcats" ,r-forcats)
("r-ggeffects" ,r-ggeffects)
("r-ggplot2" ,r-ggplot2)
+ ("r-ggrepel" ,r-ggrepel)
("r-glmmtmb" ,r-glmmtmb)
("r-insight" ,r-insight)
("r-knitr" ,r-knitr)
@@ -8311,14 +8333,14 @@ terminals that do not support Unicode.")
(define-public r-usethis
(package
(name "r-usethis")
- (version "1.5.0")
+ (version "1.5.1")
(source
(origin
(method url-fetch)
(uri (cran-uri "usethis" version))
(sha256
(base32
- "0pn6ka3726psaqlx573g6nxi90apf0rn5m4k2lz1jr66xdc19sag"))))
+ "07an5wbikilg7cb3q6x5aykw8dfqnjrc3wpfb7gjmy0d9fh20fcy"))))
(build-system r-build-system)
(propagated-inputs
`(("r-clipr" ,r-clipr)
@@ -8674,14 +8696,14 @@ analysing multivariate abundance data in community ecology.")
(define-public r-afex
(package
(name "r-afex")
- (version "0.23-0")
+ (version "0.24-1")
(source
(origin
(method url-fetch)
(uri (cran-uri "afex" version))
(sha256
(base32
- "0yv4s7461swn0116y4wq9v139p1br5rr6hhnq1cmkbvybmwj2vp7"))))
+ "14w7kcwr5hxmjcjmdm5ia9ka3bw1nl18pxlm1vpw62nmvicn3455"))))
(build-system r-build-system)
(propagated-inputs
`(("r-car" ,r-car)
@@ -8908,14 +8930,14 @@ Bioconductor packages.")
(define-public r-rgl
(package
(name "r-rgl")
- (version "0.100.24")
+ (version "0.100.26")
(source
(origin
(method url-fetch)
(uri (cran-uri "rgl" version))
(sha256
(base32
- "0nm3iyvhhmh0zlywkfmrq3vyh8z1l296xxfmcky0ifd2qnysfcqj"))))
+ "0h77akviwjd86j2qyx326xynbmwhypd6ydprzlwqnidd4ckrr271"))))
(build-system r-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
@@ -9374,14 +9396,14 @@ maps.")
(define-public r-tidytree
(package
(name "r-tidytree")
- (version "0.2.4")
+ (version "0.2.6")
(source
(origin
(method url-fetch)
(uri (cran-uri "tidytree" version))
(sha256
(base32
- "04bznlfs617plv258nmsyq2pywnijcnzy2pbn5b2fgjk2xqkp29w"))))
+ "13mhizbsawmfqjpnzb73yw6kn1f1wlz0vhyzj3g0rj6ry880rw89"))))
(build-system r-build-system)
(propagated-inputs
`(("r-ape" ,r-ape)
@@ -9442,14 +9464,14 @@ giving it a description in the specific format.")
(define-public r-sparsesvd
(package
(name "r-sparsesvd")
- (version "0.1-4")
+ (version "0.2")
(source
(origin
(method url-fetch)
(uri (cran-uri "sparsesvd" version))
(sha256
(base32
- "1yf373552wvdnd65r7hfcqa3v29dqn7jd4cn431mqd2acnqjrsam"))))
+ "1xm969fjq3fv1p2sqza2apz8picibj4s2agpwf1sx9nwn3b587qs"))))
(build-system r-build-system)
(propagated-inputs `(("r-matrix" ,r-matrix)))
(home-page "http://tedlab.mit.edu/~dr/SVDLIBC/")
@@ -9664,14 +9686,14 @@ diagnostics for controlling type-1 errors are also provided.")
(define-public r-flare
(package
(name "r-flare")
- (version "1.6.0")
+ (version "1.6.0.2")
(source
(origin
(method url-fetch)
(uri (cran-uri "flare" version))
(sha256
(base32
- "0ygif9a7a99qwv0b488wymmmncp6f5ww9yz13s4qs6p8yf37x1r1"))))
+ "1ybrsx1djqldw0l5l1iz4pfh6xxb8ckkg1ric7wnsr51wm9ljlh5"))))
(build-system r-build-system)
(propagated-inputs
`(("r-igraph" ,r-igraph)
@@ -9764,14 +9786,14 @@ Touzet and Varre (2007).")
(define-public r-rnifti
(package
(name "r-rnifti")
- (version "0.11.0")
+ (version "0.11.1")
(source
(origin
(method url-fetch)
(uri (cran-uri "RNifti" version))
(sha256
(base32
- "0zs8ffa6gpi9cygxk7xjin6k3vpvfgb540a506zlk50bf6kc5nlf"))))
+ "0jcgdg5k2swmi57aqj347kfi1fc4nvag7pxdfz61kc0vqqamm0wg"))))
(properties `((upstream-name . "RNifti")))
(build-system r-build-system)
(propagated-inputs `(("r-rcpp" ,r-rcpp)))
@@ -9787,14 +9809,14 @@ used by other packages.")
(define-public r-shades
(package
(name "r-shades")
- (version "1.3.1")
+ (version "1.4.0")
(source
(origin
(method url-fetch)
(uri (cran-uri "shades" version))
(sha256
(base32
- "0v0xp9l1zyq4iysmkrbdwk4r1rksjj8p5c1726yrcgyg55mj59nv"))))
+ "1zg95sjhrfvbdlfc387g9p0vnb8nb6agdk1mb3wq3kwkm2da0bqj"))))
(build-system r-build-system)
(home-page "https://github.com/jonclayden/shades")
(synopsis "Simple color manipulation")
@@ -10143,23 +10165,51 @@ library.")
and manipulating sets of ontological terms.")
(license license:gpl2+)))
+(define-public r-gargle
+ (package
+ (name "r-gargle")
+ (version "0.3.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (cran-uri "gargle" version))
+ (sha256
+ (base32
+ "0vqgp4w03sdyj0q96gxkybqflzzbaw84zifsbi7pxk5y08fimj2v"))))
+ (build-system r-build-system)
+ (propagated-inputs
+ `(("r-fs" ,r-fs)
+ ("r-glue" ,r-glue)
+ ("r-httr" ,r-httr)
+ ("r-jsonlite" ,r-jsonlite)
+ ("r-rlang" ,r-rlang)
+ ("r-withr" ,r-withr)))
+ (home-page "https://gargle.r-lib.org")
+ (synopsis "Utilities for working with Google APIs")
+ (description
+ "This package provides utilities for working with Google APIs. This
+includes functions and classes for handling common credential types and for
+preparing, executing, and processing HTTP requests.")
+ (license license:expat)))
+
(define-public r-bigrquery
(package
(name "r-bigrquery")
- (version "1.1.1")
+ (version "1.2.0")
(source
(origin
(method url-fetch)
(uri (cran-uri "bigrquery" version))
(sha256
(base32
- "1if39xkr231xmjq10fx2g7bgg4jgfd3wzx1p9g3pq4hbf2s6x0is"))))
+ "1ggh2gngr5x0g6y7d55y6kvn94anf7qi1bkc28cjmw61hxjq38fb"))))
(build-system r-build-system)
(propagated-inputs
`(("r-assertthat" ,r-assertthat)
("r-bit64" ,r-bit64)
("r-curl" ,r-curl)
("r-dbi" ,r-dbi)
+ ("r-gargle" ,r-gargle)
("r-glue" ,r-glue)
("r-httr" ,r-httr)
("r-jsonlite" ,r-jsonlite)
@@ -10167,6 +10217,7 @@ and manipulating sets of ontological terms.")
("r-progress" ,r-progress)
("r-rapidjsonr" ,r-rapidjsonr)
("r-rcpp" ,r-rcpp)
+ ("r-rlang" ,r-rlang)
("r-tibble" ,r-tibble)))
(home-page "https://github.com/rstats-db/bigrquery")
(synopsis "R interface to Google's BigQuery API")
@@ -10724,14 +10775,14 @@ covariance functions for large data sets.")
(define-public r-spatialextremes
(package
(name "r-spatialextremes")
- (version "2.0-7")
+ (version "2.0-7.2")
(source
(origin
(method url-fetch)
(uri (cran-uri "SpatialExtremes" version))
(sha256
(base32
- "1y0h1pcfqp9ynxsr3yrfbihlwm25ypyb88jmm5k2g7xvm8h9g050"))))
+ "0aqq9ryxi4xsdqjhc1lhb7ai8szs7m2vys6nn0ygps1w3pm4xwj8"))))
(properties
`((upstream-name . "SpatialExtremes")))
(build-system r-build-system)
@@ -10994,14 +11045,14 @@ model with finite state space using the Aalen-Johansen estimator.")
(define-public r-epi
(package
(name "r-epi")
- (version "2.37")
+ (version "2.38")
(source
(origin
(method url-fetch)
(uri (cran-uri "Epi" version))
(sha256
(base32
- "1lanr9x0c6w22406p56j7cwk6wck8njq6pscb4gzc613d68zj1lk"))))
+ "0ald9fjynrlyah8nzwfs49a08j4myd3c5bm56zn61gg5pyyhi8hd"))))
(properties `((upstream-name . "Epi")))
(build-system r-build-system)
(propagated-inputs
@@ -11177,14 +11228,14 @@ them in distributed compute environments.")
(define-public r-future
(package
(name "r-future")
- (version "1.13.0")
+ (version "1.14.0")
(source
(origin
(method url-fetch)
(uri (cran-uri "future" version))
(sha256
(base32
- "0h8ng2a6vg4axd5f75xcb3ip9d95zi22fa048dq2bzlnncwlznjz"))))
+ "1jyv2wlmpfqbk3hw269h4xg36na3wh1kd1lxmwdb40bsv4850lqa"))))
(build-system r-build-system)
(propagated-inputs
`(("r-digest" ,r-digest)
@@ -11237,14 +11288,14 @@ machine or distributed on a compute cluster.")
(define-public r-rsvd
(package
(name "r-rsvd")
- (version "1.0.1")
+ (version "1.0.2")
(source
(origin
(method url-fetch)
(uri (cran-uri "rsvd" version))
(sha256
(base32
- "1faskhf5j2bj9f971qljsmh182g3rnyilj1wwijz530a6skxidzz"))))
+ "0fia77y5fxnhwkcxlgp98ygb8fdfraky75x80hkf7kvvpwc5rzn8"))))
(build-system r-build-system)
(propagated-inputs
`(("r-matrix" ,r-matrix)))
@@ -11445,14 +11496,14 @@ identifying outliers.")
(define-public r-bayesm
(package
(name "r-bayesm")
- (version "3.1-1")
+ (version "3.1-3")
(source
(origin
(method url-fetch)
(uri (cran-uri "bayesm" version))
(sha256
(base32
- "0y30cza92s6kgvmxjpr6f5g0qbcck7hslqp89ncprarhxiym2m28"))))
+ "041ach2f2vrqzd5kz17v7wmkjz6z8cjjihpk4qvczm4cr9z85r2i"))))
(build-system r-build-system)
(propagated-inputs
`(("r-rcpp" ,r-rcpp)
@@ -11849,14 +11900,14 @@ probabilities from a standard bivariate normal CDF.")
(define-public r-lavaan
(package
(name "r-lavaan")
- (version "0.6-3")
+ (version "0.6-4")
(source
(origin
(method url-fetch)
(uri (cran-uri "lavaan" version))
(sha256
(base32
- "0hw856kv11zqn6nd4216rh19i6xbnc1rh044r7jvvxkhzgbqkyxz"))))
+ "1zf0sxpms35rhq2syb7r3sshhc8kjvc3pv97dk9x0gf4xl7pck4g"))))
(build-system r-build-system)
(propagated-inputs
`(("r-mass" ,r-mass)
@@ -12073,14 +12124,14 @@ running IRkernel session.")
(define-public r-irkernel
(package
(name "r-irkernel")
- (version "1.0.1")
+ (version "1.0.2")
(source
(origin
(method url-fetch)
(uri (cran-uri "IRkernel" version))
(sha256
(base32
- "1gij59b068qp7sbn9d0b9ghmnhfks15a9anj7bp26acv0yvdsg3s"))))
+ "040qig675zaxsf81ranmvk293amrswi5098k69wyq0vgqyin6vwp"))))
(properties `((upstream-name . "IRkernel")))
(build-system r-build-system)
(arguments
@@ -12192,14 +12243,14 @@ R, enabling interactive analysis and visualization of genome-scale data.")
(define-public r-rematch2
(package
(name "r-rematch2")
- (version "2.0.1")
+ (version "2.1.0")
(source
(origin
(method url-fetch)
(uri (cran-uri "rematch2" version))
(sha256
(base32
- "16k0i5p7fa3qfxv59ijyn638wpz8n4jrkrnilqmh5g9l8f8bn4h6"))))
+ "00cznm6rk33b53w7zybkz7549bnydc66znpi5mb0xd24pmqp0rvq"))))
(build-system r-build-system)
(propagated-inputs
`(("r-tibble" ,r-tibble)))
@@ -12541,14 +12592,14 @@ classes.")
(define-public r-classint
(package
(name "r-classint")
- (version "0.3-3")
+ (version "0.4-1")
(source
(origin
(method url-fetch)
(uri (cran-uri "classInt" version))
(sha256
(base32
- "0c2z6shlxa928xa20yl956r06lx20mji3mwipdvmj3f4z5g6hgm9"))))
+ "00q1bpgblrldckn1rk166q1b0hgap2sjjyfmfcyh6ydk6y73ziir"))))
(properties `((upstream-name . "classInt")))
(build-system r-build-system)
(propagated-inputs
@@ -12616,14 +12667,14 @@ sampling.")
(define-public r-deldir
(package
(name "r-deldir")
- (version "0.1-21")
+ (version "0.1-23")
(source
(origin
(method url-fetch)
(uri (cran-uri "deldir" version))
(sha256
(base32
- "03392pl6j8rm3n32xrfkyfx866k1vm5sj87pva70yyiwh70vrnmr"))))
+ "0790dwxb2mz1ffz8gd5vwdr0if2q76dzy3vab5rsykf9kz72n4g0"))))
(build-system r-build-system)
(native-inputs `(("gfortran" ,gfortran)))
(home-page "https://cran.r-project.org/web/packages/deldir")
@@ -12640,14 +12691,14 @@ tessellation.")
(define-public r-sf
(package
(name "r-sf")
- (version "0.7-4")
+ (version "0.7-7")
(source
(origin
(method url-fetch)
(uri (cran-uri "sf" version))
(sha256
(base32
- "0vnyr7xyfcl928kbrb1k8l4fkd0cjrfq486g6gxpvy5j0cc2h4i1"))))
+ "192hw52x1qlif8zyai1kff1wiyr3yl5f7jj1rk3k0nr8das0qy6i"))))
(build-system r-build-system)
(inputs
`(("gdal" ,gdal)
@@ -13022,18 +13073,19 @@ inbred lines, F2 intercrosses, and association mapping populations.")
(define-public r-ldheatmap
(package
(name "r-ldheatmap")
- (version "0.99-5")
+ (version "0.99-7")
(source
(origin
(method url-fetch)
(uri (cran-uri "LDheatmap" version))
(sha256
(base32
- "0il3g3n3bzv74lz7dlhyiwc2x2417v6yhx2g47pahxdzqa09kf4s"))))
+ "1r0j8bihi5z1x0sgaf7dwzpsw9i0nc1vylvipvc0cia2ka1lr9dc"))))
(properties `((upstream-name . "LDheatmap")))
(build-system r-build-system)
(propagated-inputs
`(("r-genetics" ,r-genetics)
+ ("r-rcpp" ,r-rcpp)
("r-snpstats" ,r-snpstats)))
(home-page "http://stat.sfu.ca/statgen/research/ldheatmap.html")
(synopsis "Graphical display of pairwise linkage disequilibria between SNPs")
@@ -13112,13 +13164,13 @@ SELECT or UPDATE queries to an end-point.")
(define-public r-bookdown
(package
(name "r-bookdown")
- (version "0.11")
+ (version "0.12")
(source (origin
(method url-fetch)
(uri (cran-uri "bookdown" version))
(sha256
(base32
- "0w4fkv5fqiaqgkx44p0s161imf29zir9742126xkz1pl1j25jn1r"))))
+ "1c2v0rpa1rrpbx8yb66sfvrf4gf57f6a8x7ydjqqbkbwhxdlrsrq"))))
(build-system r-build-system)
(propagated-inputs
`(("r-htmltools" ,r-htmltools)
@@ -13585,14 +13637,14 @@ package.")
(define-public r-ggplotify
(package
(name "r-ggplotify")
- (version "0.0.3")
+ (version "0.0.4")
(source
(origin
(method url-fetch)
(uri (cran-uri "ggplotify" version))
(sha256
(base32
- "14hqlpvnaq5psz1ljcpw9isa06827rg3fm5c1dx159rsjfi56yby"))))
+ "0nv3wdmxnc5ww9m3xlgnb0jp30j45dg33nqc6gg3y36svg8anjcg"))))
(build-system r-build-system)
(propagated-inputs
`(("r-ggplot2" ,r-ggplot2)
@@ -13712,14 +13764,14 @@ sets of URLs.")
(define-public r-ggforce
(package
(name "r-ggforce")
- (version "0.2.2")
+ (version "0.3.0")
(source
(origin
(method url-fetch)
(uri (cran-uri "ggforce" version))
(sha256
(base32
- "0snxx9zhcccxa7pz9pf3bjqmcmv9mz4m47v81hklnhm25jj40xg2"))))
+ "118qyzy8h9kkkdpjd09667gxgw7xy1kbc8r87pswh54ixn8hymwk"))))
(build-system r-build-system)
(propagated-inputs
`(("r-ggplot2" ,r-ggplot2)
@@ -13730,7 +13782,9 @@ sets of URLs.")
("r-rcppeigen" ,r-rcppeigen)
("r-rlang" ,r-rlang)
("r-scales" ,r-scales)
- ("r-tweenr" ,r-tweenr)))
+ ("r-tidyselect" ,r-tidyselect)
+ ("r-tweenr" ,r-tweenr)
+ ("r-withr" ,r-withr)))
(home-page "https://ggforce.data-imaginist.com")
(synopsis "Accelerating ggplot2")
(description
@@ -14562,14 +14616,14 @@ engine (Salmon et al., 2011) as provided by the package @code{sitmo}.")
(define-public r-dalex
(package
(name "r-dalex")
- (version "0.4")
+ (version "0.4.4")
(source
(origin
(method url-fetch)
(uri (cran-uri "DALEX" version))
(sha256
(base32
- "1mr8lqq8s4aacmh7xdhmkmv8vsjqjczlqlaw27xnsljgj2kgq87a"))))
+ "04i17ni8g595jj8dxdfwr9vsxmdn2kkam90ab68vlwws3ywqjl6r"))))
(properties `((upstream-name . "DALEX")))
(build-system r-build-system)
(propagated-inputs `(("r-ggplot2" ,r-ggplot2)))
@@ -14588,14 +14642,14 @@ and model output.")
(define-public r-enrichr
(package
(name "r-enrichr")
- (version "1.0")
+ (version "2.0")
(source
(origin
(method url-fetch)
(uri (cran-uri "enrichR" version))
(sha256
(base32
- "0lfdr45sdyqhvgz8q4qdbk12mpv86d6id665kq6aaslgr8jggfmn"))))
+ "056m6hksfss29fj7zvlk7pbh8g3gq84kjh3240isrsnhp9m1h9iz"))))
(properties `((upstream-name . "enrichR")))
(build-system r-build-system)
(propagated-inputs
@@ -14698,18 +14752,17 @@ into R and converted to @code{BibEntry} objects.")
(define-public r-citr
(package
(name "r-citr")
- (version "0.3.0")
+ (version "0.3.1")
(source
(origin
(method url-fetch)
(uri (cran-uri "citr" version))
(sha256
(base32
- "0pik6s6xk5768s3kkppw2192dj455py53gsn6k2b7xgg96ircy0g"))))
+ "0p2sg0fl7cppxxmr20qyqzs2469kglmgpsvykynw4qx501as57rc"))))
(build-system r-build-system)
(propagated-inputs
`(("r-assertthat" ,r-assertthat)
- ("r-bibtex" ,r-bibtex)
("r-curl" ,r-curl)
("r-httr" ,r-httr)
("r-miniui" ,r-miniui)
@@ -14729,14 +14782,14 @@ the current document.")
(define-public r-xgboost
(package
(name "r-xgboost")
- (version "0.82.1")
+ (version "0.90.0.2")
(source
(origin
(method url-fetch)
(uri (cran-uri "xgboost" version))
(sha256
(base32
- "0plhx63wcm4syslzmjfv6bdgaqn96fnav048hrj0vxk4dzgfp8sq"))))
+ "1gy9rzg43mjpfis893vf15drmbigfn0481zrzss9ajnmnk0q8194"))))
(build-system r-build-system)
(propagated-inputs
`(("r-data-table" ,r-data-table)
diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index db9665d1aa..6500adb215 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2019 Ivan Petkov <ivanppetkov@gmail.com>
+;;; Copyright © 2019 Efraim Flashner <efraim@flashner.co.il>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -22,27 +23,473 @@
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages))
-(define-public rust-unicode-xid
+;;;
+;;; Please: Try to add new module packages in alphabetic order.
+;;;
+
+(define-public rust-autocfg
(package
- (name "rust-unicode-xid")
- (version "0.1.0")
+ (name "rust-autocfg")
+ (version "0.1.5")
(source
(origin
(method url-fetch)
- (uri (crate-uri "unicode-xid" version))
- (file-name
- (string-append name "-" version ".tar.gz"))
+ (uri (crate-uri "autocfg" version))
+ (file-name (string-append name "-" version ".tar.gz"))
(sha256
- (base32
- "1z57lqh4s18rr4x0j4fw4fmp9hf9346h0kmdgqsqx0fhjr3k0wpw"))))
+ (base32
+ "0asl6fnc35yk5l2rxwhp25v128jgm45dp754h9z8x51b6n90w4r2"))))
(build-system cargo-build-system)
- (home-page
- "https://github.com/unicode-rs/unicode-xid")
- (synopsis "Determine Unicode XID related properties")
- (description "Determine whether characters have the XID_Start
-or XID_Continue properties according to Unicode Standard Annex #31.")
- ;; Dual licensed.
- (license (list license:asl2.0 license:expat))))
+ (home-page "https://github.com/cuviper/autocfg")
+ (synopsis "Automatic cfg for Rust compiler features")
+ (description "Rust library for build scripts to automatically configure
+code based on compiler support. Code snippets are dynamically tested to see
+if the @code{rustc} will accept them, rather than hard-coding specific version
+support.")
+ (license (list license:asl2.0
+ license:expat))))
+
+(define-public rust-bencher
+ (package
+ (name "rust-bencher")
+ (version "0.1.5")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "bencher" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1x8p2xblgqssay8cdykp5pkfc0np0jk5bs5cx4f5av097aav9zbx"))))
+ (build-system cargo-build-system)
+ (home-page "https://github.com/bluss/bencher/")
+ (synopsis "Port of the libtest benchmark runner to Rust stable")
+ (description "This package provides a port of the libtest (unstable Rust)
+benchmark runner to Rust stable releases. Supports running benchmarks and
+filtering based on the name. Benchmark execution works exactly the same way
+and no more (caveat: black_box is still missing!).")
+ (license (list license:asl2.0
+ license:expat))))
+
+(define-public rust-bitflags
+ (package
+ (name "rust-bitflags")
+ (version "1.1.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "bitflags" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1zc1qb1hwsnl2d8rhzicsv9kqd5b2hwbrscrcfw5as4sfr35659x"))))
+ (build-system cargo-build-system)
+ (home-page "https://github.com/bitflags/bitflags")
+ (synopsis "Macro to generate structures which behave like bitflags")
+ (description "This package provides a macro to generate structures which
+behave like a set of bitflags.")
+ (license (list license:asl2.0
+ license:expat))))
+
+(define-public rust-cfg-if
+ (package
+ (name "rust-cfg-if")
+ (version "0.1.9")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "cfg-if" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0csygklgz3ybpr0670rkip49zh76m43ar3k7xgypkzbzrwycx1ml"))))
+ (build-system cargo-build-system)
+ (home-page "https://github.com/alexcrichton/cfg-if")
+ (synopsis "Define an item depending on parameters")
+ (description "This package provides a macro to ergonomically define an item
+depending on a large number of #[cfg] parameters. Structured like an
+@code{if-else} chain, the first matching branch is the item that gets emitted.")
+ (license (list license:asl2.0
+ license:expat))))
+
+(define-public rust-discard
+ (package
+ (name "rust-discard")
+ (version "1.0.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "discard" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1h67ni5bxvg95s91wgicily4ix7lcw7cq0a5gy9njrybaibhyb91"))))
+ (build-system cargo-build-system)
+ (home-page "https://github.com/Pauan/rust-discard")
+ (synopsis "Allow for intentionally leaking memory")
+ (description "There are situations where you need to intentionally leak some
+memory but not other memory. This package provides a discard trait which allows
+for intentionally leaking memory")
+ (license license:expat)))
+
+(define-public rust-doc-comment
+ (package
+ (name "rust-doc-comment")
+ (version "0.3.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "doc-comment" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "15rsqxgarfpb1yim9sbp9yfgj7p2dq6v51c6bq1a62paii9ylgcj"))))
+ (build-system cargo-build-system)
+ (home-page "https://github.com/GuillaumeGomez/doc-comment")
+ (synopsis "Macro to generate doc comments")
+ (description "This package provides a way to generate doc comments
+from macros.")
+ (license license:expat)))
+
+(define-public rust-dtoa
+ (package
+ (name "rust-dtoa")
+ (version "0.4.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "dtoa" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0phbm7i0dpn44gzi07683zxaicjap5064w62pidci4fhhciv8mza"))))
+ (build-system cargo-build-system)
+ (home-page "https://github.com/dtolnay/dtoa")
+ (synopsis "Fast functions for printing floating-point primitives")
+ (description "This crate provides fast functions for printing
+floating-point primitives to an @code{io::Write}.")
+ (license (list license:asl2.0
+ license:expat))))
+
+(define-public rust-fallible-iterator
+ (package
+ (name "rust-fallible-iterator")
+ (version "0.2.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "fallible-iterator" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1xq759lsr8gqss7hva42azn3whgrbrs2sd9xpn92c5ickxm1fhs4"))))
+ (build-system cargo-build-system)
+ (home-page "https://github.com/sfackler/rust-fallible-iterator")
+ (synopsis "Fallible iterator traits")
+ (description "If the @code{std} or @code{alloc} features are enabled, this
+crate provides implementations for @code{Box}, @code{Vec}, @code{BTreeMap}, and
+@code{BTreeSet}. If the @code{std} feature is enabled, this crate additionally
+provides implementations for @code{HashMap} and @code{HashSet}.")
+ (license (list license:asl2.0
+ license:expat))))
+
+(define-public rust-fnv
+ (package
+ (name "rust-fnv")
+ (version "1.0.6")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "fnv" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1ww56bi1r5b8id3ns9j3qxbi7w5h005rzhiryy0zi9h97raqbb9g"))))
+ (build-system cargo-build-system)
+ (home-page "https://github.com/servo/rust-fnv")
+ (synopsis "implementation of the Fowler-Noll-Vo hash function")
+ (description "The @code{fnv} hash function is a custom @code{Hasher}
+implementation that is more efficient for smaller hash keys.")
+ (license (list license:asl2.0
+ license:expat))))
+
+(define-public rust-fs-extra
+ (package
+ (name "rust-fs-extra")
+ (version "1.1.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "fs_extra" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0x6675wdhsx277k1k1235jwcv38naf20d8kwrk948ds26hh4lajz"))))
+ (build-system cargo-build-system)
+ (home-page "https://github.com/webdesus/fs_extra")
+ (synopsis "Extra filesystem methods")
+ (description "Expanding opportunities standard library @code{std::fs} and
+@code{std::io}. Recursively copy folders with recept information about
+process and much more.")
+ (license license:expat)))
+
+(define-public rust-futures
+ (package
+ (name "rust-futures")
+ (version "0.1.28")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "futures" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0saq8ffjw1pwf1pzhw3kq1z7dfq6wpd8x93dnni6vbkc799kkp25"))))
+ (build-system cargo-build-system)
+ (home-page "https://github.com/rust-lang-nursery/futures-rs")
+ (synopsis "Implementation of zero-cost futures in Rust")
+ (description "An implementation of @code{futures} and @code{streams}
+featuring zero allocations, composability, and iterator-like interfaces.")
+ (license (list license:asl2.0
+ license:expat))))
+
+(define-public rust-hex
+ (package
+ (name "rust-hex")
+ (version "0.3.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "hex" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0xsdcjiik5j750j67zk42qdnmm4ahirk3gmkmcqgq7qls2jjcl40"))))
+ (build-system cargo-build-system)
+ (home-page "https://github.com/KokaKiwi/rust-hex")
+ (synopsis "Encode and decode data to/from hexadecimals")
+ (description "This crate allows for encoding and decoding data into/from
+hexadecimal representation.")
+ (license (list license:asl2.0
+ license:expat))))
+
+(define-public rust-itoa
+ (package
+ (name "rust-itoa")
+ (version "0.4.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "itoa" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0zvg2d9qv3avhf3d8ggglh6fdyw8kkwqg3r4622ly5yhxnvnc4jh"))))
+ (build-system cargo-build-system)
+ (home-page "https://github.com/dtolnay/itoa")
+ (synopsis "Fast functions for printing integer primitives")
+ (description "This crate provides fast functions for printing integer
+primitives to an @code{io::Write}.")
+ (license (list license:asl2.0
+ license:expat))))
+
+(define-public rust-json
+ (package
+ (name "rust-json")
+ (version "0.11.14")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "json" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1hj8c6xj5c2aqqszi8naaflmcdbya1i9byyjrq4iybxjb4q91mq1"))))
+ (build-system cargo-build-system)
+ (home-page "https://github.com/maciejhirsz/json-rust")
+ (synopsis "JSON implementation in Rust")
+ (description "This crate provides a JSON implementation in Rust, reducing
+friction with idiomatic Rust structs to ease interopability.")
+ (license (list license:asl2.0
+ license:expat))))
+
+(define-public rust-maplit
+ (package
+ (name "rust-maplit")
+ (version "1.0.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "maplit" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0hsczmvd6zkqgzqdjp5hfyg7f339n68w83n4pxvnsszrzssbdjq8"))))
+ (build-system cargo-build-system)
+ (home-page "https://github.com/bluss/maplit")
+ (synopsis "Collection of Map macros")
+ (description "This crate provides a collection of @code{literal} macros for
+@code{HashMap}, @code{HashSet}, @code{BTreeMap}, and @code{BTreeSet.}")
+ (license (list license:asl2.0
+ license:expat))))
+
+(define-public rust-matches
+ (package
+ (name "rust-matches")
+ (version "0.1.8")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "matches" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "020axl4q7rk9vz90phs7f8jas4imxal9y9kxl4z4v7a6719mrz3z"))))
+ (build-system cargo-build-system)
+ (home-page "https://github.com/SimonSapin/rust-std-candidates")
+ (synopsis "Macro to evaluate whether an expression matches a pattern.")
+ (description "This package provides a macro to evaluate, as a boolean,
+whether an expression matches a pattern.")
+ (license license:expat)))
+
+(define-public rust-md5
+ (package
+ (name "rust-md5")
+ (version "0.6.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "md5" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "17b2xm4h4cvxsdjsf3kdrzqv2za60kak961xzi5kmw6g6djcssvy"))))
+ (build-system cargo-build-system)
+ (home-page "https://github.com/stainless-steel/md5")
+ (synopsis "MD5 hash function in Rust")
+ (description "The package provides the MD5 hash function.")
+ (license (list license:asl2.0
+ license:expat))))
+
+(define-public rust-peeking-take-while
+ (package
+ (name "rust-peeking-take-while")
+ (version "0.1.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "peeking_take_while" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "16bhqr6rdyrp12zv381cxaaqqd0pwysvm1q8h2ygihvypvfprc8r"))))
+ (build-system cargo-build-system)
+ (home-page "https://github.com/fitzgen/peeking_take_while")
+ (synopsis "Provides the peeking_take_while iterator adaptor method")
+ (description
+ "Like @code{Iterator::take_while}, but calls the predicate on a peeked
+value. This allows you to use @code{Iterator::by_ref} and
+@code{Iterator::take_while} together, and still get the first value for which
+the @code{take_while} predicate returned false after dropping the @code{by_ref}.")
+ (license (list license:asl2.0
+ license:expat))))
+
+(define-public rust-percent-encoding
+ (package
+ (name "rust-percent-encoding")
+ (version "2.0.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "percent-encoding" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0m6rkp3iy11la04p6z3492rns6n693pvmx585dvfmzzlzak2hkxs"))))
+ (build-system cargo-build-system)
+ (home-page "https://github.com/servo/rust-url/")
+ (synopsis "Percent encoding and decoding")
+ (description "This crate provides percent encoding and decoding.")
+ (license (list license:asl2.0
+ license:expat))))
+
+(define-public rust-pin-utils
+ (package
+ (name "rust-pin-utils")
+ (version "0.1.0-alpha.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "pin-utils" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "11xmyx00n4m37d546by2rxb8ryxs12v55cc172i3yak1rqccd52q"))))
+ (build-system cargo-build-system)
+ (home-page "https://github.com/rust-lang-nursery/pin-utils")
+ (synopsis "Utilities for pinning")
+ (description "This crate provides utilities for pinning values on the stack.")
+ (license (list license:asl2.0
+ license:expat))))
+
+(define-public rust-plain
+ (package
+ (name "rust-plain")
+ (version "0.2.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "plain" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "19n1xbxb4wa7w891268bzf6cbwq4qvdb86bik1z129qb0xnnnndl"))))
+ (build-system cargo-build-system)
+ (home-page "https://github.com/randomites/plain")
+ (synopsis "Rust library that allows reinterpreting data safely")
+ (description "This package provides a small Rust library that allows users
+ to reinterpret data of certain types safely.")
+ (license (list license:asl2.0
+ license:expat))))
+
+(define-public rust-pocket-resources
+ (package
+ (name "rust-pocket-resources")
+ (version "0.3.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "pocket-resources" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1n2i5vmi8fdbw89wm5nz1ws1z9f1qax911p6ksg4scmdg23z6df1"))))
+ (build-system cargo-build-system)
+ (home-page "https://github.com/tomaka/pocket-resources")
+ (synopsis "Include resources in your applications")
+ (description "This crate allows you to include resources in your
+applications.")
+ (license license:expat)))
+
+(define-public rust-ppv-lite86
+ (package
+ (name "rust-ppv-lite86")
+ (version "0.2.5")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "ppv-lite86" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "06snnv338w341nicfqba2jgln5dsla72ndkgrw7h1dfdb3vgkjz3"))))
+ (build-system cargo-build-system)
+ (home-page "https://github.com/cryptocorrosion/cryptocorrosion")
+ (synopsis "Implementation of the crypto-simd API for x86")
+ (description "This crate provides an implementation of the crypto-simd API
+for x86.")
+ (license (list license:asl2.0
+ license:expat))))
(define-public rust-proc-macro2
(package
@@ -69,6 +516,26 @@ in terms of the upstream unstable API.")
;; Dual licensed.
(license (list license:asl2.0 license:expat))))
+(define-public rust-quick-error
+ (package
+ (name "rust-quick-error")
+ (version "1.2.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "quick-error" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1w6kgwwv7p7zr0yyg5rb315lkk24bimywklwx7fsvsbwi10bjx4j"))))
+ (build-system cargo-build-system)
+ (home-page "http://github.com/tailhook/quick-error")
+ (synopsis "Macro which makes error types pleasant to write")
+ (description "This crate provides a macro which makes error types pleasant
+to write.")
+ (license (list license:asl2.0
+ license:expat))))
+
(define-public rust-quote
(package
(name "rust-quote")
@@ -90,3 +557,396 @@ in terms of the upstream unstable API.")
(description "Quasi-quoting macro quote!(...)")
;; Dual licensed.
(license (list license:asl2.0 license:expat))))
+
+(define-public rust-rustc-std-workspace-core
+ (package
+ (name "rust-rustc-std-workspace-core")
+ (version "1.0.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "rustc-std-workspace-core" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1309xhwyai9xpz128xrfjqkmnkvgjwddznmj7brbd8i8f58zamhr"))))
+ (build-system cargo-build-system)
+ (home-page "https://crates.io/crates/rustc-std-workspace-core")
+ (synopsis "Explicitly empty crate for rust-lang/rust integration")
+ (description "This crate provides an explicitly empty crate for
+rust-lang/rust integration.")
+ (license (list license:asl2.0
+ license:expat))))
+
+(define-public rust-scoped-tls
+ (package
+ (name "rust-scoped-tls")
+ (version "1.0.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "scoped-tls" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1hj8lifzvivdb1z02lfnzkshpvk85nkgzxsy2hc0zky9wf894spa"))))
+ (build-system cargo-build-system)
+ (home-page "https://github.com/alexcrichton/scoped-tls")
+ (synopsis "Rust library providing the old standard library's scoped_thread_local")
+ (description "This crate provides a library implementation of the standard
+library's old @code{scoped_thread_local!} macro for providing scoped access to
+@dfn{thread local storage} (TLS) so any type can be stored into TLS.")
+ (license (list license:asl2.0
+ license:expat))))
+
+(define-public rust-scopeguard
+ (package
+ (name "rust-scopeguard")
+ (version "1.0.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "scopeguard" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "03aay84r1f6w87ckbpj6cc4rnsxkxcfs13n5ynxjia0qkgjiabml"))))
+ (build-system cargo-build-system)
+ (home-page "https://github.com/bluss/scopeguard")
+ (synopsis "Scope guard which will run a closure even out of scope")
+ (description "This package provides a RAII scope guard that will run a
+given closure when it goes out of scope, even if the code between panics
+(assuming unwinding panic). Defines the macros @code{defer!},
+@code{defer_on_unwind!}, @code{defer_on_success!} as shorthands for guards
+with one of the implemented strategies.")
+ (license (list license:asl2.0
+ license:expat))))
+
+(define-public rust-semver-parser
+ (package
+ (name "rust-semver-parser")
+ (version "0.9.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "semver-parser" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1ahqhvgpzhcsd28id7xnrjv4419i9yyalhm7d7zi430qx0hi2vml"))))
+ (build-system cargo-build-system)
+ (home-page "https://github.com/steveklabnik/semver-parser")
+ (synopsis "Parsing of the semver spec")
+ (description "This package provides for parsing of the semver spec.")
+ (license (list license:asl2.0
+ license:expat))))
+
+(define-public rust-shlex
+ (package
+ (name "rust-shlex")
+ (version "0.1.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "shlex" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1lmv6san7g8dv6jdfp14m7bdczq9ss7j7bgsfqyqjc3jnjfippvz"))))
+ (build-system cargo-build-system)
+ (home-page "https://github.com/comex/rust-shlex")
+ (synopsis "Split a string into shell words, like Python's shlex")
+ (description "This crate provides a method to split a string into shell
+words, like Python's shlex.")
+ (license (list license:asl2.0
+ license:expat))))
+
+(define-public rust-slab
+ (package
+ (name "rust-slab")
+ (version "0.4.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "slab" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1y59xsa27jk84sxzswjk60xcjf8b4fm5960jwpznrrcmasyva4f1"))))
+ (build-system cargo-build-system)
+ (home-page "https://github.com/carllerche/slab")
+ (synopsis "Pre-allocated storage for a uniform data type")
+ (description "This create provides a pre-allocated storage for a uniform
+data type.")
+ (license license:expat)))
+
+(define-public rust-spin
+ (package
+ (name "rust-spin")
+ (version "0.5.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "spin" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0m9clchsj0rf13bggsgvbv9haiy0f6rhvnvkpvkk8720a5pkydj4"))))
+ (build-system cargo-build-system)
+ (home-page "https://github.com/mvdnes/spin-rs.git")
+ (synopsis "Synchronization primitives based on spinning")
+ (description "This crate provides synchronization primitives based on
+spinning. They may contain data, are usable without @code{std},and static
+initializers are available.")
+ (license license:expat)))
+
+(define-public rust-stdweb-internal-runtime
+ (package
+ (name "rust-stdweb-internal-runtime")
+ (version "0.1.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "stdweb-internal-runtime" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1nhpyra7glbwcpakhpj5a3d7h7kx1ynif473nzshmk226m91f8ym"))))
+ (build-system cargo-build-system)
+ (home-page "https://github.com/koute/stdweb")
+ (synopsis "Internal runtime for the @code{stdweb} crate")
+ (description "This crate provides internal runtime for the @code{stdweb}
+crate.")
+ (license (list license:asl2.0
+ license:expat))))
+
+(define-public rust-strsim
+ (package
+ (name "rust-strsim")
+ (version "0.9.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "strsim" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1xphwhf86yxxmcpvm4mikj8ls41f6nf7gqyjm98b74mfk81h6b03"))))
+ (build-system cargo-build-system)
+ (home-page "https://github.com/dguo/strsim-rs")
+ (synopsis "Rust implementations of string similarity metrics")
+ (description "This crate includes implementations of string similarity
+metrics. It includes Hamming, Levenshtein, OSA, Damerau-Levenshtein, Jaro,
+and Jaro-Winkler.")
+ (license license:expat)))
+
+(define-public rust-synstructure-test-traits
+ (package
+ (name "rust-synstructure-test-traits")
+ (version "0.1.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "synstructure_test_traits" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1b3fs2b9kc1gy9dilaxqjbdl4z0mlrbbxjzkprdx953rif1c3q66"))))
+ (build-system cargo-build-system)
+ (home-page "https://crates.io/crates/synstructure_test_traits")
+ (synopsis "Helper test traits for synstructure doctests")
+ (description
+ "This package provides helper test traits for synstructure doctests.")
+ (license license:expat)))
+
+(define-public rust-typenum
+ (package
+ (name "rust-typenum")
+ (version "1.10.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "typenum" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0sc1jirllfhdi52z1xv9yqzxzpk6v7vadd13n7wvs1wnjipn6bb1"))))
+ (build-system cargo-build-system)
+ (home-page "https://github.com/paholg/typenum")
+ (synopsis "Rust library for type-level numbers evaluated at compile time")
+ (description "Typenum is a Rust library for type-level numbers evaluated at
+compile time. It currently supports bits, unsigned integers, and signed
+integers. It also provides a type-level array of type-level numbers, but its
+implementation is incomplete.")
+ (license (list license:asl2.0
+ license:expat))))
+
+(define-public rust-ucd-util
+ (package
+ (name "rust-ucd-util")
+ (version "0.1.5")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "ucd-util" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0x088q5z0m09a2jqcfgsnq955y8syn1mgn35cl78qinkxm4kp6zs"))))
+ (build-system cargo-build-system)
+ (home-page "https://github.com/BurntSushi/ucd-generate")
+ (synopsis "library for working with the Unicode character database")
+ (description "This package provides a small utility library for working
+with the Unicode character database.")
+ (license (list license:asl2.0
+ license:expat))))
+
+(define-public rust-unicode-width
+ (package
+ (name "rust-unicode-width")
+ (version "0.1.5")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "unicode-width" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "09k5lipygardwy0660jhls08fsgknrazzivmn804gps53hiqc8w8"))))
+ (build-system cargo-build-system)
+ (home-page "https://github.com/unicode-rs/unicode-width")
+ (synopsis "Determine displayed width according to Unicode rules")
+ (description "This crate allows you to determine displayed width of
+@code{char} and @code{str} types according to Unicode Standard Annex #11 rules.")
+ (license (list license:asl2.0
+ license:expat))))
+
+(define-public rust-unicode-xid
+ (package
+ (name "rust-unicode-xid")
+ (version "0.1.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "unicode-xid" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1z57lqh4s18rr4x0j4fw4fmp9hf9346h0kmdgqsqx0fhjr3k0wpw"))))
+ (build-system cargo-build-system)
+ (home-page
+ "https://github.com/unicode-rs/unicode-xid")
+ (synopsis "Determine Unicode XID related properties")
+ (description "Determine whether characters have the XID_Start
+or XID_Continue properties according to Unicode Standard Annex #31.")
+ ;; Dual licensed.
+ (license (list license:asl2.0 license:expat))))
+
+(define-public rust-unindent
+ (package
+ (name "rust-unindent")
+ (version "0.1.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "unindent" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1x21ilf78aqcq9xzb9b7i628wm10rhk0jp0chlv06rkc690l8jw3"))))
+ (build-system cargo-build-system)
+ (home-page "https://github.com/dtolnay/indoc")
+ (synopsis "Remove a column of leading whitespace from a string")
+ (description "This crate allows you to remove a column of leading
+whitespace from a string.")
+ (license (list license:asl2.0
+ license:expat))))
+
+(define-public rust-wasm-bindgen-shared
+ (package
+ (name "rust-wasm-bindgen-shared")
+ (version "0.2.48")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "wasm-bindgen-shared" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "08rnfhjyk0f6liv8n4rdsvhx7r02glkhcbj2lp9lcbkbfpad9hnr"))))
+ (build-system cargo-build-system)
+ (home-page "https://rustwasm.github.io/wasm-bindgen/")
+ (synopsis "Shared support between wasm-bindgen and wasm-bindgen cli")
+ (description "This package provides shared support between
+@code{wasm-bindgen} and @code{wasm-bindgen} cli, an internal dependency.")
+ (license (list license:asl2.0
+ license:expat))))
+
+(define-public rust-winapi
+ (package
+ (name "rust-winapi")
+ (version "0.3.7")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "winapi" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0w7pbhcl087lkggxdflfp2i92rq89ahsfdkjkv44fgmiy9m3h3pi"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-winapi-i686-pc-windows-gnu"
+ ,rust-winapi-i686-pc-windows-gnu)
+ ("rust-winapi-x86-64-pc-windows-gnu"
+ ,rust-winapi-x86-64-pc-windows-gnu))))
+ (home-page "https://github.com/retep998/winapi-rs")
+ (synopsis "Raw FFI bindings for all of Windows API.")
+ (description
+ "Raw FFI bindings for all of Windows API.")
+ (license (list license:asl2.0
+ license:expat))))
+
+(define-public rust-winapi-i686-pc-windows-gnu
+ (package
+ (name "rust-winapi-i686-pc-windows-gnu")
+ (version "0.4.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "winapi-i686-pc-windows-gnu" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1dmpa6mvcvzz16zg6d5vrfy4bxgg541wxrcip7cnshi06v38ffxc"))))
+ (build-system cargo-build-system)
+ (home-page "https://github.com/retep998/winapi-rs")
+ (synopsis "Import libraries for the i686-pc-windows-gnu target")
+ (description "This crate provides import libraries for the
+i686-pc-windows-gnu target. Please don't use this crate directly, depend on
+@code{winapi} instead.")
+ (license (list license:asl2.0
+ license:expat))))
+
+(define-public rust-winapi-x86-64-pc-windows-gnu
+ (package
+ (name "rust-winapi-x86-64-pc-windows-gnu")
+ (version "0.4.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "winapi-x86_64-pc-windows-gnu" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0gqq64czqb64kskjryj8isp62m2sgvx25yyj3kpc2myh85w24bki"))))
+ (build-system cargo-build-system)
+ (home-page "https://github.com/retep998/winapi-rs")
+ (synopsis "Import libraries for the x86_64-pc-windows-gnu target")
+ (description "This package provides import libraries for the
+x86_64-pc-windows-gnu target. Please don't use this crate directly, depend on
+@code{winapi} instead.")
+ (license (list license:asl2.0
+ license:expat))))
diff --git a/gnu/packages/cups.scm b/gnu/packages/cups.scm
index b87203cab6..467aa5d84c 100644
--- a/gnu/packages/cups.scm
+++ b/gnu/packages/cups.scm
@@ -57,7 +57,7 @@
(define-public cups-filters
(package
(name "cups-filters")
- (version "1.25.0")
+ (version "1.25.1")
(source(origin
(method url-fetch)
(uri
@@ -65,7 +65,7 @@
"cups-filters-" version ".tar.xz"))
(sha256
(base32
- "1laiscq8yvynw862calkgbz9irrdkmd5l821q6a6wik1ifd186c1"))
+ "0nlq44jnjcnrbdv0dv5myg5kaycmk6a4klynpvj65xvn3l9cq28s"))
(modules '((guix build utils)))
(snippet
;; install backends, banners and filters to cups-filters output
diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm
index 26f7bb8f73..771981fb19 100644
--- a/gnu/packages/databases.scm
+++ b/gnu/packages/databases.scm
@@ -132,12 +132,13 @@
(name "4store")
(version "1.1.6")
(source (origin
- (method url-fetch)
- (uri (string-append "https://github.com/4store/4store/archive/v"
- version ".tar.gz"))
- (file-name (string-append name "-" version ".tar.gz"))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/4store/4store.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
(sha256
- (base32 "004fmcf1w75zhc1x3zc6kc97j4jqn2v5nhk6yb3z3cpfrhzi9j50"))
+ (base32 "1kzdfmwpzy64cgqlkcz5v4klwx99w0jk7afckyf7yqbqb4rydmpk"))
(patches (search-patches "4store-unset-preprocessor-directive.patch"
"4store-fix-buildsystem.patch"))))
(build-system gnu-build-system)
@@ -160,12 +161,6 @@
("cyrus-sasl" ,cyrus-sasl)
("openssl" ,openssl)
("util-linux" ,util-linux)))
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'generate-configure
- (lambda _
- (invoke "sh" "autogen.sh"))))))
;; http://www.4store.org has been down for a while now.
(home-page "https://github.com/4store/4store")
(synopsis "Clustered RDF storage and query engine")
@@ -616,15 +611,15 @@ Language.")
(define-public mariadb
(package
(name "mariadb")
- (version "10.1.40")
+ (version "10.1.41")
(source (origin
(method url-fetch)
- (uri (string-append "https://downloads.mariadb.org/f/"
- name "-" version "/source/"
- name "-" version ".tar.gz"))
+ (uri (string-append "https://downloads.mariadb.com/MariaDB"
+ "/mariadb-" version "/source/mariadb-"
+ version ".tar.gz"))
(sha256
(base32
- "19375bnq0yg52kqh6cy00s5rglcxdrs5bb2hy7dqv2xqa9z7lxci"))
+ "1wh0073lqw3d9xs150bf2q3qvjwa6886mfi9khmsn7p8vapw6irb"))
(patches (search-patches "mariadb-client-test-32bit.patch"))
(modules '((guix build utils)))
(snippet
@@ -806,14 +801,14 @@ as a drop-in replacement of MySQL.")
(define-public postgresql
(package
(name "postgresql")
- (version "10.9")
+ (version "10.10")
(source (origin
(method url-fetch)
(uri (string-append "https://ftp.postgresql.org/pub/source/v"
version "/postgresql-" version ".tar.bz2"))
(sha256
(base32
- "0m0gbf7nwgag6a1z5f9xszwzgf2xhx0ncakyxwxlzs87n1zk32wm"))
+ "0lzj46dwd9cw94gnqm36bxd7jlhfdyqjrfzr3c4xd3prfn2rnkxd"))
(patches (search-patches "postgresql-disable-resolve_symlinks.patch"))))
(build-system gnu-build-system)
(arguments
@@ -853,27 +848,27 @@ pictures, sounds, or video.")
(package
(inherit postgresql)
(name "postgresql")
- (version "11.4")
+ (version "11.5")
(source (origin
(method url-fetch)
(uri (string-append "https://ftp.postgresql.org/pub/source/v"
version "/postgresql-" version ".tar.bz2"))
(sha256
(base32
- "12ycjlqncijgmd5z078ybwda8ilas96lc7nxxmdq140mzpgjv002"))))))
+ "106ikalvrilihlvhq7xj7snq98hgbgq6qsgjrd252wgw1c327pvz"))))))
(define-public postgresql-9.6
(package
(inherit postgresql)
(name "postgresql")
- (version "9.6.14")
+ (version "9.6.15")
(source (origin
(method url-fetch)
(uri (string-append "https://ftp.postgresql.org/pub/source/v"
version "/postgresql-" version ".tar.bz2"))
(sha256
(base32
- "08hsqczy1ixkjyf2vr3s9x69agfz9yr8lh31fir4z0dfr5jw421z"))))))
+ "02hp69h2p02asfblkaahblzdz2zmawd2r11h6237y5j7yadgxn9w"))))))
(define-public python-pymysql
(package
diff --git a/gnu/packages/docbook.scm b/gnu/packages/docbook.scm
index 1e5379b020..d114e24ee7 100644
--- a/gnu/packages/docbook.scm
+++ b/gnu/packages/docbook.scm
@@ -195,7 +195,7 @@ by no means limited to these applications.) This package provides XML DTDs.")
(build-system python-build-system)
;; TODO: Add xfig/transfig for fig2dev utility
(inputs
- `(("texlive" ,(texlive-union (list texlive-latex-amsfonts
+ `(("texlive" ,(texlive-union (list texlive-amsfonts
texlive-latex-anysize
texlive-latex-appendix
texlive-latex-changebar
@@ -219,7 +219,6 @@ by no means limited to these applications.) This package provides XML DTDs.")
texlive-latex-url
texlive-latex-wasysym
- texlive-fonts-amsfonts
texlive-fonts-ec
texlive-fonts-rsfs
texlive-fonts-stmaryrd
diff --git a/gnu/packages/docker.scm b/gnu/packages/docker.scm
index 18e7bea724..94cfa2bdb7 100644
--- a/gnu/packages/docker.scm
+++ b/gnu/packages/docker.scm
@@ -63,12 +63,13 @@
(arguments '(#:tests? #f))
(inputs
`(("python-requests" ,python-requests-2.20)
- ("python-docker-pycreds" ,python-docker-pycreds)
("python-ipaddress" ,python-ipaddress)
- ("python-paramiko" ,python-paramiko)
("python-six" ,python-six)
("python-urllib3" ,python-urllib3-1.24)
("python-websocket-client" ,python-websocket-client)))
+ (propagated-inputs
+ `(("python-docker-pycreds" ,python-docker-pycreds)
+ ("python-paramiko" ,python-paramiko))) ; adds SSH support
(home-page "https://github.com/docker/docker-py/")
(synopsis "Python client for Docker")
(description "Docker-Py is a Python client for the Docker container
@@ -113,17 +114,11 @@ client.")
;; TODO: Tests require running Docker daemon.
(arguments '(#:tests? #f))
(inputs
- `(("python2-backport-ssl-match-hostname"
- ,python2-backport-ssl-match-hostname)
- ("python-cached-property"
+ `(("python-cached-property"
,python-cached-property)
- ("python-colorama" ,python-colorama)
("python-docker-py" ,python-docker-py)
- ("python-docker-pycreds" ,python-docker-pycreds)
("python-dockerpty" ,python-dockerpty)
("python-docopt" ,python-docopt)
- ("python-ipaddress" ,python-ipaddress)
- ("python-paramiko" ,python-paramiko)
("python-jsonschema" ,python-jsonschema-2.6)
("python-pyyaml" ,python-pyyaml)
("python-requests" ,python-requests-2.20)
@@ -586,6 +581,9 @@ provisioning etc.")
;; information, and the DWARF symbol table.
(setenv "LDFLAGS" "-s -w")
+ ;; Make sure "docker -v" prints a usable version string.
+ (setenv "VERSION" ,%docker-version)
+
;; Make build reproducible.
(setenv "BUILDTIME" "1970-01-01 00:00:01.000000000+00:00")
(symlink "src/github.com/docker/cli/scripts" "./scripts")
diff --git a/gnu/packages/education.scm b/gnu/packages/education.scm
index 4b1563efb6..70e7c8331b 100644
--- a/gnu/packages/education.scm
+++ b/gnu/packages/education.scm
@@ -251,7 +251,7 @@ easy.")
(define-public snap
(package
(name "snap")
- (version "5.0.4")
+ (version "5.0.8")
(source
(origin
(method git-fetch)
@@ -261,7 +261,7 @@ easy.")
(file-name (git-file-name name version))
(sha256
(base32
- "1zdypxifvxjkzhi4n9mkck8l419wc0pg103339yzhsbb9kkd3jlr"))))
+ "0fwfssdgv3mfzyv8hw1a1z5ky1yn0p59kyl6l9fxsm4w2ckgyizd"))))
(build-system trivial-build-system)
(arguments
`(#:modules ((guix build utils))
diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 303a807e69..886307d02b 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -51,6 +51,7 @@
;;; Copyright © 2019 Baptiste Strazzulla <bstrazzull@hotmail.fr>
;;; Copyright © 2019 Giacomo Leidi <goodoldpaul@autitici.org>
;;; Copyright © 2019 Jens Mølgaard <jens@zete.tk>
+;;; Copyright © 2019 Amin Bandali <bandali@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -876,7 +877,7 @@ in certain cases. It also enables recursion for anonymous functions.")
(define-public emacs-xr
(package
(name "emacs-xr")
- (version "1.12")
+ (version "1.13")
(source
(origin
(method url-fetch)
@@ -884,7 +885,7 @@ in certain cases. It also enables recursion for anonymous functions.")
"https://elpa.gnu.org/packages/xr-" version ".tar"))
(sha256
(base32
- "1vv87h0h8ldc1mbsn45w5z1m6jq8j2js4xz23a9ixdby06g60y3g"))))
+ "1km4x92pii8c4bcimks4xzhmwpypdf183z0zh7raj062jz4jb74r"))))
(build-system emacs-build-system)
(home-page "http://elpa.gnu.org/packages/xr.html")
(synopsis "Convert string regexp to rx notation")
@@ -929,7 +930,7 @@ optional minor mode which can apply this command automatically on save.")
(define-public emacs-relint
(package
(name "emacs-relint")
- (version "1.8")
+ (version "1.10")
(source
(origin
(method url-fetch)
@@ -937,7 +938,7 @@ optional minor mode which can apply this command automatically on save.")
"https://elpa.gnu.org/packages/relint-" version ".el"))
(sha256
(base32
- "1bl6m2h7131acbmr0kqfnjjpv2syiv2mxfnm61g874ynnvkmmkm3"))))
+ "1l0lh4pkksw7brmhhbaikwzs4zkgd2962ks1zy7m262dvkhxjfv8"))))
(build-system emacs-build-system)
(propagated-inputs `(("emacs-xr" ,emacs-xr)))
(home-page "https://github.com/mattiase/relint")
@@ -2473,7 +2474,7 @@ column by drawing a thin line down the length of the editing window.")
(define-public emacs-inf-ruby
(package
(name "emacs-inf-ruby")
- (version "2.5.1")
+ (version "2.5.2")
(source
(origin
(method git-fetch)
@@ -2482,7 +2483,7 @@ column by drawing a thin line down the length of the editing window.")
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "1r452h6cyypqlc59q8dx5smkwhck4qjcg1pf9qdw539cpva5q77z"))))
+ (base32 "0a1hhvfbl6mq8rjsi77fg9fh5a91hi5scjrg9rjqc5ffbql67y0v"))))
(build-system emacs-build-system)
(home-page "https://github.com/nonsequitur/inf-ruby")
(synopsis "Provides a REPL buffer connected to a Ruby subprocess in Emacs")
@@ -3389,6 +3390,76 @@ for the current function or variable in the minibuffer.")
completion candidate when using the Company text completion framework.")
(license license:gpl3+)))
+(define-public emacs-math-symbol-lists
+ (let ((commit "dc7531cff0c845d5470a50c24d5d7309b2ced7eb")
+ (revision "1"))
+ (package
+ (name "emacs-math-symbol-lists")
+ (version (git-version "1.2.1" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/vspinu/math-symbol-lists.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "094m21i9rns6m59cmhxcivxxafbg52w8f8na4y3v47aq67zmhhqm"))))
+ (build-system emacs-build-system)
+ (home-page "https://github.com/vspinu/math-symbol-lists")
+ (synopsis "Lists of Unicode math symbols and @code{LaTeX} commands")
+ (description "This is a storage package used by completion engines like
+@code{company-math}.")
+ (license license:gpl3+))))
+
+(define-public emacs-company-math
+ (let ((commit "600e49449644f6835f9dc3501bc58461999e8ab9")
+ (revision "1"))
+ (package
+ (name "emacs-company-math")
+ (version (git-version "1.3" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/vspinu/company-math.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1ps2lpkzn8mjbpcbvvy1qz3xbgrh6951x8y9bsd1fm32drdph9lh"))))
+ (build-system emacs-build-system)
+ (propagated-inputs
+ `(("emacs-math-symbol-lists" ,emacs-math-symbol-lists)
+ ("emacs-company" ,emacs-company)))
+ (home-page "https://github.com/vspinu/company-math")
+ (synopsis "Completion backends for Unicode math symbols and @code{LaTeX} tags")
+ (description "This package provides a backend for use with
+@code{company-mode} allowing for completion of common math symbols.")
+ (license license:gpl3+))))
+
+(define-public emacs-nswbuff
+ (let ((commit "362da7f3687e2eb5bb11667347de85f4a9d002bc")
+ (revision "1"))
+ (package
+ (name "emacs-nswbuff")
+ (version (git-version "1.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/joostkremers/nswbuff.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0l2xfz8z5qd4hz3kv6zn7h6qq3narkilri8a071y1n8j31jps4ma"))))
+ (build-system emacs-build-system)
+ (home-page "https://github.com/joostkremers/nswbuff")
+ (synopsis "Quickly switch between buffers")
+ (description "This package allows for navigating between buffers within
+a customizable list.")
+ (license license:gpl3+))))
+
(define-public emacs-multiple-cursors
(package
(name "emacs-multiple-cursors")
@@ -3410,6 +3481,32 @@ completion candidate when using the Company text completion framework.")
simultaneous cursors.")
(license license:gpl3+)))
+(define-public emacs-mc-extras
+ (let ((commit "053abc52181b8718559d7361a587bbb795faf164")
+ (revision "1"))
+ (package
+ (name "emacs-mc-extras")
+ (version (git-version "1.2.4" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/knu/mc-extras.el.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "16y48qrd20m20vypvys5jp4v4gc1qrqlkm75s1pk1r68i9zrw481"))))
+ (build-system emacs-build-system)
+ (propagated-inputs
+ `(("emacs-multiple-cursors" ,emacs-multiple-cursors)))
+ (home-page "https://github.com/knu/mc-extras.el")
+ (synopsis "Extra functions for manipulating multiple cursors")
+ (description
+ "This package provides additional functions for
+@code{multiple-cursors}, including functions for marking s-expressions,
+comparing characters, removing cursors, and more.")
+ (license license:bsd-2))))
+
(define-public emacs-typo
(package
(name "emacs-typo")
@@ -4011,6 +4108,38 @@ minutes is started automatically. Every 4 breaks a long break is
started with 20 minutes. All values are customizable.")
(license license:gpl3+)))
+(define-public emacs-org-sidebar
+ (let ((commit "74ca98b9920f3de3f13d49866581435e1ec63ec5")
+ (revision "1"))
+ (package
+ (name "emacs-org-sidebar")
+ (version (git-version "0.1" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/alphapapa/org-sidebar.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "03p1ndyw2qp2skib5hszc4xyh84w7p2mhkd4a9dy6qv8q47xpsqn"))))
+ (build-system emacs-build-system)
+ (propagated-inputs
+ `(("emacs-dash" ,emacs-dash)
+ ("emacs-org-super-agenda" ,emacs-org-super-agenda)
+ ("emacs-org" ,emacs-org)
+ ("emacs-org-ql" ,emacs-org-ql)
+ ("emacs-s" ,emacs-s)))
+ (home-page "https://github.com/alphapapa/org-sidebar")
+ (synopsis "Helpful sidebar for Org buffers")
+ (description "This package provides a sidebar for Org buffers. At the
+top is a chronological list of scheduled and deadlined tasks in the current
+buffer (similar to the Org agenda ,but without all its features), and below
+that is a list of all other non-done to-do items. If the buffer is narrowed,
+the sidebar only shows items in the narrowed portion; this allows seeing an
+overview of tasks in a subtree.")
+ (license license:gpl3+))))
+
(define-public emacs-org-trello
(package
(name "emacs-org-trello")
@@ -4604,45 +4733,50 @@ automatically.")
(license license:gpl3+)))
(define-public emacs-ivy
- (package
- (name "emacs-ivy")
- (version "0.12.0")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/abo-abo/swiper.git")
- (commit version)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "0xgngn3jhmyn6mlkk9kmgfgh0w5i50b27syr4cgfgarg6p77j05w"))))
- (build-system emacs-build-system)
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-after 'install 'install-doc
- (lambda* (#:key outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (info (string-append out "/share/info")))
- (with-directory-excursion "doc"
- (invoke "makeinfo" "ivy.texi")
- (install-file "ivy.info" info)
- #t)))))))
- (propagated-inputs
- `(("emacs-hydra" ,emacs-hydra)))
- (native-inputs
- `(("texinfo" ,texinfo)))
- (home-page "http://oremacs.com/swiper/")
- (synopsis "Incremental vertical completion for Emacs")
- (description
- "This package provides @code{ivy-read} as an alternative to
+ ;; The latest release version introduced a new feature, swiper-isearch, that
+ ;; generally works well but had some noticeable bugs; this later commit
+ ;; includes fixes for several of them.
+ (let ((commit "d3e4514fd72f217c704ae18afdf711bb9036a04d")
+ (revision "1"))
+ (package
+ (name "emacs-ivy")
+ (version (git-version "0.12.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/abo-abo/swiper.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "142axxc6vsl14cfyvzj9csiykxdn7vhw88fy955hzx7av4qfqg4x"))))
+ (build-system emacs-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'install 'install-doc
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (info (string-append out "/share/info")))
+ (with-directory-excursion "doc"
+ (invoke "makeinfo" "ivy.texi")
+ (install-file "ivy.info" info)
+ #t)))))))
+ (propagated-inputs
+ `(("emacs-hydra" ,emacs-hydra)))
+ (native-inputs
+ `(("texinfo" ,texinfo)))
+ (home-page "http://oremacs.com/swiper/")
+ (synopsis "Incremental vertical completion for Emacs")
+ (description
+ "This package provides @code{ivy-read} as an alternative to
@code{completing-read} and similar functions. No attempt is made to determine
the best candidate. Instead, the user can navigate candidates with
@code{ivy-next-line} and @code{ivy-previous-line}. The matching is done by
splitting the input text by spaces and re-building it into a regular
expression.")
- (license license:gpl3+)))
+ (license license:gpl3+))))
(define-public emacs-ivy-pass
(let ((commit "5b523de1151f2109fdd6a8114d0af12eef83d3c5")
@@ -5228,7 +5362,7 @@ strings, and code folding.")
(define-public emacs-nodejs-repl
(package
(name "emacs-nodejs-repl")
- (version "0.2.1")
+ (version "0.2.2")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -5237,7 +5371,7 @@ strings, and code folding.")
(file-name (git-file-name name version))
(sha256
(base32
- "05ccv87rnw7fss3lib8m9sywjrj6n92fnd7mmhmjh27g2klqc83z"))))
+ "1kkj888k9x5n0i7xkia177gzsa84my3g8n0n7v65281cc4f1yhk5"))))
(build-system emacs-build-system)
(home-page "https://github.com/abicky/nodejs-repl.el")
(synopsis "Node.js REPL inside Emacs")
@@ -5580,28 +5714,35 @@ environments (virtualenv) inside Emacs.")
(license license:gpl3+)))
(define-public emacs-highlight-indentation
- (package
- (name "emacs-highlight-indentation")
- (version "0.7.0")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/antonj/Highlight-Indentation-for-Emacs.git")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "00l54k75qk24a0znzl4ij3s3nrnr2wy9ha3za8apphzlm98m907k"))))
- (build-system emacs-build-system)
- (home-page "https://github.com/antonj/Highlight-Indentation-for-Emacs/")
- (synopsis "Highlighting indentation for Emacs")
- (description "Provides two minor modes to highlight indentation guides in Emacs:
+ ;; Last release version is from 2015.
+ (let ((commit "d03803f2c06749c430443a3d24e039cbafc9c58f")
+ (revision "1"))
+ (package
+ (name "emacs-highlight-indentation")
+ (version (git-version "0.7.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/antonj/Highlight-Indentation-for-Emacs.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1jq0gf4kcx9hvrw40rnw5c2qynjpjw1vsjbi2i4lqjbsnfnxn4wz"))))
+ (build-system emacs-build-system)
+ (home-page "https://github.com/antonj/Highlight-Indentation-for-Emacs/")
+ (synopsis "Highlighting indentation for Emacs")
+ (description "This package provides two minor modes to highlight
+indentation guides in Emacs:
+
@enumerate
@item @code{highlight-indentation-mode}, which displays guidelines
-indentation (space indentation only).
-@item @code{highlight-indentation-current-column-mode}, which displays guidelines for the current-point indentation (space indentation only).
+ indentation (space indentation only).
+@item @code{highlight-indentation-current-column-mode}, which displays
+ guidelines for the current-point indentation (space indentation only).
@end enumerate")
- (license license:gpl2+)))
+ (license license:gpl2+))))
(define-public emacs-elpy
(package
@@ -5931,7 +6072,7 @@ ack, ag, helm and pt.")
(define-public emacs-helm
(package
(name "emacs-helm")
- (version "3.2")
+ (version "3.3")
(source
(origin
(method git-fetch)
@@ -5940,7 +6081,7 @@ ack, ag, helm and pt.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "12yyprpgh2by2pd41i4z9gz55fxg0f90x03bfrsf791xwbhf6931"))))
+ (base32 "0fqhw7r9fcsja5d3pgbipw7pkw9nj534faav6hi45413hc3gyv92"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-async" ,emacs-async)
@@ -6119,21 +6260,21 @@ xref, etc...) are still available, but with better integration.")
(license license:gpl3+))))
(define-public emacs-lua-mode
- (let ((commit "652e299cb967fccca827dda381d61a9c144d97de")
- (revision "1"))
+ (let ((commit "95c64bb5634035630e8c59d10d4a1d1003265743")
+ (revision "2"))
(package
(name "emacs-lua-mode")
- (version (string-append "20151025." revision "-" (string-take commit 9)))
+ (version (git-version "20151025" revision commit))
(home-page "https://github.com/immerrr/lua-mode/")
(source (origin
(method git-fetch)
(uri (git-reference
(url home-page)
(commit commit)))
- (file-name (string-append name "-" version ".checkout"))
+ (file-name (git-file-name name version))
(sha256
(base32
- "053025k930wh0lak6rc1973ynfrmm8zsyzfqhhd39x7abkl41hc9"))))
+ "1mra4db25ds64526dsj8m5yv0kfq3lgggjh1x6xmqypdaryddbcp"))))
(build-system emacs-build-system)
(synopsis "Major mode for lua")
(description
@@ -6399,12 +6540,11 @@ aligning text objects based on separators.")
(license license:gpl3+))))
(define-public emacs-evil-expat
- (let ((commit "4c344ea19b789002d759a202ffbf594730d2c59a")
- (version "0.0.1")
+ (let ((commit "f4fcd0aa3edc359adb5c986b5dd9188d220d84e2")
(revision "1"))
(package
(name "emacs-evil-expat")
- (version (git-version version revision commit))
+ (version (git-version "0.0.1" revision commit))
(source
(origin
(method git-fetch)
@@ -6414,7 +6554,7 @@ aligning text objects based on separators.")
(file-name (git-file-name name version))
(sha256
(base32
- "16v7fnldxag6l1lsnrnhdjkga9qi78lbdfbb82k6pmv04991mbkr"))))
+ "0872ix682hkdz0k8pn6sb54rqkx00rz5fxpd5j2snx406yagpaxz"))))
(build-system emacs-build-system)
(propagated-inputs `(("emacs-evil" ,emacs-evil)))
(home-page "https://github.com/edkolev/evil-expat")
@@ -6587,14 +6727,14 @@ passive voice.")
(name "emacs-org")
;; emacs-org-contrib inherits from this package. Please update its sha256
;; checksum as well.
- (version "9.2.3")
+ (version "9.2.5")
(source (origin
(method url-fetch)
- (uri (string-append "http://elpa.gnu.org/packages/org-"
+ (uri (string-append "https://elpa.gnu.org/packages/org-"
version ".tar"))
(sha256
(base32
- "0hqy4lns9q5p0l1ylgmlckqprn9sbasszhznanmv0rsh0gzhsbyw"))))
+ "1pid1sykgz83i4ry5n8f270finag6sm7ckqxn5lkikyya43wlzx1"))))
(build-system emacs-build-system)
(home-page "https://orgmode.org/")
(synopsis "Outline-based notes management and organizer")
@@ -6608,14 +6748,14 @@ programming and reproducible research.")
(package
(inherit emacs-org)
(name "emacs-org-contrib")
- (version "20190715")
+ (version "20190805")
(source (origin
(method url-fetch)
(uri (string-append "https://orgmode.org/elpa/org-plus-contrib-"
version ".tar"))
(sha256
(base32
- "0yxxkcaxhp5bmjsfdd9pz79rj9s7nb4gj5ci51sh4pf8mimk9542"))))
+ "1mw91hwbqyjq5pyz9hzdhvjlc2bphqpi23yqd3sdk1crpc87s40c"))))
(arguments
`(#:modules ((guix build emacs-build-system)
(guix build utils)
@@ -7159,6 +7299,56 @@ find files owned by packages... And much more, including performing all the
above over the network.")
(license license:gpl3+))))
+(define-public emacs-helm-org-rifle
+ (package
+ (name "emacs-helm-org-rifle")
+ (version "1.6.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/alphapapa/helm-org-rifle")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1r38xhwvgbv6kn5x159phz3xgss7f1rc7icq27rnr4d8aj91wm6k"))))
+ (build-system emacs-build-system)
+ (propagated-inputs
+ `(("emacs-dash" ,emacs-dash)
+ ("emacs-f" ,emacs-f)
+ ("emacs-helm" ,emacs-helm)
+ ("emacs-s" ,emacs-s)))
+ (home-page "https://github.com/alphapapa/helm-org-rifle")
+ (synopsis "Rifle through Org files")
+ (description "This package searches both headings and contents of entries
+in Org buffers and displays matching entries.")
+ (license license:gpl3+)))
+
+(define-public emacs-dired-toggle-sudo
+ (package
+ (name "emacs-dired-toggle-sudo")
+ (version "1.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/renard/dired-toggle-sudo")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0ajj8d6k5in2hclcrqckinfh80ylddplva0ryfbkzsjkfq167cv2"))
+ (patches
+ (search-patches
+ "emacs-dired-toggle-sudo-emacs-26.patch"))))
+ (build-system emacs-build-system)
+ (home-page "https://github.com/renard/dired-toggle-sudo")
+ (synopsis "Browse directory with @code{sudo} privileges")
+ (description "This package allows for the use of @code{dired} with
+@code{sudo} privileges.")
+ (license license:wtfpl2)))
+
(define-public emacs-memoize
(package
(name "emacs-memoize")
@@ -8528,12 +8718,11 @@ the actual transformations.")
(license license:gpl2+))))
(define-public emacs-dired-hacks
- (let ((commit "2c1234592aee91dcd9401bcd67213e6a4a464fd9")
- (revision "1"))
+ (let ((commit "886befe113fae397407c804f72c45613d1d43535")
+ (revision "2"))
(package
(name "emacs-dired-hacks")
- (version (string-append "0.0.1-" revision "."
- (string-take commit 7)))
+ (version (git-version "0.0.1" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
@@ -8542,7 +8731,7 @@ the actual transformations.")
(file-name (git-file-name name version))
(sha256
(base32
- "1g7mky41cahpryzj6frdgzdymknpqq7pidzfjj9304887kijmhj3"))))
+ "1cvibg90ggyrivpjmcfprpi2fx7dpa68f8kzg08s88gw5ib75djl"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-dash" ,emacs-dash)
@@ -8553,7 +8742,9 @@ the actual transformations.")
(synopsis
"Collection of useful dired additions")
(description
- "Collection of Emacs dired mode additions:
+ "This package provides the following collection of Emacs dired mode
+additions:
+
@itemize
@item dired-avfs
@item dired-columns
@@ -8623,6 +8814,32 @@ available key bindings that follow C-x (or as many as space allows given your
settings).")
(license license:gpl3+)))
+(define-public emacs-hercules
+ (let ((commit "3345904a0dab4c7a4d4478f0766f1d9f5d1bb501")
+ (revision "1"))
+ (package
+ (name "emacs-hercules")
+ (version (git-version "0.2" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.com/jjzmajic/hercules.el.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0cpq8h6l47nqhzch6snax5yrhxl8p4wn35q13ci35lj3iq8kmlk8"))))
+ (build-system emacs-build-system)
+ (propagated-inputs
+ `(("emacs-which-key" ,emacs-which-key)))
+ (home-page "https://gitlab.com/jjzmajic/hercules.el")
+ (synopsis "Call a chain of related commands without repeated prefix keys")
+ (description
+ "This package provides sticky-key-like functionality to obviate the
+need for repeated prefix-key sequences, and can reuse existing keymaps. The
+list of commands is displayed in a handy popup.")
+ (license license:gpl3+))))
+
(define-public emacs-ws-butler
(package
(name "emacs-ws-butler")
@@ -10433,29 +10650,32 @@ as well as functions for navigating between these headings.")
(license license:gpl3+)))
(define-public emacs-org-super-agenda
- (package
- (name "emacs-org-super-agenda")
- (version "1.1")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/alphapapa/org-super-agenda")
- (commit version)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "0vzf91lsxnhwf52kvm8ycpf0wb9c8l91689vyhwgv4wz8q6cvjwp"))))
- (build-system emacs-build-system)
- (propagated-inputs
- `(("emacs-org" ,emacs-org)
- ("emacs-dash" ,emacs-dash)
- ("emacs-ht" ,emacs-ht)
- ("emacs-s" ,emacs-s)))
- (home-page "https://github.com/alphapapa/org-super-agenda")
- (synopsis "Supercharged Org agenda")
- (description "This package allows items in the Org agenda to be grouped
+ ;; emacs-org-sidebar depends on a newer commit than the latest release version.
+ (let ((commit "375bde4ca72494ac88a2a9738754f047fe45cc4e")
+ (revision "1"))
+ (package
+ (name "emacs-org-super-agenda")
+ (version (git-version "1.1.1" revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/alphapapa/org-super-agenda")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0hrwf02fqjm0d9gj146ax67ib76093qpqh7066dcxj2gy20625yj"))))
+ (build-system emacs-build-system)
+ (propagated-inputs
+ `(("emacs-org" ,emacs-org)
+ ("emacs-dash" ,emacs-dash)
+ ("emacs-ht" ,emacs-ht)
+ ("emacs-s" ,emacs-s)))
+ (home-page "https://github.com/alphapapa/org-super-agenda")
+ (synopsis "Supercharged Org agenda")
+ (description "This package allows items in the Org agenda to be grouped
into sections while preserving the structure imposed by any timestamps.")
- (license license:gpl3+)))
+ (license license:gpl3+))))
(define-public emacs-org-make-toc
(package
@@ -11752,7 +11972,7 @@ downloading manager for Emacs.")
(define-public emacs-helpful
(package
(name "emacs-helpful")
- (version "0.16")
+ (version "0.17")
(source
(origin
(method git-fetch)
@@ -11761,7 +11981,7 @@ downloading manager for Emacs.")
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "1pzlx3galyryd3hd84hnd7r5s6yl9sdrfhy1s6dgz40glw41wmpr"))))
+ (base32 "0v2y0x9pwi08y2mgjjiw5brfb5haa7pbmy4540glw904ffxxcblj"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-elisp-refs" ,emacs-elisp-refs)
@@ -12676,6 +12896,29 @@ When @code{gac-automatically-push-p} is non-nil, it also tries to push to
the current upstream.")
(license license:gpl3+)))
+(define-public emacs-scroll-on-drag
+ (let ((commit "888abd04c34753b1fc4b2fe541bc004ebec5c996")
+ (revision "1"))
+ (package
+ (name "emacs-scroll-on-drag")
+ (version (git-version "0.1" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.com/ideasman42/emacs-scroll-on-drag.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1si4hdqa3jw1inbyh3wb3i5i9grbms1nwky3vyk9zg7iznwm8a9p"))))
+ (build-system emacs-build-system)
+ (home-page "https://gitlab.com/ideasman42/emacs-scroll-on-drag")
+ (synopsis "Interactive scrolling")
+ (description "This package permits scrolling at increasing speeds based
+on drag distance.")
+ (license license:gpl3+))))
+
(define-public emacs-company-restclient
(package
(name "emacs-company-restclient")
@@ -13692,12 +13935,11 @@ server with @code{M-x pinentry-start}.")
(license license:gpl3+))))
(define-public emacs-so-long
- (let ((commit "3ebe97decdb5cbbfba82ca686e0ad2c7d2722b4a")
- (version "1.0")
- (revision "1"))
+ (let ((commit "cfae473b1bf65f78ddb015159e667ec0103d881c")
+ (revision "2"))
(package
(name "emacs-so-long")
- (version (git-version version revision commit))
+ (version (git-version "1.0" revision commit))
(source
(origin
(method git-fetch)
@@ -13707,7 +13949,7 @@ server with @code{M-x pinentry-start}.")
(file-name (git-file-name name version))
(sha256
(base32
- "0fi71g5rsdsi978jz8406k8hvzgnssm9wxar8yqfhs97178r9s5m"))))
+ "0g943n5cl9lz5s7hszg6yvp10xd1xvd8mfgxyg0yckmp8fqkswin"))))
(build-system emacs-build-system)
(home-page "https://www.emacswiki.org/emacs/SoLong")
(synopsis "Improve performance in files with long lines")
@@ -13744,12 +13986,13 @@ accept and reject GitHub pull requests.")
(license license:gpl3+))))
(define-public emacs-deadgrep
- (let ((commit "caeb37b8d6ab83f0eba353d6bbb29678190d4419")
- (version "0.7")
+ ;; We prefer a newer commit (four commits newer than release) because of a
+ ;; bugfix for globbing.
+ (let ((commit "329119c65126f7917d3910bc584f4191ba8f21ac")
(revision "1"))
(package
(name "emacs-deadgrep")
- (version (git-version version revision commit))
+ (version (git-version "0.8" revision commit))
(source
(origin
(method git-fetch)
@@ -13759,7 +14002,7 @@ accept and reject GitHub pull requests.")
(file-name (git-file-name name version))
(sha256
(base32
- "158fqha8nilwfzmw15lcsq8b099j8wclzq303md0j4mfr2q2gfvs"))))
+ "0fxf7gq9sjfkgpdfqx10w3l3nd4rwa8kv9plyxk1fqacb3s5m6ai"))))
(build-system emacs-build-system)
(inputs
`(("emacs-dash" ,emacs-dash)
@@ -14142,7 +14385,7 @@ buffers – other modes on the TODO list).
(define-public emacs-magit-todos
(package
(name "emacs-magit-todos")
- (version "1.2")
+ (version "1.3")
(source
(origin
(method git-fetch)
@@ -14152,7 +14395,7 @@ buffers – other modes on the TODO list).
(file-name (git-file-name name version))
(sha256
(base32
- "17a18gszbypz82bj36xbfyykc4s9rz83vwmpxvlf65svhd51c0nh"))))
+ "0gfm6wn2a4v5i9lfsvvin0kwpr9n96ddm3z4yf50jd3kg2igzry1"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-async" ,emacs-async)
@@ -16189,7 +16432,7 @@ previewed by scrolling up and down within a @code{dired} buffer.")
(define-public emacs-counsel-etags
(package
(name "emacs-counsel-etags")
- (version "1.8.4")
+ (version "1.8.7")
(source
(origin
(method git-fetch)
@@ -16199,7 +16442,7 @@ previewed by scrolling up and down within a @code{dired} buffer.")
(file-name (git-file-name name version))
(sha256
(base32
- "14my9jvxl26a5yn381h5pi5481y9d9gyk7wnxxd0s4sjc964c5h5"))))
+ "0vjcjspfrz1csnmfi6r7p7f070a496adxkqnsxwx1gx8cpylwp1g"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-ivy" ,emacs-ivy)))
@@ -16632,6 +16875,30 @@ provided. Those alternative commands are and bound by default to their
corresponding Evil keys.")
(license license:expat))))
+(define-public emacs-evil-traces
+ (let ((commit "b41b7432b8110378c199a3d25af464083777f453")
+ (revision "1"))
+ (package
+ (name "emacs-evil-traces")
+ (version (git-version "0.0.1" revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/mamapanda/evil-traces.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0a15f2saynz9fws1h5s7py3cshsk4xs1kwgwj1m5rsin36g0j6hc"))))
+ (build-system emacs-build-system)
+ (propagated-inputs
+ `(("emacs-evil" ,emacs-evil)))
+ (home-page "https://github.com/mamapanda/evil-traces")
+ (synopsis "Visual hints for @code{evil-ex}")
+ (description "This package adds visual hints to certain @code{ex}
+commands in @code{evil-mode}.")
+ (license license:gpl3+))))
+
(define-public emacs-xterm-color
(let ((commit "a452ab38a7cfae97078062ff8885b5d74fd1e5a6")
(version "1.8")
@@ -16846,6 +17113,29 @@ convert the resulting @code{.epub} to a @code{.mobi} file. Needs a working
zip utility (default is @code{zip}).")
(license license:gpl3+)))
+(define-public emacs-ox-hugo
+ (package
+ (name "emacs-ox-hugo")
+ (version "0.8")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/kaushalmodi/ox-hugo.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "11h464cyc28ld0b0zridgm4drydc1qjxbm1y24zrwlkyqqjk6yr7"))))
+ (build-system emacs-build-system)
+ (home-page "https://ox-hugo.scripter.co")
+ (synopsis "Hugo markdown back-end for Org export engine")
+ (description
+ "Ox-hugo is an Org exporter backend that exports Org to Hugo-compatible
+Markdown, Blackfriday, and also generates the front-matter in TOML or YAML
+format.")
+ (license license:gpl3+)))
+
(define-public emacs-ox-pandoc
(package
(name "emacs-ox-pandoc")
@@ -16926,3 +17216,28 @@ time.")
(description "@code{mastodon.el} is an Emacs client for Mastodon, the
federated microblogging social network.")
(license license:gpl3+)))
+
+;; The last release tarball is for version 0.6. We pick a commit close to
+;; version 0.6.10, which doesn't have a release tarball.
+(define-public emacs-ebdb
+ (let ((commit "2a87f5ed2a53e3a4e91e8c88ba5afc49f5e945df")
+ (revision "0"))
+ (package
+ (name "emacs-ebdb")
+ (version (git-version "0.6.10" revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/girzel/ebdb.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0fidy7z0c86dpqiss97sg5s92fd3fj4bdl8pqqdgg2m00jx4mrjz"))))
+ (build-system emacs-build-system)
+ (home-page "https://github.com/girzel/ebdb")
+ (synopsis "EIEIO port of BBDB, Emacs's contact-management package")
+ (description "EBDB is a contact management/addressbook package for
+Emacs. It's a re-write of the Insidious Big Brother Database (BBDB) using
+Emacs Lisp's (relatively new) EIEIO object oriented libraries.")
+ (license license:gpl3+))))
diff --git a/gnu/packages/emulators.scm b/gnu/packages/emulators.scm
index bf638525df..fa2bf786c2 100644
--- a/gnu/packages/emulators.scm
+++ b/gnu/packages/emulators.scm
@@ -119,8 +119,8 @@
;; Building from recent Git because the official 5.0 release no longer builds.
(define-public dolphin-emu
- (let ((commit "2c57e709d0f9e4010a4415de4192de887e37f187")
- (revision "5"))
+ (let ((commit "24718c1a389e4f51db974575cd15c372485b92e2")
+ (revision "6"))
(package
(name "dolphin-emu")
(version (git-version "5.0" revision commit))
@@ -146,7 +146,7 @@
#t))
(sha256
(base32
- "0aszfdfvs7yg4bmrd3qxwsiz7hx3mrj29f4aw86bz7h9j7hkh57f"))))
+ "1d92rhnw307j3m6swk6bycb8fyc7vw2hfgakd5hpsc4qw65vxfq8"))))
(build-system cmake-build-system)
(arguments
'(#:tests? #f
@@ -244,12 +244,6 @@ turbo speed, networked multiplayer, and graphical enhancements.")
(base32
"02i648i50dwicv1vaql15rccv4g8h5blf5g6inv67lrfxpbkvlf0"))))
(build-system gnu-build-system)
- (arguments
- `(#:phases (modify-phases %standard-phases
- (add-after
- 'unpack 'autogen.sh
- (lambda _
- (invoke "sh" "autogen.sh"))))))
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)))
@@ -1185,7 +1179,7 @@ play them on systems for which they were never designed!")
(define-public mame
(package
(name "mame")
- (version "0.211")
+ (version "0.212")
(source
(origin
(method git-fetch)
@@ -1195,7 +1189,11 @@ play them on systems for which they were never designed!")
(file-name (git-file-name name version))
(sha256
(base32
- "0gbxgncbzmmplijg0c1ibwsb87fbmfvs1kjflh002yyx8yvfw83z"))
+ "0p3zcb9l624dsy2gyv23ppp1k1iwd1vrg8cbn5v4fx1s44mx7f5c"))
+ (patches
+ ;; FIXME: Remove once 0.213 is out. Applied upstream as
+ ;; 0b5b13cf1e28550b49c387dec93f9801f029e313.
+ (search-patches "mame-rapidjson-fix.patch"))
(modules '((guix build utils)))
(snippet
;; Remove bundled libraries.
diff --git a/gnu/packages/enchant.scm b/gnu/packages/enchant.scm
index ce148b47a5..cfec161784 100644
--- a/gnu/packages/enchant.scm
+++ b/gnu/packages/enchant.scm
@@ -33,7 +33,7 @@
(define-public enchant
(package
(name "enchant")
- (version "2.2.4")
+ (version "2.2.5")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/AbiWord/enchant/releases"
@@ -41,7 +41,7 @@
version ".tar.gz"))
(sha256
(base32
- "1p6a3qmrh8bjzds6x7rg9da0ir44gg804jzkf634h39wsa4vdmpm"))))
+ "0iqwzs11i9fvqdxv5kn0svcn2mzymn657qf3j66lg8dx1nh4xkpz"))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags '("--disable-static"
diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm
index 7d48414889..a1f222bed4 100644
--- a/gnu/packages/engineering.scm
+++ b/gnu/packages/engineering.scm
@@ -11,6 +11,7 @@
;;; Copyright © 2018, 2019 Jonathan Brielmaier <jonathan.brielmaier@web.de>
;;; Copyright © 2018, 2019 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2019 Tim Stahel <swedneck@swedneck.xyz>
+;;; Copyright © 2019 Jovany Leandro G.C <bit4bit@riseup.net>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -2062,3 +2063,49 @@ purpose circuit simulator and can perform DC and transient analyses, fourier
analysis and AC analysis. The engine is designed to do true mixed-mode
simulation.")
(license license:gpl3+)))
+
+(define-public cutter
+ (package
+ (name "cutter")
+ (version "1.8.3")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/radareorg/cutter")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "03f3cdckh51anx9gd1b0ndb2fg7061hqngvygf32ky29mm2m2lyv"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (replace 'configure
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out"))
+ (radare2 (assoc-ref inputs "radare2")))
+ ;; fix pkg-config detection ./src/lib_radare2.pri:PREFIX=/usr/lib
+ ;; override `qmake PREFIX=`
+ (substitute* "./src/lib_radare2.pri"
+ (("PREFIX") "R2PREFIX")
+ (("R2PREFIX=/usr") (string-append "R2PREFIX=" radare2)))
+ (invoke "qmake"
+ (string-append "PREFIX=" out)
+ "./src/Cutter.pro")))))))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (inputs
+ `(("qtbase" ,qtbase)
+ ("qtsvg" ,qtsvg)
+ ("openssl" ,openssl)
+ ("radare2" ,radare2)))
+ (home-page "https://github.com/radareorg/cutter")
+ (synopsis "GUI for radare2 reverse engineering framework")
+ (description "Cutter is a GUI for radare2 reverse engineering framework.
+Its goal is making an advanced andcustomizable reverse-engineering platform
+while keeping the user experience at mind. Cutter is created by reverse
+engineers for reverse engineers.")
+ (license (list license:cc-by-sa3.0 ;the "Iconic" icon set
+ license:gpl3+)))) ;everything else
diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm
index 8556677e74..87775c68fe 100644
--- a/gnu/packages/finance.scm
+++ b/gnu/packages/finance.scm
@@ -13,6 +13,7 @@
;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2019 Guillaume Le Vaillant <glv@posteo.net>
;;; Copyright © 2019 Tanguy Le Carrour <tanguy@bioneland.org>
+;;; Copyright © 2019 Martin Becze <mjbecze@riseup.net>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -38,6 +39,7 @@
#:use-module (guix build-system cmake)
#:use-module (guix build-system python)
#:use-module (guix build-system glib-or-gtk)
+ #:use-module (guix build-system go)
#:use-module (guix utils)
#:use-module (gnu packages)
#:use-module (gnu packages base)
@@ -357,7 +359,7 @@ do so.")
(define-public electrum
(package
(name "electrum")
- (version "3.3.6")
+ (version "3.3.8")
(source
(origin
(method url-fetch)
@@ -365,7 +367,7 @@ do so.")
version "/Electrum-"
version ".tar.gz"))
(sha256
- (base32 "0am5ki3z0yvhrz16vp2jjy5fkxxqph0mj9qqpbw3kpql65shykwz"))
+ (base32 "1g00cj1pmckd4xis8r032wmraiv3vd3zc803hnyxa2bnhj8z3bg2"))
(modules '((guix build utils)))
(snippet
'(begin
@@ -715,9 +717,6 @@ the Monero GUI client.")
Ledger Nano as a hardware SSH/GPG agent.")
(license license:lgpl3)))
-(define-public python2-trezor-agent
- (package-with-python2 python-trezor-agent))
-
(define-public python-mnemonic
(package
(name "python-mnemonic")
@@ -813,9 +812,6 @@ Ledger Blue/Nano S.")
TREZOR Hardware Wallet.")
(license license:lgpl3)))
-(define-public python2-trezor
- (package-with-python2 python-trezor))
-
(define-public python-keepkey
(package
(name "python-keepkey")
@@ -965,7 +961,7 @@ Luhn and family of ISO/IEC 7064 check digit algorithms. ")
(define-public python-duniterpy
(package
(name "python-duniterpy")
- (version "0.54.3")
+ (version "0.55.1")
(source
(origin
(method git-fetch)
@@ -976,7 +972,7 @@ Luhn and family of ISO/IEC 7064 check digit algorithms. ")
(file-name (git-file-name name version))
(sha256
(base32
- "1k3rpfc9zxj9z50cr4zjfyzdla9ap5mj1v1rlcriqmflgb5cmiba"))))
+ "07zsbbkzmnvyv5v0vw2d42vw3ar4iqhlidy9376ysk4ldlj1igf7"))))
(build-system python-build-system)
(arguments
;; Tests fail with "AttributeError: module 'attr' has no attribute 's'".
@@ -1023,7 +1019,7 @@ main features are:
(define-public silkaj
(package
(name "silkaj")
- (version "0.7.2")
+ (version "0.7.3")
(source
(origin
(method git-fetch)
@@ -1033,7 +1029,7 @@ main features are:
(file-name (git-file-name name version))
(sha256
(base32
- "059k2kil2l8jcm4wp86w1z7y8p26rww7d3l5fzds0qq2dzvkvzgs"))))
+ "0yk2574yb0d0k0rg7qf0pkmjidblsad04x8hhqpy9k80rvgjcr5w"))))
(build-system python-build-system)
(arguments
`(#:tests? #f)) ;no test
@@ -1095,3 +1091,26 @@ financial years, budget estimates, bankcard management and other
information.")
(home-page "http://grisbi.org")
(license license:gpl2+)))
+
+(define-public trezord
+ (package
+ (name "trezord")
+ (version "2.0.17")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/trezor/trezord-go.git")
+ (commit (string-append "v" version))))
+ (sha256
+ (base32
+ "0nqzpq0i3crh0i4r1cppja5sn3rwi1fv9afxzwzv63096x5l30a7"))
+ (file-name (git-file-name name version))))
+ (build-system go-build-system)
+ (arguments
+ '(#:import-path "github.com/trezor/trezord-go"))
+ (home-page "https://trezor.io")
+ (synopsis "Trezor Communication Daemon aka Trezor Bridge (written in Go)")
+ (description "This allows a Trezor hardware wallet to communicate to the
+Trezor wallet.")
+ (license license:lgpl3+)))
diff --git a/gnu/packages/fonts.scm b/gnu/packages/fonts.scm
index 713c49259c..c4f82cde19 100644
--- a/gnu/packages/fonts.scm
+++ b/gnu/packages/fonts.scm
@@ -644,7 +644,7 @@ for use at smaller text sizes")))
(define-public font-gnu-unifont
(package
(name "font-gnu-unifont")
- (version "12.1.02")
+ (version "12.1.03")
(source
(origin
(method url-fetch)
@@ -654,7 +654,7 @@ for use at smaller text sizes")))
(string-append "mirror://gnu/unifont/unifont-"
version "/unifont-" version ".tar.gz")))
(sha256
- (base32 "12wdxnlyz5gl5d7h6pazcz8d7h81fwkng1xrayxsgrzh6bqdq4p8"))))
+ (base32 "10mr3ax19v5pa6a791fk2j3k45fpa8n5r36kq9gs8lk95wfnxmf1"))))
(build-system gnu-build-system)
(outputs '("out" ; TrueType version
"pcf" ; PCF (bitmap) version
diff --git a/gnu/packages/fontutils.scm b/gnu/packages/fontutils.scm
index fe9e77d8c7..041c1b3b6b 100644
--- a/gnu/packages/fontutils.scm
+++ b/gnu/packages/fontutils.scm
@@ -637,7 +637,7 @@ definitions.")
opentype fonts. You can save fonts in many different outline formats, and
generate bitmaps.")
(license license:gpl3+)
- (home-page "https://fontforge.github.io/en-US/")))
+ (home-page "https://fontforge.github.io")))
(define-public python2-ufolib
(package
diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm
index 7cd959d2f1..b1368cb72e 100644
--- a/gnu/packages/freedesktop.scm
+++ b/gnu/packages/freedesktop.scm
@@ -723,7 +723,7 @@ multiplexer to the KMS/DRM Linux kernel devices.")
(define-public exempi
(package
(name "exempi")
- (version "2.5.0")
+ (version "2.5.1")
(source (origin
(method url-fetch)
(uri (string-append
@@ -731,7 +731,7 @@ multiplexer to the KMS/DRM Linux kernel devices.")
name "-" version ".tar.bz2"))
(sha256
(base32
- "06vi7dc2gappwqm3xpfyy5ihxq14bmvj3bd47yk482jlq0jgr0nw"))))
+ "1j4vx054l1c2cggw4aka4iw48jkcf68qk5y064pbqw1k3ddks2qh"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags (list (string-append "--with-boost="
@@ -741,7 +741,7 @@ multiplexer to the KMS/DRM Linux kernel devices.")
(inputs
`(("expat" ,expat)
("zlib" ,zlib)))
- (home-page "https://wiki.freedesktop.org/libopenraw/Exempi")
+ (home-page "https://libopenraw.freedesktop.org/exempi/")
(synopsis "XMP metadata handling library")
(description "Exempi is an implementation of the Extensible Metadata
Platform (@dfn{XMP}), which enables embedding metadata in PDF and image
diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index 66b642ebd2..1aa2f92c02 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -4974,6 +4974,10 @@ Crowther & Woods, its original authors, in 1995. It has been known as
("luajit" ,luajit)))
(arguments
`(#:make-flags '("CC=gcc" "config=release")
+ ;; XXX: Building in parallel occasionally causes this build failure:
+ ;; ../src/luajit2/src/host/buildvm.c:73:10: fatal error: buildvm_arch.h:
+ ;; No such file or directory
+ #:parallel-build? #f
#:phases (modify-phases %standard-phases
(delete 'bootstrap)
(replace 'configure
diff --git a/gnu/packages/gl.scm b/gnu/packages/gl.scm
index e7d50a5b8a..9aaeab6e2c 100644
--- a/gnu/packages/gl.scm
+++ b/gnu/packages/gl.scm
@@ -64,14 +64,14 @@
(define-public glu
(package
(name "glu")
- (version "9.0.0")
+ (version "9.0.1")
(source (origin
(method url-fetch)
(uri (string-append "ftp://ftp.freedesktop.org/pub/mesa/glu/glu-"
version ".tar.gz"))
(sha256
(base32
- "0r72yyhj09x3krn3kn629jqbwyq50ji8w5ri2pn6zwrk35m4g1s3"))))
+ "1xqhk9bn10nbvffw3r4p4rjslwz1l7gaycc0x2pqkr2irp7q9x7n"))))
(build-system gnu-build-system)
(propagated-inputs
`(("mesa" ,mesa))) ; according to glu.pc
@@ -227,7 +227,7 @@ also known as DXTn or DXTC) for Mesa.")
(define-public mesa
(package
(name "mesa")
- (version "19.1.1")
+ (version "19.1.4")
(source
(origin
(method url-fetch)
@@ -239,7 +239,7 @@ also known as DXTn or DXTC) for Mesa.")
version "/mesa-" version ".tar.xz")))
(sha256
(base32
- "10amy5sdmpjbskr3xazgk0jyli8xpgi0y1nsmjr76hx8nhb4n4bj"))
+ "1yvb7ja09i36zjifpyrf8jmbm9z0wqs2w3x8dlmxkkzdv6knilm6"))
(patches
(search-patches "mesa-skip-disk-cache-test.patch"))))
(build-system meson-build-system)
@@ -291,7 +291,7 @@ also known as DXTn or DXTC) for Mesa.")
;; TODO: Fix svga driver for aarch64 and armhf.
'("-Dgallium-drivers=etnaviv,freedreno,nouveau,r300,r600,swrast,tegra,v3d,vc4,virgl"))
(_
- '("-Dgallium-drivers=nouveau,r300,r600,radeonsi,svga,swrast,virgl")))
+ '("-Dgallium-drivers=iris,nouveau,r300,r600,radeonsi,svga,swrast,virgl")))
;; Enable various optional features. TODO: opencl requires libclc,
;; omx requires libomxil-bellagio
"-Dplatforms=x11,drm,surfaceless,wayland"
@@ -308,11 +308,8 @@ also known as DXTn or DXTC) for Mesa.")
;; Enable Vulkan on i686-linux and x86-64-linux.
,@(match (%current-system)
- ("x86_64-linux"
+ ((or "i686-linux" "x86_64-linux")
'("-Dvulkan-drivers=intel,amd"))
- ;; TODO: Fix intel driver on i686-linux.
- ("i686-linux"
- '("-Dvulkan-drivers=amd"))
(_
'("-Dvulkan-drivers=auto")))
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index e2ecc1bb6a..e295725c51 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -38,6 +38,7 @@
;;; Copyright © 2019 Florian Pelz <pelzflorian@pelzflorian.de>
;;; Copyright © 2019 Giacomo Leidi <goodoldpaul@autistici.org>
;;; Copyright © 2019 Jelle Licht <jlicht@fsfe.org>
+;;; Copyright © 2019 Jonathan Frederickson <jonathan@terracrypt.net>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -5538,6 +5539,57 @@ Compatible with Cisco VPN concentrators configured to use IPsec.")
(license license:gpl2+)
(properties `((upstream-name . "NetworkManager-vpnc")))))
+(define-public network-manager-openconnect
+ (package
+ (name "network-manager-openconnect")
+ (version "1.2.6")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "mirror://gnome/sources/NetworkManager-openconnect/"
+ (version-major+minor version)
+ "/NetworkManager-openconnect-" version ".tar.xz"))
+ (sha256
+ (base32
+ "0nlp290nkawc4wqm978n4vhzg3xdqi8kpjjx19l855vab41rh44m"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:configure-flags '("--enable-absolute-paths" "--localstatedir=/var")
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'configure 'patch-path
+ (lambda* (#:key inputs outputs #:allow-other-keys #:rest args)
+ (let* ((openconnect (string-append (assoc-ref inputs "openconnect")
+ "/sbin/openconnect"))
+ (modprobe (string-append (assoc-ref inputs "kmod")
+ "/bin/modprobe"))
+ (pretty-ovpn (string-append "\"" openconnect "\"")))
+ (substitute* "src/nm-openconnect-service.c"
+ (("\"/usr/local/sbin/openconnect\"") pretty-ovpn)
+ (("\"/usr/sbin/openconnect\"") pretty-ovpn)
+ (("/sbin/modprobe") modprobe)))
+ #t)))))
+ (native-inputs
+ `(("intltool" ,intltool)
+ ("network-manager-applet" ,network-manager-applet) ;for libnma
+ ("pkg-config" ,pkg-config)))
+ (inputs
+ `(("gcr" ,gcr)
+ ("gtk+" ,gtk+)
+ ("kmod" ,kmod)
+ ("libsecret" ,libsecret)
+ ("libxml2" ,libxml2)
+ ("network-manager" ,network-manager)
+ ("openconnect" ,openconnect)))
+ (home-page "https://wiki.gnome.org/Projects/NetworkManager/VPN")
+ (synopsis "OpenConnect plug-in for NetworkManager")
+ (description
+ "This extension of NetworkManager allows it to take care of connections
+to @acronym{VPNs, virtual private networks} via OpenConnect, an open client for
+Cisco's AnyConnect SSL VPN.")
+ (license license:gpl2+)
+ (properties `((upstream-name . "NetworkManager-openconnect")))))
+
(define-public mobile-broadband-provider-info
(package
(name "mobile-broadband-provider-info")
@@ -8175,15 +8227,18 @@ advanced image management tool")
(inputs
`(("cairo" ,cairo)
("gobject-introspection" ,gobject-introspection)
+ ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
("python2-pycairo" ,python2-pycairo)
("python2-pygobject" ,python2-pygobject)
("python2-psutil" ,python2-psutil)
("vte" ,vte)))
- (propagated-inputs
- ;; Terminator refuses to start when these are not present.
- `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)))
(arguments
- `(#:python ,python-2 ;Python 3 not supported
+ `(#:python ,python-2 ; Python 3 isn't supported
+ #:imported-modules ((guix build glib-or-gtk-build-system)
+ ,@%python-build-system-modules)
+ #:modules ((guix build python-build-system)
+ ((guix build glib-or-gtk-build-system) #:prefix glib-or-gtk:)
+ (guix build utils))
#:phases
(modify-phases %standard-phases
(add-after
@@ -8194,10 +8249,60 @@ advanced image management tool")
(wrap-program prog
`("PYTHONPATH" = (,(getenv "PYTHONPATH")))
`("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))
- #t))))))
+ #t)))
+ (add-after 'wrap-program 'glib-or-gtk-wrap
+ (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap)))))
(home-page "https://gnometerminator.blogspot.com/")
(synopsis "Store and run multiple GNOME terminals in one window")
(description
"Terminator allows you to run multiple GNOME terminals in a grid and
+tabs, and it supports drag and drop re-ordering of terminals.")
(license license:gpl2)))
+
+(define-public libhandy
+ (package
+ (name "libhandy")
+ (version "0.0.10")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://source.puri.sm/Librem5/libhandy")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1702hbdqhfpgw0c4vj2ag08vgl83byiryrbngbq11b9azmj3jhzs"))))
+ (build-system meson-build-system)
+ (arguments
+ `(#:configure-flags
+ '("-Dglade_catalog=disabled"
+ "-Dgtk_doc=true")
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'disable-broken-test
+ (lambda _
+ ;; This test fails for unknown reasons
+ (substitute* "tests/meson.build"
+ (("'test-dialog',") ""))
+ #t))
+ (add-before 'check 'pre-check
+ (lambda _
+ ;; Tests require a running X server.
+ (system "Xvfb :1 &")
+ (setenv "DISPLAY" ":1")
+ #t)))))
+ (inputs
+ `(("gtk+" ,gtk+)))
+ (native-inputs
+ `(("glib:bin" ,glib "bin")
+ ("gobject-introspection" ,gobject-introspection) ; for g-ir-scanner
+ ("vala" ,vala)
+ ("gtk-doc" ,gtk-doc)
+ ("pkg-config" ,pkg-config)
+ ("gettext" ,gettext-minimal)
+ ("xorg-server" ,xorg-server)))
+ (home-page "https://source.puri.sm/Librem5/libhandy")
+ (synopsis "Library full of GTK+ widgets for mobile phones")
+ (description "The aim of the handy library is to help with developing user
+intefaces for mobile devices using GTK+.")
+ (license license:lgpl2.1+)))
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 3dc2f2fe8f..a0a1baa9a2 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -1218,8 +1218,8 @@ for a variety of protocols to proxy network data.")
(license license:bsd-3))))
(define-public go-golang-org-x-sys-unix
- (let ((commit "5ed2794edfdc1c54dfb61d619c5944285f35d444")
- (revision "3"))
+ (let ((commit "04f50cda93cbb67f2afa353c52f342100e80e625")
+ (revision "4"))
(package
(name "go-golang-org-x-sys-unix")
(version (git-version "0.0.0" revision commit))
@@ -1231,7 +1231,7 @@ for a variety of protocols to proxy network data.")
(file-name (git-file-name name version))
(sha256
(base32
- "1qy8hmv5nwpcywk7sh1pg0s32jwpd4ykh492xzl4mmxy8galwsr5"))))
+ "0hmfsz9y1ingwsn482hlzzmzs7kr3cklm0ana0mbdk70isw2bxnw"))))
(build-system go-build-system)
(arguments
`(#:import-path "golang.org/x/sys/unix"
@@ -3617,7 +3617,7 @@ error handling primitives in Go.")
(define-public go-github-com-maruel-panicparse
(package
(name "go-github-com-maruel-panicparse")
- (version "1.2.1")
+ (version "1.3.0")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -3626,7 +3626,7 @@ error handling primitives in Go.")
(file-name (git-file-name name version))
(sha256
(base32
- "05hf68ifb7ww4rpmxyywbj9r0kyap45p1273ncq4qy2ydv042l8j"))))
+ "13qkn7f64yln8jdmma37h6ra4c7anxkp3vfgvfyb6lb07dpr1ibq"))))
(build-system go-build-system)
(arguments
'(#:import-path "github.com/maruel/panicparse"))
diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm
index f4f9228a07..1eedcfec7b 100644
--- a/gnu/packages/graphics.scm
+++ b/gnu/packages/graphics.scm
@@ -160,9 +160,7 @@
"Blender is a 3D graphics creation suite. It supports the entirety of
the 3D pipeline—modeling, rigging, animation, simulation, rendering,
compositing and motion tracking, even video editing and game creation. The
-application can be customized via its API for Python scripting.
-
-WARNING: This is a release candidate build of Blender.")
+application can be customized via its API for Python scripting.")
(license license:gpl2+)))
(define-public blender-2.79
diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 9086e4945b..b80a0f799a 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -729,9 +729,7 @@ application suites.")
(define-public gtk+
(package (inherit gtk+-2)
(name "gtk+")
- ;; NOTE: When updating the version of 'gtk+', the hash of 'mate-themes' in
- ;; mate.scm will also need to be updated.
- (version "3.24.9")
+ (version "3.24.10")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@@ -739,7 +737,7 @@ application suites.")
name "-" version ".tar.xz"))
(sha256
(base32
- "0dg6jf2763sp740ls6b5y86b5b9zhz3zj0sbmar2xpws1lkv0zjp"))
+ "00qvq1r96ikdalv7xzgng1kad9i0rcahqk01gwhxl3xrw83z3a1m"))
(patches (search-patches "gtk3-respect-GUIX_GTK3_PATH.patch"
"gtk3-respect-GUIX_GTK3_IM_MODULE_FILE.patch"))))
(outputs '("out" "bin" "doc"))
diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm
index 6dcdcedccf..8c36658361 100644
--- a/gnu/packages/guile-xyz.scm
+++ b/gnu/packages/guile-xyz.scm
@@ -907,27 +907,30 @@ tracker's SOAP service, such as @url{https://bugs.gnu.org}.")
(define-public guile-email
(package
(name "guile-email")
- (version "0.1.0")
+ (version "0.2.0")
(source
(origin
(method url-fetch)
(uri (string-append
- "https://git.systemreboot.net/guile-email/snapshot/guile-email-"
- version ".tar.xz"))
+ "https://guile-email.systemreboot.net/releases/guile-email-"
+ version ".tar.lz"))
(sha256
(base32
- "0p2v8q2kkz8m6vf2rsjvz3dj1mvnx7dxakjf72dwkndbgk3rp79f"))))
+ "05pm0rwdxhjdlpmvhn0kyfslph6j5m1gv76givs0hshb30nirl2x"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)
- ("autoconf" ,autoconf)
- ("automake" ,automake)))
+ ("lzip" ,lzip)))
(inputs
`(("guile" ,guile-2.2)))
- (home-page "https://git.systemreboot.net/guile-email")
+ (arguments
+ '(#:make-flags '("GUILE_AUTO_COMPILE=0"))) ; to prevent guild warnings
+ (home-page "https://guile-email.systemreboot.net")
(synopsis "Guile email parser")
- (description "This package provides an email parser written in pure
-Guile.")
+ (description "guile-email is a collection of email utilities implemented
+in pure guile. It supports parsing MIME (Multipurpose Internet Mail
+Extensions) compliant email messages and reading emails from the mbox
+format.")
(license license:agpl3+)))
(define-public guile-debbugs-next
diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm
index df71965e81..b07a570654 100644
--- a/gnu/packages/guile.scm
+++ b/gnu/packages/guile.scm
@@ -261,29 +261,27 @@ without requiring the source code to be rewritten.")
(define-public guile-next
;; This is the upcoming Guile 3.0, with JIT support.
- (let ((commit "6f3357b0df64c4be17e72079864c09a542f1c779")
- (revision "1"))
- (package
- (inherit guile-2.2)
- (name "guile-next")
- (version "2.9.2")
- (source (origin
- (inherit (package-source guile-2.2))
- (uri (string-append "ftp://alpha.gnu.org/gnu/guile/guile-"
- version ".tar.xz"))
- (sha256
- (base32
- "1w358df2wmcyzk2ziqrj2zhwqisaqraqfa3008ay23nf1a7bw0z4"))))
- (native-search-paths
- (list (search-path-specification
- (variable "GUILE_LOAD_PATH")
- (files '("share/guile/site/3.0")))
- (search-path-specification
- (variable "GUILE_LOAD_COMPILED_PATH")
- (files '("lib/guile/3.0/site-ccache"
- "share/guile/site/3.0")))))
- (properties '((ftp-server . "alpha.gnu.org")
- (upstream-name . "guile"))))))
+ (package
+ (inherit guile-2.2)
+ (name "guile-next")
+ (version "2.9.3")
+ (source (origin
+ (inherit (package-source guile-2.2))
+ (uri (string-append "ftp://alpha.gnu.org/gnu/guile/guile-"
+ version ".tar.xz"))
+ (sha256
+ (base32
+ "14990wcpysgw58kij03wbgiggmi5z94jmy7wdcqnn6ny7cimkkgr"))))
+ (native-search-paths
+ (list (search-path-specification
+ (variable "GUILE_LOAD_PATH")
+ (files '("share/guile/site/3.0")))
+ (search-path-specification
+ (variable "GUILE_LOAD_COMPILED_PATH")
+ (files '("lib/guile/3.0/site-ccache"
+ "share/guile/site/3.0")))))
+ (properties '((ftp-server . "alpha.gnu.org")
+ (upstream-name . "guile")))))
(define (make-guile-readline guile)
(package
diff --git a/gnu/packages/haskell-apps.scm b/gnu/packages/haskell-apps.scm
index e01f796178..e77f6d113b 100644
--- a/gnu/packages/haskell-apps.scm
+++ b/gnu/packages/haskell-apps.scm
@@ -6,6 +6,7 @@
;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2016, 2017 Leo Famulari <leo@famulari.name>
;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org>
+;;; Copyright © 2019 Kyle Meyer <kyle@kyleam.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -142,7 +143,7 @@ unique algebra of patches called @url{http://darcs.net/Theory,Patchtheory}.
(define-public git-annex
(package
(name "git-annex")
- (version "6.20180926")
+ (version "7.20190708")
(source
(origin
(method url-fetch)
@@ -150,15 +151,20 @@ unique algebra of patches called @url{http://darcs.net/Theory,Patchtheory}.
"git-annex/git-annex-" version ".tar.gz"))
(sha256
(base32
- "1251rj8h63y30sfqk0zh670yhz14p256y59n3590pg015pf3575d"))))
+ "18s563swrp8mx479995pdhhmn40y3xwlbm1z3w63qsnjqmj7zlij"))))
(build-system haskell-build-system)
(arguments
`(#:configure-flags
'("--flags=-Android -Assistant -Pairing -S3 -Webapp -WebDAV")
#:phases
(modify-phases %standard-phases
- (add-before 'configure 'patch-shell
+ (add-before 'configure 'patch-shell-for-tests
(lambda _
+ ;; Shell.hs defines "/bin/sh" that is used in Git hooks. We
+ ;; shouldn't patch hooks with Guix's current bash because the
+ ;; hooks can exist after that bash is garbage collected, but
+ ;; let's temporarily patch it so that we can run the tests.
+ (copy-file "Utility/Shell.hs" "/tmp/Shell.hs")
(substitute* "Utility/Shell.hs"
(("/bin/sh") (which "sh")))
#t))
@@ -192,6 +198,11 @@ unique algebra of patches called @url{http://darcs.net/Theory,Patchtheory}.
(symlink "git-annex" "git-annex-shell"))
(invoke "git-annex" "test")
#t))
+ (add-after 'check 'unpatch-shell-and-rebuild
+ (lambda args
+ ;; Undo `patch-shell-for-tests'.
+ (copy-file "/tmp/Shell.hs" "Utility/Shell.hs")
+ (apply (assoc-ref %standard-phases 'build) args)))
(add-after 'install 'install-symlinks
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
@@ -208,6 +219,7 @@ unique algebra of patches called @url{http://darcs.net/Theory,Patchtheory}.
("ghc-bloomfilter" ,ghc-bloomfilter)
("ghc-byteable" ,ghc-byteable)
("ghc-case-insensitive" ,ghc-case-insensitive)
+ ("ghc-concurrent-output" ,ghc-concurrent-output)
("ghc-crypto-api" ,ghc-crypto-api)
("ghc-cryptonite" ,ghc-cryptonite)
("ghc-data-default" ,ghc-data-default)
diff --git a/gnu/packages/haskell-check.scm b/gnu/packages/haskell-check.scm
index 2f0b842cae..589eee74d9 100644
--- a/gnu/packages/haskell-check.scm
+++ b/gnu/packages/haskell-check.scm
@@ -811,7 +811,7 @@ implementations of cryptographic ciphers.")
"0xz10ycdm5vk9nrcym1fi83k19frfwqz18bz8bnpzwvaj0j41yfj"))))
(build-system haskell-build-system)
(inputs
- `(("ghc-ansi-terminal" ,ghc-ansi-terminal-0.8)
+ `(("ghc-ansi-terminal" ,ghc-ansi-terminal)
("ghc-async" ,ghc-async)
("ghc-concurrent-output" ,ghc-concurrent-output)
("ghc-exceptions" ,ghc-exceptions)
diff --git a/gnu/packages/haskell-crypto.scm b/gnu/packages/haskell-crypto.scm
index 28a1647fd1..882773ab68 100644
--- a/gnu/packages/haskell-crypto.scm
+++ b/gnu/packages/haskell-crypto.scm
@@ -25,6 +25,8 @@
#:use-module (gnu packages compression)
#:use-module (gnu packages haskell)
#:use-module (gnu packages haskell-check)
+ #:use-module (gnu packages haskell-xyz)
+ #:use-module (gnu packages tls)
#:use-module (guix build-system haskell)
#:use-module (guix download)
#:use-module ((guix licenses) #:prefix license:)
@@ -775,3 +777,64 @@ Ephemeral (Elliptic curve and regular) Diffie Hellman key exchanges, and many
extensions.")
(license license:bsd-3)))
+(define-public ghc-hsopenssl
+ (package
+ (name "ghc-hsopenssl")
+ (version "0.11.4.15")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://hackage.haskell.org/package/"
+ "HsOpenSSL/HsOpenSSL-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0idmak6d8mpbxphyq9hkxkmby2wnzhc1phywlgm0zw6q47pwxgff"))))
+ (build-system haskell-build-system)
+ (inputs
+ `(("ghc-network" ,ghc-network)
+ ("openssl" ,openssl)))
+ (arguments
+ `(#:cabal-revision
+ ("1" "0bkcw2pjfgv1bhgkrpncvwq9czfr7cr4ak14n0v8c2y33i33wk5z")))
+ (home-page "https://github.com/vshabanov/HsOpenSSL")
+ (synopsis "Partial OpenSSL binding for Haskell")
+ (description "HsOpenSSL is an OpenSSL binding for Haskell. It can
+generate RSA and DSA keys, read and write PEM files, generate message
+digests, sign and verify messages, encrypt and decrypt messages. It has
+also some capabilities of creating SSL clients and servers. This
+package is in production use by a number of Haskell based systems and
+stable. You may also be interested in the tls package,
+@uref{http://hackage.haskell.org/package/tls}, which is a pure Haskell
+implementation of SSL.")
+ (license license:public-domain)))
+
+(define-public ghc-openssl-streams
+ (package
+ (name "ghc-openssl-streams")
+ (version "1.2.1.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://hackage.haskell.org/package/"
+ "openssl-streams/openssl-streams-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "0pwghr7ygv59k572xsj1j97rilkbjz66qaiyj0ra2wfg6pl70wfw"))))
+ (build-system haskell-build-system)
+ (inputs
+ `(("ghc-hsopenssl" ,ghc-hsopenssl)
+ ("ghc-io-streams" ,ghc-io-streams)
+ ("ghc-network" ,ghc-network)))
+ (native-inputs
+ `(("ghc-hunit" ,ghc-hunit)
+ ("ghc-test-framework" ,ghc-test-framework)
+ ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
+ (arguments
+ `(#:cabal-revision
+ ("2" "1004kgdryflpkp19dv4ikilhcn0xbfc5dsp6v3ib34580pcfj7wy")))
+ (home-page "http://hackage.haskell.org/package/openssl-streams")
+ (synopsis "OpenSSL network support for io-streams")
+ (description "This library contains io-streams routines for secure
+networking using OpenSSL (by way of HsOpenSSL).")
+ (license license:bsd-3)))
diff --git a/gnu/packages/haskell-web.scm b/gnu/packages/haskell-web.scm
index 4bb790d93c..7cbf8932e6 100644
--- a/gnu/packages/haskell-web.scm
+++ b/gnu/packages/haskell-web.scm
@@ -28,6 +28,7 @@
#:use-module (gnu packages haskell)
#:use-module (gnu packages haskell-check)
#:use-module (gnu packages haskell-crypto)
+ #:use-module (gnu packages haskell-xyz)
#:use-module (guix build-system haskell)
#:use-module (guix download)
#:use-module ((guix licenses) #:prefix license:)
@@ -1294,3 +1295,171 @@ derivations of regular expressions.")
"The Haskell XML Toolbox bases on the ideas of HaXml and HXML, but
introduces a more general approach for processing XML with Haskell.")
(license license:expat)))
+
+(define-public ghc-http-common
+ (package
+ (name "ghc-http-common")
+ (version "0.8.2.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://hackage.haskell.org/package/"
+ "http-common/http-common-" version ".tar.gz"))
+ (sha256
+ (base32
+ "14s5a178sb2vm5k00rs21760mds5dz2gs10k9iyn22h01mxyf599"))))
+ (build-system haskell-build-system)
+ (inputs
+ `(("ghc-base64-bytestring" ,ghc-base64-bytestring)
+ ("ghc-blaze-builder" ,ghc-blaze-builder)
+ ("ghc-case-insensitive" ,ghc-case-insensitive)
+ ("ghc-network" ,ghc-network)
+ ("ghc-unordered-containers" ,ghc-unordered-containers)))
+ (home-page "https://github.com/afcowie/http-streams/")
+ (synopsis "Common types for HTTP clients and servers")
+ (description "Base types used by a variety of HTTP clients and
+servers. See http-streams @code{Network.Http.Client} or pipes-http
+@code{Pipes.Http.Client} for full documentation. You can import
+@code{Network.Http.Types} if you like, but both http-streams and
+pipes-http re-export this package's types and functions.")
+ (license license:bsd-3)))
+
+(define-public ghc-http-streams
+ (package
+ (name "ghc-http-streams")
+ (version "0.8.6.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://hackage.haskell.org/package/"
+ "http-streams/http-streams-" version ".tar.gz"))
+ (sha256
+ (base32
+ "18vxd35n7s3z4gjvad94bknc8z1w9d7ccgphnhsxlz5cackizmxq"))))
+ (build-system haskell-build-system)
+ (inputs
+ `(("ghc-attoparsec" ,ghc-attoparsec)
+ ("ghc-base64-bytestring" ,ghc-base64-bytestring)
+ ("ghc-blaze-builder" ,ghc-blaze-builder)
+ ("ghc-case-insensitive" ,ghc-case-insensitive)
+ ("ghc-io-streams" ,ghc-io-streams)
+ ("ghc-hsopenssl" ,ghc-hsopenssl)
+ ("ghc-openssl-streams" ,ghc-openssl-streams)
+ ("ghc-unordered-containers" ,ghc-unordered-containers)
+ ("ghc-aeson" ,ghc-aeson)
+ ("ghc-http-common" ,ghc-http-common)
+ ("ghc-network-uri" ,ghc-network-uri)
+ ("ghc-network" ,ghc-network)))
+ (arguments
+ `(#:tests? #f)) ; tests rely on an outdated version of snap-server
+ (home-page "https://github.com/afcowie/http-streams/")
+ (synopsis "HTTP client using io-streams")
+ (description "An HTTP client using the Snap Framework's io-streams
+library to handle the streaming IO. The API is optimized for ease of
+use for the rather common case of code needing to query web services and
+deal with the result.")
+ (license license:bsd-3)))
+
+(define-public ghc-snap-core
+ (package
+ (name "ghc-snap-core")
+ (version "1.0.3.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://hackage.haskell.org/package/"
+ "snap-core/snap-core-" version ".tar.gz"))
+ (sha256
+ (base32
+ "136q7l4hd5yn5hb507q1ziqx124ma1lkzh5dx0n150p8dx3rhhsc"))))
+ (build-system haskell-build-system)
+ (inputs
+ `(("ghc-old-locale" ,ghc-old-locale)
+ ("ghc-hunit" ,ghc-hunit)
+ ("ghc-attoparsec" ,ghc-attoparsec)
+ ("ghc-bytestring-builder" ,ghc-bytestring-builder)
+ ("ghc-case-insensitive" ,ghc-case-insensitive)
+ ("ghc-lifted-base" ,ghc-lifted-base)
+ ("ghc-io-streams" ,ghc-io-streams)
+ ("ghc-hashable" ,ghc-hashable)
+ ("ghc-monad-control" ,ghc-monad-control)
+ ("ghc-random" ,ghc-random)
+ ("ghc-readable" ,ghc-readable)
+ ("ghc-regex-posix" ,ghc-regex-posix)
+ ("ghc-transformers-base" ,ghc-transformers-base)
+ ("ghc-unix-compat" ,ghc-unix-compat)
+ ("ghc-unordered-containers" ,ghc-unordered-containers)
+ ("ghc-vector" ,ghc-vector)
+ ("ghc-network-uri" ,ghc-network-uri)
+ ("ghc-network" ,ghc-network)))
+ (native-inputs
+ `(("ghc-quickcheck" ,ghc-quickcheck)
+ ("ghc-parallel" ,ghc-parallel)
+ ("ghc-test-framework" ,ghc-test-framework)
+ ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
+ ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
+ ("ghc-zlib" ,ghc-zlib)))
+ (arguments
+ `(#:cabal-revision
+ ("3" "0wlhn33r7c9g7j23y006ddq9d87lkmianvvfrbl8jd8mvjvj2gfa")))
+ (home-page "http://snapframework.com/")
+ (synopsis "Haskell Web Framework (core interfaces and types)")
+ (description "Snap is a simple and fast web development framework
+and server written in Haskell. For more information, you can visit the
+Snap project website at @uref{http://snapframework.com/}. This library
+contains the core definitions and types for the Snap framework.")
+ (license license:bsd-3)))
+
+(define-public ghc-snap-server
+ (package
+ (name "ghc-snap-server")
+ (version "1.1.0.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://hackage.haskell.org/package/"
+ "snap-server/snap-server-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0vvw9n8xs272qdlrf3dxhnva41zh3awi7pf022rrjj75lj8a77i4"))))
+ (build-system haskell-build-system)
+ (inputs
+ `(("ghc-attoparsec" ,ghc-attoparsec)
+ ("ghc-blaze-builder" ,ghc-blaze-builder)
+ ("ghc-bytestring-builder" ,ghc-bytestring-builder)
+ ("ghc-case-insensitive" ,ghc-case-insensitive)
+ ("ghc-clock" ,ghc-clock)
+ ("ghc-io-streams" ,ghc-io-streams)
+ ("ghc-io-streams-haproxy" ,ghc-io-streams-haproxy)
+ ("ghc-lifted-base" ,ghc-lifted-base)
+ ("ghc-network" ,ghc-network)
+ ("ghc-old-locale" ,ghc-old-locale)
+ ("ghc-snap-core" ,ghc-snap-core)
+ ("ghc-unix-compat" ,ghc-unix-compat)
+ ("ghc-vector" ,ghc-vector)))
+ (native-inputs
+ `(("ghc-base16-bytestring" ,ghc-base16-bytestring)
+ ("ghc-monad-control" ,ghc-monad-control)
+ ("ghc-random" ,ghc-random)
+ ("ghc-threads" ,ghc-threads)
+ ("ghc-hunit" ,ghc-hunit)
+ ("ghc-quickcheck" ,ghc-quickcheck)
+ ("ghc-http-streams" ,ghc-http-streams)
+ ("ghc-http-common" ,ghc-http-common)
+ ("ghc-parallel" ,ghc-parallel)
+ ("ghc-test-framework" ,ghc-test-framework)
+ ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
+ ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
+ (arguments
+ `(#:cabal-revision
+ ("3" "0a9d3nqb5rvgm25nak68lp6yj9m6cwhbgdbg5l7ib5i2czcg7yjh")))
+ (home-page "http://snapframework.com/")
+ (synopsis "Web server for the Snap Framework")
+ (description "Snap is a simple and fast web development framework
+and server written in Haskell. For more information, you can visit the
+Snap project website at @uref{http://snapframework.com/}. The Snap HTTP
+server is a high performance web server library written in Haskell.
+Together with the snap-core library upon which it depends, it provides a
+clean and efficient Haskell programming interface to the HTTP
+protocol.")
+ (license license:bsd-3)))
diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm
new file mode 100644
index 0000000000..53c4dcc5ff
--- /dev/null
+++ b/gnu/packages/haskell-xyz.scm
@@ -0,0 +1,276 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2019 Robert Vollmert <rob@vllmrt.net>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages haskell-xyz)
+ #:use-module (gnu packages)
+ #:use-module (gnu packages haskell)
+ #:use-module (gnu packages haskell-check)
+ #:use-module (guix build-system haskell)
+ #:use-module (guix download)
+ #:use-module ((guix licenses) #:prefix license:)
+ #:use-module (guix packages))
+
+(define-public ghc-concurrent-extra
+ (package
+ (name "ghc-concurrent-extra")
+ (version "0.7.0.12")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://hackage.haskell.org/package/"
+ "concurrent-extra/concurrent-extra-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "1y8xk460fvnw0idzdiylmm874sjny4q9jxb1js9fjz8lw2wns3h4"))))
+ (build-system haskell-build-system)
+ (arguments
+ ;; XXX: The ReadWriteLock 'stressTest' fails.
+ `(#:tests? #f))
+ (inputs
+ `(("ghc-unbounded-delays" ,ghc-unbounded-delays)))
+ (native-inputs
+ `(("ghc-async" ,ghc-async)
+ ("ghc-hunit" ,ghc-hunit)
+ ("ghc-random" ,ghc-random)
+ ("ghc-test-framework" ,ghc-test-framework)
+ ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
+ (home-page "https://github.com/basvandijk/concurrent-extra")
+ (synopsis "Extra concurrency primitives")
+ (description "This Haskell library offers (among other things) the
+following selection of synchronisation primitives:
+
+@itemize
+@item @code{Broadcast}: Wake multiple threads by broadcasting a value.
+@item @code{Event}: Wake multiple threads by signalling an event.
+@item @code{Lock}: Enforce exclusive access to a resource. Also known
+as a binary semaphore or mutex. The package additionally provides an
+alternative that works in the STM monad.
+@item @code{RLock}: A lock which can be acquired multiple times by the
+same thread. Also known as a reentrant mutex.
+@item @code{ReadWriteLock}: Multiple-reader, single-writer locks. Used
+to protect shared resources which may be concurrently read, but only
+sequentially written.
+@item @code{ReadWriteVar}: Concurrent read, sequential write variables.
+@end itemize
+
+Please consult the API documentation of the individual modules for more
+detailed information.
+
+This package was inspired by the concurrency libraries of Java and
+Python.")
+ (license license:bsd-3)))
+
+(define-public ghc-io-streams
+ (package
+ (name "ghc-io-streams")
+ (version "1.5.0.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://hackage.haskell.org/package/"
+ "io-streams/io-streams-" version ".tar.gz"))
+ (sha256
+ (base32
+ "12rcdg2d70644bvn838fxcjkssqj8pssnx5y657si5rijcbkgjsx"))))
+ (build-system haskell-build-system)
+ (inputs
+ `(("ghc-attoparsec" ,ghc-attoparsec)
+ ("ghc-bytestring-builder" ,ghc-bytestring-builder)
+ ("ghc-network" ,ghc-network)
+ ("ghc-primitive" ,ghc-primitive)
+ ("ghc-vector" ,ghc-vector)
+ ("ghc-zlib-bindings" ,ghc-zlib-bindings)))
+ (native-inputs
+ `(("ghc-hunit" ,ghc-hunit)
+ ("ghc-quickcheck" ,ghc-quickcheck)
+ ("ghc-test-framework" ,ghc-test-framework)
+ ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
+ ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
+ ("ghc-zlib" ,ghc-zlib)))
+ (arguments
+ `(#:cabal-revision
+ ("2" "1mcab95d6hm098myh9gp7sh10srigjphgvm8s9pfs7jg5hzghy14")))
+ (home-page "http://hackage.haskell.org/package/io-streams")
+ (synopsis "Simple and composable stream I/O")
+ (description "This library contains simple and easy-to-use
+primitives for I/O using streams.")
+ (license license:bsd-3)))
+
+(define-public ghc-io-streams-haproxy
+ (package
+ (name "ghc-io-streams-haproxy")
+ (version "1.0.0.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://hackage.haskell.org/package/"
+ "io-streams-haproxy/io-streams-haproxy-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "11nh9q158mgnvvb23s5ffg87lkhl5smk039yl43jghxmb214z0bp"))))
+ (build-system haskell-build-system)
+ (inputs
+ `(("ghc-attoparsec" ,ghc-attoparsec)
+ ("ghc-io-streams" ,ghc-io-streams)
+ ("ghc-network" ,ghc-network)))
+ (native-inputs
+ `(("ghc-hunit" ,ghc-hunit)
+ ("ghc-test-framework" ,ghc-test-framework)
+ ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
+ (arguments
+ `(#:cabal-revision
+ ("4" "06c51a057n5bc9xfbp2m4jz5ds4z1xvmsx5mppch6qfwbz7x5i9l")))
+ (home-page "http://snapframework.com/")
+ (synopsis "HAProxy protocol 1.5 support for io-streams")
+ (description "HAProxy protocol version 1.5 support
+(see @uref{http://haproxy.1wt.eu/download/1.5/doc/proxy-protocol.txt})
+for applications using io-streams. The proxy protocol allows information
+about a networked peer (like remote address and port) to be propagated
+through a forwarding proxy that is configured to speak this protocol.")
+ (license license:bsd-3)))
+
+(define-public ghc-language-glsl
+ (package
+ (name "ghc-language-glsl")
+ (version "0.3.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://hackage.haskell.org/package/"
+ "language-glsl/language-glsl-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0hdg67ainlqpjjghg3qin6fg4p783m0zmjqh4rd5gyizwiplxkp1"))))
+ (build-system haskell-build-system)
+ (inputs `(("ghc-prettyclass" ,ghc-prettyclass)))
+ (arguments
+ `(#:tests? #f
+ #:cabal-revision
+ ("1" "10ac9pk4jy75k03j1ns4b5136l4kw8krr2d2nw2fdmpm5jzyghc5")))
+ (home-page "http://hackage.haskell.org/package/language-glsl")
+ (synopsis "GLSL abstract syntax tree, parser, and pretty-printer")
+ (description "This package is a Haskell library for the
+representation, parsing, and pretty-printing of GLSL 1.50 code.")
+ (license license:bsd-3)))
+
+(define-public ghc-prettyclass
+ (package
+ (name "ghc-prettyclass")
+ (version "1.0.0.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://hackage.haskell.org/package/"
+ "prettyclass/prettyclass-" version ".tar.gz"))
+ (sha256
+ (base32
+ "11l9ajci7nh1r547hx8hgxrhq8mh5gdq30pdf845wvilg9p48dz5"))))
+ (build-system haskell-build-system)
+ (home-page "http://hackage.haskell.org/package/prettyclass")
+ (synopsis "Pretty printing class similar to Show")
+ (description "This package provides a pretty printing class similar
+to @code{Show}, based on the HughesPJ pretty printing library. It
+provides the pretty printing class and instances for the Prelude
+types.")
+ (license license:bsd-3)))
+
+(define-public ghc-readable
+ (package
+ (name "ghc-readable")
+ (version "0.3.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://hackage.haskell.org/package/"
+ "readable/readable-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1ja39cg26wy2fs00gi12x7iq5k8i366pbqi3p916skfa5jnkfc3h"))))
+ (build-system haskell-build-system)
+ (home-page "https://github.com/mightybyte/readable")
+ (synopsis "Type class for reading from Text and ByteString")
+ (description "This package provides a @code{Readable} type class for
+reading data types from @code{ByteString} and @code{Text}. It also
+includes efficient implementations for common data types.")
+ (license license:bsd-3)))
+
+(define-public ghc-threads
+ (package
+ (name "ghc-threads")
+ (version "0.5.1.6")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://hackage.haskell.org/package/"
+ "threads/threads-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0bjnjhnq3km6xqk0fn1fgyz5xdw4h6lylbwwbcmkkfzwcz0c76hk"))))
+ (build-system haskell-build-system)
+ (native-inputs
+ `(("ghc-concurrent-extra" ,ghc-concurrent-extra)
+ ("ghc-hunit" ,ghc-hunit)
+ ("ghc-test-framework" ,ghc-test-framework)
+ ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
+ (home-page "https://github.com/basvandijk/threads")
+ (synopsis "Fork threads and wait for their result")
+ (description "This package provides functions to fork threads and
+wait for their result, whether it's an exception or a normal value.
+Besides waiting for the termination of a single thread this package also
+provides functions to wait for a group of threads to terminate. This
+package is similar to the @code{threadmanager}, @code{async} and
+@code{spawn} packages. The advantages of this package are:
+
+@itemize
+@item Simpler API.
+@item More efficient in both space and time.
+@item No space-leak when forking a large number of threads.
+@item Correct handling of asynchronous exceptions.
+@item GHC specific functionality like @code{forkOn} and
+@code{forkIOWithUnmask}.
+@end itemize")
+ (license license:bsd-3)))
+
+(define-public ghc-zlib-bindings
+ (package
+ (name "ghc-zlib-bindings")
+ (version "0.1.1.5")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://hackage.haskell.org/package/"
+ "zlib-bindings/zlib-bindings-" version ".tar.gz"))
+ (sha256
+ (base32
+ "02ciywlz4wdlymgc3jsnicz9kzvymjw1www2163gxidnz4wb8fy8"))))
+ (build-system haskell-build-system)
+ (inputs
+ `(("ghc-zlib" ,ghc-zlib)))
+ (native-inputs
+ `(("ghc-hspec" ,ghc-hspec)
+ ("ghc-quickcheck" ,ghc-quickcheck)))
+ (arguments
+ `(#:cabal-revision
+ ("2" "0fq49694gqkab8m0vq4i879blswczwd66n7xh4r4gwiahf0ryvqc")))
+ (home-page "https://github.com/snapframework/zlib-bindings")
+ (synopsis "Low-level bindings to the @code{zlib} package")
+ (description "This package provides low-level bindings to the
+@code{zlib} package.")
+ (license license:bsd-3)))
diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index b59553f501..8787f10789 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -73,6 +73,7 @@
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix utils)
+ #:use-module (ice-9 match)
#:use-module (ice-9 regex)
#:use-module ((srfi srfi-1) #:select (alist-delete)))
@@ -440,7 +441,7 @@ interactive environment for the functional language Haskell.")
interactive environment for the functional language Haskell.")
(license license:bsd-3)))
-(define-public ghc-8
+(define-public ghc-8.4
(package (inherit ghc-8.0)
(name "ghc")
(version "8.4.3")
@@ -572,6 +573,53 @@ interactive environment for the functional language Haskell.")
(file-pattern ".*\\.conf\\.d$")
(file-type 'directory))))))
+(define-public ghc-8.6
+ (package (inherit ghc-8.4)
+ (name "ghc")
+ (version "8.6.5")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://www.haskell.org/ghc/dist/"
+ version "/" name "-" version "-src.tar.xz"))
+ (sha256
+ (base32 "0qg3zsmbk4rkwkc3jpas3zs74qaxmw4sp4v1mhsbj0a0dzls2jjd"))))
+ (native-inputs
+ `(;; GHC 8.6.5 must be built with GHC >= 8.2.
+ ("ghc-bootstrap" ,ghc-8.4)
+ ("ghc-testsuite"
+ ,(origin
+ (method url-fetch)
+ (uri (string-append
+ "https://www.haskell.org/ghc/dist/"
+ version "/" name "-" version "-testsuite.tar.xz"))
+ (sha256
+ (base32
+ "0pw9r91g2np3i806g2f4f8z4jfdd7mx226cmdizk4swa7av1qf91"))))
+ ,@(filter (match-lambda
+ (("ghc-bootstrap" . _) #f)
+ (("ghc-testsuite" . _) #f)
+ (_ #t))
+ (package-native-inputs ghc-8.4))))
+ (arguments
+ (substitute-keyword-arguments (package-arguments ghc-8.4)
+ ((#:make-flags make-flags ''())
+ `(cons "EXTRA_RUNTEST_OPTS=--skip-perf-tests"
+ ,make-flags))
+ ((#:phases phases '%standard-phases)
+ `(modify-phases ,phases
+ ;; These two tests refer to the root user, which doesn't exist
+ ;; (see <https://bugs.gnu.org/36692>).
+ (add-after 'unpack-testsuite 'skip-tests
+ (lambda _
+ (substitute* "libraries/unix/tests/all.T"
+ (("^test\\('T8108'") "# guix skipped: test('T8108'"))
+ (substitute* "libraries/unix/tests/libposix/all.T"
+ (("^test\\('posix010'") "# guix skipped: test('posix010'"))
+ #t))))))))
+
+(define-public ghc-8 ghc-8.4)
+
(define-public ghc ghc-8)
(define-public ghc-hostname
@@ -1054,28 +1102,6 @@ the ‘haddock’ package.")
documentation-generation tool for Haskell libraries.")
(license license:bsd-3)))
-(define-public ghc-haddock-test
- (package
- (name "ghc-haddock-test")
- (version "0.0.1")
- (source
- (origin
- (method url-fetch)
- (uri (string-append "https://hackage.haskell.org/package/"
- "haddock-test/haddock-test-"
- version ".tar.gz"))
- (sha256
- (base32
- "1ax8fnfrwx66csj952f3virxzapipan9da7z5l1zc12nqkifbs7w"))))
- (build-system haskell-build-system)
- (inputs
- `(("ghc-xml" ,ghc-xml)
- ("ghc-syb" ,ghc-syb)))
- (home-page "http://www.haskell.org/haddock/")
- (synopsis "Test utilities for Haddock")
- (description "This package provides test utilities for Haddock.")
- (license license:bsd-3)))
-
(define-public ghc-haddock
(package
(name "ghc-haddock")
@@ -2903,30 +2929,6 @@ Haskell library @code{regex-base}.")
@code{regex-posix} to replace @code{Text.Regex}.")
(license license:bsd-3)))
-(define-public ghc-regex-tdfa-rc
- (package
- (name "ghc-regex-tdfa-rc")
- (version "1.1.8.3")
- (source
- (origin
- (method url-fetch)
- (uri (string-append
- "https://hackage.haskell.org/package/regex-tdfa-rc/regex-tdfa-rc-"
- version
- ".tar.gz"))
- (sha256
- (base32
- "1vi11i23gkkjg6193ak90g55akj69bhahy542frkwb68haky4pp3"))))
- (build-system haskell-build-system)
- (inputs
- `(("ghc-regex-base" ,ghc-regex-base)))
- (home-page
- "https://hackage.haskell.org/package/regex-tdfa")
- (synopsis "Tagged DFA regex engine for Haskell")
- (description "A new all-Haskell \"tagged\" DFA regex engine, inspired by
-@code{libtre} (fork by Roman Cheplyaka).")
- (license license:bsd-3)))
-
(define-public ghc-regex-tdfa-text
(package
(name "ghc-regex-tdfa-text")
@@ -3041,6 +3043,7 @@ the parsers provided by @code{parsec}, @code{attoparsec} and @code{base}'s
(base32
"0hznd8i65s81xy13i2qc7cvipw3lfb2yhkv53apbdsh6sbljz5sk"))))
(build-system haskell-build-system)
+ (arguments `(#:tests? #f)) ; doctest suite fails to build on i686
(inputs
`(("ghc-reducers" ,ghc-reducers)
("ghc-semigroups" ,ghc-semigroups)
@@ -3990,7 +3993,7 @@ instances of the @code{Pretty} class.")
"0gnb4mkqryv08vncxnj0bzwcnd749613yw3cxfzw6y3nsldp4c56"))))
(build-system haskell-build-system)
(inputs
- `(("ghc-ansi-terminal" ,ghc-ansi-terminal-0.8)))
+ `(("ghc-ansi-terminal" ,ghc-ansi-terminal)))
(home-page "https://github.com/ekmett/ansi-wl-pprint")
(synopsis "Wadler/Leijen Pretty Printer for colored ANSI terminal output")
(description "This is a pretty printing library based on Wadler's paper
@@ -4235,7 +4238,7 @@ interface.")
(define-public ghc-ansi-terminal
(package
(name "ghc-ansi-terminal")
- (version "0.9.1")
+ (version "0.8.0.4")
(source
(origin
(method url-fetch)
@@ -4245,7 +4248,7 @@ interface.")
".tar.gz"))
(sha256
(base32
- "1yr0ld0kqns3w3j9gl62bdwshvyazidx4dv1qkvq19ivnf08w23l"))))
+ "0428gq8m3fdnb7ldcsyk97qcch76hcxbgh2666p6f76fs2qbhg7b"))))
(build-system haskell-build-system)
(inputs
`(("ghc-colour" ,ghc-colour)))
@@ -4256,21 +4259,6 @@ allows cursor movement, screen clearing, color output showing or hiding the
cursor, and changing the title.")
(license license:bsd-3)))
-(define-public ghc-ansi-terminal-0.8
- (package (inherit ghc-ansi-terminal)
- (name "ghc-ansi-terminal")
- (version "0.8.0.4")
- (source
- (origin
- (method url-fetch)
- (uri (string-append
- "https://hackage.haskell.org/package/ansi-terminal/ansi-terminal-"
- version
- ".tar.gz"))
- (sha256
- (base32
- "0428gq8m3fdnb7ldcsyk97qcch76hcxbgh2666p6f76fs2qbhg7b"))))))
-
(define-public ghc-vault
(package
(name "ghc-vault")
@@ -5909,35 +5897,6 @@ within an enclosed computation, while remaining responsive to (external)
asynchronous exceptions.")
(license license:expat)))
-(define-public ghc-packedstring
- (package
- (name "ghc-packedstring")
- (version "0.1.0.1")
- (source (origin
- (method url-fetch)
- (uri (string-append "https://hackage.haskell.org/package/"
- "packedstring/packedstring-"
- version ".tar.gz"))
- (sha256
- (base32
- "1x78pzzdlnpcmh9p37rlf8m5cxf3yqm2alf3whl4zpr9w25r0qj8"))))
- (build-system haskell-build-system)
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'enable-extension
- (lambda _
- ;; This package won't compile without the StandaloneDeriving
- ;; extension.
- (substitute* "packedstring.cabal"
- (("CPP") "CPP, StandaloneDeriving"))
- #t)))))
- (home-page "https://hackage.haskell.org/package/packedstring")
- (synopsis "Library for packed strings")
- (description
- "This deprecated library provides an implementation of packed strings.")
- (license license:bsd-3)))
-
(define-public ghc-th-abstraction
(package
(name "ghc-th-abstraction")
@@ -6252,6 +6211,9 @@ back-ends.")
(base32
"0cbsyh4ilvjzq1q7pxls43k6pdqxg1l85xzibcwpbvmlvrizh86w"))))
(build-system haskell-build-system)
+ ;; The tests are broken on i686. They are fixed in 0.10.3.0.
+ ;; See https://github.com/snoyberg/yaml/issues/158
+ (arguments `(#:tests? #f))
(inputs
`(("ghc-conduit" ,ghc-conduit)
("ghc-resourcet" ,ghc-resourcet)
@@ -11278,6 +11240,9 @@ imported with the correct Haskell types.")
(base32
"1931m23iqb4wddpdidm4ph746zpaw41kkjzmb074j7yyfpk7x1jv"))))
(build-system haskell-build-system)
+ ;; Tests fail on i686.
+ ;; See https://github.com/vimus/libmpd-haskell/issues/112
+ (arguments `(#:tests? #f))
(inputs
`(("ghc-attoparsec" ,ghc-attoparsec)
("ghc-old-locale" ,ghc-old-locale)
@@ -11821,7 +11786,7 @@ default)
(define-public ghc-validation
(package
(name "ghc-validation")
- (version "1.1")
+ (version "1")
(source
(origin
(method url-fetch)
@@ -11831,18 +11796,11 @@ default)
".tar.gz"))
(sha256
(base32
- "1acj7mh3581ks405xswxw6667z7y1y0slisg6jvp6chc191ji9l5"))))
+ "08drmdvyzg2frbb26icy1mlz52xv0l6gi3v8gb7xp0vrcci5libh"))))
(build-system haskell-build-system)
(arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'add-setup-script
- (lambda _
- ;; The usual "Setup.hs" script is missing from the source.
- (with-output-to-file "Setup.hs"
- (lambda ()
- (format #t "import Distribution.Simple~%")
- (format #t "main = defaultMain~%"))))))))
+ `(#:cabal-revision
+ ("1" "1x1g4nannz81j1h64l1m3ancc96zc57d1bjhj1wk7bwn1xxbi5h3")))
(inputs
`(("ghc-semigroups" ,ghc-semigroups)
("ghc-semigroupoids" ,ghc-semigroupoids)
@@ -11875,7 +11833,7 @@ example of, \"An applicative functor that is not a monad.\"")
(define-public ghc-concurrent-output
(package
(name "ghc-concurrent-output")
- (version "1.10.10")
+ (version "1.10.9")
(source
(origin
(method url-fetch)
@@ -11885,7 +11843,7 @@ example of, \"An applicative functor that is not a monad.\"")
".tar.gz"))
(sha256
(base32
- "1wnjxnwbc3l853kiiijagzjyb6fmhz3lmkwls24plbximl1qrr22"))))
+ "0mwf155w89nbbkjln7hhbn8k3f8p0ylcvgrg31cm7ijpx4499i4c"))))
(build-system haskell-build-system)
(inputs
`(("ghc-async" ,ghc-async)
diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm
index 38780e93fe..93eccf842d 100644
--- a/gnu/packages/image.scm
+++ b/gnu/packages/image.scm
@@ -577,9 +577,6 @@ collection of tools for doing simple manipulations of TIFF images.")
(arguments
'(#:phases
(modify-phases %standard-phases
- (add-after 'unpack 'autogen
- (lambda _
- (invoke "sh" "autobuild")))
(add-after 'unpack 'patch-reg-wrapper
(lambda _
(substitute* "prog/reg_wrapper.sh"
@@ -1004,7 +1001,7 @@ language bindings to VIGRA.")
(define-public libwebp
(package
(name "libwebp")
- (version "1.0.2")
+ (version "1.0.3")
(source
(origin
;; No tarballs are provided for >0.6.1.
@@ -1015,7 +1012,7 @@ language bindings to VIGRA.")
(file-name (git-file-name name version))
(sha256
(base32
- "1ay0sai7f74dyk2gi975qfllmq534vnsx456npf16583mqb6ib2q"))))
+ "1l8h9d3z3kla567ilmymrgg8vc2n763g8qss1hah8dg832hbqkxf"))))
(build-system gnu-build-system)
(inputs
`(("freeglut" ,freeglut)
@@ -1074,14 +1071,14 @@ channels.")
(define-public exiv2
(package
(name "exiv2")
- (version "0.27.1")
+ (version "0.27.2")
(source
(origin
(method url-fetch)
(uri (string-append "https://www.exiv2.org/builds/exiv2-" version
"-Source.tar.gz"))
(sha256
- (base32 "109hbfk63dh14fz20ivq20gcclb9jj9jmh48w4lcn6zxh1ljh9gi"))))
+ (base32 "0gqminvj14xm3rgbnydbywf22608js80rp7nmxxk4497j5mzali6"))))
(build-system cmake-build-system)
(arguments '(#:tests? #f)) ; no test suite
(propagated-inputs
@@ -1206,12 +1203,6 @@ ISO/IEC 15444-1).")
`(("autoconf" ,autoconf)
("automake" ,automake)
("libtool" ,libtool)))
- (arguments
- '(#:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'autogen
- (lambda _
- (invoke "sh" "autogen.sh"))))))
(synopsis "Scaling, colorspace conversion, and dithering library")
(description "Zimg implements the commonly required image processing basics
of scaling, colorspace conversion, and depth conversion. A simple API enables
diff --git a/gnu/packages/imagemagick.scm b/gnu/packages/imagemagick.scm
index 39fcf61a12..807fd43b9b 100644
--- a/gnu/packages/imagemagick.scm
+++ b/gnu/packages/imagemagick.scm
@@ -48,14 +48,14 @@
;; The 7 release series has an incompatible API, while the 6 series is still
;; maintained. Don't update to 7 until we've made sure that the ImageMagick
;; users are ready for the 7-series API.
- (version "6.9.10-51")
+ (version "6.9.10-58")
(source (origin
(method url-fetch)
(uri (string-append "mirror://imagemagick/ImageMagick-"
version ".tar.xz"))
(sha256
(base32
- "03c5r14ycp7mmlk6pryfcnpvjjnghk3z7dbjd1b7m1bgzmw21jhj"))))
+ "1hrd408lqgwg70aaif8g60lipwsplsg61722kpmx7a08pygs46hf"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags '("--with-frozenpaths" "--without-gcc-arch")
diff --git a/gnu/packages/kde.scm b/gnu/packages/kde.scm
index b5b1d4eb20..d8c0649131 100644
--- a/gnu/packages/kde.scm
+++ b/gnu/packages/kde.scm
@@ -320,7 +320,7 @@ plugins, as well as code to create plugins, or complete applications.")
(define-public krita
(package
(name "krita")
- (version "4.2.2")
+ (version "4.2.5")
(source (origin
(method url-fetch)
(uri (string-append
@@ -329,7 +329,7 @@ plugins, as well as code to create plugins, or complete applications.")
"/krita-" version ".tar.gz"))
(sha256
(base32
- "1pzk5bqp3kh22djhvsvmsc7ybirs4hsnkpg1y9677m2gxwbqnnps"))))
+ "1f14r2mrqasl6nr3sss0xy2h8xlxd5wdcjcd64m9nz2gwlm39r7w"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f
diff --git a/gnu/packages/libevent.scm b/gnu/packages/libevent.scm
index 58c451a4e9..ae87671611 100644
--- a/gnu/packages/libevent.scm
+++ b/gnu/packages/libevent.scm
@@ -41,7 +41,7 @@
(define-public libevent
(package
(name "libevent")
- (version "2.1.10")
+ (version "2.1.11")
(source (origin
(method url-fetch)
(uri (string-append
@@ -49,7 +49,7 @@
version "-stable/libevent-" version "-stable.tar.gz"))
(sha256
(base32
- "1c25928gdv495clxk2v1d4gkr5py7ack4gx2n7d13frnld0syr78"))))
+ "0g988zqm45sj1hlhhz4il5z4dpi5dl74hzjwzl4md37a09iaqnx6"))))
(build-system gnu-build-system)
(arguments
;; This skips some of the tests which fail on armhf and aarch64.
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 998f197304..f2e36ee7b4 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -349,42 +349,42 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
"linux-" version ".tar.xz"))
(sha256 hash)))
-(define-public linux-libre-5.2-version "5.2.4")
+(define-public linux-libre-5.2-version "5.2.8")
(define-public linux-libre-5.2-pristine-source
(let ((version linux-libre-5.2-version)
- (hash (base32 "0hzfayq79bksng09ngw3k3h3zkd6ndfn059rvwpznypy1fg8pkdi")))
+ (hash (base32 "0dv91zfjkil29lp2l35lswkrhrqbc4kjh965ciaqwih1rh3cs9x1")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-5.2)))
-(define-public linux-libre-4.19-version "4.19.62")
+(define-public linux-libre-4.19-version "4.19.66")
(define-public linux-libre-4.19-pristine-source
(let ((version linux-libre-4.19-version)
- (hash (base32 "1p6s1ksrsq3za7644j0qf9brf6brwq39jxpfln5ypmyfi5qn9gh7")))
+ (hash (base32 "0r6vzarmi77fhivd1n6f667sgcw8zd54ykmhmp6rd52bbkhsp0f9")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-4.19)))
-(define-public linux-libre-4.14-version "4.14.134")
+(define-public linux-libre-4.14-version "4.14.138")
(define-public linux-libre-4.14-pristine-source
(let ((version linux-libre-4.14-version)
- (hash (base32 "0b9xj1rwr5fpw2giirfghzxxc0wp1hwf4nqvalx314pxxysyf88b")))
+ (hash (base32 "0yw39cqpk6g42q0xcv2aq8yyzsi0kzx9nvlfbw0iyg58wcfvsl7j")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-4.14)))
-(define-public linux-libre-4.9-version "4.9.186")
+(define-public linux-libre-4.9-version "4.9.189")
(define-public linux-libre-4.9-pristine-source
(let ((version linux-libre-4.9-version)
- (hash (base32 "0sjbp7m6d625rw06wv34a0805d1lgldii4pxiqfpja871m1q8914")))
+ (hash (base32 "1cyhwnxkjd0qa5d48657yppjnzbi830q0p25jjv2dxs629k4bnck")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-4.9)))
-(define-public linux-libre-4.4-version "4.4.186")
+(define-public linux-libre-4.4-version "4.4.189")
(define-public linux-libre-4.4-pristine-source
(let ((version linux-libre-4.4-version)
- (hash (base32 "113rjf8842glzi23y1g1yrwncihv2saah6wz0r726r06bk9p64hb")))
+ (hash (base32 "0nc8v62gw89m3ykqg6nqf749fzm8y1n481ns8vny4gbinyikjhlp")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-4.4)))
@@ -1397,15 +1397,18 @@ Zerofree requires the file system to be unmounted or mounted read-only.")
(define-public strace
(package
(name "strace")
- (version "5.1")
+ (version "5.2")
(home-page "https://strace.io")
(source (origin
(method url-fetch)
(uri (string-append home-page "/files/" version
"/strace-" version ".tar.xz"))
+ ;; XXX Remove the 'regenerate-tests' phase below when
+ ;; "strace-ipc-tests.patch" is no longer applied.
+ (patches (search-patches "strace-ipc-tests.patch"))
(sha256
(base32
- "12wsga1v3rab24gr0mpfip7j7gwr90m8f9h6fviqxa3xgnwl38zm"))))
+ "1li49i75wrdw91hchyyd8spnzfcmxcfyfb5g9zbaza89aq4bq4ym"))))
(build-system gnu-build-system)
(arguments
'(#:phases
@@ -1414,7 +1417,14 @@ Zerofree requires the file system to be unmounted or mounted read-only.")
(lambda _
(substitute* "strace.c"
(("/bin/sh") (which "sh")))
- #t)))
+ #t))
+ (add-before 'configure 'regenerate-tests
+ ;; XXX Remove this phase when "strace-ipc-tests.patch" is no longer
+ ;; applied in the 'source' field above. This phase is needed to
+ ;; regenerate many other files from tests/gen_tests.in, which is
+ ;; modified by the aforementioned patch.
+ (lambda _
+ (invoke "tests/gen_tests.sh"))))
;; Don't fail if the architecture doesn't support different personalities.
#:configure-flags '("--enable-mpers=check")
;; See <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=32459>.
@@ -4613,7 +4623,7 @@ are exceeded.")
(define-public mtd-utils
(package
(name "mtd-utils")
- (version "2.0.2")
+ (version "2.1.1")
(source (origin
(method url-fetch)
(uri (string-append
@@ -4621,17 +4631,19 @@ are exceeded.")
"mtd-utils-" version ".tar.bz2"))
(sha256
(base32
- "1f30jszknc5v6ykmil8ajxgksmcg54q3rsp84jsancp9x0dycggv"))))
+ "1lijl89l7hljx8xx70vrz9srd3h41v5gh4b0lvqnlv831yvyh5cd"))))
(arguments
'(#:configure-flags '("--enable-unit-tests")))
(native-inputs
`(("cmocka" ,cmocka)
("pkg-config" ,pkg-config)))
(inputs
- `(("acl" ,acl) ; for XATTR
+ `(("acl" ,acl) ; extended attributes (xattr)
("libuuid" ,util-linux)
("lzo" ,lzo)
- ("zlib" ,zlib)))
+ ("openssl" ,openssl) ; optional crypto support
+ ("zlib" ,zlib)
+ ("zstd" ,zstd "lib")))
(build-system gnu-build-system)
(synopsis "MTD Flash Storage Utilities")
(description "This package provides utilities for testing, partitioning, etc
diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm
index e7d0d5a44f..d2bed231bd 100644
--- a/gnu/packages/lisp.scm
+++ b/gnu/packages/lisp.scm
@@ -6563,7 +6563,24 @@ This system contains the CFFI foreign slot access extension.")))
("trivia.cffi" ,sbcl-trivia.cffi)
("optima" ,sbcl-optima)))
(arguments
- `(#:test-asd-file "trivia.test.asd"))
+ `(#:test-asd-file "trivia.test.asd"
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'create-asd 'remove-component
+ ;; XXX: The original .asd has no components, but our build system
+ ;; creates an entry nonetheless. We need to remove it for the
+ ;; generated .asd to load properly. See trivia.trivial for a
+ ;; similar problem.
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (asd (string-append out "/lib/" (%lisp-type) "/trivia.asd")))
+ (substitute* asd
+ ((" :components
+")
+ ""))
+ (substitute* asd
+ ((" *\\(\\(:compiled-file \"trivia--system\"\\)\\)")
+ ""))))))))
(description "Trivia is a pattern matching compiler that is compatible
with Optima, another pattern matching library for Common Lisp. It is meant to
be faster and more extensible than Optima.")))
@@ -6598,3 +6615,38 @@ various string metrics in Common Lisp:
@item Overlap coefficient
@end itemize\n")
(license license:x11)))
+
+(define-public sbcl-cl-str
+ (let ((commit "3d5ec86e3a0199e5973aacde951086dfd754b5e5"))
+ (package
+ (name "sbcl-cl-str")
+ (version (git-version "0.8" "1" commit))
+ (home-page "https://github.com/vindarel/cl-str")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url home-page)
+ (commit commit)))
+ (sha256
+ (base32 "0szzzbygw9h985yxz909vvqrp69pmpcpahn7hn350lnyjislk9ga"))
+ (file-name (git-file-name name version))))
+ (build-system asdf-build-system/sbcl)
+ (inputs
+ `(("cl-ppcre" ,sbcl-cl-ppcre)
+ ("cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)))
+ (native-inputs
+ `(("prove" ,sbcl-prove)
+ ("prove-asdf" ,sbcl-prove-asdf)))
+ (arguments
+ `(#:asd-file "str.asd"
+ #:asd-system-name "str"
+ #:test-asd-file "str.test.asd"))
+ (synopsis "Modern, consistent and terse Common Lisp string manipulation library")
+ (description "A modern and consistent Common Lisp string manipulation
+library that focuses on modernity, simplicity and discoverability:
+@code{(str:trim s)} instead of @code{(string-trim '(#\\Space ...) s)}), or
+@code{str:concat strings} instead of an unusual format construct; one
+discoverable library instead of many; consistency and composability, where
+@code{s} is always the last argument, which makes it easier to feed pipes and
+arrows.")
+ (license license:expat))))
diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm
index 3eeb9cb1e2..d82bdc003c 100644
--- a/gnu/packages/machine-learning.scm
+++ b/gnu/packages/machine-learning.scm
@@ -193,7 +193,7 @@ classification.")
(uri (svn-reference
(url "http://svn.code.sf.net/p/ghmm/code/trunk")
(revision svn-revision)))
- (file-name (string-append name "-" version))
+ (file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"0qbq1rqp94l530f043qzp8aw5lj7dng9wq0miffd7spd1ff638wq"))))
@@ -250,10 +250,7 @@ classification.")
(string-append indent
"@unittest.skip(\"Disabled by Guix\")\n"
line)))
- #t))
- (add-after 'disable-broken-tests 'autogen
- (lambda _
- (invoke "bash" "autogen.sh"))))))
+ #t)))))
(inputs
`(("python" ,python-2) ; only Python 2 is supported
("libxml2" ,libxml2)))
@@ -820,8 +817,14 @@ computing environments.")
(setenv "HOME" "/tmp")
(invoke "pytest" "sklearn" "-m" "not network")))
- ;; FIXME: This fails with permission denied
- (delete 'reset-gzip-timestamps))))
+ (add-before 'reset-gzip-timestamps 'make-files-writable
+ (lambda* (#:key outputs #:allow-other-keys)
+ ;; Make sure .gz files are writable so that the
+ ;; 'reset-gzip-timestamps' phase can do its work.
+ (let ((out (assoc-ref outputs "out")))
+ (for-each make-file-writable
+ (find-files out "\\.gz$"))
+ #t))))))
(inputs
`(("openblas" ,openblas)))
(native-inputs
diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
index 40fe7d9450..b81b15d80c 100644
--- a/gnu/packages/mail.scm
+++ b/gnu/packages/mail.scm
@@ -1051,7 +1051,7 @@ useful features.")
(arguments
'(#:phases
(modify-phases %standard-phases
- (add-after 'unpack 'autogen
+ (replace 'bootstrap
(lambda _
(setenv "NOCONFIGURE" "true")
(invoke "sh" "autogen.sh"))))
@@ -1365,12 +1365,7 @@ It supports mbox/Maildir and its own dbox/mdbox formats.")
`(#:tests? #f ;No tests exist.
#:configure-flags (list (string-append "--with-dovecot="
(assoc-ref %build-inputs "dovecot")
- "/lib/dovecot"))
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'autogen
- (lambda _
- (invoke "sh" "autogen.sh"))))))
+ "/lib/dovecot"))))
(home-page "https://0xacab.org/riseuplabs/trees")
(synopsis "NaCL-based Dovecot email storage encryption plugin")
(description
@@ -1421,12 +1416,7 @@ using libsodium sealed boxes.
`(#:tests? #f ;No tests exist.
#:configure-flags (list (string-append "--with-dovecot="
(assoc-ref %build-inputs "dovecot")
- "/lib/dovecot"))
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'autogen
- (lambda _
- (invoke "sh" "autogen.sh"))))))
+ "/lib/dovecot"))))
(home-page "https://github.com/LuckyFellow/dovecot-libsodium-plugin")
(synopsis "Libsodium password hashing schemes plugin for Dovecot")
(description
diff --git a/gnu/packages/man.scm b/gnu/packages/man.scm
index a24c7eff22..d6005c1bd3 100644
--- a/gnu/packages/man.scm
+++ b/gnu/packages/man.scm
@@ -162,7 +162,7 @@ the traditional flat-text whatis databases.")
(define-public man-pages
(package
(name "man-pages")
- (version "5.01")
+ (version "5.02")
(source
(origin
(method url-fetch)
@@ -172,7 +172,7 @@ the traditional flat-text whatis databases.")
(string-append "mirror://kernel.org/linux/docs/man-pages/Archive/"
"man-pages-" version ".tar.xz")))
(sha256
- (base32 "09xn8d8xxwgms6h1bvjlgn3mxz51vxf3ra0ry9f5dqi29qry3z3x"))))
+ (base32 "1s4pdz2pwf0kvhdwx2s6lqn3xxzi38yz5jfyq5ymdmswc9gaiyn2"))))
(build-system gnu-build-system)
(arguments
'(#:phases (modify-phases %standard-phases (delete 'configure))
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index 87d1afb7d8..7ece795d60 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -325,7 +325,7 @@ enough to be used effectively as a scientific calculator.")
(define-public double-conversion
(package
(name "double-conversion")
- (version "3.1.4")
+ (version "3.1.5")
(home-page "https://github.com/google/double-conversion")
(source (origin
(method git-fetch)
@@ -334,7 +334,7 @@ enough to be used effectively as a scientific calculator.")
(file-name (git-file-name name version))
(sha256
(base32
- "13xwcqk2c0q8c1siw566clxcpvp0xrxvb72mra42wa3nvq9wlsv6"))))
+ "0csy4pjw1p8rp6g5qxi2h0ychhhp1fldv7gb761627fs2mclw9gv"))))
(build-system cmake-build-system)
(arguments
'(#:test-target "test"
@@ -4333,14 +4333,14 @@ are noisy or are discontinuous at the solution.")
(define-public r-desolve
(package
(name "r-desolve")
- (version "1.21")
+ (version "1.24")
(source
(origin
(method url-fetch)
(uri (cran-uri "deSolve" version))
(sha256
(base32
- "0qqc4mknw1jblzcmph1dg3k1p6w42yal0k1xjh8pqk7yb3a75hs5"))))
+ "0hkvspq0fp8j64l9zayab2l2nazazhwfgfym0jllh0xv5a12r99s"))))
(properties `((upstream-name . "deSolve")))
(build-system r-build-system)
(native-inputs
diff --git a/gnu/packages/mp3.scm b/gnu/packages/mp3.scm
index 99ca4f9007..967e299803 100644
--- a/gnu/packages/mp3.scm
+++ b/gnu/packages/mp3.scm
@@ -65,7 +65,8 @@
"14460zhacxhswnzb36qfpd1f2wbk10qvksvm6wyq5hpvdgnw7ymv"))
(patches (search-patches "libmad-armv7-thumb-pt1.patch"
"libmad-armv7-thumb-pt2.patch"
- "libmad-frame-length.patch"
+ "libmad-md_size.patch"
+ "libmad-length-check.patch"
"libmad-mips-newgcc.patch"))))
(build-system gnu-build-system)
(arguments
diff --git a/gnu/packages/mpd.scm b/gnu/packages/mpd.scm
index d65ac33416..e8070451c1 100644
--- a/gnu/packages/mpd.scm
+++ b/gnu/packages/mpd.scm
@@ -90,7 +90,7 @@ interfacing MPD in the C, C++ & Objective C languages.")
(define-public mpd
(package
(name "mpd")
- (version "0.21.11")
+ (version "0.21.13")
(source (origin
(method url-fetch)
(uri
@@ -99,7 +99,7 @@ interfacing MPD in the C, C++ & Objective C languages.")
"/mpd-" version ".tar.xz"))
(sha256
(base32
- "1gbcg8icm0pp918jw1lx1j066m39zg9wyqjla328ic848j5zhbnk"))))
+ "1sjyhmq50nlccwmd8xn7m0bk8xvyixvfyr24v9dy3g86hhk0pdwm"))))
(build-system meson-build-system)
(arguments
`(#:configure-flags '("-Ddocumentation=true"))) ;the default is 'false'...
diff --git a/gnu/packages/multiprecision.scm b/gnu/packages/multiprecision.scm
index 4320138b73..8e89836595 100644
--- a/gnu/packages/multiprecision.scm
+++ b/gnu/packages/multiprecision.scm
@@ -64,12 +64,11 @@
(else '())))))
(synopsis "Multiple-precision arithmetic library")
(description
- "@dfn{GMP} (the GNU Multiple Precision Arithmetic Library) is a library for
-arbitrary-precision arithmetic, operating on signed integers, rational numbers
-and floating point numbers. The precision is only limited by the available
-memory. The library is highly optimized, with a design focus on execution
-speed. It is aimed at use in, for example, cryptography and computational
-algebra.")
+ "The @acronym{GMP, the GNU Multiple Precision Arithmetic} library performs
+arbitrary-precision arithmetic on signed integers, rational numbers and floating
+point numbers. The precision is only limited by the available memory.
+The library is highly optimized, with a design focus on execution speed.
+It is aimed at use in, for example, cryptography and computational algebra.")
(license lgpl3+)
(home-page "https://gmplib.org/")))
@@ -105,7 +104,7 @@ algebra.")
(propagated-inputs `(("gmp" ,gmp))) ; <mpfr.h> refers to <gmp.h>
(synopsis "C library for arbitrary-precision floating-point arithmetic")
(description
- "GNU@tie{}@dfn{MPFR} (Multiple Precision Floating-Point Reliably) is a C
+ "GNU@tie{}@acronym{MPFR, Multiple Precision Floating-Point Reliably} is a C
library for performing multiple-precision, floating-point computations with
correct rounding.")
(license lgpl3+)
@@ -128,8 +127,8 @@ correct rounding.")
("mpfr" ,mpfr)))
(synopsis "C library for arbitrary-precision complex arithmetic")
(description
- "GNU@tie{}@dfn{MPC} (Multiple Precision Complex library) is a C library for
-performing arithmetic on complex numbers. It supports arbitrarily high
+ "GNU@tie{}@acronym{MPC, Multiple Precision Complex library} is a C library
+for performing arithmetic on complex numbers. It supports arbitrarily high
precision and correctly rounds the results.")
(license lgpl3+)
(home-page "http://multiprecision.org/mpc/")))
@@ -150,11 +149,11 @@ precision and correctly rounds the results.")
("mpfr" ,mpfr)))
(synopsis "C library for arbitrary-precision interval arithmetic")
(description
- "@dfn{MPFI} (Multiple Precision Floating-point Interval) is a portable C
+ "@acronym{MPFI, Multiple Precision Floating-point Interval} is a portable C
library for arbitrary-precision interval arithmetic, with intervals represented
-using MPFR reliable floating-point numbers. It's based on the @dfn{GMP} (GNU
-Multiple Precision Arithmetic) and GNU@tie{}@dfn{MPFR} (Multiple Precision
-Floating-Point Reliably) libraries.
+using MPFR reliable floating-point numbers. It's based on the @acronym{GMP, GNU
+Multiple Precision Arithmetic} and GNU@tie{}@acronym{MPFR, Multiple Precision
+Floating-Point Reliably} libraries.
The purpose of arbitrary-precision interval arithmetic is to get results that
are both guaranteed, thanks to interval computation, and accurate, thanks to
diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
index f63418b2cc..813bbb8c81 100644
--- a/gnu/packages/networking.scm
+++ b/gnu/packages/networking.scm
@@ -592,14 +592,14 @@ of the same name.")
(define-public wireshark
(package
(name "wireshark")
- (version "3.0.2")
+ (version "3.0.3")
(source
(origin
(method url-fetch)
(uri (string-append "https://www.wireshark.org/download/src/wireshark-"
version ".tar.xz"))
(sha256
- (base32 "0fz5lbyiw4a27fqc4ndi1w20bpcb6wi9k7vjv29l9fhd99kca7ky"))))
+ (base32 "0711jilp9sbgi46d105m3galw8n4wk5yncawi08031qxg2f754mg"))))
(build-system cmake-build-system)
(arguments
`(#:phases
diff --git a/gnu/packages/nss.scm b/gnu/packages/nss.scm
index 40a8002954..b6df366a77 100644
--- a/gnu/packages/nss.scm
+++ b/gnu/packages/nss.scm
@@ -70,7 +70,7 @@ in the Mozilla clients.")
(define-public nss
(package
(name "nss")
- (version "3.44.1")
+ (version "3.45")
(source (origin
(method url-fetch)
(uri (let ((version-with-underscores
@@ -81,9 +81,10 @@ in the Mozilla clients.")
"nss-" version ".tar.gz")))
(sha256
(base32
- "1y0jvva4s3j7cjz22kqw2lsml0an1295bgpc2raf7kc9r60cpr7w"))
+ "12sfq9xvpwpc22qnjsg1if1lmchiy33byrh92wn91phz7li0abqi"))
;; Create nss.pc and nss-config.
(patches (search-patches "nss-pkgconfig.patch"
+ "nss-freebl-stubs.patch"
"nss-increase-test-timeout.patch"))))
(build-system gnu-build-system)
(outputs '("out" "bin"))
diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm
index 84bb3542f1..546806f284 100644
--- a/gnu/packages/package-management.scm
+++ b/gnu/packages/package-management.scm
@@ -561,16 +561,16 @@ transactions from C or Python.")
(define-public diffoscope
(package
(name "diffoscope")
- (version "116")
+ (version "120")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://salsa.debian.org/reproducible-builds/diffoscope.git")
- (commit "116")))
+ (commit "120")))
(file-name (git-file-name name version))
(sha256
(base32
- "1anz2c112y0w21mh7xp6bs6z7v10dcy1i25nypkvqy3j929m0g28"))))
+ "07z9yclvfkw4326739l2ywzzihax5vdijiaqqpfix9rz1rb923aa"))))
(build-system python-build-system)
(arguments
`(#:phases (modify-phases %standard-phases
@@ -1023,7 +1023,7 @@ the boot loader configuration.")
(define-public flatpak
(package
(name "flatpak")
- (version "1.2.4")
+ (version "1.4.2")
(source
(origin
(method url-fetch)
@@ -1031,7 +1031,7 @@ the boot loader configuration.")
version "/flatpak-" version ".tar.xz"))
(sha256
(base32
- "1qf3ys84fzv11z6f6li59rxjdjbyrv7cyi9539k73r9i9pckjr8v"))))
+ "08nmpp26mgv0vp3mlwk97rnp0j7i108h4hr9nllja19sjxnrlygj"))))
;; Wrap 'flatpak' so that GIO_EXTRA_MODULES is set, thereby allowing GIO to
;; find the TLS backend in glib-networking.
@@ -1059,6 +1059,7 @@ the boot loader configuration.")
(inputs `(("appstream-glib" ,appstream-glib)
("bubblewrap" ,bubblewrap)
("dconf" ,dconf)
+ ("fuse" ,fuse)
("gdk-pixbuf" ,gdk-pixbuf)
("gpgme" ,gpgme)
("json-glib" ,json-glib)
diff --git a/gnu/packages/patches/emacs-dired-toggle-sudo-emacs-26.patch b/gnu/packages/patches/emacs-dired-toggle-sudo-emacs-26.patch
new file mode 100644
index 0000000000..d979b113d0
--- /dev/null
+++ b/gnu/packages/patches/emacs-dired-toggle-sudo-emacs-26.patch
@@ -0,0 +1,49 @@
+From 3c0f4b27a079b90dc632f5061a81ce28cef24801 Mon Sep 17 00:00:00 2001
+From: eryx67 <eryx67@gmail.com>
+Date: Thu, 29 Nov 2018 10:30:20 +0500
+Subject: [PATCH] fix for latest emacs
+
+---
+ dired-toggle-sudo.el | 11 +++++++----
+ 1 file changed, 7 insertions(+), 4 deletions(-)
+
+diff --git a/dired-toggle-sudo.el b/dired-toggle-sudo.el
+index 386921b..fe5898e 100644
+--- a/dired-toggle-sudo.el
++++ b/dired-toggle-sudo.el
+@@ -37,17 +37,20 @@
+ unless SUDO-USER is provided."
+ (let* (;; Handle the case of local files. `tramp-dissect-file-name' does
+ ;; not raise an error anymore.
+- (path (if (tramp-tramp-file-p path) path (concat "/:" path)))
++ ;;(path (if (tramp-tramp-file-p path) path (concat "/-::" path)))
+ (file-vec (or (ignore-errors (tramp-dissect-file-name
+ path))
+ (tramp-dissect-file-name
+- (concat "/:" path) 1)))
++ (concat "/-::" path) 1)))
+ (method (tramp-file-name-method file-vec))
+ (user (tramp-file-name-user file-vec))
+ (host (tramp-file-name-host file-vec))
++ (domain (tramp-file-name-domain file-vec))
++ (port (tramp-file-name-port file-vec))
+ (localname (expand-file-name
+ (tramp-file-name-localname file-vec))))
+- (when (string= system-name host)
++ (when (or (string= (system-name) host)
++ (string= "-" host))
+ (setq host nil))
+ (cond
+ ;; remote directory -> sudo
+@@ -67,7 +70,7 @@ unless SUDO-USER is provided."
+ (setq method "sudo" user sudo-user)))
+ (replace-regexp-in-string
+ "^/:/" "/"
+- (tramp-make-tramp-file-name method user host localname))))
++ (tramp-make-tramp-file-name method domain user host port localname))))
+
+ (defun dired-toggle-sudo-find (fname)
+ "Create a new buffer for file name FNAME."
+--
+2.22.0
+
diff --git a/gnu/packages/patches/flac-CVE-2017-6888.patch b/gnu/packages/patches/flac-CVE-2017-6888.patch
deleted file mode 100644
index d2583201b4..0000000000
--- a/gnu/packages/patches/flac-CVE-2017-6888.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-https://git.xiph.org/?p=flac.git;a=patch;h=4f47b63e9c971e6391590caf00a0f2a5ed612e67
-
-From 4f47b63e9c971e6391590caf00a0f2a5ed612e67 Mon Sep 17 00:00:00 2001
-From: Erik de Castro Lopo <erikd@mega-nerd.com>
-Date: Sat, 8 Apr 2017 18:34:49 +1000
-Subject: [PATCH] stream_decoder.c: Fix a memory leak
-
-Leak reported by Secunia Research.
----
- src/libFLAC/stream_decoder.c | 3 +++
- 1 file changed, 3 insertions(+)
-
-diff --git a/src/libFLAC/stream_decoder.c b/src/libFLAC/stream_decoder.c
-index 14d5fe7f..a5527511 100644
---- a/src/libFLAC/stream_decoder.c
-+++ b/src/libFLAC/stream_decoder.c
-@@ -1753,6 +1753,9 @@ FLAC__bool read_metadata_vorbiscomment_(FLAC__StreamDecoder *decoder, FLAC__Stre
- }
- memset (obj->comments[i].entry, 0, obj->comments[i].length) ;
- if (!FLAC__bitreader_read_byte_block_aligned_no_crc(decoder->private_->input, obj->comments[i].entry, obj->comments[i].length)) {
-+ /* Current i-th entry is bad, so we delete it. */
-+ free (obj->comments[i].entry) ;
-+ obj->comments[i].entry = NULL ;
- obj->num_comments = i;
- goto skip;
- }
---
-2.11.0
-
diff --git a/gnu/packages/patches/isc-dhcp-4.4.1-fixes-for-newer-bind.patch b/gnu/packages/patches/isc-dhcp-4.4.1-fixes-for-newer-bind.patch
new file mode 100644
index 0000000000..53e681ea31
--- /dev/null
+++ b/gnu/packages/patches/isc-dhcp-4.4.1-fixes-for-newer-bind.patch
@@ -0,0 +1,100 @@
+These fixes are needed to adapt isc-dhcp-4.4.1 to build
+successfully after its bundled copy of bind has been updated.
+
+It is derived from the following upstream commits:
+
+commit 8194daabfd590f17825f0c61e9534bee5c99cc86
+Author: Thomas Markwalder <tmark@isc.org>
+Date: Fri Sep 14 13:41:14 2018 -0400
+
+ [master] Added includes of new BIND9 compatibility headers, updated util/bind.sh
+
+ Merges in rt48072.
+
+commit cc35f84943df44dac2499f3e16e8aaba7d54191d
+Author: Thomas Markwalder <tmark@isc.org>
+Date: Tue Mar 19 08:36:23 2019 -0400
+
+ [master] Avoid Bind9 python dependency
+
+ merges [#3,!1] Avoid Bind9 python dependency
+
+--- a/bind/Makefile.in
++++ b/bind/Makefile.in
+@@ -23,7 +23,7 @@ exec_prefix = @exec_prefix@
+
+ bindconfig = --without-openssl --without-libxml2 --without-libjson \
+ --without-gssapi --disable-threads --without-lmdb \
+- --includedir=@includedir@ --libdir=@libdir@ \
++ --includedir=@includedir@ --libdir=@libdir@ --without-python\
+ @BINDLT@ @BINDIOMUX@ @BINDCONFIG@ --enable-full-report
+
+ @BIND_ATF_FALSE@cleandirs = ./lib ./include
+diff --git a/includes/omapip/isclib.h b/includes/omapip/isclib.h
+index 75a87ff6..538b927f 100644
+--- a/includes/omapip/isclib.h
++++ b/includes/omapip/isclib.h
+@@ -48,6 +48,9 @@
+ #include <string.h>
+ #include <netdb.h>
+
++#include <isc/boolean.h>
++#include <isc/int.h>
++
+ #include <isc/buffer.h>
+ #include <isc/lex.h>
+ #include <isc/lib.h>
+diff --git a/includes/omapip/result.h b/includes/omapip/result.h
+index 91243e1b..860298f6 100644
+--- a/includes/omapip/result.h
++++ b/includes/omapip/result.h
+@@ -26,6 +26,7 @@
+ #ifndef DHCP_RESULT_H
+ #define DHCP_RESULT_H 1
+
++#include <isc/boolean.h>
+ #include <isc/lang.h>
+ #include <isc/resultclass.h>
+ #include <isc/types.h>
+diff --git a/server/dhcpv6.c b/server/dhcpv6.c
+index a7110f98..cde4f617 100644
+--- a/server/dhcpv6.c
++++ b/server/dhcpv6.c
+@@ -1034,7 +1034,8 @@ void check_pool6_threshold(struct reply_state *reply,
+ shared_name,
+ inet_ntop(AF_INET6, &lease->addr,
+ tmp_addr, sizeof(tmp_addr)),
+- used, count);
++ (long long unsigned)(used),
++ (long long unsigned)(count));
+ }
+ return;
+ }
+@@ -1066,7 +1067,8 @@ void check_pool6_threshold(struct reply_state *reply,
+ "address: %s; high threshold %d%% %llu/%llu.",
+ shared_name,
+ inet_ntop(AF_INET6, &lease->addr, tmp_addr, sizeof(tmp_addr)),
+- poolhigh, used, count);
++ poolhigh, (long long unsigned)(used),
++ (long long unsigned)(count));
+
+ /* handle the low threshold now, if we don't
+ * have one we default to 0. */
+@@ -1436,12 +1438,15 @@ pick_v6_address(struct reply_state *reply)
+ log_debug("Unable to pick client address: "
+ "no addresses available - shared network %s: "
+ " 2^64-1 < total, %llu active, %llu abandoned",
+- shared_name, active - abandoned, abandoned);
++ shared_name, (long long unsigned)(active - abandoned),
++ (long long unsigned)(abandoned));
+ } else {
+ log_debug("Unable to pick client address: "
+ "no addresses available - shared network %s: "
+ "%llu total, %llu active, %llu abandoned",
+- shared_name, total, active - abandoned, abandoned);
++ shared_name, (long long unsigned)(total),
++ (long long unsigned)(active - abandoned),
++ (long long unsigned)(abandoned));
+ }
+
+ return ISC_R_NORESOURCES;
diff --git a/gnu/packages/patches/libmad-frame-length.patch b/gnu/packages/patches/libmad-frame-length.patch
deleted file mode 100644
index 3434eba577..0000000000
--- a/gnu/packages/patches/libmad-frame-length.patch
+++ /dev/null
@@ -1,199 +0,0 @@
-Copied from Debian.
-
-; You can calculate where the next frame will start depending on things
-; like the bitrate. See mad_header_decode(). It seems that when decoding
-; the frame you can go past that boundary. This attempts to catch those cases,
-; but might not catch all of them.
-; For more info see http://bugs.debian.org/508133
-Index: libmad-0.15.1b/layer12.c
-===================================================================
---- libmad-0.15.1b.orig/layer12.c 2008-12-23 21:38:07.000000000 +0100
-+++ libmad-0.15.1b/layer12.c 2008-12-23 21:38:12.000000000 +0100
-@@ -134,6 +134,12 @@
- for (sb = 0; sb < bound; ++sb) {
- for (ch = 0; ch < nch; ++ch) {
- nb = mad_bit_read(&stream->ptr, 4);
-+ if (mad_bit_nextbyte(&stream->ptr) > stream->next_frame)
-+ {
-+ stream->error = MAD_ERROR_LOSTSYNC;
-+ stream->sync = 0;
-+ return -1;
-+ }
-
- if (nb == 15) {
- stream->error = MAD_ERROR_BADBITALLOC;
-@@ -146,6 +152,12 @@
-
- for (sb = bound; sb < 32; ++sb) {
- nb = mad_bit_read(&stream->ptr, 4);
-+ if (mad_bit_nextbyte(&stream->ptr) > stream->next_frame)
-+ {
-+ stream->error = MAD_ERROR_LOSTSYNC;
-+ stream->sync = 0;
-+ return -1;
-+ }
-
- if (nb == 15) {
- stream->error = MAD_ERROR_BADBITALLOC;
-@@ -162,6 +174,12 @@
- for (ch = 0; ch < nch; ++ch) {
- if (allocation[ch][sb]) {
- scalefactor[ch][sb] = mad_bit_read(&stream->ptr, 6);
-+ if (mad_bit_nextbyte(&stream->ptr) > stream->next_frame)
-+ {
-+ stream->error = MAD_ERROR_LOSTSYNC;
-+ stream->sync = 0;
-+ return -1;
-+ }
-
- # if defined(OPT_STRICT)
- /*
-@@ -187,6 +205,12 @@
- frame->sbsample[ch][s][sb] = nb ?
- mad_f_mul(I_sample(&stream->ptr, nb),
- sf_table[scalefactor[ch][sb]]) : 0;
-+ if (mad_bit_nextbyte(&stream->ptr) > stream->next_frame)
-+ {
-+ stream->error = MAD_ERROR_LOSTSYNC;
-+ stream->sync = 0;
-+ return -1;
-+ }
- }
- }
-
-@@ -195,6 +219,12 @@
- mad_fixed_t sample;
-
- sample = I_sample(&stream->ptr, nb);
-+ if (mad_bit_nextbyte(&stream->ptr) > stream->next_frame)
-+ {
-+ stream->error = MAD_ERROR_LOSTSYNC;
-+ stream->sync = 0;
-+ return -1;
-+ }
-
- for (ch = 0; ch < nch; ++ch) {
- frame->sbsample[ch][s][sb] =
-@@ -403,7 +433,15 @@
- nbal = bitalloc_table[offsets[sb]].nbal;
-
- for (ch = 0; ch < nch; ++ch)
-+ {
- allocation[ch][sb] = mad_bit_read(&stream->ptr, nbal);
-+ if (mad_bit_nextbyte(&stream->ptr) > stream->next_frame)
-+ {
-+ stream->error = MAD_ERROR_LOSTSYNC;
-+ stream->sync = 0;
-+ return -1;
-+ }
-+ }
- }
-
- for (sb = bound; sb < sblimit; ++sb) {
-@@ -411,6 +449,13 @@
-
- allocation[0][sb] =
- allocation[1][sb] = mad_bit_read(&stream->ptr, nbal);
-+
-+ if (mad_bit_nextbyte(&stream->ptr) > stream->next_frame)
-+ {
-+ stream->error = MAD_ERROR_LOSTSYNC;
-+ stream->sync = 0;
-+ return -1;
-+ }
- }
-
- /* decode scalefactor selection info */
-@@ -419,6 +464,12 @@
- for (ch = 0; ch < nch; ++ch) {
- if (allocation[ch][sb])
- scfsi[ch][sb] = mad_bit_read(&stream->ptr, 2);
-+ if (mad_bit_nextbyte(&stream->ptr) > stream->next_frame)
-+ {
-+ stream->error = MAD_ERROR_LOSTSYNC;
-+ stream->sync = 0;
-+ return -1;
-+ }
- }
- }
-
-@@ -442,6 +493,12 @@
- for (ch = 0; ch < nch; ++ch) {
- if (allocation[ch][sb]) {
- scalefactor[ch][sb][0] = mad_bit_read(&stream->ptr, 6);
-+ if (mad_bit_nextbyte(&stream->ptr) > stream->next_frame)
-+ {
-+ stream->error = MAD_ERROR_LOSTSYNC;
-+ stream->sync = 0;
-+ return -1;
-+ }
-
- switch (scfsi[ch][sb]) {
- case 2:
-@@ -452,11 +509,23 @@
-
- case 0:
- scalefactor[ch][sb][1] = mad_bit_read(&stream->ptr, 6);
-+ if (mad_bit_nextbyte(&stream->ptr) > stream->next_frame)
-+ {
-+ stream->error = MAD_ERROR_LOSTSYNC;
-+ stream->sync = 0;
-+ return -1;
-+ }
- /* fall through */
-
- case 1:
- case 3:
- scalefactor[ch][sb][2] = mad_bit_read(&stream->ptr, 6);
-+ if (mad_bit_nextbyte(&stream->ptr) > stream->next_frame)
-+ {
-+ stream->error = MAD_ERROR_LOSTSYNC;
-+ stream->sync = 0;
-+ return -1;
-+ }
- }
-
- if (scfsi[ch][sb] & 1)
-@@ -488,6 +557,12 @@
- index = offset_table[bitalloc_table[offsets[sb]].offset][index - 1];
-
- II_samples(&stream->ptr, &qc_table[index], samples);
-+ if (mad_bit_nextbyte(&stream->ptr) > stream->next_frame)
-+ {
-+ stream->error = MAD_ERROR_LOSTSYNC;
-+ stream->sync = 0;
-+ return -1;
-+ }
-
- for (s = 0; s < 3; ++s) {
- frame->sbsample[ch][3 * gr + s][sb] =
-@@ -506,6 +581,12 @@
- index = offset_table[bitalloc_table[offsets[sb]].offset][index - 1];
-
- II_samples(&stream->ptr, &qc_table[index], samples);
-+ if (mad_bit_nextbyte(&stream->ptr) > stream->next_frame)
-+ {
-+ stream->error = MAD_ERROR_LOSTSYNC;
-+ stream->sync = 0;
-+ return -1;
-+ }
-
- for (ch = 0; ch < nch; ++ch) {
- for (s = 0; s < 3; ++s) {
-Index: libmad-0.15.1b/layer3.c
-===================================================================
---- libmad-0.15.1b.orig/layer3.c 2008-12-23 21:38:07.000000000 +0100
-+++ libmad-0.15.1b/layer3.c 2008-12-23 21:38:12.000000000 +0100
-@@ -2608,6 +2608,12 @@
- next_md_begin = 0;
-
- md_len = si.main_data_begin + frame_space - next_md_begin;
-+ if (md_len + MAD_BUFFER_GUARD > MAD_BUFFER_MDLEN)
-+ {
-+ stream->error = MAD_ERROR_LOSTSYNC;
-+ stream->sync = 0;
-+ return -1;
-+ }
-
- frame_used = 0;
-
diff --git a/gnu/packages/patches/libmad-length-check.patch b/gnu/packages/patches/libmad-length-check.patch
new file mode 100644
index 0000000000..18ca68fd7e
--- /dev/null
+++ b/gnu/packages/patches/libmad-length-check.patch
@@ -0,0 +1,819 @@
+Copied from Debian.
+
+From: Kurt Roeckx <kurt@roeckx.be>
+Date: Sun, 28 Jan 2018 19:26:36 +0100
+Subject: Check the size before reading with mad_bit_read
+
+There are various cases where it attemps to read past the end of the buffer
+using mad_bit_read(). Most functions didn't even know the size of the buffer
+they were reading from.
+
+Index: libmad-0.15.1b/bit.c
+===================================================================
+--- libmad-0.15.1b.orig/bit.c
++++ libmad-0.15.1b/bit.c
+@@ -138,6 +138,9 @@ unsigned long mad_bit_read(struct mad_bi
+ {
+ register unsigned long value;
+
++ if (len == 0)
++ return 0;
++
+ if (bitptr->left == CHAR_BIT)
+ bitptr->cache = *bitptr->byte;
+
+Index: libmad-0.15.1b/frame.c
+===================================================================
+--- libmad-0.15.1b.orig/frame.c
++++ libmad-0.15.1b/frame.c
+@@ -120,11 +120,18 @@ static
+ int decode_header(struct mad_header *header, struct mad_stream *stream)
+ {
+ unsigned int index;
++ struct mad_bitptr bufend_ptr;
+
+ header->flags = 0;
+ header->private_bits = 0;
+
++ mad_bit_init(&bufend_ptr, stream->bufend);
++
+ /* header() */
++ if (mad_bit_length(&stream->ptr, &bufend_ptr) < 32) {
++ stream->error = MAD_ERROR_BUFLEN;
++ return -1;
++ }
+
+ /* syncword */
+ mad_bit_skip(&stream->ptr, 11);
+@@ -225,8 +232,13 @@ int decode_header(struct mad_header *hea
+ /* error_check() */
+
+ /* crc_check */
+- if (header->flags & MAD_FLAG_PROTECTION)
++ if (header->flags & MAD_FLAG_PROTECTION) {
++ if (mad_bit_length(&stream->ptr, &bufend_ptr) < 16) {
++ stream->error = MAD_ERROR_BUFLEN;
++ return -1;
++ }
+ header->crc_target = mad_bit_read(&stream->ptr, 16);
++ }
+
+ return 0;
+ }
+@@ -338,7 +350,7 @@ int mad_header_decode(struct mad_header
+ stream->error = MAD_ERROR_BUFLEN;
+ goto fail;
+ }
+- else if (!(ptr[0] == 0xff && (ptr[1] & 0xe0) == 0xe0)) {
++ else if ((end - ptr >= 2) && !(ptr[0] == 0xff && (ptr[1] & 0xe0) == 0xe0)) {
+ /* mark point where frame sync word was expected */
+ stream->this_frame = ptr;
+ stream->next_frame = ptr + 1;
+@@ -361,6 +373,8 @@ int mad_header_decode(struct mad_header
+ ptr = mad_bit_nextbyte(&stream->ptr);
+ }
+
++ stream->error = MAD_ERROR_NONE;
++
+ /* begin processing */
+ stream->this_frame = ptr;
+ stream->next_frame = ptr + 1; /* possibly bogus sync word */
+@@ -413,7 +427,7 @@ int mad_header_decode(struct mad_header
+ /* check that a valid frame header follows this frame */
+
+ ptr = stream->next_frame;
+- if (!(ptr[0] == 0xff && (ptr[1] & 0xe0) == 0xe0)) {
++ if ((end - ptr >= 2) && !(ptr[0] == 0xff && (ptr[1] & 0xe0) == 0xe0)) {
+ ptr = stream->next_frame = stream->this_frame + 1;
+ goto sync;
+ }
+Index: libmad-0.15.1b/layer12.c
+===================================================================
+--- libmad-0.15.1b.orig/layer12.c
++++ libmad-0.15.1b/layer12.c
+@@ -72,10 +72,18 @@ mad_fixed_t const linear_table[14] = {
+ * DESCRIPTION: decode one requantized Layer I sample from a bitstream
+ */
+ static
+-mad_fixed_t I_sample(struct mad_bitptr *ptr, unsigned int nb)
++mad_fixed_t I_sample(struct mad_bitptr *ptr, unsigned int nb, struct mad_stream *stream)
+ {
+ mad_fixed_t sample;
++ struct mad_bitptr frameend_ptr;
+
++ mad_bit_init(&frameend_ptr, stream->next_frame);
++
++ if (mad_bit_length(ptr, &frameend_ptr) < nb) {
++ stream->error = MAD_ERROR_LOSTSYNC;
++ stream->sync = 0;
++ return 0;
++ }
+ sample = mad_bit_read(ptr, nb);
+
+ /* invert most significant bit, extend sign, then scale to fixed format */
+@@ -106,6 +114,10 @@ int mad_layer_I(struct mad_stream *strea
+ struct mad_header *header = &frame->header;
+ unsigned int nch, bound, ch, s, sb, nb;
+ unsigned char allocation[2][32], scalefactor[2][32];
++ struct mad_bitptr bufend_ptr, frameend_ptr;
++
++ mad_bit_init(&bufend_ptr, stream->bufend);
++ mad_bit_init(&frameend_ptr, stream->next_frame);
+
+ nch = MAD_NCHANNELS(header);
+
+@@ -118,6 +130,11 @@ int mad_layer_I(struct mad_stream *strea
+ /* check CRC word */
+
+ if (header->flags & MAD_FLAG_PROTECTION) {
++ if (mad_bit_length(&stream->ptr, &bufend_ptr)
++ < 4 * (bound * nch + (32 - bound))) {
++ stream->error = MAD_ERROR_BADCRC;
++ return -1;
++ }
+ header->crc_check =
+ mad_bit_crc(stream->ptr, 4 * (bound * nch + (32 - bound)),
+ header->crc_check);
+@@ -133,6 +150,11 @@ int mad_layer_I(struct mad_stream *strea
+
+ for (sb = 0; sb < bound; ++sb) {
+ for (ch = 0; ch < nch; ++ch) {
++ if (mad_bit_length(&stream->ptr, &frameend_ptr) < 4) {
++ stream->error = MAD_ERROR_LOSTSYNC;
++ stream->sync = 0;
++ return -1;
++ }
+ nb = mad_bit_read(&stream->ptr, 4);
+
+ if (nb == 15) {
+@@ -145,6 +167,11 @@ int mad_layer_I(struct mad_stream *strea
+ }
+
+ for (sb = bound; sb < 32; ++sb) {
++ if (mad_bit_length(&stream->ptr, &frameend_ptr) < 4) {
++ stream->error = MAD_ERROR_LOSTSYNC;
++ stream->sync = 0;
++ return -1;
++ }
+ nb = mad_bit_read(&stream->ptr, 4);
+
+ if (nb == 15) {
+@@ -161,6 +188,11 @@ int mad_layer_I(struct mad_stream *strea
+ for (sb = 0; sb < 32; ++sb) {
+ for (ch = 0; ch < nch; ++ch) {
+ if (allocation[ch][sb]) {
++ if (mad_bit_length(&stream->ptr, &frameend_ptr) < 6) {
++ stream->error = MAD_ERROR_LOSTSYNC;
++ stream->sync = 0;
++ return -1;
++ }
+ scalefactor[ch][sb] = mad_bit_read(&stream->ptr, 6);
+
+ # if defined(OPT_STRICT)
+@@ -185,8 +217,10 @@ int mad_layer_I(struct mad_stream *strea
+ for (ch = 0; ch < nch; ++ch) {
+ nb = allocation[ch][sb];
+ frame->sbsample[ch][s][sb] = nb ?
+- mad_f_mul(I_sample(&stream->ptr, nb),
++ mad_f_mul(I_sample(&stream->ptr, nb, stream),
+ sf_table[scalefactor[ch][sb]]) : 0;
++ if (stream->error != 0)
++ return -1;
+ }
+ }
+
+@@ -194,7 +228,14 @@ int mad_layer_I(struct mad_stream *strea
+ if ((nb = allocation[0][sb])) {
+ mad_fixed_t sample;
+
+- sample = I_sample(&stream->ptr, nb);
++ if (mad_bit_length(&stream->ptr, &frameend_ptr) < nb) {
++ stream->error = MAD_ERROR_LOSTSYNC;
++ stream->sync = 0;
++ return -1;
++ }
++ sample = I_sample(&stream->ptr, nb, stream);
++ if (stream->error != 0)
++ return -1;
+
+ for (ch = 0; ch < nch; ++ch) {
+ frame->sbsample[ch][s][sb] =
+@@ -280,13 +321,21 @@ struct quantclass {
+ static
+ void II_samples(struct mad_bitptr *ptr,
+ struct quantclass const *quantclass,
+- mad_fixed_t output[3])
++ mad_fixed_t output[3], struct mad_stream *stream)
+ {
+ unsigned int nb, s, sample[3];
++ struct mad_bitptr frameend_ptr;
++
++ mad_bit_init(&frameend_ptr, stream->next_frame);
+
+ if ((nb = quantclass->group)) {
+ unsigned int c, nlevels;
+
++ if (mad_bit_length(ptr, &frameend_ptr) < quantclass->bits) {
++ stream->error = MAD_ERROR_LOSTSYNC;
++ stream->sync = 0;
++ return;
++ }
+ /* degrouping */
+ c = mad_bit_read(ptr, quantclass->bits);
+ nlevels = quantclass->nlevels;
+@@ -299,8 +348,14 @@ void II_samples(struct mad_bitptr *ptr,
+ else {
+ nb = quantclass->bits;
+
+- for (s = 0; s < 3; ++s)
++ for (s = 0; s < 3; ++s) {
++ if (mad_bit_length(ptr, &frameend_ptr) < nb) {
++ stream->error = MAD_ERROR_LOSTSYNC;
++ stream->sync = 0;
++ return;
++ }
+ sample[s] = mad_bit_read(ptr, nb);
++ }
+ }
+
+ for (s = 0; s < 3; ++s) {
+@@ -336,6 +391,9 @@ int mad_layer_II(struct mad_stream *stre
+ unsigned char const *offsets;
+ unsigned char allocation[2][32], scfsi[2][32], scalefactor[2][32][3];
+ mad_fixed_t samples[3];
++ struct mad_bitptr frameend_ptr;
++
++ mad_bit_init(&frameend_ptr, stream->next_frame);
+
+ nch = MAD_NCHANNELS(header);
+
+@@ -402,13 +460,24 @@ int mad_layer_II(struct mad_stream *stre
+ for (sb = 0; sb < bound; ++sb) {
+ nbal = bitalloc_table[offsets[sb]].nbal;
+
+- for (ch = 0; ch < nch; ++ch)
++ for (ch = 0; ch < nch; ++ch) {
++ if (mad_bit_length(&stream->ptr, &frameend_ptr) < nbal) {
++ stream->error = MAD_ERROR_LOSTSYNC;
++ stream->sync = 0;
++ return -1;
++ }
+ allocation[ch][sb] = mad_bit_read(&stream->ptr, nbal);
++ }
+ }
+
+ for (sb = bound; sb < sblimit; ++sb) {
+ nbal = bitalloc_table[offsets[sb]].nbal;
+
++ if (mad_bit_length(&stream->ptr, &frameend_ptr) < nbal) {
++ stream->error = MAD_ERROR_LOSTSYNC;
++ stream->sync = 0;
++ return -1;
++ }
+ allocation[0][sb] =
+ allocation[1][sb] = mad_bit_read(&stream->ptr, nbal);
+ }
+@@ -417,8 +486,14 @@ int mad_layer_II(struct mad_stream *stre
+
+ for (sb = 0; sb < sblimit; ++sb) {
+ for (ch = 0; ch < nch; ++ch) {
+- if (allocation[ch][sb])
++ if (allocation[ch][sb]) {
++ if (mad_bit_length(&stream->ptr, &frameend_ptr) < 2) {
++ stream->error = MAD_ERROR_LOSTSYNC;
++ stream->sync = 0;
++ return -1;
++ }
+ scfsi[ch][sb] = mad_bit_read(&stream->ptr, 2);
++ }
+ }
+ }
+
+@@ -441,6 +516,11 @@ int mad_layer_II(struct mad_stream *stre
+ for (sb = 0; sb < sblimit; ++sb) {
+ for (ch = 0; ch < nch; ++ch) {
+ if (allocation[ch][sb]) {
++ if (mad_bit_length(&stream->ptr, &frameend_ptr) < 6) {
++ stream->error = MAD_ERROR_LOSTSYNC;
++ stream->sync = 0;
++ return -1;
++ }
+ scalefactor[ch][sb][0] = mad_bit_read(&stream->ptr, 6);
+
+ switch (scfsi[ch][sb]) {
+@@ -451,11 +531,21 @@ int mad_layer_II(struct mad_stream *stre
+ break;
+
+ case 0:
++ if (mad_bit_length(&stream->ptr, &frameend_ptr) < 6) {
++ stream->error = MAD_ERROR_LOSTSYNC;
++ stream->sync = 0;
++ return -1;
++ }
+ scalefactor[ch][sb][1] = mad_bit_read(&stream->ptr, 6);
+ /* fall through */
+
+ case 1:
+ case 3:
++ if (mad_bit_length(&stream->ptr, &frameend_ptr) < 6) {
++ stream->error = MAD_ERROR_LOSTSYNC;
++ stream->sync = 0;
++ return -1;
++ }
+ scalefactor[ch][sb][2] = mad_bit_read(&stream->ptr, 6);
+ }
+
+@@ -487,7 +577,9 @@ int mad_layer_II(struct mad_stream *stre
+ if ((index = allocation[ch][sb])) {
+ index = offset_table[bitalloc_table[offsets[sb]].offset][index - 1];
+
+- II_samples(&stream->ptr, &qc_table[index], samples);
++ II_samples(&stream->ptr, &qc_table[index], samples, stream);
++ if (stream->error != 0)
++ return -1;
+
+ for (s = 0; s < 3; ++s) {
+ frame->sbsample[ch][3 * gr + s][sb] =
+@@ -505,7 +597,9 @@ int mad_layer_II(struct mad_stream *stre
+ if ((index = allocation[0][sb])) {
+ index = offset_table[bitalloc_table[offsets[sb]].offset][index - 1];
+
+- II_samples(&stream->ptr, &qc_table[index], samples);
++ II_samples(&stream->ptr, &qc_table[index], samples, stream);
++ if (stream->error != 0)
++ return -1;
+
+ for (ch = 0; ch < nch; ++ch) {
+ for (s = 0; s < 3; ++s) {
+Index: libmad-0.15.1b/layer3.c
+===================================================================
+--- libmad-0.15.1b.orig/layer3.c
++++ libmad-0.15.1b/layer3.c
+@@ -598,7 +598,8 @@ enum mad_error III_sideinfo(struct mad_b
+ static
+ unsigned int III_scalefactors_lsf(struct mad_bitptr *ptr,
+ struct channel *channel,
+- struct channel *gr1ch, int mode_extension)
++ struct channel *gr1ch, int mode_extension,
++ unsigned int bits_left, unsigned int *part2_length)
+ {
+ struct mad_bitptr start;
+ unsigned int scalefac_compress, index, slen[4], part, n, i;
+@@ -644,8 +645,12 @@ unsigned int III_scalefactors_lsf(struct
+
+ n = 0;
+ for (part = 0; part < 4; ++part) {
+- for (i = 0; i < nsfb[part]; ++i)
++ for (i = 0; i < nsfb[part]; ++i) {
++ if (bits_left < slen[part])
++ return MAD_ERROR_BADSCFSI;
+ channel->scalefac[n++] = mad_bit_read(ptr, slen[part]);
++ bits_left -= slen[part];
++ }
+ }
+
+ while (n < 39)
+@@ -690,7 +695,10 @@ unsigned int III_scalefactors_lsf(struct
+ max = (1 << slen[part]) - 1;
+
+ for (i = 0; i < nsfb[part]; ++i) {
++ if (bits_left < slen[part])
++ return MAD_ERROR_BADSCFSI;
+ is_pos = mad_bit_read(ptr, slen[part]);
++ bits_left -= slen[part];
+
+ channel->scalefac[n] = is_pos;
+ gr1ch->scalefac[n++] = (is_pos == max);
+@@ -703,7 +711,8 @@ unsigned int III_scalefactors_lsf(struct
+ }
+ }
+
+- return mad_bit_length(&start, ptr);
++ *part2_length = mad_bit_length(&start, ptr);
++ return MAD_ERROR_NONE;
+ }
+
+ /*
+@@ -712,7 +721,8 @@ unsigned int III_scalefactors_lsf(struct
+ */
+ static
+ unsigned int III_scalefactors(struct mad_bitptr *ptr, struct channel *channel,
+- struct channel const *gr0ch, unsigned int scfsi)
++ struct channel const *gr0ch, unsigned int scfsi,
++ unsigned int bits_left, unsigned int *part2_length)
+ {
+ struct mad_bitptr start;
+ unsigned int slen1, slen2, sfbi;
+@@ -728,12 +738,20 @@ unsigned int III_scalefactors(struct mad
+ sfbi = 0;
+
+ nsfb = (channel->flags & mixed_block_flag) ? 8 + 3 * 3 : 6 * 3;
+- while (nsfb--)
++ while (nsfb--) {
++ if (bits_left < slen1)
++ return MAD_ERROR_BADSCFSI;
+ channel->scalefac[sfbi++] = mad_bit_read(ptr, slen1);
++ bits_left -= slen1;
++ }
+
+ nsfb = 6 * 3;
+- while (nsfb--)
++ while (nsfb--) {
++ if (bits_left < slen2)
++ return MAD_ERROR_BADSCFSI;
+ channel->scalefac[sfbi++] = mad_bit_read(ptr, slen2);
++ bits_left -= slen2;
++ }
+
+ nsfb = 1 * 3;
+ while (nsfb--)
+@@ -745,8 +763,12 @@ unsigned int III_scalefactors(struct mad
+ channel->scalefac[sfbi] = gr0ch->scalefac[sfbi];
+ }
+ else {
+- for (sfbi = 0; sfbi < 6; ++sfbi)
++ for (sfbi = 0; sfbi < 6; ++sfbi) {
++ if (bits_left < slen1)
++ return MAD_ERROR_BADSCFSI;
+ channel->scalefac[sfbi] = mad_bit_read(ptr, slen1);
++ bits_left -= slen1;
++ }
+ }
+
+ if (scfsi & 0x4) {
+@@ -754,8 +776,12 @@ unsigned int III_scalefactors(struct mad
+ channel->scalefac[sfbi] = gr0ch->scalefac[sfbi];
+ }
+ else {
+- for (sfbi = 6; sfbi < 11; ++sfbi)
++ for (sfbi = 6; sfbi < 11; ++sfbi) {
++ if (bits_left < slen1)
++ return MAD_ERROR_BADSCFSI;
+ channel->scalefac[sfbi] = mad_bit_read(ptr, slen1);
++ bits_left -= slen1;
++ }
+ }
+
+ if (scfsi & 0x2) {
+@@ -763,8 +789,12 @@ unsigned int III_scalefactors(struct mad
+ channel->scalefac[sfbi] = gr0ch->scalefac[sfbi];
+ }
+ else {
+- for (sfbi = 11; sfbi < 16; ++sfbi)
++ for (sfbi = 11; sfbi < 16; ++sfbi) {
++ if (bits_left < slen2)
++ return MAD_ERROR_BADSCFSI;
+ channel->scalefac[sfbi] = mad_bit_read(ptr, slen2);
++ bits_left -= slen2;
++ }
+ }
+
+ if (scfsi & 0x1) {
+@@ -772,14 +802,19 @@ unsigned int III_scalefactors(struct mad
+ channel->scalefac[sfbi] = gr0ch->scalefac[sfbi];
+ }
+ else {
+- for (sfbi = 16; sfbi < 21; ++sfbi)
++ for (sfbi = 16; sfbi < 21; ++sfbi) {
++ if (bits_left < slen2)
++ return MAD_ERROR_BADSCFSI;
+ channel->scalefac[sfbi] = mad_bit_read(ptr, slen2);
++ bits_left -= slen2;
++ }
+ }
+
+ channel->scalefac[21] = 0;
+ }
+
+- return mad_bit_length(&start, ptr);
++ *part2_length = mad_bit_length(&start, ptr);
++ return MAD_ERROR_NONE;
+ }
+
+ /*
+@@ -933,19 +968,17 @@ static
+ enum mad_error III_huffdecode(struct mad_bitptr *ptr, mad_fixed_t xr[576],
+ struct channel *channel,
+ unsigned char const *sfbwidth,
+- unsigned int part2_length)
++ signed int part3_length)
+ {
+ signed int exponents[39], exp;
+ signed int const *expptr;
+ struct mad_bitptr peek;
+- signed int bits_left, cachesz;
++ signed int bits_left, cachesz, fakebits;
+ register mad_fixed_t *xrptr;
+ mad_fixed_t const *sfbound;
+ register unsigned long bitcache;
+
+- bits_left = (signed) channel->part2_3_length - (signed) part2_length;
+- if (bits_left < 0)
+- return MAD_ERROR_BADPART3LEN;
++ bits_left = part3_length;
+
+ III_exponents(channel, sfbwidth, exponents);
+
+@@ -956,8 +989,12 @@ enum mad_error III_huffdecode(struct mad
+ cachesz = mad_bit_bitsleft(&peek);
+ cachesz += ((32 - 1 - 24) + (24 - cachesz)) & ~7;
+
++ if (bits_left < cachesz) {
++ cachesz = bits_left;
++ }
+ bitcache = mad_bit_read(&peek, cachesz);
+ bits_left -= cachesz;
++ fakebits = 0;
+
+ xrptr = &xr[0];
+
+@@ -986,7 +1023,7 @@ enum mad_error III_huffdecode(struct mad
+
+ big_values = channel->big_values;
+
+- while (big_values-- && cachesz + bits_left > 0) {
++ while (big_values-- && cachesz + bits_left - fakebits > 0) {
+ union huffpair const *pair;
+ unsigned int clumpsz, value;
+ register mad_fixed_t requantized;
+@@ -1023,10 +1060,19 @@ enum mad_error III_huffdecode(struct mad
+ unsigned int bits;
+
+ bits = ((32 - 1 - 21) + (21 - cachesz)) & ~7;
++ if (bits_left < bits) {
++ bits = bits_left;
++ }
+ bitcache = (bitcache << bits) | mad_bit_read(&peek, bits);
+ cachesz += bits;
+ bits_left -= bits;
+ }
++ if (cachesz < 21) {
++ unsigned int bits = 21 - cachesz;
++ bitcache <<= bits;
++ cachesz += bits;
++ fakebits += bits;
++ }
+
+ /* hcod (0..19) */
+
+@@ -1041,6 +1087,8 @@ enum mad_error III_huffdecode(struct mad
+ }
+
+ cachesz -= pair->value.hlen;
++ if (cachesz < fakebits)
++ return MAD_ERROR_BADHUFFDATA;
+
+ if (linbits) {
+ /* x (0..14) */
+@@ -1054,10 +1102,15 @@ enum mad_error III_huffdecode(struct mad
+
+ case 15:
+ if (cachesz < linbits + 2) {
+- bitcache = (bitcache << 16) | mad_bit_read(&peek, 16);
+- cachesz += 16;
+- bits_left -= 16;
++ unsigned int bits = 16;
++ if (bits_left < 16)
++ bits = bits_left;
++ bitcache = (bitcache << bits) | mad_bit_read(&peek, bits);
++ cachesz += bits;
++ bits_left -= bits;
+ }
++ if (cachesz - fakebits < linbits)
++ return MAD_ERROR_BADHUFFDATA;
+
+ value += MASK(bitcache, cachesz, linbits);
+ cachesz -= linbits;
+@@ -1074,6 +1127,8 @@ enum mad_error III_huffdecode(struct mad
+ }
+
+ x_final:
++ if (cachesz - fakebits < 1)
++ return MAD_ERROR_BADHUFFDATA;
+ xrptr[0] = MASK1BIT(bitcache, cachesz--) ?
+ -requantized : requantized;
+ }
+@@ -1089,10 +1144,15 @@ enum mad_error III_huffdecode(struct mad
+
+ case 15:
+ if (cachesz < linbits + 1) {
+- bitcache = (bitcache << 16) | mad_bit_read(&peek, 16);
+- cachesz += 16;
+- bits_left -= 16;
++ unsigned int bits = 16;
++ if (bits_left < 16)
++ bits = bits_left;
++ bitcache = (bitcache << bits) | mad_bit_read(&peek, bits);
++ cachesz += bits;
++ bits_left -= bits;
+ }
++ if (cachesz - fakebits < linbits)
++ return MAD_ERROR_BADHUFFDATA;
+
+ value += MASK(bitcache, cachesz, linbits);
+ cachesz -= linbits;
+@@ -1109,6 +1169,8 @@ enum mad_error III_huffdecode(struct mad
+ }
+
+ y_final:
++ if (cachesz - fakebits < 1)
++ return MAD_ERROR_BADHUFFDATA;
+ xrptr[1] = MASK1BIT(bitcache, cachesz--) ?
+ -requantized : requantized;
+ }
+@@ -1128,6 +1190,8 @@ enum mad_error III_huffdecode(struct mad
+ requantized = reqcache[value] = III_requantize(value, exp);
+ }
+
++ if (cachesz - fakebits < 1)
++ return MAD_ERROR_BADHUFFDATA;
+ xrptr[0] = MASK1BIT(bitcache, cachesz--) ?
+ -requantized : requantized;
+ }
+@@ -1146,6 +1210,8 @@ enum mad_error III_huffdecode(struct mad
+ requantized = reqcache[value] = III_requantize(value, exp);
+ }
+
++ if (cachesz - fakebits < 1)
++ return MAD_ERROR_BADHUFFDATA;
+ xrptr[1] = MASK1BIT(bitcache, cachesz--) ?
+ -requantized : requantized;
+ }
+@@ -1155,9 +1221,6 @@ enum mad_error III_huffdecode(struct mad
+ }
+ }
+
+- if (cachesz + bits_left < 0)
+- return MAD_ERROR_BADHUFFDATA; /* big_values overrun */
+-
+ /* count1 */
+ {
+ union huffquad const *table;
+@@ -1167,15 +1230,24 @@ enum mad_error III_huffdecode(struct mad
+
+ requantized = III_requantize(1, exp);
+
+- while (cachesz + bits_left > 0 && xrptr <= &xr[572]) {
++ while (cachesz + bits_left - fakebits > 0 && xrptr <= &xr[572]) {
+ union huffquad const *quad;
+
+ /* hcod (1..6) */
+
+ if (cachesz < 10) {
+- bitcache = (bitcache << 16) | mad_bit_read(&peek, 16);
+- cachesz += 16;
+- bits_left -= 16;
++ unsigned int bits = 16;
++ if (bits_left < 16)
++ bits = bits_left;
++ bitcache = (bitcache << bits) | mad_bit_read(&peek, bits);
++ cachesz += bits;
++ bits_left -= bits;
++ }
++ if (cachesz < 10) {
++ unsigned int bits = 10 - cachesz;
++ bitcache <<= bits;
++ cachesz += bits;
++ fakebits += bits;
+ }
+
+ quad = &table[MASK(bitcache, cachesz, 4)];
+@@ -1188,6 +1260,11 @@ enum mad_error III_huffdecode(struct mad
+ MASK(bitcache, cachesz, quad->ptr.bits)];
+ }
+
++ if (cachesz - fakebits < quad->value.hlen + quad->value.v
++ + quad->value.w + quad->value.x + quad->value.y)
++ /* We don't have enough bits to read one more entry, consider them
++ * stuffing bits. */
++ break;
+ cachesz -= quad->value.hlen;
+
+ if (xrptr == sfbound) {
+@@ -1236,22 +1313,8 @@ enum mad_error III_huffdecode(struct mad
+
+ xrptr += 2;
+ }
+-
+- if (cachesz + bits_left < 0) {
+-# if 0 && defined(DEBUG)
+- fprintf(stderr, "huffman count1 overrun (%d bits)\n",
+- -(cachesz + bits_left));
+-# endif
+-
+- /* technically the bitstream is misformatted, but apparently
+- some encoders are just a bit sloppy with stuffing bits */
+-
+- xrptr -= 4;
+- }
+ }
+
+- assert(-bits_left <= MAD_BUFFER_GUARD * CHAR_BIT);
+-
+ # if 0 && defined(DEBUG)
+ if (bits_left < 0)
+ fprintf(stderr, "read %d bits too many\n", -bits_left);
+@@ -2348,10 +2411,11 @@ void III_freqinver(mad_fixed_t sample[18
+ */
+ static
+ enum mad_error III_decode(struct mad_bitptr *ptr, struct mad_frame *frame,
+- struct sideinfo *si, unsigned int nch)
++ struct sideinfo *si, unsigned int nch, unsigned int md_len)
+ {
+ struct mad_header *header = &frame->header;
+ unsigned int sfreqi, ngr, gr;
++ int bits_left = md_len * CHAR_BIT;
+
+ {
+ unsigned int sfreq;
+@@ -2383,6 +2447,7 @@ enum mad_error III_decode(struct mad_bit
+ for (ch = 0; ch < nch; ++ch) {
+ struct channel *channel = &granule->ch[ch];
+ unsigned int part2_length;
++ unsigned int part3_length;
+
+ sfbwidth[ch] = sfbwidth_table[sfreqi].l;
+ if (channel->block_type == 2) {
+@@ -2391,18 +2456,30 @@ enum mad_error III_decode(struct mad_bit
+ }
+
+ if (header->flags & MAD_FLAG_LSF_EXT) {
+- part2_length = III_scalefactors_lsf(ptr, channel,
++ error = III_scalefactors_lsf(ptr, channel,
+ ch == 0 ? 0 : &si->gr[1].ch[1],
+- header->mode_extension);
++ header->mode_extension, bits_left, &part2_length);
+ }
+ else {
+- part2_length = III_scalefactors(ptr, channel, &si->gr[0].ch[ch],
+- gr == 0 ? 0 : si->scfsi[ch]);
++ error = III_scalefactors(ptr, channel, &si->gr[0].ch[ch],
++ gr == 0 ? 0 : si->scfsi[ch], bits_left, &part2_length);
+ }
++ if (error)
++ return error;
++
++ bits_left -= part2_length;
+
+- error = III_huffdecode(ptr, xr[ch], channel, sfbwidth[ch], part2_length);
++ if (part2_length > channel->part2_3_length)
++ return MAD_ERROR_BADPART3LEN;
++
++ part3_length = channel->part2_3_length - part2_length;
++ if (part3_length > bits_left)
++ return MAD_ERROR_BADPART3LEN;
++
++ error = III_huffdecode(ptr, xr[ch], channel, sfbwidth[ch], part3_length);
+ if (error)
+ return error;
++ bits_left -= part3_length;
+ }
+
+ /* joint stereo processing */
+@@ -2519,11 +2596,13 @@ int mad_layer_III(struct mad_stream *str
+ unsigned int nch, priv_bitlen, next_md_begin = 0;
+ unsigned int si_len, data_bitlen, md_len;
+ unsigned int frame_space, frame_used, frame_free;
+- struct mad_bitptr ptr;
++ struct mad_bitptr ptr, bufend_ptr;
+ struct sideinfo si;
+ enum mad_error error;
+ int result = 0;
+
++ mad_bit_init(&bufend_ptr, stream->bufend);
++
+ /* allocate Layer III dynamic structures */
+
+ if (stream->main_data == 0) {
+@@ -2587,14 +2666,15 @@ int mad_layer_III(struct mad_stream *str
+ unsigned long header;
+
+ mad_bit_init(&peek, stream->next_frame);
++ if (mad_bit_length(&peek, &bufend_ptr) >= 57) {
++ header = mad_bit_read(&peek, 32);
++ if ((header & 0xffe60000L) /* syncword | layer */ == 0xffe20000L) {
++ if (!(header & 0x00010000L)) /* protection_bit */
++ mad_bit_skip(&peek, 16); /* crc_check */
+
+- header = mad_bit_read(&peek, 32);
+- if ((header & 0xffe60000L) /* syncword | layer */ == 0xffe20000L) {
+- if (!(header & 0x00010000L)) /* protection_bit */
+- mad_bit_skip(&peek, 16); /* crc_check */
+-
+- next_md_begin =
+- mad_bit_read(&peek, (header & 0x00080000L) /* ID */ ? 9 : 8);
++ next_md_begin =
++ mad_bit_read(&peek, (header & 0x00080000L) /* ID */ ? 9 : 8);
++ }
+ }
+
+ mad_bit_finish(&peek);
+@@ -2653,7 +2733,7 @@ int mad_layer_III(struct mad_stream *str
+ /* decode main_data */
+
+ if (result == 0) {
+- error = III_decode(&ptr, frame, &si, nch);
++ error = III_decode(&ptr, frame, &si, nch, md_len);
+ if (error) {
+ stream->error = error;
+ result = -1;
diff --git a/gnu/packages/patches/libmad-md_size.patch b/gnu/packages/patches/libmad-md_size.patch
new file mode 100644
index 0000000000..0eb6844a2a
--- /dev/null
+++ b/gnu/packages/patches/libmad-md_size.patch
@@ -0,0 +1,60 @@
+Copied from Debian.
+
+From: Kurt Roeckx <kurt@roeckx.be>
+Date: Sun, 28 Jan 2018 15:44:08 +0100
+Subject: Check the size of the main data
+
+The main data to decode a frame can come from the current frame and part of the
+previous frame, the so called bit reservoir. si.main_data_begin is the part of
+the previous frame we need for this frame. frame_space is the amount of main
+data that can be in this frame, and next_md_begin is the part of this frame that
+is going to be used for the next frame.
+
+The maximum amount of data from a previous frame that the format allows is 511
+bytes. The maximum frame size for the defined bitrates is at MPEG 2.5 layer 2
+at 320 kbit/s and 8 kHz sample rate which gives 72 * (320000 / 8000) + 1 = 2881.
+So those defines are not large enough:
+ # define MAD_BUFFER_GUARD 8
+ # define MAD_BUFFER_MDLEN (511 + 2048 + MAD_BUFFER_GUARD)
+
+There is also support for a "free" bitrate which allows you to create any frame
+size, which can be larger than the buffer.
+
+Changing the defines is not an option since it's part of the ABI, so we check
+that the main data fits in the bufer.
+
+The previous frame data is stored in *stream->main_data and contains
+stream->md_len bytes. If stream->md_len is larger than the data we
+need from the previous frame (si.main_data_begin) it still wouldn't fit
+in the buffer, so just keep the data that we need.
+
+Index: libmad-0.15.1b/layer3.c
+===================================================================
+--- libmad-0.15.1b.orig/layer3.c
++++ libmad-0.15.1b/layer3.c
+@@ -2608,6 +2608,11 @@ int mad_layer_III(struct mad_stream *str
+ next_md_begin = 0;
+
+ md_len = si.main_data_begin + frame_space - next_md_begin;
++ if (md_len + MAD_BUFFER_GUARD > MAD_BUFFER_MDLEN) {
++ stream->error = MAD_ERROR_LOSTSYNC;
++ stream->sync = 0;
++ return -1;
++ }
+
+ frame_used = 0;
+
+@@ -2625,8 +2630,11 @@ int mad_layer_III(struct mad_stream *str
+ }
+ }
+ else {
+- mad_bit_init(&ptr,
+- *stream->main_data + stream->md_len - si.main_data_begin);
++ memmove(stream->main_data,
++ *stream->main_data + stream->md_len - si.main_data_begin,
++ si.main_data_begin);
++ stream->md_len = si.main_data_begin;
++ mad_bit_init(&ptr, *stream->main_data);
+
+ if (md_len > si.main_data_begin) {
+ assert(stream->md_len + md_len -
diff --git a/gnu/packages/patches/libvirt-remove-ATTRIBUTE_UNUSED.patch b/gnu/packages/patches/libvirt-remove-ATTRIBUTE_UNUSED.patch
deleted file mode 100644
index 5bfefa70bb..0000000000
--- a/gnu/packages/patches/libvirt-remove-ATTRIBUTE_UNUSED.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From: Tobias Geerinckx-Rice <me@tobias.gr>
-Date: Thu, 25 Jul 2019 21:48:25 +0200
-Subject: [PATCH]: libvirt: remove ATTRIBUTE_UNUSED
-
-This should fix the error reported here[0]. Patch taken verbatim from
-upstream[1].
-
-[0]: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=36634#28
-[1]: https://github.com/libvirt/libvirt/commit/759bf903a6c24a8efa25c7cf4b099d952eda9bd3
-
-From 759bf903a6c24a8efa25c7cf4b099d952eda9bd3 Mon Sep 17 00:00:00 2001
-From: Pavel Hrdina <phrdina@redhat.com>
-Date: Mon, 22 Jul 2019 14:46:34 +0200
-Subject: [PATCH] vircgroupv2: remove ATTRIBUTE_UNUSED for used attribute
-
-Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
-Acked-by: Peter Krempa <pkrempa@redhat.com>
----
- src/util/vircgroupv2.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/util/vircgroupv2.c b/src/util/vircgroupv2.c
-index af3192c99c..e36c36685b 100644
---- a/src/util/vircgroupv2.c
-+++ b/src/util/vircgroupv2.c
-@@ -399,7 +399,7 @@ virCgroupV2EnableController(virCgroupPtr group,
-
-
- static int
--virCgroupV2MakeGroup(virCgroupPtr parent ATTRIBUTE_UNUSED,
-+virCgroupV2MakeGroup(virCgroupPtr parent,
- virCgroupPtr group,
- bool create,
- unsigned int flags)
diff --git a/gnu/packages/patches/mame-rapidjson-fix.patch b/gnu/packages/patches/mame-rapidjson-fix.patch
new file mode 100644
index 0000000000..70cf8458ea
--- /dev/null
+++ b/gnu/packages/patches/mame-rapidjson-fix.patch
@@ -0,0 +1,37 @@
+From 0b5b13cf1e28550b49c387dec93f9801f029e313 Mon Sep 17 00:00:00 2001
+From: Julian Sikorski <belegdol+github@gmail.com>
+Date: Mon, 5 Aug 2019 21:16:54 +0200
+Subject: [PATCH] Fix building using system rapidjson
+
+---
+ scripts/target/mame/arcade.lua | 1 +
+ src/mame/video/midtunit.cpp | 4 ++--
+ 2 files changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/scripts/target/mame/arcade.lua b/scripts/target/mame/arcade.lua
+index 964daa3572f..ef30ae3c2c2 100644
+--- a/scripts/target/mame/arcade.lua
++++ b/scripts/target/mame/arcade.lua
+@@ -930,6 +930,7 @@ function createMAMEProjects(_target, _subtarget, _name)
+ ext_includedir("flac"),
+ ext_includedir("glm"),
+ ext_includedir("jpeg"),
++ ext_includedir("rapidjson"),
+ }
+
+ end
+diff --git a/src/mame/video/midtunit.cpp b/src/mame/video/midtunit.cpp
+index b4cb98abacf..b307f3f722b 100644
+--- a/src/mame/video/midtunit.cpp
++++ b/src/mame/video/midtunit.cpp
+@@ -20,8 +20,8 @@
+ #include "emuopts.h" // Used by PNG logging
+ #include "png.h" // Used by PNG logging
+
+-#include "rapidjson/include/rapidjson/prettywriter.h" // Used by JSON logging
+-#include "rapidjson/include/rapidjson/stringbuffer.h" // Used by JSON logging
++#include <rapidjson/prettywriter.h> // Used by JSON logging
++#include <rapidjson/stringbuffer.h> // Used by JSON logging
+
+ DEFINE_DEVICE_TYPE(MIDTUNIT_VIDEO, midtunit_video_device, "tunitvid", "Midway T-Unit Video")
+ DEFINE_DEVICE_TYPE(MIDWUNIT_VIDEO, midwunit_video_device, "wunitvid", "Midway W-Unit Video")
diff --git a/gnu/packages/patches/nss-freebl-stubs.patch b/gnu/packages/patches/nss-freebl-stubs.patch
new file mode 100644
index 0000000000..3f7b47b029
--- /dev/null
+++ b/gnu/packages/patches/nss-freebl-stubs.patch
@@ -0,0 +1,20 @@
+This patch is required for Makefile-based builds of NSS 3.45 on armhf-linux.
+
+Taken from upstream bug tracker:
+https://bugzilla.mozilla.org/show_bug.cgi?id=1571316
+
+diff --git a/nss/lib/freebl/ecl/curve25519_32.c b/nss/lib/freebl/ecl/curve25519_32.c
+--- a/nss/lib/freebl/ecl/curve25519_32.c
++++ b/nss/lib/freebl/ecl/curve25519_32.c
+@@ -29,6 +29,10 @@
+ * 1. Convert custom integer types to stdint.h types
+ */
+
++#ifdef FREEBL_NO_DEPEND
++#include "../stubs.h"
++#endif
++
+ #include "ecl-priv.h"
+
+ /* fe means field element. Here the field is \Z/(2^255-19). An element t,
+
diff --git a/gnu/packages/patches/pcre2-fix-jit_match-crash.patch b/gnu/packages/patches/pcre2-fix-jit_match-crash.patch
new file mode 100644
index 0000000000..7543319ee9
--- /dev/null
+++ b/gnu/packages/patches/pcre2-fix-jit_match-crash.patch
@@ -0,0 +1,25 @@
+From: Tobias Geerinckx-Rice <me@tobias.gr>
+Date: Thu, 01 Aug 2019 21:12:52 +0200
+Subject: [PATCH] gnu: pcre2: Fix jit_match crash.
+
+Fixes <https://bugs.exim.org/show_bug.cgi?id=2421>, reported as a ‘secrity
+problem’.
+
+Copied verbatim from upstream[0].
+
+[0]: https://vcs.pcre.org/pcre2/code/trunk/src/pcre2_jit_compile.c?view=patch&r1=1089&r2=1092&pathrev=1092
+
+--- trunk/src/pcre2_jit_compile.c 2019/05/10 13:15:20 1089
++++ trunk/src/pcre2_jit_compile.c 2019/05/13 16:38:18 1092
+@@ -8571,7 +8571,10 @@
+ PCRE2_SPTR bptr;
+ uint32_t c;
+
+-GETCHARINC(c, cc);
++/* Patch by PH */
++/* GETCHARINC(c, cc); */
++
++c = *cc++;
+ #if PCRE2_CODE_UNIT_WIDTH == 32
+ if (c >= 0x110000)
+ return NULL;
diff --git a/gnu/packages/patches/scribus-poppler.patch b/gnu/packages/patches/scribus-poppler.patch
deleted file mode 100644
index 9b969e4cb6..0000000000
--- a/gnu/packages/patches/scribus-poppler.patch
+++ /dev/null
@@ -1,72 +0,0 @@
-Fix build with recent Poppler.
-
-From d867ec3c386baaed1b8e076dd70b278863411480 Mon Sep 17 00:00:00 2001
-From: Jean Ghali <jghali@libertysurf.fr>
-Date: Mon, 30 Apr 2018 09:19:33 +0000
-Subject: [PATCH] =?UTF-8?q?#15289:=20FTBFS=201.5.4=20with=20error:=20inval?=
- =?UTF-8?q?id=20conversion=20from=20=E2=80=98const=20GooString*=E2=80=99?=
- =?UTF-8?q?=20to=20=E2=80=98GooString*=E2=80=99?=
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-git-svn-id: svn://scribus.net/trunk/Scribus@22498 11d20701-8431-0410-a711-e3c959e3b870
----
- scribus/plugins/import/pdf/importpdf.cpp | 2 +-
- scribus/plugins/import/pdf/importpdf.h | 2 +-
- scribus/plugins/import/pdf/slaoutput.cpp | 2 +-
- scribus/plugins/import/pdf/slaoutput.h | 2 +-
- 4 files changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/scribus/plugins/import/pdf/importpdf.cpp b/scribus/plugins/import/pdf/importpdf.cpp
-index c1802861aa..d4c5a9ba49 100644
---- a/scribus/plugins/import/pdf/importpdf.cpp
-+++ b/scribus/plugins/import/pdf/importpdf.cpp
-@@ -1081,7 +1081,7 @@ QRectF PdfPlug::getCBox(int box, int pgNum)
- return cRect;
- }
-
--QString PdfPlug::UnicodeParsedString(GooString *s1)
-+QString PdfPlug::UnicodeParsedString(const GooString *s1)
- {
- if ( !s1 || s1->getLength() == 0 )
- return QString();
-diff --git a/scribus/plugins/import/pdf/importpdf.h b/scribus/plugins/import/pdf/importpdf.h
-index c8c5efcd0d..5249562692 100644
---- a/scribus/plugins/import/pdf/importpdf.h
-+++ b/scribus/plugins/import/pdf/importpdf.h
-@@ -81,7 +81,7 @@ class PdfPlug : public QObject
- private:
- bool convert(const QString& fn);
- QRectF getCBox(int box, int pgNum);
-- QString UnicodeParsedString(GooString *s1);
-+ QString UnicodeParsedString(const GooString *s1);
-
- QList<PageItem*> Elements;
- double baseX, baseY;
-diff --git a/scribus/plugins/import/pdf/slaoutput.cpp b/scribus/plugins/import/pdf/slaoutput.cpp
-index be1815dc29..17b6357246 100644
---- a/scribus/plugins/import/pdf/slaoutput.cpp
-+++ b/scribus/plugins/import/pdf/slaoutput.cpp
-@@ -4252,7 +4252,7 @@ void SlaOutputDev::pushGroup(QString maskName, GBool forSoftMask, GBool alpha, b
- m_groupStack.push(gElements);
- }
-
--QString SlaOutputDev::UnicodeParsedString(GooString *s1)
-+QString SlaOutputDev::UnicodeParsedString(const GooString *s1)
- {
- if ( !s1 || s1->getLength() == 0 )
- return QString();
-diff --git a/scribus/plugins/import/pdf/slaoutput.h b/scribus/plugins/import/pdf/slaoutput.h
-index 20e8b2d311..6698c030e0 100644
---- a/scribus/plugins/import/pdf/slaoutput.h
-+++ b/scribus/plugins/import/pdf/slaoutput.h
-@@ -266,7 +266,7 @@ class SlaOutputDev : public OutputDev
- int getBlendMode(GfxState *state);
- void applyMask(PageItem *ite);
- void pushGroup(QString maskName = "", GBool forSoftMask = gFalse, GBool alpha = gFalse, bool inverted = false);
-- QString UnicodeParsedString(GooString *s1);
-+ QString UnicodeParsedString(const GooString *s1);
- bool checkClip();
- bool pathIsClosed;
- QString CurrColorFill;
diff --git a/gnu/packages/patches/strace-ipc-tests.patch b/gnu/packages/patches/strace-ipc-tests.patch
new file mode 100644
index 0000000000..49341765ca
--- /dev/null
+++ b/gnu/packages/patches/strace-ipc-tests.patch
@@ -0,0 +1,30 @@
+Fix a test failure on some systems.
+
+Taken from upstream:
+https://github.com/strace/strace/commit/4377e3a1535a0ec3a42da8a1366ad6943f4efa0e
+
+diff --git a/tests/gen_tests.in b/tests/gen_tests.in
+index 4a506b94c..4fdf4722c 100644
+--- a/tests/gen_tests.in
++++ b/tests/gen_tests.in
+@@ -168,16 +168,16 @@ ipc_msg-Xabbrev +ipc.sh -Xabbrev -a26
+ ipc_msg-Xraw +ipc.sh -Xraw -a16
+ ipc_msg-Xverbose +ipc.sh -Xverbose -a34
+ ipc_msgbuf-Xabbrev +ipc_msgbuf.test -Xabbrev
+-ipc_msgbuf-Xraw +ipc_msgbuf.test -Xraw -a22
++ipc_msgbuf-Xraw +ipc_msgbuf.test -Xraw -a20
+ ipc_msgbuf-Xverbose +ipc_msgbuf.test -Xverbose
+ ipc_sem +ipc.sh -a29
+ ipc_sem-Xabbrev +ipc.sh -Xabbrev -a29
+ ipc_sem-Xraw +ipc.sh -Xraw -a19
+ ipc_sem-Xverbose +ipc.sh -Xverbose -a36
+-ipc_shm +ipc.sh -a29
+-ipc_shm-Xabbrev +ipc.sh -Xabbrev -a29
++ipc_shm +ipc.sh -a26
++ipc_shm-Xabbrev +ipc.sh -Xabbrev -a26
+ ipc_shm-Xraw +ipc.sh -Xraw -a19
+-ipc_shm-Xverbose +ipc.sh -Xverbose -a36
++ipc_shm-Xverbose +ipc.sh -Xverbose -a34
+ kcmp -a22
+ kcmp-y -a22 -y -e trace=kcmp
+ kern_features -a16
diff --git a/gnu/packages/pcre.scm b/gnu/packages/pcre.scm
index 2e3db689f0..91c32d6e5d 100644
--- a/gnu/packages/pcre.scm
+++ b/gnu/packages/pcre.scm
@@ -94,7 +94,7 @@ POSIX regular expression API.")
(method url-fetch)
(uri (string-append "mirror://sourceforge/pcre/pcre2/"
version "/pcre2-" version ".tar.bz2"))
-
+ (patches (search-patches "pcre2-fix-jit_match-crash.patch"))
(sha256
(base32
"1anqi7vpbfzag7imccrc6di1zl5rl63ab7rfpmajpw6d1kzlsl9m"))))
diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm
index 7108386a34..6dc8e7b145 100644
--- a/gnu/packages/pdf.scm
+++ b/gnu/packages/pdf.scm
@@ -419,7 +419,7 @@ using the DjVuLibre library.")
(define-public zathura-pdf-mupdf
(package
(name "zathura-pdf-mupdf")
- (version "0.3.4")
+ (version "0.3.5")
(source (origin
(method url-fetch)
(uri
@@ -427,7 +427,7 @@ using the DjVuLibre library.")
"/download/zathura-pdf-mupdf-" version ".tar.xz"))
(sha256
(base32
- "166d5nz47ixzwj4pixsd5fd9qvjf5v34cdqi3p72vr23pswk2hyn"))))
+ "1pjwsb7zwclxsvz229fl7y2saf1pv3ifwv3ay8viqxgrp9x3z9hq"))))
(native-inputs `(("pkg-config" ,pkg-config)))
(inputs
`(("jbig2dec" ,jbig2dec)
@@ -604,7 +604,7 @@ extracting content or merging files.")
(define-public mupdf
(package
(name "mupdf")
- (version "1.15.0")
+ (version "1.16.1")
(source
(origin
(method url-fetch)
@@ -612,7 +612,7 @@ extracting content or merging files.")
name "-" version "-source.tar.xz"))
(sha256
(base32
- "0kmcz3ivxmqmks8vg50ri1zar18q5svk829z0g1kj08lgz7kcl2n"))
+ "1npmy92lkj41nnc14b4fpq7z62pminy94zsdbrczj22jpn283rvg"))
(modules '((guix build utils)))
(snippet
;; We keep lcms2 since it is different than our lcms.
diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm
index f35a71a41c..a3f6e5d050 100644
--- a/gnu/packages/perl.scm
+++ b/gnu/packages/perl.scm
@@ -4082,7 +4082,7 @@ relic support.")
(base32
"0h3wfnpv5d4d3f9xzmwkchay6251nhzngdv3f6xia56mj4hxabs0"))))
(build-system perl-build-system)
- (inputs
+ (propagated-inputs
`(("perl-clone-choose" ,perl-clone-choose)))
(home-page "https://metacpan.org/release/Hash-Merge")
(synopsis "Merge arbitrarily deep hashes into a single hash")
@@ -9010,15 +9010,15 @@ Tree::Simple::Visitor::* objects.")
(define-public perl-try-tiny
(package
(name "perl-try-tiny")
- (version "0.22")
+ (version "0.30")
(source
(origin
(method url-fetch)
- (uri (string-append "mirror://cpan/authors/id/D/DO/DOY/"
+ (uri (string-append "mirror://cpan/authors/id/E/ET/ETHER/"
"Try-Tiny-" version ".tar.gz"))
(sha256
(base32
- "068vdbpacfawc3lkfs0b82xxl27h3l0gj14iada3vlwk8rps9yv0"))))
+ "0szgvlz19yz3mq1lbzmwh8w5dh6agg5s16xv22zrnl83r7ax0nys"))))
(build-system perl-build-system)
(home-page "https://metacpan.org/release/Try-Tiny")
(synopsis "Minimal try/catch with proper preservation of $@@")
diff --git a/gnu/packages/photo.scm b/gnu/packages/photo.scm
index cbfc2debd8..b445374718 100644
--- a/gnu/packages/photo.scm
+++ b/gnu/packages/photo.scm
@@ -70,14 +70,14 @@
(define-public libraw
(package
(name "libraw")
- (version "0.19.3")
+ (version "0.19.4")
(source (origin
(method url-fetch)
(uri (string-append "https://www.libraw.org/data/LibRaw-"
version ".tar.gz"))
(sha256
(base32
- "0xs1qb6pcvc4c43fy5xi3nkqxcif77gakkw99irf0fc5iccdd5px"))))
+ "07wnzw9k3mwdq9dmpmg94al3ksc065kskfbxkknnmhvrsv2iri8k"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
diff --git a/gnu/packages/php.scm b/gnu/packages/php.scm
index 62444308db..497989b781 100644
--- a/gnu/packages/php.scm
+++ b/gnu/packages/php.scm
@@ -58,15 +58,15 @@
(define-public php
(package
(name "php")
- (version "7.3.6")
+ (version "7.3.8")
(home-page "https://secure.php.net/")
(source (origin
(method url-fetch)
(uri (string-append home-page "distributions/"
- name "-" version ".tar.xz"))
+ "php-" version ".tar.xz"))
(sha256
(base32
- "0r51aiff2abbr3d2swhvja0wm56sjxzqbciabcvvq3m3v9kqkz7y"))
+ "19fm990yl97fq538lkp0m1imbp30qrx7785x211w1n15wqm6n17n"))
(modules '((guix build utils)))
(snippet
'(with-directory-excursion "ext"
@@ -76,7 +76,7 @@
;;"mbstring/libmbfl"
;;"date/lib"
;;"bcmath/libbcmath"
- ;;"fileinfo/libmagic" ; This is a patched version of libmagic.
+ ;;"fileinfo/libmagic" ; a patched version of libmagic
'("gd/libgd"
"mbstring/oniguruma"
"pcre/pcre2lib"
@@ -378,7 +378,7 @@
`(("pkg-config" ,pkg-config)
("bison" ,bison)
("intltool" ,intltool)
- ("procps" ,procps))) ; For tests.
+ ("procps" ,procps))) ; for tests
(synopsis "PHP programming language")
(description
"PHP (PHP Hypertext Processor) is a server-side (CGI) scripting
diff --git a/gnu/packages/plotutils.scm b/gnu/packages/plotutils.scm
index b4ea20e387..88bc6b3dc6 100644
--- a/gnu/packages/plotutils.scm
+++ b/gnu/packages/plotutils.scm
@@ -198,8 +198,7 @@ colors, styles, options and details.")
("perl" ,perl)
("texinfo" ,texinfo) ;For generating documentation
;; For the manual and the tests.
- ("texlive" ,(texlive-union (list texlive-fonts-amsfonts
- texlive-latex-amsfonts
+ ("texlive" ,(texlive-union (list texlive-amsfonts
texlive-latex-geometry
texlive-latex-graphics
texlive-latex-oberdiek ; for ifluatex
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 5c71298f70..c8db4c95ce 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -3211,14 +3211,14 @@ provides additional functionality on the produced Mallard documents.")
(define-public python-cython
(package
(name "python-cython")
- (version "0.29.11")
+ (version "0.29.13")
(source
(origin
(method url-fetch)
(uri (pypi-uri "Cython" version))
(sha256
(base32
- "1866m01ggl2h3rky4hac3m5p048gg4a0jb09ljkknryiqln54fkn"))))
+ "13k37lrcgagwwnzr5bzririsscb793vndj234d475x1h9ad0d7f2"))))
(build-system python-build-system)
;; we need the full python package and not just the python-wrapper
;; because we need libpython3.3m.so
@@ -3548,12 +3548,11 @@ color scales, and color space conversion easy. It has support for:
("pkg-config" ,pkg-config)
("python-sphinx" ,python-sphinx)
("python-numpydoc" ,python-numpydoc)
- ("texlive" ,(texlive-union (list texlive-fonts-amsfonts
- texlive-fonts-cm-super
+ ("texlive" ,(texlive-union (list texlive-fonts-cm-super
texlive-fonts-ec
texlive-generic-ifxetex
texlive-generic-pdftex
- texlive-latex-amsfonts
+ texlive-amsfonts
texlive-latex-capt-of
texlive-latex-cmap
texlive-latex-environ
@@ -3952,7 +3951,7 @@ toolkits.")
("python-ipykernel" ,python-ipykernel)
("python-mock" ,python-mock)
("graphviz" ,graphviz)
- ("texlive" ,(texlive-union (list texlive-latex-amsfonts
+ ("texlive" ,(texlive-union (list texlive-amsfonts
texlive-latex-amsmath
texlive-latex-enumitem
texlive-latex-expdlist
@@ -3963,7 +3962,6 @@ toolkits.")
texlive-generic-pdftex
- texlive-fonts-amsfonts
texlive-fonts-ec
texlive-fonts-adobe-times
texlive-fonts-txfonts)))
@@ -5520,11 +5518,10 @@ computing.")
`(("python-sphinx" ,python-sphinx)
("python-sphinx-rtd-theme" ,python-sphinx-rtd-theme)
;; FIXME: It's possible that a smaller union would work just as well.
- ("texlive" ,(texlive-union (list texlive-fonts-amsfonts
+ ("texlive" ,(texlive-union (list texlive-amsfonts
texlive-fonts-ec
texlive-generic-ifxetex
texlive-generic-pdftex
- texlive-latex-amsfonts
texlive-latex-capt-of
texlive-latex-cmap
texlive-latex-environ
@@ -8805,20 +8802,24 @@ python-xdo for newer bindings.)")
(define-public python-mako
(package
(name "python-mako")
- (version "1.0.13")
+ (version "1.1.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "Mako" version))
(sha256
(base32
- "0h95n0g0k1jwxiqarr09navpfajarvbmpm8mhmw66c25qc675vlm"))))
+ "0jqa3qfpykyn4fmkn0kh6043sfls7br8i2bsdbccazcvk9cijsd3"))))
(build-system python-build-system)
+ (arguments
+ `(#:phases (modify-phases %standard-phases
+ (replace 'check
+ (lambda _
+ (invoke "pytest" "-vv"))))))
(propagated-inputs
`(("python-markupsafe" ,python-markupsafe)))
(native-inputs
`(("python-mock" ,python-mock)
- ("python-nose" ,python-nose)
("python-pytest" ,python-pytest)))
(home-page "https://www.makotemplates.org/")
(synopsis "Templating language for Python")
diff --git a/gnu/packages/regex.scm b/gnu/packages/regex.scm
index 71dac09737..ad01814318 100644
--- a/gnu/packages/regex.scm
+++ b/gnu/packages/regex.scm
@@ -30,7 +30,7 @@
(define-public re2
(package
(name "re2")
- (version "2019-07-01")
+ (version "2019-08-01")
(home-page "https://github.com/google/re2")
(source (origin
(method git-fetch)
@@ -38,7 +38,7 @@
(file-name (git-file-name name version))
(sha256
(base32
- "1ric6gdnf5mqj5iy5f81al49mr3mmjqj3nqi3mw2hjdbbgwkdn71"))))
+ "11w9x16y26nfgliis28ivrh9b1x6pxawdwxfwxfjh34h57c0dkzg"))))
(build-system gnu-build-system)
(arguments
`(#:modules ((guix build gnu-build-system)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index d47c2ed07d..1b70f842ae 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -4849,14 +4849,14 @@ alternative to Marshal for Object serialization. ")
(define-public ruby-pg
(package
(name "ruby-pg")
- (version "1.1.3")
+ (version "1.1.4")
(source
(origin
(method url-fetch)
(uri (rubygems-uri "pg" version))
(sha256
(base32
- "1pnjw3rspdfjssxyf42jnbsdlgri8ylysimp0s28wxb93k6ff2qb"))))
+ "0fmnyxcyrvgdbgq7m09whgn9i8rwfybk0w8aii1nc4g5kqw0k2jy"))))
(build-system ruby-build-system)
(arguments
'(#:test-target "spec"))
@@ -4865,7 +4865,7 @@ alternative to Marshal for Object serialization. ")
("ruby-hoe" ,ruby-hoe)
("ruby-rspec" ,ruby-rspec)))
(inputs
- `(("postgresql" ,postgresql-9.6)))
+ `(("postgresql" ,postgresql)))
(synopsis "Ruby interface to PostgreSQL")
(description "Pg is the Ruby interface to the PostgreSQL RDBMS. It works
with PostgreSQL 9.0 and later.")
diff --git a/gnu/packages/samba.scm b/gnu/packages/samba.scm
index 4ecac8ab55..33505aa5c7 100644
--- a/gnu/packages/samba.scm
+++ b/gnu/packages/samba.scm
@@ -154,14 +154,14 @@ anywhere.")
(define-public samba
(package
(name "samba")
- (version "4.10.5")
+ (version "4.10.6")
(source (origin
(method url-fetch)
(uri (string-append "https://download.samba.org/pub/samba/stable/"
"samba-" version ".tar.gz"))
(sha256
(base32
- "0xb3mz38hcayqxchk0ws9mxn10vswsn97jbxl4gcwi4cbrnjc43c"))))
+ "0hpgdqlyczj98pkh2ldglvvnkrb1q541r3qikdvxq0qjvd9fpywy"))))
(build-system gnu-build-system)
(arguments
`(#:phases
diff --git a/gnu/packages/scanner.scm b/gnu/packages/scanner.scm
index d23da9e502..b371cf3105 100644
--- a/gnu/packages/scanner.scm
+++ b/gnu/packages/scanner.scm
@@ -34,15 +34,16 @@
(define-public sane-backends-minimal
(package
(name "sane-backends-minimal")
- (version "1.0.27")
+ (version "1.0.28")
(source (origin
(method url-fetch)
(uri (string-append
- "https://alioth.debian.org/frs/download.php/latestfile/176/"
+ "https://gitlab.com/sane-project/backends/uploads/"
+ "9e718daff347826f4cfe21126c8d5091/"
"sane-backends-" version ".tar.gz"))
(sha256
(base32
- "1j9nbqspaj0rlgalafb5z6r606k0i22kz0rcpd744p176yzlfdr9"))
+ "00yy8q9hqdf0zjxxl4d8njr9zf0hhi3a9ib23ikc2anqf8zhy9ii"))
(modules '((guix build utils)))
(snippet
;; Generated HTML files and udev rules normally embed a
@@ -63,6 +64,10 @@
(add-before 'configure 'disable-backends
(lambda _
(setenv "BACKENDS" " ")
+
+ ;; Disable tests that may require back ends to be built.
+ (substitute* "testsuite/Makefile.in"
+ ((" backend ") " "))
#t))
(add-after 'unpack 'disable-failing-tests
(lambda _
@@ -113,6 +118,7 @@ package contains the library, but no drivers.")
(name "sane-backends")
(inputs
`(("hplip" ,(@ (gnu packages cups) hplip-minimal))
+ ("libjpeg" ,libjpeg) ; wanted by pixma, epsonds, others
("libpng" ,libpng) ; support ‘scanimage --format=png’
,@(package-inputs sane-backends-minimal)))
(arguments
diff --git a/gnu/packages/scribus.scm b/gnu/packages/scribus.scm
index 322a096414..e9c998c7b6 100644
--- a/gnu/packages/scribus.scm
+++ b/gnu/packages/scribus.scm
@@ -48,7 +48,7 @@
(define-public scribus
(package
(name "scribus")
- (version "1.5.4")
+ (version "1.5.5")
(source
(origin
(method url-fetch)
@@ -56,86 +56,7 @@
version "/scribus-" version ".tar.xz"))
(sha256
(base32
- "00ys0p6h3iq77kh72dkl0qrf7qvznq18qdrgiq10gfxja1995034"))
- (patches (append
- ;; Scribus relies heavily on Poppler internals, which have
- ;; changed a lot since the latest Scribus release (2018-04).
- ;; Thus, we require a bunch of patches to stay compatible.
- (search-patches "scribus-poppler.patch")
- (list (origin
- (method url-fetch)
- (uri (string-append
- "https://github.com/scribusproject/scribus/commit/"
- "7d4ceeb5cac32287769e3c0238699e0b3e56c24d.patch"))
- (file-name "scribus-poppler-0.64.patch")
- (sha256
- (base32
- "1kr27bfzkpabrh42nsrrvlqyycdg9isbavpaa5spgmrhidcg02xj")))
- (origin
- (method url-fetch)
- (uri (string-append
- "https://github.com/scribusproject/scribus/commit/"
- "76561c1a55cd07c268f8f2b2fea888532933700b.patch"))
- (file-name "scribus-poppler-config.patch")
- (sha256
- (base32
- "01k18xjj82c3ndzp89dlpfhhdccc8z0acf8b04r592jyr5y9rc19")))
- (origin
- (method url-fetch)
- (uri (string-append
- "https://github.com/scribusproject/scribus/commit/"
- "8e05d26c19097ac2ad5b4ebbf40a3771ee6faf9c.patch"))
- (file-name "scribus-poppler-0.69.patch")
- (sha256
- (base32
- "1avdmsj5l543j0irq18nxgiw99n395jj56ih5dsal59fn0wbqk42")))
- (origin
- (method url-fetch)
- (uri (string-append "https://git.archlinux.org/svntogit/"
- "community.git/plain/trunk/scribus-"
- "poppler-0.70.patch?h=packages/scribus&id="
- "8ef43ee2fceb0753ed5a76bb0a11c84775898ffc"))
- (file-name "scribus-poppler-0.70.patch")
- (sha256
- (base32
- "0dw7ix3jaj0y1q97cmmqwb2qgdx760yhxx86wa8rnx0xhfi5x6qr")))
- ;; This and the preceding patch are taken from Arch Linux
- ;; because they are adjusted for the Scribus release tarball
- ;; rather than the upstream master branch.
- (origin
- (method url-fetch)
- (uri (string-append "https://git.archlinux.org/svntogit/"
- "community.git/plain/trunk/scribus-"
- "poppler-0.75.patch?h=packages/scribus&id="
- "4d35c4ad4869c1dcce9243c4786ff303bdd5c601"))
- (file-name "scribus-poppler-0.75.patch")
- (sha256
- (base32
- "1lhf2srp7iv44zzdbr3kqa0lfjmm77nalxnx80jqaixhr5yq2s8f")))
- (origin
- (method url-fetch)
- (uri (string-append
- "https://github.com/scribusproject/scribus/commit/"
- "9449265592a5195153d72c2a511d2010b0cf5b0b.patch"))
- (file-name "scribus-poppler-0.76.patch")
- (sha256
- (base32
- "0zghiqra9s6f6v06fdr97gdhiw41zr8r6vqh4ar4yw7rqn2771jd"))))
- (search-patches "scribus-poppler-0.73.patch")))
- ;; The --binary flag is required for 'scribus-poppler-0.75.patch', because
- ;; we need to retain the CRLF line endings.
- (patch-flags '("-p1" "--binary"))
- (modules '((guix build utils)))
- (snippet
- '(begin
- (for-each (lambda (file)
- (substitute* file
- ;; These are required for compatibility with Poppler 0.71.
- (("GBool") "bool") (("gTrue") "true") (("gFalse") "false")
- ;; ...and this for Poppler 0.72.
- (("getCString") "c_str")))
- (find-files "scribus/plugins/import/pdf"))
- #t))))
+ "0w9zzsiaq3f7vpxybk01c9z2b4qqg67mzpyfb2gjchz8dhdb423r"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f ;no test target
@@ -145,9 +66,9 @@
(modify-phases %standard-phases
(add-after 'install 'wrap-program
(lambda* (#:key inputs outputs #:allow-other-keys)
- ;; Fix "ImportError: No module named _sysconfigdata_nd" where
- ;; Scribus checks PATH and eventually runs system's Python
- ;; instead of package's.
+ ;; Fix "ImportError: No module named _sysconfigdata_nd"
+ ;; runtime error where Scribus checks PATH and eventually
+ ;; runs system's Python instead of package's.
(let* ((out (assoc-ref outputs "out"))
(py2 (assoc-ref inputs "python")))
(wrap-program (string-append out "/bin/scribus")
@@ -188,12 +109,13 @@
(home-page "https://www.scribus.net")
(synopsis "Desktop publishing and page layout program")
(description
- "Scribus is a @dfn{desktop publishing} (DTP) application and can be used
-for many tasks; from brochure design to newspapers, magazines, newsletters and
-posters to technical documentation. Scribus supports professional DTP
-features, such as CMYK color and a color management system to soft proof
-images for high quality color printing, flexible PDF creation options,
-Encapsulated PostScript import/export and creation of four color separations,
-import of EPS/PS and SVG as native vector graphics, Unicode text including
-right to left scripts such as Arabic and Hebrew via freetype.")
+ "Scribus is a @dfn{desktop publishing} (DTP) application and can
+be used for many tasks; from brochure design to newspapers, magazines,
+newsletters and posters to technical documentation. Scribus supports
+professional DTP features, such as CMYK color and a color management
+system to soft proof images for high quality color printing, flexible
+PDF creation options, Encapsulated PostScript import/export and
+creation of four color separations, import of EPS/PS and SVG as native
+vector graphics, Unicode text including right to left scripts such as
+Arabic and Hebrew via FreeType.")
(license license:gpl2+)))
diff --git a/gnu/packages/search.scm b/gnu/packages/search.scm
index 9b2876c359..d786ad08d9 100644
--- a/gnu/packages/search.scm
+++ b/gnu/packages/search.scm
@@ -49,14 +49,14 @@
(define-public xapian
(package
(name "xapian")
- (version "1.4.11")
+ (version "1.4.12")
;; Note: When updating Xapian, remember to update xapian-bindings below.
(source (origin
(method url-fetch)
(uri (string-append "https://oligarchy.co.uk/xapian/" version
"/xapian-core-" version ".tar.xz"))
(sha256
- (base32 "01xwqljnp5afjf9097lyfbqc6x5bcqszfdkn9l1j86imwbrv45lz"))))
+ (base32 "0z5c1y9vp519h2x2igjq39v6j615nppry0wasd0xn4hphgd3d2jg"))))
(build-system gnu-build-system)
(inputs `(("zlib" ,zlib)
("util-linux" ,util-linux)))
@@ -94,7 +94,7 @@ rich set of boolean query operators.")
"/xapian-bindings-" version ".tar.xz"))
(sha256
(base32
- "13bi2vr5d39ys49nlwmsv64ik5pdwkz28bh08hyylrhanb45d8wx"))))
+ "0j9awiiw9zf97r60m848absq43k37gghpyw7acxqjazfzd71fxvm"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags '("--with-python3")
diff --git a/gnu/packages/security-token.scm b/gnu/packages/security-token.scm
index 5fb75ce617..3d6ad4f9d7 100644
--- a/gnu/packages/security-token.scm
+++ b/gnu/packages/security-token.scm
@@ -64,7 +64,7 @@
(define-public ccid
(package
(name "ccid")
- (version "1.4.30")
+ (version "1.4.31")
(source (origin
(method url-fetch)
(uri (string-append
@@ -72,7 +72,7 @@
name "-" version ".tar.bz2"))
(sha256
(base32
- "0z7zafdg75fr1adlv2x0zz34s07gljcjg2lsz76s1048w1xhh5xc"))))
+ "1xz8ikr6vk73w3xnwb931yq8lqc1zrj8c3v34n6h63irwjvdfj3b"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags (list (string-append "--enable-usbdropdir=" %output
diff --git a/gnu/packages/shells.scm b/gnu/packages/shells.scm
index 1900925022..0579c167fc 100644
--- a/gnu/packages/shells.scm
+++ b/gnu/packages/shells.scm
@@ -709,18 +709,17 @@ interactive POSIX shell targeted at resource-constrained systems.")
(define-public mksh
(package
(name "mksh")
- (version "56")
+ (version "57")
(source
(origin
(method url-fetch)
(uri (string-append "https://www.mirbsd.org/MirOS/dist/mir/mksh/mksh-R"
version ".tgz"))
(sha256
- (base32
- "1x4zjj9259ijpf8jw0nyh1fnr1pbm5fwvylclpvcrlb45xrglf5d"))))
+ (base32 "0xdykm1z710wriwd6nc8s8lwk2dwjl63dq96xxaawlid31a1241x"))))
(build-system gnu-build-system)
(arguments
- `(#:tests? #f ; tests require access to /dev/tty
+ `(#:tests? #f ; tests require access to /dev/tty
#:phases
(modify-phases %standard-phases
(delete 'configure)
@@ -744,7 +743,7 @@ interactive POSIX shell targeted at resource-constrained systems.")
Korn Shell programming language and a successor to the Public Domain Korn
Shell (pdksh).")
(license (list miros
- isc)))) ; strlcpy.c
+ isc)))) ; strlcpy.c
(define-public oil-shell
(package
diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm
index eb5e5b4b76..cdd0caec4a 100644
--- a/gnu/packages/statistics.scm
+++ b/gnu/packages/statistics.scm