summaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2021-04-29 15:41:48 +0200
committerLudovic Courtès <ludo@gnu.org>2021-04-29 15:41:48 +0200
commit2c11e7be745a790320a42a357635997310d731d0 (patch)
tree226aafaccf6f77758ab6e0e174ff8f08318a1772 /gnu
parente12210dc92098d8581cea3007d57dbb6be16bb41 (diff)
parent041d62f7cc244d7f6c0bd6d60cdf08e72d400313 (diff)
downloadguix-patches-2c11e7be745a790320a42a357635997310d731d0.tar
guix-patches-2c11e7be745a790320a42a357635997310d731d0.tar.gz
Merge remote-tracking branch 'origin/master' into wip-ungrafting
Diffstat (limited to 'gnu')
-rw-r--r--gnu/build/file-systems.scm29
-rw-r--r--gnu/build/image.scm2
-rw-r--r--gnu/ci.scm92
-rw-r--r--gnu/installer/newt/partition.scm17
-rw-r--r--gnu/installer/parted.scm45
-rw-r--r--gnu/installer/tests.scm37
-rw-r--r--gnu/local.mk12
-rw-r--r--gnu/packages/admin.scm61
-rw-r--r--gnu/packages/algebra.scm4
-rw-r--r--gnu/packages/astronomy.scm16
-rw-r--r--gnu/packages/audio.scm8
-rw-r--r--gnu/packages/backup.scm10
-rw-r--r--gnu/packages/bioconductor.scm4
-rw-r--r--gnu/packages/bioinformatics.scm276
-rw-r--r--gnu/packages/bootloaders.scm4
-rw-r--r--gnu/packages/browser-extensions.scm8
-rw-r--r--gnu/packages/cdrom.scm20
-rw-r--r--gnu/packages/check.scm23
-rw-r--r--gnu/packages/chromium.scm77
-rw-r--r--gnu/packages/ci.scm6
-rw-r--r--gnu/packages/cobol.scm25
-rw-r--r--gnu/packages/code.scm10
-rw-r--r--gnu/packages/commencement.scm3
-rw-r--r--gnu/packages/cpp.scm8
-rw-r--r--gnu/packages/cran.scm74
-rw-r--r--gnu/packages/crates-graphics.scm2
-rw-r--r--gnu/packages/crates-io.scm14
-rw-r--r--gnu/packages/crypto.scm3
-rw-r--r--gnu/packages/databases.scm58
-rw-r--r--gnu/packages/debian.scm4
-rw-r--r--gnu/packages/dictionaries.scm6
-rw-r--r--gnu/packages/disk.scm43
-rw-r--r--gnu/packages/dns.scm4
-rw-r--r--gnu/packages/education.scm9
-rw-r--r--gnu/packages/electronics.scm10
-rw-r--r--gnu/packages/emacs-xyz.scm277
-rw-r--r--gnu/packages/emulators.scm115
-rw-r--r--gnu/packages/engineering.scm9
-rw-r--r--gnu/packages/enlightenment.scm6
-rw-r--r--gnu/packages/fcitx.scm4
-rw-r--r--gnu/packages/file-systems.scm10
-rw-r--r--gnu/packages/finance.scm11
-rw-r--r--gnu/packages/fontutils.scm6
-rw-r--r--gnu/packages/game-development.scm4
-rw-r--r--gnu/packages/games.scm48
-rw-r--r--gnu/packages/gcc.scm19
-rw-r--r--gnu/packages/gdb.scm6
-rw-r--r--gnu/packages/gimp.scm9
-rw-r--r--gnu/packages/gnome.scm29
-rw-r--r--gnu/packages/gnunet.scm12
-rw-r--r--gnu/packages/gnuzilla.scm14
-rw-r--r--gnu/packages/golang.scm2
-rw-r--r--gnu/packages/gpodder.scm6
-rw-r--r--gnu/packages/graph.scm22
-rw-r--r--gnu/packages/graphics.scm2
-rw-r--r--gnu/packages/gstreamer.scm8
-rw-r--r--gnu/packages/gtk.scm20
-rw-r--r--gnu/packages/guile-xyz.scm4
-rw-r--r--gnu/packages/guile.scm19
-rw-r--r--gnu/packages/haskell-apps.scm4
-rw-r--r--gnu/packages/image.scm8
-rw-r--r--gnu/packages/irc.scm32
-rw-r--r--gnu/packages/java.scm90
-rw-r--r--gnu/packages/javascript.scm6
-rw-r--r--gnu/packages/julia-xyz.scm4
-rw-r--r--gnu/packages/less.scm6
-rw-r--r--gnu/packages/linux.scm117
-rw-r--r--gnu/packages/lisp-xyz.scm403
-rw-r--r--gnu/packages/lisp.scm4
-rw-r--r--gnu/packages/llvm.scm140
-rw-r--r--gnu/packages/lua.scm4
-rw-r--r--gnu/packages/machine-learning.scm8
-rw-r--r--gnu/packages/mail.scm90
-rw-r--r--gnu/packages/mate.scm5
-rw-r--r--gnu/packages/maths.scm18
-rw-r--r--gnu/packages/messaging.scm4
-rw-r--r--gnu/packages/mtools.scm6
-rw-r--r--gnu/packages/music.scm6
-rw-r--r--gnu/packages/networking.scm4
-rw-r--r--gnu/packages/ocaml.scm6
-rw-r--r--gnu/packages/orange.scm209
-rw-r--r--gnu/packages/package-management.scm7
-rw-r--r--gnu/packages/parallel.scm11
-rw-r--r--gnu/packages/password-utils.scm21
-rw-r--r--gnu/packages/patches/clang-12-tools-extra-directory.patch16
-rw-r--r--gnu/packages/patches/gimp-make-gegl-introspect-optional.patch43
-rw-r--r--gnu/packages/patches/gst-libav-64channels-stack-corruption.patch31
-rw-r--r--gnu/packages/patches/gst-plugins-bad-fix-overflow.patch263
-rw-r--r--gnu/packages/patches/gst-plugins-base-fix-id3v2-invalid-read.patch40
-rw-r--r--gnu/packages/patches/gst-plugins-good-CVE-2021-3497.patch174
-rw-r--r--gnu/packages/patches/gst-plugins-good-CVE-2021-3498.patch22
-rw-r--r--gnu/packages/patches/gst-plugins-ugly-fix-out-of-bound-reads.patch119
-rw-r--r--gnu/packages/patches/kmscon-runtime-keymap-switch.patch49
-rw-r--r--gnu/packages/patches/linux-libre-arm64-generic-pinebook-lcd.patch40
-rw-r--r--gnu/packages/patches/ungoogled-chromium-system-nspr.patch120
-rw-r--r--gnu/packages/patches/ungoogled-chromium-system-opus.patch27
-rw-r--r--gnu/packages/perl.scm41
-rw-r--r--gnu/packages/python-build.scm4
-rw-r--r--gnu/packages/python-web.scm5
-rw-r--r--gnu/packages/python-xyz.scm534
-rw-r--r--gnu/packages/qt.scm11
-rw-r--r--gnu/packages/ruby.scm18
-rw-r--r--gnu/packages/samba.scm4
-rw-r--r--gnu/packages/scheme.scm16
-rw-r--r--gnu/packages/scribus.scm44
-rw-r--r--gnu/packages/search.scm8
-rw-r--r--gnu/packages/serialization.scm35
-rw-r--r--gnu/packages/shells.scm4
-rw-r--r--gnu/packages/shellutils.scm10
-rw-r--r--gnu/packages/skarnet.scm36
-rw-r--r--gnu/packages/spice.scm14
-rw-r--r--gnu/packages/ssh.scm6
-rw-r--r--gnu/packages/syncthing.scm34
-rw-r--r--gnu/packages/terminals.scm26
-rw-r--r--gnu/packages/text-editors.scm8
-rw-r--r--gnu/packages/textutils.scm51
-rw-r--r--gnu/packages/tmux.scm4
-rw-r--r--gnu/packages/upnp.scm4
-rw-r--r--gnu/packages/version-control.scm4
-rw-r--r--gnu/packages/video.scm8
-rw-r--r--gnu/packages/virtualization.scm4
-rw-r--r--gnu/packages/vpn.scm13
-rw-r--r--gnu/packages/web-browsers.scm10
-rw-r--r--gnu/packages/web.scm59
-rw-r--r--gnu/packages/webkit.scm3
-rw-r--r--gnu/packages/wine.scm17
-rw-r--r--gnu/packages/wm.scm10
-rw-r--r--gnu/packages/xdisorg.scm18
-rw-r--r--gnu/packages/xfce.scm35
-rw-r--r--gnu/packages/xml.scm10
-rw-r--r--gnu/packages/xorg.scm30
-rw-r--r--gnu/services/databases.scm7
-rw-r--r--gnu/services/guix.scm24
-rw-r--r--gnu/services/linux.scm49
-rw-r--r--gnu/services/nix.scm6
-rw-r--r--gnu/services/vpn.scm13
-rw-r--r--gnu/tests/install.scm108
-rw-r--r--gnu/tests/ldap.scm4
-rw-r--r--gnu/tests/web.scm61
139 files changed, 4203 insertions, 1050 deletions
diff --git a/gnu/build/file-systems.scm b/gnu/build/file-systems.scm
index 304805db62..6111cd747c 100644
--- a/gnu/build/file-systems.scm
+++ b/gnu/build/file-systems.scm
@@ -644,16 +644,13 @@ if DEVICE does not contain a NTFS file system."
(loop parts))))))))))
(define (ENOENT-safe proc)
- "Wrap the one-argument PROC such that ENOENT errors are caught and lead to a
-warning and #f as the result."
+ "Wrap the one-argument PROC such that ENOENT, EIO, and ENOMEDIUM errors are
+caught and lead to a warning and #f as the result."
(lambda (device)
(catch 'system-error
(lambda ()
(proc device))
(lambda args
- ;; When running on the hand-made /dev,
- ;; 'disk-partitions' could return partitions for which
- ;; we have no /dev node. Handle that gracefully.
(let ((errno (system-error-errno args)))
(cond ((= ENOENT errno)
(format (current-error-port)
@@ -671,11 +668,10 @@ warning and #f as the result."
(define (partition-field-reader read field)
"Return a procedure that takes a device and returns the value of a FIELD in
the partition superblock or #f."
- (let ((read (ENOENT-safe read)))
- (lambda (device)
- (let ((sblock (read device)))
- (and sblock
- (field sblock))))))
+ (lambda (device)
+ (let ((sblock (read device)))
+ (and sblock
+ (field sblock)))))
(define (read-partition-field device partition-field-readers)
"Returns the value of a FIELD in the partition superblock of DEVICE or #f. It
@@ -742,11 +738,14 @@ partition field reader that returned a value."
(define (partition-predicate reader =)
"Return a predicate that returns true if the FIELD of partition header that
was READ is = to the given value."
- (lambda (expected)
- (lambda (device)
- (let ((actual (reader device)))
- (and actual
- (= actual expected))))))
+ ;; When running on the hand-made /dev, 'disk-partitions' could return
+ ;; partitions for which we have no /dev node. Handle that gracefully.
+ (let ((reader (ENOENT-safe reader)))
+ (lambda (expected)
+ (lambda (device)
+ (let ((actual (reader device)))
+ (and actual
+ (= actual expected)))))))
(define partition-label-predicate
(partition-predicate read-partition-label string=?))
diff --git a/gnu/build/image.scm b/gnu/build/image.scm
index f6e5cb42f6..45eed0b298 100644
--- a/gnu/build/image.scm
+++ b/gnu/build/image.scm
@@ -61,7 +61,7 @@
(inexact->exact (ceiling (/ size 1024)))))
(define (estimate-partition-size root)
- "Given the ROOT directory, evalute and return its size. As this doesn't
+ "Given the ROOT directory, evaluate and return its size. As this doesn't
take the partition metadata size into account, take a 25% margin."
(* 1.25 (file-size root)))
diff --git a/gnu/ci.scm b/gnu/ci.scm
index 5ab1b51d82..8d3590bcdc 100644
--- a/gnu/ci.scm
+++ b/gnu/ci.scm
@@ -66,9 +66,14 @@
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-26)
#:use-module (ice-9 match)
- #:export (%core-packages
+ #:export (derivation->job
+ image->job
+
+ %core-packages
%cross-targets
channel-source->package
+
+ arguments->systems
cuirass-jobs))
;;; Commentary:
@@ -232,43 +237,48 @@ SYSTEM."
(define (hours hours)
(* 3600 hours))
+(define* (image->job store image
+ #:key name system)
+ "Return the job for IMAGE on SYSTEM. If NAME is passed, use it as job name,
+otherwise use the IMAGE name."
+ (let* ((image-name (or name
+ (symbol->string (image-name image))))
+ (name (string-append image-name "." system))
+ (drv (run-with-store store
+ (mbegin %store-monad
+ (set-guile-for-build (default-guile))
+ (lower-object (system-image image))))))
+ (parameterize ((%graft? #f))
+ (derivation->job name drv))))
+
(define (image-jobs store system)
"Return a list of jobs that build images for SYSTEM."
- (define (->job name drv)
- (let ((name (string-append name "." system)))
- (parameterize ((%graft? #f))
- (derivation->job name drv))))
-
- (define (build-image image)
- (run-with-store store
- (mbegin %store-monad
- (set-guile-for-build (default-guile))
- (lower-object (system-image image)))))
-
(define MiB
(expt 2 20))
(if (member system %guix-system-supported-systems)
- `(,(->job "usb-image"
- (build-image
- (image
- (inherit efi-disk-image)
- (operating-system installation-os))))
- ,(->job "iso9660-image"
- (build-image
- (image
- (inherit (image-with-label
- iso9660-image
- (string-append "GUIX_" system "_"
- (if (> (string-length %guix-version) 7)
- (substring %guix-version 0 7)
- %guix-version))))
- (operating-system installation-os))))
+ `(,(image->job store
+ (image
+ (inherit efi-disk-image)
+ (operating-system installation-os))
+ #:name "usb-image"
+ #:system system)
+ ,(image->job
+ store
+ (image
+ (inherit (image-with-label
+ iso9660-image
+ (string-append "GUIX_" system "_"
+ (if (> (string-length %guix-version) 7)
+ (substring %guix-version 0 7)
+ %guix-version))))
+ (operating-system installation-os))
+ #:name "iso9660-image"
+ #:system system)
;; Only cross-compile Guix System images from x86_64-linux for now.
,@(if (string=? system "x86_64-linux")
- (map (lambda (image)
- (->job (symbol->string (image-name image))
- (build-image image)))
+ (map (cut image->job store <>
+ #:system system)
%guix-system-images)
'()))
'()))
@@ -354,6 +364,7 @@ SYSTEM."
(>>= (profile-derivation (packages->manifest (list guix)))
(lambda (profile)
(self-contained-tarball "guix-binary" profile
+ #:profile-name "current-guix"
#:localstatedir? #t
#:compressor
(lookup-compressor "xz")))))
@@ -434,6 +445,13 @@ valid."
load-manifest)
manifests))))
+(define (arguments->systems arguments)
+ "Return the systems list from ARGUMENTS."
+ (match (assoc-ref arguments 'systems)
+ (#f %cuirass-supported-systems)
+ ((lst ...) lst)
+ ((? string? str) (call-with-input-string str read))))
+
;;;
;;; Cuirass entry point.
@@ -445,10 +463,7 @@ valid."
(assoc-ref arguments 'subset))
(define systems
- (match (assoc-ref arguments 'systems)
- (#f %cuirass-supported-systems)
- ((lst ...) lst)
- ((? string? str) (call-with-input-string str read))))
+ (arguments->systems arguments))
(define channels
(let ((channels (assq-ref arguments 'channels)))
@@ -513,6 +528,15 @@ valid."
('tarball
;; Build Guix tarball only.
(tarball-jobs store system))
+ (('custom . modules)
+ ;; Build custom modules jobs only.
+ (append-map
+ (lambda (module)
+ (let ((proc (module-ref
+ (resolve-interface module)
+ 'cuirass-jobs)))
+ (proc store arguments)))
+ modules))
(('channels . channels)
;; Build only the packages from CHANNELS.
(let ((all (all-packages)))
diff --git a/gnu/installer/newt/partition.scm b/gnu/installer/newt/partition.scm
index 81cf68d782..2bb9b16945 100644
--- a/gnu/installer/newt/partition.scm
+++ b/gnu/installer/newt/partition.scm
@@ -95,14 +95,17 @@ DEVICES list."
(define (run-label-page button-text button-callback)
"Run a page asking the user to select a partition table label."
- (run-listbox-selection-page
- #:info-text (G_ "Select a new partition table type. \
+ ;; Force the GPT label if UEFI is supported.
+ (if (efi-installation?)
+ "gpt"
+ (run-listbox-selection-page
+ #:info-text (G_ "Select a new partition table type. \
Be careful, all data on the disk will be lost.")
- #:title (G_ "Partition table")
- #:listbox-items '("msdos" "gpt")
- #:listbox-item->text identity
- #:button-text button-text
- #:button-callback-procedure button-callback))
+ #:title (G_ "Partition table")
+ #:listbox-items '("msdos" "gpt")
+ #:listbox-item->text identity
+ #:button-text button-text
+ #:button-callback-procedure button-callback)))
(define (run-type-page partition)
"Run a page asking the user to select a partition type."
diff --git a/gnu/installer/parted.scm b/gnu/installer/parted.scm
index 9ef263d1f9..6d6e500d71 100644
--- a/gnu/installer/parted.scm
+++ b/gnu/installer/parted.scm
@@ -70,6 +70,7 @@
small-freespace-partition?
esp-partition?
boot-partition?
+ efi-installation?
default-esp-mount-point
with-delay-device-in-use?
@@ -193,12 +194,8 @@ inferior to MAX-SIZE, #f otherwise."
(define (esp-partition? partition)
"Return #t if partition has the ESP flag, return #f otherwise."
(let* ((disk (partition-disk partition))
- (disk-type (disk-disk-type disk))
- (has-extended? (disk-type-check-feature
- disk-type
- DISK-TYPE-FEATURE-EXTENDED)))
+ (disk-type (disk-disk-type disk)))
(and (data-partition? partition)
- (not has-extended?)
(partition-is-flag-available? partition PARTITION-FLAG-ESP)
(partition-get-flag partition PARTITION-FLAG-ESP))))
@@ -918,30 +915,26 @@ exists."
;; disk space. Otherwise, set the swap size to 5% of the disk space.
(swap-size (min default-swap-size five-percent-disk)))
- (if has-extended?
- ;; msdos - remove everything.
- (disk-remove-all-partitions disk)
- ;; gpt - remove everything but esp if it exists.
- (for-each
- (lambda (partition)
- (and (data-partition? partition)
- (disk-remove-partition* disk partition)))
- non-boot-partitions))
+ ;; Remove everything but esp if it exists.
+ (for-each
+ (lambda (partition)
+ (and (data-partition? partition)
+ (disk-remove-partition* disk partition)))
+ non-boot-partitions)
(let* ((start-partition
- (and (not has-extended?)
- (if (efi-installation?)
- (and (not esp-partition)
- (user-partition
- (fs-type 'fat32)
- (esp? #t)
- (size new-esp-size)
- (mount-point (default-esp-mount-point))))
+ (if (efi-installation?)
+ (and (not esp-partition)
(user-partition
- (fs-type 'ext4)
- (bootable? #t)
- (bios-grub? #t)
- (size bios-grub-size)))))
+ (fs-type 'fat32)
+ (esp? #t)
+ (size new-esp-size)
+ (mount-point (default-esp-mount-point))))
+ (user-partition
+ (fs-type 'ext4)
+ (bootable? #t)
+ (bios-grub? #t)
+ (size bios-grub-size))))
(new-partitions
(cond
((or (eq? scheme 'entire-root)
diff --git a/gnu/installer/tests.scm b/gnu/installer/tests.scm
index f318546a2f..8ccd327a7c 100644
--- a/gnu/installer/tests.scm
+++ b/gnu/installer/tests.scm
@@ -37,7 +37,8 @@
enter-host-name+passwords
choose-services
choose-partitioning
- conclude-installation
+ start-installation
+ complete-installation
edit-configuration-file))
@@ -281,14 +282,19 @@ instrumented for further testing."
(define* (choose-partitioning port
#:key
(encrypted? #t)
+ (uefi-support? #f)
(passphrase "thepassphrase")
(edit-configuration-file
edit-configuration-file))
"Converse over PORT to choose the partitioning method. When ENCRYPTED? is
true, choose full-disk encryption with PASSPHRASE as the LUKS passphrase.
+
+When UEFI-SUPPORT? is true, assume that we are running the installation tests
+on an UEFI capable machine.
+
This conversation stops when the user partitions have been formatted, right
before the installer generates the configuration file and shows it in a dialog
-box."
+box. "
(converse port
((list-selection (title "Partitioning method")
(multiple-choices? #f)
@@ -306,11 +312,15 @@ box."
disks))
;; The "Partition table" dialog pops up only if there's not already a
- ;; partition table.
+ ;; partition table and if the system does not support UEFI.
((list-selection (title "Partition table")
(multiple-choices? #f)
(items _))
+ ;; When UEFI is supported, the partition is forced to GPT by the
+ ;; installer.
+ (not uefi-support?)
"gpt")
+
((list-selection (title "Partition scheme")
(multiple-choices? #f)
(items (,one-partition _ ...)))
@@ -338,10 +348,10 @@ box."
;; UUIDs before it generates the configuration file.
(values))))
-(define (conclude-installation port)
- "Conclude the installation by checking over PORT that we get the generated
+(define (start-installation port)
+ "Start the installation by checking over PORT that we get the generated
configuration file, accepting it and starting the installation, and then
-receiving the final messages once the 'guix system init' process has
+receiving the pause message once the 'guix system init' process has
completed."
;; Assume the previous message received was 'starting-final-step'; here we
;; send the reply to that message, which lets the installer continue.
@@ -355,8 +365,19 @@ completed."
(file ,configuration-file))
(edit-configuration-file configuration-file))
((pause) ;"Press Enter to continue."
- #t)
- ((installation-complete) ;congratulations!
+ (values))))
+
+(define (complete-installation port)
+ "Complete the installation by replying to the installer pause message and
+waiting for the installation-complete message."
+ ;; Assume the previous message received was 'pause'; here we send the reply
+ ;; to that message, which lets the installer continue.
+ (write #t port)
+ (newline port)
+ (force-output port)
+
+ (converse port
+ ((installation-complete)
(values))))
;;; Local Variables:
diff --git a/gnu/local.mk b/gnu/local.mk
index 50b11a8ca2..f7b14ee333 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -420,6 +420,7 @@ GNU_SYSTEM_MODULES = \
%D%/packages/openldap.scm \
%D%/packages/openpgp.scm \
%D%/packages/openstack.scm \
+ %D%/packages/orange.scm \
%D%/packages/orpheus.scm \
%D%/packages/ots.scm \
%D%/packages/package-management.scm \
@@ -901,6 +902,7 @@ dist_patch_DATA = \
%D%/packages/patches/clang-9.0-libc-search-path.patch \
%D%/packages/patches/clang-10.0-libc-search-path.patch \
%D%/packages/patches/clang-11.0-libc-search-path.patch \
+ %D%/packages/patches/clang-12-tools-extra-directory.patch \
%D%/packages/patches/clang-runtime-asan-build-fixes.patch \
%D%/packages/patches/clang-runtime-esan-build-fixes.patch \
%D%/packages/patches/clang-runtime-9-libsanitizer-mode-field.patch \
@@ -1084,7 +1086,6 @@ dist_patch_DATA = \
%D%/packages/patches/ghostscript-no-header-id.patch \
%D%/packages/patches/ghostscript-no-header-uuid.patch \
%D%/packages/patches/ghostscript-no-header-creationdate.patch \
- %D%/packages/patches/gimp-make-gegl-introspect-optional.patch \
%D%/packages/patches/glib-appinfo-watch.patch \
%D%/packages/patches/glib-tests-timer.patch \
%D%/packages/patches/glib-CVE-2021-27218.patch \
@@ -1169,7 +1170,13 @@ dist_patch_DATA = \
%D%/packages/patches/grub-setup-root.patch \
%D%/packages/patches/grub-verifiers-Blocklist-fallout-cleanup.patch \
%D%/packages/patches/gspell-dash-test.patch \
+ %D%/packages/patches/gst-libav-64channels-stack-corruption.patch \
+ %D%/packages/patches/gst-plugins-bad-fix-overflow.patch \
+ %D%/packages/patches/gst-plugins-base-fix-id3v2-invalid-read.patch \
%D%/packages/patches/gst-plugins-good-fix-test.patch \
+ %D%/packages/patches/gst-plugins-good-CVE-2021-3497.patch \
+ %D%/packages/patches/gst-plugins-good-CVE-2021-3498.patch \
+ %D%/packages/patches/gst-plugins-ugly-fix-out-of-bound-reads.patch \
%D%/packages/patches/guile-1.8-cpp-4.5.patch \
%D%/packages/patches/guile-2.2-skip-oom-test.patch \
%D%/packages/patches/guile-2.2-skip-so-test.patch \
@@ -1368,6 +1375,7 @@ dist_patch_DATA = \
%D%/packages/patches/linkchecker-tests-require-network.patch \
%D%/packages/patches/linphone-desktop-without-sdk.patch \
%D%/packages/patches/linux-libre-support-for-Pinebook-Pro.patch \
+ %D%/packages/patches/linux-libre-arm64-generic-pinebook-lcd.patch \
%D%/packages/patches/linux-pam-no-setfsuid.patch \
%D%/packages/patches/lirc-localstatedir.patch \
%D%/packages/patches/lirc-reproducible-build.patch \
@@ -1735,8 +1743,6 @@ dist_patch_DATA = \
%D%/packages/patches/ucx-tcp-iface-ioctl.patch \
%D%/packages/patches/udiskie-no-appindicator.patch \
%D%/packages/patches/ungoogled-chromium-extension-search-path.patch \
- %D%/packages/patches/ungoogled-chromium-system-nspr.patch \
- %D%/packages/patches/ungoogled-chromium-system-opus.patch \
%D%/packages/patches/unison-fix-ocaml-4.08.patch \
%D%/packages/patches/unknown-horizons-python-3.8-distro.patch \
%D%/packages/patches/unzip-CVE-2014-8139.patch \
diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
index 512ac320e6..4274a49ef0 100644
--- a/gnu/packages/admin.scm
+++ b/gnu/packages/admin.scm
@@ -40,6 +40,7 @@
;;; Copyright © 2021 qblade <qblade@protonmail.com>
;;; Copyright © 2021 Hyunseok Kim <lasnesne@lagunposprasihopre.org>
;;; Copyright © 2021 David Larsson <david.larsson@selfhosted.xyz>
+;;; Copyright © 2021 WinterHound <winterhound@yandex.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -469,6 +470,34 @@ services.")
(license license:public-domain)
(home-page "https://cr.yp.to/daemontools.html")))
+(define-public daemonize
+ (package
+ (name "daemonize")
+ (version "1.7.8")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/bmc/daemonize")
+ (commit (string-append "release-" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0w4g0iyssyw7dd0061881z8s5czcl01mz6v00znax57zfxjqpvnm"))))
+ (build-system gnu-build-system)
+ (arguments '(#:tests? #f)) ; No tests available.
+ (home-page "http://software.clapper.org/daemonize/")
+ (synopsis "Command line utility to run a program as a daemon")
+ (description
+ "daemonize runs a command as a Unix daemon. It will close all open file
+descriptors, change working directory of the process to the root filesystem,
+reset its umask, run in the background, ignore I/O signals, handle
+@code{SIGCLD}, etc. Most programs that are designed to be run as daemons do
+that work for themselves. However, you’ll occasionally run across one that
+does not. When you must run a daemon program that does not properly make
+itself into a true Unix daemon, you can use daemonize to force it to run as a
+true daemon.")
+ (license license:bsd-3)))
+
(define-public dfc
(package
(name "dfc")
@@ -652,14 +681,13 @@ memory, disks, network and processes.")
(define-public bpytop
(package
(name "bpytop")
- (version "1.0.63")
+ (version "1.0.64")
(source
(origin
(method url-fetch)
(uri (pypi-uri "bpytop" version))
(sha256
- (base32
- "0ql72s842g56rnzdqja6m53lw5y68c4gb540ihp1bjg7x9ycim11"))))
+ (base32 "02m25i79fp5cpz0i1b2r5is7z2w7pz2x2yqvlnmvsyqlssaai3vm"))))
(build-system python-build-system)
(inputs
`(("python-psutil" ,python-psutil)))
@@ -679,7 +707,7 @@ memory, disks, network and processes.")
"https://github.com/aristocratos/bpytop")
(synopsis "Resource monitor")
(description "Resource monitor that shows usage and stats for processor,
-memory, disks, network and processes. It's a Python port of
+memory, disks, network and processes. It's a Python port and continuation of
@command{bashtop}.")
(license license:asl2.0)))
@@ -1107,7 +1135,7 @@ connection alive.")
(define-public isc-dhcp
(let* ((bind-major-version "9")
(bind-minor-version "11")
- (bind-patch-version "29")
+ (bind-patch-version "31")
(bind-release-type "") ; for patch release, use "-P"
(bind-release-version "") ; for patch release, e.g. "6"
(bind-version (string-append bind-major-version
@@ -1244,7 +1272,7 @@ connection alive.")
"/bind-" bind-version ".tar.gz"))
(sha256
(base32
- "01vvkvlhsxz4ffz2fw86z0fsf170b93jjnn5710ai6vfri8wgfy7"))))
+ "0sm3vy5g21isdywxr650442x9r00fpj9cxc81n3qcbibyibl9wpm"))))
("coreutils*" ,coreutils)
("sed*" ,sed)))
@@ -3566,14 +3594,14 @@ information tool.")
(define-public nnn
(package
(name "nnn")
- (version "3.6")
+ (version "4.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/jarun/nnn/releases/download/v"
version "/nnn-v" version ".tar.gz"))
(sha256
- (base32 "1dbq16cdipij5ws59ab3alfmxli7n4wx28ip7gsyq8ncxg598l47"))))
+ (base32 "0m07nh1cdfikn4bkpni29j61hr9jdwbl0n5fmlm53l1xmn7yq6d2"))))
(build-system gnu-build-system)
(inputs
`(("ncurses" ,ncurses)
@@ -3589,10 +3617,7 @@ information tool.")
(lambda _
(substitute* "Makefile"
(("pkg-config")
- (or (which "pkg-config")
- (string-append ,(%current-target-system)
- "-pkg-config"))))
- #t)))
+ ,(pkg-config-for-target))))))
#:make-flags
(list
(string-append "PREFIX="
@@ -3610,7 +3635,7 @@ make it a perfect utility on modern distros.")
(define-public thermald
(package
(name "thermald")
- (version "2.4.3")
+ (version "2.4.4")
(source
(origin
(method git-fetch)
@@ -3619,7 +3644,7 @@ make it a perfect utility on modern distros.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "1ibihgpmx038xci0k2h471scs5ssn7z5kcvjrfz63qf2ppdf9yh8"))))
+ (base32 "1k0r2c13fihjndwfh0byw0i8ni4lzsjgwz874pvpj1l1nvjj0ajx"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags
@@ -3808,7 +3833,7 @@ Python loading in HPC environments.")
(let ((real-name "inxi"))
(package
(name "inxi-minimal")
- (version "3.3.03-1")
+ (version "3.3.04-1")
(source
(origin
(method git-fetch)
@@ -3817,7 +3842,7 @@ Python loading in HPC environments.")
(commit version)))
(file-name (git-file-name real-name version))
(sha256
- (base32 "1pahns10i5farw47v9v8cykrk5arq8218vpsa8c0bmaia0rf2n1q"))))
+ (base32 "1rrhycp8i43yf9wi80n4pq2hkfhvb2rg1srz8if28bh6fhhasjzw"))))
(build-system trivial-build-system)
(inputs
`(("bash" ,bash-minimal)
@@ -4018,7 +4043,7 @@ cache of unix and unix-like systems.")
(define-public solaar
(package
(name "solaar")
- (version "1.0.5")
+ (version "1.0.6")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -4027,7 +4052,7 @@ cache of unix and unix-like systems.")
(file-name (git-file-name name version))
(sha256
(base32
- "17gkr2lf1kzp1198gcdr30j3c8xd81kg7ly12aar1jrgi6lc7klk"))))
+ "04zclzfc31l2fj5shcsngnmcvcmmhnc567l3wb9yfhs8k39k9kb2"))))
(build-system python-build-system)
(arguments
`(#:phases
diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm
index d92e963af4..68af1e244e 100644
--- a/gnu/packages/algebra.scm
+++ b/gnu/packages/algebra.scm
@@ -341,7 +341,7 @@ precision.")
(define-public giac
(package
(name "giac")
- (version "1.7.0-1")
+ (version "1.7.0-3")
(source
(origin
(method url-fetch)
@@ -353,7 +353,7 @@ precision.")
"~parisse/debian/dists/stable/main/source/"
"giac_" version ".tar.gz"))
(sha256
- (base32 "0s926aza2larfz02hrhdlpxn77yjlrhjg844b3fhwz11yj942p9q"))))
+ (base32 "1w3ij4pkkrq7lbsklkqa673fb7xjmap59hnmd2sinmr2nsfyq7qq"))))
(build-system gnu-build-system)
(arguments
`(#:modules ((ice-9 ftw)
diff --git a/gnu/packages/astronomy.scm b/gnu/packages/astronomy.scm
index 4660e141a4..886296aded 100644
--- a/gnu/packages/astronomy.scm
+++ b/gnu/packages/astronomy.scm
@@ -887,13 +887,13 @@ JPL ephemerides use to predict raw (x,y,z) planetary positions.")
(define-public python-pyerfa
(package
(name "python-pyerfa")
- (version "1.7.2")
+ (version "1.7.3")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pyerfa" version))
(sha256
- (base32 "1s78mdyrxha2jcckfs0wg5ynkf0pwh1bw9mmh99vprinxh9n4xri"))
+ (base32 "1jqqrxvrgly4r0br5f6dsy8nab2xmhz915vp6md5f31ysr2sdwvc"))
(modules '((guix build utils)))
(snippet
'(begin
@@ -1011,23 +1011,23 @@ astronomical images, especially when there is no WCS information available.")
(define-public python-skyfield
(package
(name "python-skyfield")
- (version "1.38")
+ (version "1.39")
(source
(origin
(method url-fetch)
(uri (pypi-uri "skyfield" version))
(sha256
- (base32 "1qi1l8qn6irdv6w41qq30s2yjwak7h6ayywr1pry9gwcm2c25bv5"))))
+ (base32 "1qh3k7g9dm6idppk87hnwxpx9a22xx98vav0zk31p6291drak3as"))))
(build-system python-build-system)
(arguments
;; NOTE: (Sharlatan-20210207T163305+0000): tests depend on custom test
;; framework https://github.com/brandon-rhodes/assay
`(#:tests? #f))
(inputs
- `(("certifi" ,python-certifi)
- ("jplephem" ,python-jplephem)
- ("numpy" ,python-numpy)
- ("sgp4" ,python-sgp4)))
+ `(("python-certifi" ,python-certifi)
+ ("python-jplephem" ,python-jplephem)
+ ("python-numpy" ,python-numpy)
+ ("python-sgp4" ,python-sgp4)))
(home-page "https://rhodesmill.org/skyfield/")
(synopsis "Astronomy for Python")
(description
diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index c9a9ebf32d..a866492558 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -302,7 +302,7 @@ Linux kernel.")
(define-public libopenmpt
(package
(name "libopenmpt")
- (version "0.5.4")
+ (version "0.5.8")
(source
(origin
(method url-fetch)
@@ -310,7 +310,7 @@ Linux kernel.")
(string-append "https://download.openmpt.org/archive/libopenmpt/src/"
"libopenmpt-" version "+release.autotools.tar.gz"))
(sha256
- (base32 "0h7gpjx1221jwsq3k91p8zhf1h77qaxyasakc88s3g57vawhckgk"))))
+ (base32 "1kca5nc870mfv7i4ww2g1q9jn61gsq46irsypbr6fgxpfh8w5qi9"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags
@@ -407,7 +407,7 @@ by MusicIP.")
(define-public libtimidity
(package
(name "libtimidity")
- (version "0.2.6")
+ (version "0.2.7")
(source
(origin
(method url-fetch)
@@ -415,7 +415,7 @@ by MusicIP.")
(string-append "https://sourceforge.net/projects/" name "/files/"
name "/" version "/" name "-" version ".tar.gz"))
(sha256
- (base32 "0p2px0m907gi1zpdr0l9adq25jl89j85c11ag9s2g4yc6n1nhgfm"))))
+ (base32 "0sif6lxa058b1mg19zwjm8rl2sg8cg0443k4dgi65clz0jy7qi16"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f)) ; XXX: LibTiMidity could not be initialised
diff --git a/gnu/packages/backup.scm b/gnu/packages/backup.scm
index c8382536b0..a21e93cd23 100644
--- a/gnu/packages/backup.scm
+++ b/gnu/packages/backup.scm
@@ -2,7 +2,7 @@
;;; Copyright © 2014, 2015, 2020 Eric Bavier <bavier@posteo.net>
;;; Copyright © 2014 Ian Denhardt <ian@zenhack.net>
;;; Copyright © 2015, 2016, 2017 Leo Famulari <leo@famulari.name>
-;;; Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2017–2021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
;;; Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2017 Kei Kebreau <kkebreau@posteo.net>
@@ -719,14 +719,14 @@ to not fully trusted targets. Borg is a fork of Attic.")
(define-public wimlib
(package
(name "wimlib")
- (version "1.13.3")
+ (version "1.13.4")
(source (origin
(method url-fetch)
(uri (string-append "https://wimlib.net/downloads/"
"wimlib-" version ".tar.gz"))
(sha256
(base32
- "0zpsbl9iicc6y81xfl6kf8farwfsyrl63shc0idp654kgp8421wa"))))
+ "04ny5s5z05gk6davbwkjkraan781k2xzw6kjwp75h6ncv45dv1sb"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
@@ -736,7 +736,9 @@ to not fully trusted targets. Borg is a fork of Attic.")
("ntfs-3g" ,ntfs-3g)
("openssl" ,openssl)))
(arguments
- `(#:configure-flags (list "--enable-test-support")))
+ `(#:configure-flags
+ (list "--disable-static"
+ "--enable-test-support")))
(home-page "https://wimlib.net/")
(synopsis "WIM file manipulation library and utilities")
(description "wimlib is a C library and set of command-line utilities for
diff --git a/gnu/packages/bioconductor.scm b/gnu/packages/bioconductor.scm
index 171736064c..c1454f25e8 100644
--- a/gnu/packages/bioconductor.scm
+++ b/gnu/packages/bioconductor.scm
@@ -7767,7 +7767,7 @@ accessibility data.")
(description
"@code{r-circrnaprofiler} is a computational framework for a comprehensive
in silico analysis of @dfn{circular RNA} (circRNAs). This computational
-framework allows to combine and analyze circRNAs previously detected by
+framework allows combining and analyzing circRNAs previously detected by
multiple publicly available annotation-based circRNA detection tools. It
covers different aspects of circRNAs analysis from differential expression
analysis, evolutionary conservation, biogenesis to functional analysis.")
@@ -10550,7 +10550,7 @@ experiments, and visualize de influence of the involved factors.")
"https://bioconductor.org/packages/msmsTests")
(synopsis "Differential LC-MS/MS expression tests")
(description
- "This packages provides statistical tests for label-free LC-MS/MS data
+ "This package provides statistical tests for label-free LC-MS/MS data
by spectral counts, to discover differentially expressed proteins between two
biological conditions. Three tests are available: Poisson GLM regression,
quasi-likelihood GLM regression, and the negative binomial of the edgeR
diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index 31205c473a..83ebfc2d8f 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -130,6 +130,7 @@
#:use-module (gnu packages qt)
#:use-module (gnu packages rdf)
#:use-module (gnu packages readline)
+ #:use-module (gnu packages rsync)
#:use-module (gnu packages ruby)
#:use-module (gnu packages serialization)
#:use-module (gnu packages shells)
@@ -144,6 +145,7 @@
#:use-module (gnu packages tls)
#:use-module (gnu packages vim)
#:use-module (gnu packages web)
+ #:use-module (gnu packages wget)
#:use-module (gnu packages xml)
#:use-module (gnu packages xorg)
#:use-module (srfi srfi-1)
@@ -327,7 +329,7 @@ BAM files.")
(define-public bcftools
(package
(name "bcftools")
- (version "1.11")
+ (version "1.12")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/samtools/bcftools/"
@@ -335,11 +337,11 @@ BAM files.")
version "/bcftools-" version ".tar.bz2"))
(sha256
(base32
- "0r508mp15pqzf8r1269kb4v5naw9zsvbwd3cz8s1yj7carsf9viw"))
+ "1x94l1hy2pi3lbz0sxlbw0g6q5z5apcrhrlcwda94ns9n4r6a3ks"))
(modules '((guix build utils)))
(snippet '(begin
;; Delete bundled htslib.
- (delete-file-recursively "htslib-1.11")
+ (delete-file-recursively "htslib-1.12")
#t))))
(build-system gnu-build-system)
(arguments
@@ -453,7 +455,7 @@ computational cluster.")
(define-public bedtools
(package
(name "bedtools")
- (version "2.29.2")
+ (version "2.30.0")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/arq5x/bedtools2/releases/"
@@ -461,7 +463,7 @@ computational cluster.")
"bedtools-" version ".tar.gz"))
(sha256
(base32
- "0m3hk6548846w83a9s5drsczvy67n2azx41kj71n03klb2gbzwg3"))))
+ "1f2hh79l7dn147c2xyfgf5wfjvlqfw32kjfnnh2n1qy6rpzx2fik"))))
(build-system gnu-build-system)
(arguments
'(#:test-target "test"
@@ -473,7 +475,7 @@ computational cluster.")
(native-inputs
`(("python" ,python-wrapper)))
(inputs
- `(("samtools" ,samtools-1.9)
+ `(("samtools" ,samtools)
("zlib" ,zlib)))
(home-page "https://github.com/arq5x/bedtools2")
(synopsis "Tools for genome analysis and arithmetic")
@@ -4476,7 +4478,7 @@ performance.")
(define-public htslib
(package
(name "htslib")
- (version "1.11")
+ (version "1.12")
(source (origin
(method url-fetch)
(uri (string-append
@@ -4484,7 +4486,7 @@ performance.")
version "/htslib-" version ".tar.bz2"))
(sha256
(base32
- "1mrq4mihzx37yqhj3sfz6da6mw49niia808bzsw2gkkgmadxvyng"))))
+ "1jplnvizgr0fyyvvmkfmnsywrrpqhid3760vw15bllz98qdi9012"))))
(build-system gnu-build-system)
;; Let htslib translate "gs://" and "s3://" to regular https links with
;; "--enable-gcs" and "--enable-s3". For these options to work, we also
@@ -5901,7 +5903,7 @@ to the user's query of interest.")
(define-public samtools
(package
(name "samtools")
- (version "1.11")
+ (version "1.12")
(source
(origin
(method url-fetch)
@@ -5910,11 +5912,11 @@ to the user's query of interest.")
version "/samtools-" version ".tar.bz2"))
(sha256
(base32
- "1dp5wknak4arnw5ghhif9mmljlfnw5bgm91wib7z0j8wdjywx0z2"))
+ "1jrdj2idpma5ja9cg0rr73b565vdbr9wyy6zig54bidicc2pg8vd"))
(modules '((guix build utils)))
(snippet '(begin
;; Delete bundled htslib.
- (delete-file-recursively "htslib-1.11")
+ (delete-file-recursively "htslib-1.12")
#t))))
(build-system gnu-build-system)
(arguments
@@ -7249,6 +7251,43 @@ clustering analysis, differential analysis, motif inference and exploration of
single cell ATAC-seq sequencing data.")
(license license:gpl3)))
+(define-public r-shinycell
+ (let ((commit
+ "aecbd56e66802f28e397f5ae1f19403aadd12163")
+ (revision "1"))
+ (package
+ (name "r-shinycell")
+ (version (git-version "2.0.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/SGDDNB/ShinyCell")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "13jn2ikmvljnzayk485g1mmq5abcp9m1b8n1djdb1agmn83zaki5"))))
+ (properties `((upstream-name . "ShinyCell")))
+ (build-system r-build-system)
+ (propagated-inputs
+ `(("r-data-table" ,r-data-table)
+ ("r-ggplot2" ,r-ggplot2)
+ ("r-glue" ,r-glue)
+ ("r-gridextra" ,r-gridextra)
+ ("r-hdf5r" ,r-hdf5r)
+ ("r-matrix" ,r-matrix)
+ ("r-r-utils" ,r-r-utils)
+ ("r-rcolorbrewer" ,r-rcolorbrewer)
+ ("r-readr" ,r-readr)
+ ("r-reticulate" ,r-reticulate)))
+ (home-page "https://github.com/SGDDNB/ShinyCell")
+ (synopsis "Shiny interactive web apps for single-cell data")
+ (description
+ "This package provides Shiny apps for interactive exploration of
+single-cell data.")
+ (license license:gpl3))))
+
(define-public r-archr
(let ((commit "46b519ffb6f73edf132497ac31650d19ef055dc1")
(revision "1"))
@@ -7563,6 +7602,64 @@ Perl and can be helpful if you want to filter, reformat, or trim your sequence
data. It also generates basic statistics for your sequences.")
(license license:gpl3+)))
+(define-public shorah
+ (package
+ (name "shorah")
+ (version "1.99.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/cbg-ethz/shorah"
+ "/releases/download/v" version
+ "/shorah-" version ".tar.xz"))
+ (sha256
+ (base32
+ "158dir9qcqspknlnyfr9zwk41x48nrh5wcg10k2grh9cidp9daiq"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'fix-test-wrapper
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((bin (string-append (assoc-ref outputs "out") "/bin")))
+ (substitute* "examples/run_end2end_test"
+ (("\\$\\{interpreter\\} ../\\$\\{testscript\\}")
+ (string-append bin "/${testscript}"))))))
+ (delete 'check)
+ (add-after 'install 'wrap-programs
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (site (string-append
+ out "/lib/python"
+ ,(version-major+minor
+ (package-version python))
+ "/site-packages"))
+ (pythonpath (getenv "PYTHONPATH"))
+ (script (string-append out "/bin/shorah")))
+ (chmod script #o555)
+ (wrap-program script `("PYTHONPATH" ":" prefix (,site ,pythonpath))))))
+ (add-after 'wrap-programs 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke "make" "check")))))))
+ (inputs
+ `(("boost" ,boost)
+ ("htslib" ,htslib)
+ ("python" ,python)
+ ("python-biopython" ,python-biopython)
+ ("python-numpy" ,python-numpy)
+ ("zlib" ,zlib)))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (home-page "")
+ (synopsis "Short reads assembly into haplotypes")
+ (description
+ "ShoRAH is a project for the analysis of next generation sequencing data.
+It is designed to analyse genetically heterogeneous samples. Its tools
+provide error correction, haplotype reconstruction and estimation of the
+frequency of the different genetic variants present in a mixed sample.")
+ (license license:gpl3+)))
+
(define-public ruby-bio-kseq
(package
(name "ruby-bio-kseq")
@@ -11853,7 +11950,7 @@ in an easily configurable manner.")
(define-public pigx-bsseq
(package
(name "pigx-bsseq")
- (version "0.1.2")
+ (version "0.1.3")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/BIMSBbioinfo/pigx_bsseq/"
@@ -11861,7 +11958,7 @@ in an easily configurable manner.")
"/pigx_bsseq-" version ".tar.gz"))
(sha256
(base32
- "0mpzlay2d5cjpmrcp7knff6rg1c2mqszd638n7lw0mc0cycbp9f8"))))
+ "0blm0bl5z3ng01n7hh2ffk4rkzvf7vb3nm0crgdzrxr5cahxdxql"))))
(build-system gnu-build-system)
(arguments
`(;; TODO: tests currently require 12+GB of RAM. See
@@ -11887,8 +11984,11 @@ in an easily configurable manner.")
("r-annotationhub" ,r-annotationhub)
("r-dt" ,r-dt)
("r-genomation" ,r-genomation)
+ ("r-ggbio" ,r-ggbio)
("r-ggrepel" ,r-ggrepel)
+ ("r-matrixstats" ,r-matrixstats)
("r-methylkit" ,r-methylkit)
+ ("r-reshape2" ,r-reshape2)
("r-rtracklayer" ,r-rtracklayer)
("r-rmarkdown" ,r-rmarkdown)
("r-bookdown" ,r-bookdown)
@@ -12490,7 +12590,7 @@ in RNA-seq data.")
("python-igraph" ,python-igraph)
("python-joblib" ,python-joblib)
("python-legacy-api-wrap" ,python-legacy-api-wrap)
- ("python-louvain" ,python-louvain)
+ ("python-louvain" ,python-louvain-0.6)
("python-matplotlib" ,python-matplotlib)
("python-natsort" ,python-natsort)
("python-networkx" ,python-networkx)
@@ -15061,6 +15161,154 @@ signaling, and more. It continues to be evolved and expanded by an
international community.")
(license license:lgpl2.1+)))
+(define-public kraken2
+ (package
+ (name "kraken2")
+ (version "2.1.1")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/DerrickWood/kraken2")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0h7a7vygd7y5isbrnc6srwq6xj1rmyd33pm8mmcgfkmlxlg5vkg3"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #false ; there are none
+ #:make-flags (list "-C" "src"
+ (string-append "KRAKEN2_DIR="
+ (assoc-ref %outputs "out") "/bin"))
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure)
+ (add-before 'install 'install-scripts
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((bin (string-append (assoc-ref outputs "out") "/bin"))
+ (replacements `(("KRAKEN2_DIR" . ,bin)
+ ("VERSION" . ,,version))))
+ (mkdir-p bin)
+
+ (with-directory-excursion "scripts"
+ (let ((scripts (find-files "." ".*")))
+ (substitute* scripts
+ (("#####=([^=]+)=#####" _ key)
+ (or (assoc-ref replacements key)
+ (error (format #false "unknown key: ~a~%" key)))))
+ (substitute* "kraken2"
+ (("compression_program = \"bzip2\"")
+ (string-append "compression_program = \""
+ (which "bzip2")
+ "\""))
+ (("compression_program = \"gzip\"")
+ (string-append "compression_program = \""
+ (which "gzip")
+ "\"")))
+ (substitute* '("download_genomic_library.sh"
+ "download_taxonomy.sh"
+ "16S_gg_installation.sh"
+ "16S_silva_installation.sh"
+ "16S_rdp_installation.sh")
+ (("wget") (which "wget")))
+ (substitute* '("download_taxonomy.sh"
+ "download_genomic_library.sh"
+ "rsync_from_ncbi.pl")
+ (("rsync -")
+ (string-append (which "rsync") " -")))
+ (substitute* "mask_low_complexity.sh"
+ (("which") (which "which")))
+ (substitute* '("mask_low_complexity.sh"
+ "download_genomic_library.sh"
+ "16S_silva_installation.sh")
+ (("sed -e ")
+ (string-append (which "sed") " -e ")))
+ (substitute* '("rsync_from_ncbi.pl"
+ "16S_rdp_installation.sh"
+ "16S_silva_installation.sh"
+ "16S_gg_installation.sh"
+ "download_taxonomy.sh"
+ "download_genomic_library.sh")
+ (("gunzip") (which "gunzip")))
+ (for-each (lambda (script)
+ (chmod script #o555)
+ (install-file script bin))
+ scripts)))))))))
+ (inputs
+ `(("gzip" ,gzip)
+ ("perl" ,perl)
+ ("rsync" ,rsync)
+ ("sed" ,sed)
+ ("wget" ,wget)
+ ("which" ,which)))
+ (home-page "https://github.com/DerrickWood/kraken2")
+ (synopsis "Taxonomic sequence classification system")
+ (description "Kraken is a taxonomic sequence classifier that assigns
+taxonomic labels to DNA sequences. Kraken examines the k-mers within a query
+sequence and uses the information within those k-mers to query a
+database. That database maps k-mers to the lowest common ancestor (LCA) of all
+genomes known to contain a given k-mer.")
+ (license license:expat)))
+
+(define-public lofreq
+ (package
+ (name "lofreq")
+ (version "2.1.5")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/CSB5/lofreq")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0qssrn3mgjak7df6iqc1rljqd3g3a5syvg0lsv4vds43s3fq23bl"))))
+ (build-system gnu-build-system)
+ (arguments
+ '(#:test-target "bug-tests"
+ #:tests? #false)) ; test data are not included
+ (inputs
+ `(("htslib" ,htslib)
+ ("python" ,python-wrapper)
+ ("zlib" ,zlib)))
+ (native-inputs
+ `(("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("which" ,which)))
+ (home-page "https://csb5.github.io/lofreq/")
+ (synopsis "Sensitive variant calling from sequencing data ")
+ (description "LoFreq is a fast and sensitive variant-caller for inferring
+SNVs and indels from next-generation sequencing data. It makes full use of
+base-call qualities and other sources of errors inherent in
+sequencing (e.g. mapping or base/indel alignment uncertainty), which are
+usually ignored by other methods or only used for filtering.")
+ (license license:expat)))
+
+(define-public python-pyliftover
+ (package
+ (name "python-pyliftover")
+ (version "0.4")
+ ;; The version of pypi does not include test data.
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/konstantint/pyliftover")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1j8jp9iynv2l3jv5pr0pn0p3azlama1bqg233piglzm6bqh3m2m3"))))
+ (build-system python-build-system)
+ (arguments `(#:tests? #false)) ; the tests access the web
+ (native-inputs
+ `(("python-pytest" ,python-pytest)))
+ (home-page "https://github.com/konstantint/pyliftover")
+ (synopsis "Python implementation of UCSC liftOver genome coordinate conversion")
+ (description
+ "PyLiftover is a library for quick and easy conversion of genomic (point)
+coordinates between different assemblies.")
+ (license license:expat)))
+
(define-public r-signac
(let ((commit "e0512d348adeda4a3f23a2e8f56d1fe09840e03c")
(revision "1"))
diff --git a/gnu/packages/bootloaders.scm b/gnu/packages/bootloaders.scm
index 6093e0d9e6..827da0e3bb 100644
--- a/gnu/packages/bootloaders.scm
+++ b/gnu/packages/bootloaders.scm
@@ -1207,8 +1207,8 @@ order to add a suitable bootloader menu entry.")
(description "iPXE is a network boot firmware. It provides a full PXE
implementation enhanced with additional features such as booting from: a web
server via HTTP, an iSCSI SAN, a Fibre Channel SAN via FCoE, an AoE SAN, a
-wireless network, a wide-area network, an Infiniband network. It allows to
-control the boot process with a script. You can use iPXE to replace the
+wireless network, a wide-area network, an Infiniband network. It
+controls the boot process with a script. You can use iPXE to replace the
existing PXE ROM on your network card, or you can chainload into iPXE to obtain
the features of iPXE without the hassle of reflashing.")
(license license:gpl2+))))
diff --git a/gnu/packages/browser-extensions.scm b/gnu/packages/browser-extensions.scm
index 5b84770d08..ae17421c76 100644
--- a/gnu/packages/browser-extensions.scm
+++ b/gnu/packages/browser-extensions.scm
@@ -49,7 +49,7 @@ supported content to the Kodi media center.")
(make-chromium-extension play-to-kodi))
(define uassets
- (let ((commit "61b43044fbe7be0cf4e9c636fe96236dc52e44cf"))
+ (let ((commit "edfb13aaeaa9c8f943834f0465e7afac4b56aa98"))
(origin
(method git-fetch)
(uri (git-reference
@@ -58,12 +58,12 @@ supported content to the Kodi media center.")
(file-name (git-file-name "uAssets" (string-take commit 9)))
(sha256
(base32
- "03ikia0prmzsc34qa3418dc49ss8ari9hj6g3s6nvxrgyd127idi")))))
+ "0ivddccfblka5bzc9hxjl7ygv7g1pgy28w1cb43kipach8vh1alf")))))
(define ublock-origin
(package
(name "ublock-origin")
- (version "1.33.2")
+ (version "1.35.0")
(home-page "https://github.com/gorhill/uBlock")
(source (origin
(method git-fetch)
@@ -71,7 +71,7 @@ supported content to the Kodi media center.")
(file-name (git-file-name name version))
(sha256
(base32
- "1pdf3fzc7ld65gr87s1cdy2sb84jbqnyq9lvwg1mgzi9dg8x7639"))))
+ "07nlkrgwn1bcn5n2w7ik16ps12dckmjhn76qay6dz64f5754cgn3"))))
(build-system gnu-build-system)
(outputs '("xpi" "firefox" "chromium"))
(arguments
diff --git a/gnu/packages/cdrom.scm b/gnu/packages/cdrom.scm
index d93c673ac2..7ebe35e6a6 100644
--- a/gnu/packages/cdrom.scm
+++ b/gnu/packages/cdrom.scm
@@ -8,7 +8,7 @@
;;; Copyright © 2016 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2017 John Darrington <jmd@gnu.org>
;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
-;;; Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2017–2021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017 Nikita <nikita@n0.is>
;;; Copyright © 2018 Oleg Pykhalov <go.wigust@gmail.com>
;;; Copyright © 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
@@ -953,15 +953,15 @@ CD data, and more. It's mostly compatible with @code{cdrtools}.")
(define-public libmirage
(package
(name "libmirage")
- (version "3.2.4")
+ (version "3.2.5")
(source (origin
(method url-fetch)
(uri (string-append
"mirror://sourceforge/cdemu/libmirage/libmirage-"
- version ".tar.bz2"))
+ version ".tar.xz"))
(sha256
(base32
- "0md3f71x2dbgyw5s254vx1s80slh3f25r9pvjihkrmj0rn53nnzw"))))
+ "0f8i2ha44rykkk3ac2q8zsw3y1zckw6qnf6zvkyrj3qqbzhrf3fm"))))
(build-system cmake-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)
@@ -982,15 +982,15 @@ the data stored in various image formats.")
(define-public cdemu-daemon
(package
(name "cdemu-daemon")
- (version "3.2.4")
+ (version "3.2.5")
(source (origin
(method url-fetch)
(uri (string-append
"mirror://sourceforge/cdemu/cdemu-daemon/"
- "cdemu-daemon-" version ".tar.bz2"))
+ "cdemu-daemon-" version ".tar.xz"))
(sha256
(base32
- "02yyj8sr7d5briamhzrqh8zdsiiggxmx5y05kx25y7k3g15jvcx6"))))
+ "16g6fv1lxkdmbsy6zh5sj54dvgwvm900fd18aq609yg8jnqm644d"))))
(build-system cmake-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)
@@ -1011,15 +1011,15 @@ drive and disc (including CD-ROMs and DVD-ROMs).")
(define-public cdemu-client
(package
(name "cdemu-client")
- (version "3.2.4")
+ (version "3.2.5")
(source (origin
(method url-fetch)
(uri (string-append
"mirror://sourceforge/cdemu/cdemu-client/cdemu-client-"
- version ".tar.bz2"))
+ version ".tar.xz"))
(sha256
(base32
- "1swylaja1p1jfjf3s58c9hsk1cyy20i7mrq32kcg6kzp88grs8my"))))
+ "1prrdhv0ia0axc6b73crszqzh802wlkihz6d100yvg7wbgmqabd7"))))
(build-system cmake-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)
diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm
index 2ad4de55f8..6641a0de58 100644
--- a/gnu/packages/check.scm
+++ b/gnu/packages/check.scm
@@ -2915,3 +2915,26 @@ system. The code under test requires no modification to work with pyfakefs.")
(description "Aiounittest is a library that helps write tests using
asynchronous code in Python (asyncio).")
(license license:expat)))
+
+(define-public python-pytest-dependency
+ (package
+ (name "python-pytest-dependency")
+ (version "0.5.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "pytest-dependency" version))
+ (sha256
+ (base32
+ "0swl3mxca7nnjbb5grfzrm3fa2750h9vjsha0f2kyrljc6895a62"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-pytest" ,python-pytest)))
+ (home-page
+ "https://github.com/RKrahl/pytest-dependency")
+ (synopsis "Manage dependencies of tests")
+ (description "This pytest plugin manages dependencies of tests. It allows
+to mark some tests as dependent from other tests. These tests will then be
+skipped if any of the dependencies did fail or has been skipped.")
+ (license license:asl2.0)))
+
diff --git a/gnu/packages/chromium.scm b/gnu/packages/chromium.scm
index 835e9e2050..ea7b242788 100644
--- a/gnu/packages/chromium.scm
+++ b/gnu/packages/chromium.scm
@@ -150,9 +150,14 @@
"third_party/devtools-frontend/src/third_party/pyjson5" ;ASL2.0
"third_party/devtools-frontend/src/third_party/typescript" ;ASL2.0
"third_party/dom_distiller_js" ;BSD-3
+ "third_party/eigen3" ;MPL2.0
"third_party/emoji-segmenter" ;ASL2.0
+ "third_party/farmhash" ;Expat
+ "third_party/fdlibm" ;non-copyleft
+ "third_party/fft2d" ;non-copyleft
"third_party/flatbuffers" ;ASL2.0
"third_party/fusejs" ;ASL2.0
+ "third_party/gemmlowp" ;ASL2.0
"third_party/google_input_tools" ;ASL2.0
"third_party/google_input_tools/third_party/closure_library" ;ASL2.0
"third_party/google_input_tools/third_party/closure_library/third_party/closure" ;Expat
@@ -171,8 +176,10 @@
"third_party/libXNVCtrl" ;Expat
"third_party/libaddressinput" ;ASL2.0
"third_party/libaom" ;BSD-2 or "Alliance for Open Media Patent License 1.0"
+ "third_party/libaom/source/libaom/third_party/fastfeat" ;BSD-3
"third_party/libaom/source/libaom/third_party/vector" ;Expat
"third_party/libaom/source/libaom/third_party/x86inc" ;ISC
+ "third_party/libgav1" ;ASL2.0
"third_party/libgifcodec" ;MPL1.1/GPL2+/LGPL2.1+, BSD-3, BSD-2
"third_party/libjingle_xmpp" ;BSD-3
"third_party/libphonenumber" ;ASL2.0
@@ -190,6 +197,7 @@
"third_party/libwebm" ;BSD-3
"third_party/libxml/chromium" ;BSD-3
"third_party/libyuv" ;BSD-3
+ "third_party/libzip" ;BSD-3
"third_party/lottie" ;Expat
"third_party/lss" ;BSD-3
"third_party/mako" ;Expat
@@ -211,6 +219,7 @@
"third_party/pdfium/third_party/agg23" ;Expat
"third_party/pdfium/third_party/base" ;BSD-3
"third_party/pdfium/third_party/bigint" ;Public domain, BSD-3
+ "third_party/pdfium/third_party/libtiff" ;non-copyleft
"third_party/pdfium/third_party/skia_shared" ;BSD-3
"third_party/pdfium/third_party/freetype/include/pstables.h" ;FreeType
"third_party/perfetto" ;ASL2.0
@@ -228,6 +237,7 @@
;; ABI relies on libstdc++ internals. See build/linux/unbundle/re2.gn.
"third_party/re2" ;BSD-3
"third_party/rnnoise" ;BSD-3
+ "third_party/ruy" ;ASL2.0
"third_party/s2cellid" ;ASL2.0
"third_party/schema_org" ;CC-BY-SA3.0
"third_party/securemessage" ;ASL2.0
@@ -247,9 +257,15 @@
"third_party/swiftshader/third_party/subzero" ;NCSA
"third_party/swiftshader/third_party/SPIRV-Headers" ;X11-style
"third_party/tcmalloc/chromium" ;BSD-3
+ "third_party/tensorflow-text" ;ASL2.0
+ "third_party/tflite" ;ASL2.0
+ "third_party/tflite/src/third_party/eigen3" ;MPL2.0
+ "third_party/tflite/src/third_party/fft2d" ;ASL2.0
+ "third_party/tflite-support" ;ASL2.0
"third_party/ukey2" ;ASL2.0
"third_party/usb_ids" ;BSD-3
"third_party/usrsctp" ;BSD-2
+ "third_party/utf" ;Expat
"third_party/vulkan-deps" ;ASL2.0, BSD-3, Expat
"third_party/vulkan_memory_allocator" ;Expat
"third_party/wayland/protocol" ;Expat
@@ -269,6 +285,7 @@
"third_party/widevine/cdm/widevine_cdm_version.h" ;BSD-3
"third_party/widevine/cdm/widevine_cdm_common.h" ;BSD-3
"third_party/woff2" ;ASL2.0
+ "third_party/wuffs" ;ASL2.0
"third_party/xcbproto" ;X11
"third_party/xdg-utils" ;Expat
@@ -293,7 +310,7 @@
;; run the Blink performance tests, just remove everything to save ~70MiB.
'("third_party/blink/perf_tests"))
-(define (debian-patch name revision hash)
+(define* (debian-patch name hash #:optional (revision %debian-revision))
(origin
(method url-fetch)
(uri (string-append "https://salsa.debian.org/chromium-team/chromium/-/raw/"
@@ -303,37 +320,35 @@
(string-append "ungoogled-chromium-" category "-" name))))
(sha256 (base32 hash))))
-(define %ungoogled-revision "89.0.4389.114-1")
-(define %debian-revision "debian/84.0.4147.105-1")
+(define %chromium-version "90.0.4430.93")
+(define %debian-revision "debian/90.0.4430.85-1")
+(define %ungoogled-revision "90.0.4430.85-1-11-g3184907")
(define %debian-patches
- (list (debian-patch "system/zlib.patch" %debian-revision
- "09vqgs37w9ycc7par14wa7rnvmg9bm0z9pqg6fyl3iqvpghyjyr4")
- (debian-patch "system/openjpeg.patch" %debian-revision
- "0zd6v5njx1pc7i0y6mslxvpx5j4cq01mmyx55qcqx8qzkm0gm48j")))
+ (list (debian-patch "fixes/missing-includes.patch"
+ "1f0drxp1cy76g71rkkzxxbwixn03yn9b0q22vb0mb6h2qk6cw92q")
+ (debian-patch "fixes/nomerge.patch"
+ "0lybs2b5gk08j8cr6vjrs9d3drd7qfw013z2r0y00by8dnpm74i3")
+ (debian-patch "system/nspr.patch"
+ "1gdirn1k1i841l8zp8xgr95kl16b5nx827am9rcxj8sfkm8hgkn3")
+ (debian-patch "system/zlib.patch"
+ "0j313bd3q8qc065j60x97dckrfgbwl4qxc8jhz33iihvv4lwziwv")
+ (debian-patch "system/openjpeg.patch"
+ "048405xh84pys0kky81vlqhaxjyxvcql4py217z01qxiv991zxaj")))
(define %ungoogled-origin
(origin
(method git-fetch)
(uri (git-reference (url "https://github.com/Eloston/ungoogled-chromium")
(commit %ungoogled-revision)))
- (file-name (git-file-name "ungoogled-chromium"
- (if (= 40 (string-length %ungoogled-revision))
- (string-take %ungoogled-revision 7)
- %ungoogled-revision)))
+ (file-name (git-file-name "ungoogled-chromium" %ungoogled-revision))
(sha256
(base32
- "0cr2i51gxhgl55c8f9w0ra3m5q2dk03sf7p2qn4bqq1l1l72hw6s"))))
+ "18xfwgkw3xarxcgnzvyv70h4icyqh3k8lfx6fvhp7fsr6x20sai0"))))
(define %guix-patches
(list (local-file
(assume-valid-file-name
- (search-patch "ungoogled-chromium-system-nspr.patch")))
- (local-file
- (assume-valid-file-name
- (search-patch "ungoogled-chromium-system-opus.patch")))
- (local-file
- (assume-valid-file-name
(search-patch "ungoogled-chromium-extension-search-path.patch")))))
;; This is a source 'snippet' that does the following:
@@ -415,7 +430,7 @@
(define libvpx/chromium
(package
(inherit libvpx)
- (version "1.9.0-104-gb5d77a48d")
+ (version "1.9.0-147-g61edec1ef")
(source (origin
(inherit (package-source libvpx))
(uri (git-reference
@@ -424,7 +439,7 @@
(file-name (git-file-name "libvpx" version))
(sha256
(base32
- "07nkpx8myw5nd4bkaj6l4wr5ipk2c6lg9cwirz0i5qbr659051rk"))))))
+ "0mw13y7j2lg8jj3alm9367c3b40b6s218fdz3nn1m2k85c78wzr7"))))))
;; 'make-ld-wrapper' can only work with an 'ld' executable, so we need
;; this trick to make it wrap 'lld'.
@@ -454,17 +469,19 @@
(define-public ungoogled-chromium
(package
(name "ungoogled-chromium")
- (version %ungoogled-revision)
+ (version (string-append %chromium-version "-0."
+ (match (string-split %ungoogled-revision #\-)
+ ((version revision commits g+short)
+ (string-drop g+short 1)))))
(synopsis "Graphical web browser")
(source (origin
(method url-fetch)
(uri (string-append "https://commondatastorage.googleapis.com"
"/chromium-browser-official/chromium-"
- (string-drop-right %ungoogled-revision 2)
- ".tar.xz"))
+ %chromium-version ".tar.xz"))
(sha256
(base32
- "007df9p78bbmk3iyfi8qn57mmn68qqrdhx6z8n2hl8ksd7lspw7j"))
+ "0zimr975vp0v12zz1nqjwag3f0q147wrmdhpzgi4yf089rgwfbjk"))
(modules '((guix build utils)))
(snippet (force ungoogled-chromium-snippet))))
(build-system gnu-build-system)
@@ -506,6 +523,9 @@
"enable_widevine=false"
;; Disable type-checking for the Web UI to avoid a Java dependency.
"enable_js_type_check=false"
+ ;; Disable code using TensorFlow until it has been scrutinized
+ ;; by the ungoogled project.
+ "build_with_tflite_lib=false"
;; Define a custom toolchain that simply looks up CC, AR and
;; friends from the environment.
@@ -565,7 +585,13 @@
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch-stuff
- (lambda _
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let ((openjpeg (assoc-ref inputs "openjpeg")))
+ (substitute* "third_party/pdfium/BUILD.gn"
+ ;; This include path is added by Debians openjpeg patch.
+ (("/usr/include/openjpeg")
+ (string-append openjpeg "/include/openjpeg"))))
+
(substitute*
'("base/process/launch_posix.cc"
"base/third_party/dynamic_annotations/dynamic_annotations.c"
@@ -735,6 +761,7 @@
"chrome_200_percent.pak"
"resources.pak"
"v8_context_snapshot.bin"
+
;; Chromium ships its own libGL
;; implementation called ANGLE.
"libEGL.so" "libGLESv2.so"))
diff --git a/gnu/packages/ci.scm b/gnu/packages/ci.scm
index 8d93513332..2ece3e0aa4 100644
--- a/gnu/packages/ci.scm
+++ b/gnu/packages/ci.scm
@@ -55,8 +55,8 @@
#:use-module (guix build-system gnu))
(define-public cuirass
- (let ((commit "922cc66089035d4dbc277df06366e41a0806bffb")
- (revision "11"))
+ (let ((commit "40b32387cf290a84660d34c42da0637bc93c2b00")
+ (revision "16"))
(package
(name "cuirass")
(version (git-version "1.0.0" revision commit))
@@ -69,7 +69,7 @@
(file-name (git-file-name name version))
(sha256
(base32
- "1kanag19dvaqpij7j6gznsfzajc5iir9qj6vq016bc4al5x6ggj4"))))
+ "0sxcms1lz3mn02a48gqrlapyg2p2jjrsc9pjvri2lkq0lyy02w7b"))))
(build-system gnu-build-system)
(arguments
`(#:modules ((guix build utils)
diff --git a/gnu/packages/cobol.scm b/gnu/packages/cobol.scm
index bc191e6b09..60af9f6a53 100644
--- a/gnu/packages/cobol.scm
+++ b/gnu/packages/cobol.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2017, 2018, 2021 Efraim Flashner <efraim@flashner.co.il>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -25,7 +25,9 @@
#:use-module (gnu packages dbm)
#:use-module (gnu packages multiprecision)
#:use-module (gnu packages ncurses)
- #:use-module (gnu packages perl))
+ #:use-module (gnu packages perl)
+ #:use-module (gnu packages web)
+ #:use-module (gnu packages xml))
(define-public gnucobol
(package
@@ -43,7 +45,10 @@
(arguments
'(#:configure-flags (list (string-append "LDFLAGS=-Wl,-rpath="
(assoc-ref %outputs "out")
- "/lib"))
+ "/lib")
+ (string-append "JSON_C_CFLAGS=-I"
+ (assoc-ref %build-inputs "json-c")
+ "/include/json-c"))
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'place-cobol85-test-suite
@@ -55,19 +60,21 @@
(lambda _ (setenv "TERM" "xterm-256color"))))
#:test-target "checkall"))
(native-inputs
- `(("perl" ,perl)))
- (inputs
- `(("bdb" ,bdb)
- ("gmp" ,gmp)
- ("ncurses" ,ncurses)
+ `(("perl" ,perl)
("newcob" ,(origin
(method url-fetch)
(uri "https://www.itl.nist.gov/div897/ctg/suites/newcob.val.Z")
(sha256
(base32
"1yb1plmv4firfnbb119r2vh1hay221w1ya34nyz0qwsxppfr56hy"))))))
+ (inputs
+ `(("bdb" ,bdb)
+ ("gmp" ,gmp)
+ ("json-c" ,json-c)
+ ("libxml2" ,libxml2)
+ ("ncurses" ,ncurses)))
(build-system gnu-build-system)
- (home-page "https://savannah.gnu.org/projects/gnucobol/")
+ (home-page "https://www.gnu.org/software/gnucobol/")
(synopsis "A modern COBOL compiler")
(description "GnuCOBOL is a free, modern COBOL compiler. GnuCOBOL
implements a substantial part of the COBOL 85, COBOL 2002 and COBOL 2014
diff --git a/gnu/packages/code.scm b/gnu/packages/code.scm
index a79d8b4a2b..25c8064993 100644
--- a/gnu/packages/code.scm
+++ b/gnu/packages/code.scm
@@ -15,6 +15,7 @@
;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2020 Marius Bakke <marius@gnu.org>
;;; Copyright © 2020 Julien Lepiller <julien@lepiller.eu>
+;;; Copyright © 2021 lu hui <luhuins@163.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -135,7 +136,8 @@ highlighting your own code that seemed comprehensible when you wrote it.")
(base32
"10vvsgx8v54whb4j9mk5qqyb5h3rdd9da0il3wir8pcpksyk0dww"))))
(build-system gnu-build-system)
- (inputs `(("ncurses" ,ncurses)
+ (inputs `(("coreutils" ,coreutils)
+ ("ncurses" ,ncurses)
("libltdl" ,libltdl)
("sqlite" ,sqlite)
("python-wrapper" ,python-wrapper)))
@@ -149,6 +151,12 @@ highlighting your own code that seemed comprehensible when you wrote it.")
#:phases
(modify-phases %standard-phases
+ (add-after 'unpack 'fix-globash
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let* ((echo (string-append
+ (assoc-ref inputs "coreutils") "/bin/echo")))
+ (substitute* "globash/globash.in"
+ (("/bin/echo") echo)))))
(add-after 'install 'post-install
(lambda* (#:key outputs #:allow-other-keys)
;; Install the plugin files in the right place.
diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm
index d4511ed914..e7bd6cf002 100644
--- a/gnu/packages/commencement.scm
+++ b/gnu/packages/commencement.scm
@@ -3936,6 +3936,9 @@ is the GNU Compiler Collection.")
(define-public gcc-toolchain-10
(make-gcc-toolchain gcc-10))
+(define-public gcc-toolchain-11
+ (make-gcc-toolchain gcc-11))
+
(define-public gcc-toolchain-aka-gcc
;; It's natural for users to try "guix install gcc". This package
;; automatically "redirects" them to 'gcc-toolchain'.
diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm
index 58345e7c33..3089094eb8 100644
--- a/gnu/packages/cpp.scm
+++ b/gnu/packages/cpp.scm
@@ -273,7 +273,7 @@ combination of these streams.")
(define-public xsimd
(package
(name "xsimd")
- (version "7.4.10")
+ (version "7.5.0")
(source
(origin
(method git-fetch)
@@ -281,7 +281,7 @@ combination of these streams.")
(url "https://github.com/QuantStack/xsimd")
(commit version)))
(sha256
- (base32 "097yvxrxdldi5s5m4nsxv8f4gwv9xj42mqig98a1z3hkjj1j2gn5"))
+ (base32 "0c9pq5vz43j99z83w3b9qylfi66mn749k1afpv5cwfxggbxvy63f"))
(file-name (git-file-name name version))))
(build-system cmake-build-system)
(arguments
@@ -775,7 +775,7 @@ standard GNU style syntax for options.")
(define-public folly
(package
(name "folly")
- (version "2021.01.25.00")
+ (version "2021.04.26.00")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -784,7 +784,7 @@ standard GNU style syntax for options.")
(file-name (git-file-name name version))
(sha256
(base32
- "14dl1g6vf7mc90mcync5h2lp14fwcx8n9h91pmiq6rfgv1fjjrwz"))))
+ "0s3jb02qjl9f4gfj01pa01cilkfpc4p0gbpn6bg5vcicyj76garg"))))
(build-system cmake-build-system)
(arguments
'(;; Tests must be explicitly enabled
diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm
index 6f931f06c2..35c35e6716 100644
--- a/gnu/packages/cran.scm
+++ b/gnu/packages/cran.scm
@@ -28260,6 +28260,80 @@ Xiaohui Yan, Jiafeng Guo, Yanyan Lan, Xueqi Cheng (2013)
BTM-WWW13.pdf}.")
(license license:asl2.0)))
+(define-public r-rjsonio
+ (package
+ (name "r-rjsonio")
+ (version "1.3-1.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (cran-uri "RJSONIO" version))
+ (sha256
+ (base32
+ "141ijm9570mg1180isvi0jb9vd3b08s5gb9dl1wa5v0m3s9jq52l"))))
+ (properties `((upstream-name . "RJSONIO")))
+ (build-system r-build-system)
+ (home-page "https://cran.r-project.org/package=RJSONIO")
+ (synopsis "Serialize R objects to JSON")
+ (description
+ "This is a package that allows conversion to and from data in JavaScript
+Object Notation (JSON) format. This allows R objects to be inserted into
+Javascript/ECMAScript/ActionScript code and allows R programmers to read and
+convert JSON content to R objects. This is an alternative to the @code{rjson}
+package.")
+ (license license:bsd-3)))
+
+(define-public r-revgeo
+ (package
+ (name "r-revgeo")
+ (version "0.15")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (cran-uri "revgeo" version))
+ (sha256
+ (base32
+ "1ns7d1817475lriss6wwgvdm6lj760p40yxqaifla13c2xb73a55"))))
+ (properties `((upstream-name . "revgeo")))
+ (build-system r-build-system)
+ (propagated-inputs
+ `(("r-rcurl" ,r-rcurl)
+ ("r-rjsonio" ,r-rjsonio)))
+ (home-page "https://cran.r-project.org/package=revgeo")
+ (synopsis "Reverse geocoding")
+ (description
+ "The @code{revgeo} procedure allows you to use the Photon geocoder for
+OpenStreetMap, Google Maps, and Bing to reverse geocode coordinate pairs with
+minimal hassle.")
+ (license license:gpl3+)))
+
+(define-public r-qpcr
+ (package
+ (name "r-qpcr")
+ (version "1.4-1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (cran-uri "qpcR" version))
+ (sha256
+ (base32
+ "1r01q7jv3w59yx1gc0qw91rq7rvdhqsi8y57sqqkmwyqfw2x2vsv"))))
+ (properties `((upstream-name . "qpcR")))
+ (build-system r-build-system)
+ (propagated-inputs
+ `(("r-mass" ,r-mass)
+ ("r-matrix" ,r-matrix)
+ ("r-minpack-lm" ,r-minpack-lm)
+ ("r-rgl" ,r-rgl)
+ ("r-robustbase" ,r-robustbase)))
+ (home-page "https://cran.r-project.org/package=qpcR")
+ (synopsis "Modelling and analysis of real-time PCR data")
+ (description
+ "This is a package for model fitting, optimal model selection and
+calculation of various features that are essential in the analysis of
+quantitative real-time polymerase chain reaction (qPCR).")
+ (license license:gpl2+)))
+
(define-public r-textplot
(package
(name "r-textplot")
diff --git a/gnu/packages/crates-graphics.scm b/gnu/packages/crates-graphics.scm
index cd1712dc13..e5719f97e4 100644
--- a/gnu/packages/crates-graphics.scm
+++ b/gnu/packages/crates-graphics.scm
@@ -2532,7 +2532,7 @@ properly display animated cursors.")
(synopsis "Bindings to libwayland-egl")
(description
"This crate provides bindings for OpenGL/Vulkan support for
-Wayland client apps. It allows to create an EGLSurface from any
+Wayland client apps. It creates an EGLSurface from any
WlSurface, which can then play the role of the base surface for
initializing an OpenGL or Vulkan context.")
(license license:expat)))
diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 9d9781683b..678fa6f93c 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -15831,7 +15831,7 @@ derived from an internal hasher used in FireFox and Rustc.")
(home-page "https://github.com/Stebalien/gag-rs")
(synopsis "Gag, redirect, or hold stdout/stderr output")
(description
- "This packages gags, redirects, or holds stdout/stderr output.")
+ "This package gags, redirects, or holds stdout/stderr output.")
(license license:expat)))
(define-public rust-galil-seiferas-0.1
@@ -20378,8 +20378,8 @@ byte slices for sets of ASCII characters or bytes.")
(home-page "https://github.com/jni-rs/jni-rs")
(synopsis "Rust bindings to the JNI")
(description
- "This package provides Rust bindings to the JNI. It permits to
-implement native Java methods for JVM and Android in Rust, call Java
+ "This package provides Rust bindings to the JNI. It
+implements native Java methods for JVM and Android in Rust, call Java
code from Rust, embed JVM in Rust applications and use any Java
libraries.")
(license (list license:expat license:asl2.0))))
@@ -27399,7 +27399,7 @@ deserialization, and interpreter in Rust.")
(("rust-easy-parallel" ,rust-easy-parallel-3))))
(home-page "https://github.com/stjepang/parking")
(synopsis "Thread parking and unparking")
- (description "This packages provides methods for thread parking and
+ (description "This package provides methods for thread parking and
unparking.")
(license (list license:asl2.0 license:expat))))
@@ -27707,7 +27707,7 @@ synchronization primitives.")
(home-page "")
(synopsis "Parse zoneinfo files from the IANA database")
(description
- "This packages parses zoneinfo files from the IANA database.")
+ "This package parses zoneinfo files from the IANA database.")
(license license:expat)))
(define-public rust-partial-io-0.3
@@ -32078,7 +32078,7 @@ Rust.")
(home-page "https://github.com/jonathandturner/rawkey")
(synopsis "Raw terminal key input")
(description
- "This packages provides support for raw key input in terminals.")
+ "This package provides support for raw key input in terminals.")
(license license:expat)))
(define-public rust-rayon-core-1
@@ -42640,7 +42640,7 @@ closures after a delay or at a given timestamp.")
(("rust-lazy-static" ,rust-lazy-static-0.2))))
(home-page "https://github.com/savage13/tint")
(synopsis "Color creation and manipulation")
- (description "This packages provides tools for color creation and
+ (description "This package provides tools for color creation and
manipulation in Rust.")
(license license:expat)))
diff --git a/gnu/packages/crypto.scm b/gnu/packages/crypto.scm
index 57d417de80..273f924962 100644
--- a/gnu/packages/crypto.scm
+++ b/gnu/packages/crypto.scm
@@ -7,7 +7,7 @@
;;; Copyright © 2016, 2017 Nikita <nikita@n0.is>
;;; Copyright © 2016, 2017, 2019, 2020 Eric Bavier <bavier@posteo.net>
;;; Copyright © 2017 Pierre Langlois <pierre.langlois@gmx.com>
-;;; Copyright © 2018, 2020 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2018, 2020, 2021 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2018 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2018, 2020 Nicolò Balzarotti <nicolo@nixo.xyz>
@@ -782,6 +782,7 @@ data on your platform, so the seed itself will be as random as possible.
(commit
(string-append "CRYPTOPP_"
(string-replace-substring version "." "_")))))
+ (file-name (git-file-name name version))
(sha256
(base32
"0in7rlazq91vfi519g9wr7bh87hii47cimxv7fmj0f88vhjaidq3"))))
diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm
index 5c00e4c7d1..f9e63f3722 100644
--- a/gnu/packages/databases.scm
+++ b/gnu/packages/databases.scm
@@ -28,7 +28,7 @@
;;; Copyright © 2017, 2018 Ben Woodcroft <donttrustben@gmail.com>
;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 2017, 2018 Pierre Langlois <pierre.langlois@gmx.com>
-;;; Copyright © 2015, 2017, 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2015, 2017, 2018, 2019, 2021 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2017 Kristofer Buffington <kristoferbuffington@gmail.com>
;;; Copyright © 2018 Amirouche Boubekki <amirouche@hypermove.net>
;;; Copyright © 2018 Joshua Sierles, Nextjournal <joshua@nextjournal.com>
@@ -49,6 +49,7 @@
;;; Copyright © 2021 Sharlatan Hellseher <sharlatanus@gmail.com>
;;; Copyright © 2021 Greg Hogan <code@greghogan.com>
;;; Copyright © 2021 David Larsson <david.larsson@selfhosted.xyz>
+;;; Copyright © 2021 Pjotr Prins <pjotr.guix@thebird.nl>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -2073,6 +2074,36 @@ Driver.")
;; COPYING contains copy of lgpl2.1 - but copyright notices just say "LGPL"
(home-page "http://www.unixodbc.org")))
+(define-public nanodbc
+ (package
+ (name "nanodbc")
+ (version "2.13.0")
+ (source (origin
+ (method git-fetch)
+ (uri
+ (git-reference
+ (url "https://github.com/nanodbc/nanodbc")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1q80p7yv9mcl4hyvnvcjdr70y8nc940ypf368lp97vpqn5yckkgm"))))
+ (build-system cmake-build-system)
+ (arguments
+ `(#:configure-flags
+ ;; The tests require ODBC backends to be installed.
+ (list "-DNANODBC_DISABLE_TESTS=ON"
+ "-DBUILD_SHARED_LIBS=ON")
+ #:tests? #false))
+ (inputs
+ `(("unixodbc" ,unixodbc)))
+ (home-page "https://nanodbc.io/")
+ (synopsis "C++ wrapper for the native C ODBC API")
+ (description "The goal for nanodbc is to make developers happy by providing
+a simpler and less verbose API for working with ODBC. Common tasks should be
+easy, requiring concise and simple code.")
+ (license license:expat)))
+
(define-public unqlite
(package
(name "unqlite")
@@ -2151,6 +2182,27 @@ sets, bitmaps and hyperloglogs.")
(home-page "https://redis.io/")
(license license:bsd-3)))
+(define-public ruby-redis
+ (package
+ (name "ruby-redis")
+ (version "4.2.5")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "redis" version))
+ (sha256
+ (base32
+ "15x2sr6h094rjbvg8pkq6m3lcd5abpyx93aifvfdz3wv6x55xa48"))))
+ (build-system ruby-build-system)
+ (arguments
+ `(#:tests? #f)) ; Tests require a running redis server.
+ (synopsis "Ruby client for Redis' API")
+ (description
+ "This package provides a Ruby client that tries to match Redis' API
+one-to-one, while still providing an idiomatic interface.")
+ (home-page "https://github.com/redis/redis-rb")
+ (license license:expat)))
+
(define-public kyotocabinet
(package
(name "kyotocabinet")
@@ -3836,14 +3888,14 @@ PostreSQL, SQLite, ODBC and MySQL.")
(define-public freetds
(package
(name "freetds")
- (version "1.2.19")
+ (version "1.2.20")
(source
(origin
(method url-fetch)
(uri (string-append "https://www.freetds.org/files/stable/"
"freetds-" version ".tar.gz"))
(sha256
- (base32 "11xf2w8gh2p9cq4i38jfvdiwgig8wqbg098xjc08kx4iii8lxy3m"))))
+ (base32 "11fzwcahc1bc8npxbif0448v9cwyf7k04167i7fcspmfw7a0hj0d"))))
(build-system gnu-build-system)
(arguments
;; NOTE: (Sharlatan-20210110213908+0000) some tests require DB connection,
diff --git a/gnu/packages/debian.scm b/gnu/packages/debian.scm
index 26b7f5194e..a23490f00b 100644
--- a/gnu/packages/debian.scm
+++ b/gnu/packages/debian.scm
@@ -126,7 +126,7 @@ contains the archive keys used for that.")
(define-public debootstrap
(package
(name "debootstrap")
- (version "1.0.123")
+ (version "1.0.124")
(source
(origin
(method git-fetch)
@@ -135,7 +135,7 @@ contains the archive keys used for that.")
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "0fr5ir8arzisx71jybbk4xz85waz50lf2y052nfimzh6vv9dx54c"))))
+ (base32 "0pbvrp7gb87pwmjika5hy97342mdfvm0gmy23ag8xz1nnpmn160j"))))
(build-system gnu-build-system)
(arguments
`(#:phases
diff --git a/gnu/packages/dictionaries.scm b/gnu/packages/dictionaries.scm
index 2c2a7f0118..c4c377580c 100644
--- a/gnu/packages/dictionaries.scm
+++ b/gnu/packages/dictionaries.scm
@@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org>
-;;; Copyright © 2016, 2017, 2018, 2020 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2016, 2017, 2018, 2020, 2021 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Sou Bunnbu <iyzsong@gmail.com>
;;; Copyright © 2017, 2018, 2019, 2021 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
@@ -113,14 +113,14 @@ acronyms distributed as an info document.")
(define-public gcide
(package
(name "gcide")
- (version "0.52")
+ (version "0.53")
(source (origin
(method url-fetch)
(uri (string-append
"mirror://gnu/gcide/gcide-" version ".tar.xz"))
(sha256
(base32
- "1n3bp91sik66z3ca7mjqbr9nck3hg5ck0c8g84xc0qnfpx5vznh2"))))
+ "17rigzfmih5i1z5s5v1hdr1jw8rngf40768kblnh5kp19ncbvb6k"))))
(build-system copy-build-system)
(arguments
'(#:install-plan
diff --git a/gnu/packages/disk.scm b/gnu/packages/disk.scm
index bf0897b083..652bb22f21 100644
--- a/gnu/packages/disk.scm
+++ b/gnu/packages/disk.scm
@@ -13,7 +13,7 @@
;;; Copyright © 2018 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2018 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 2018, 2019, 2020 Pierre Neidhardt <mail@ambrevar.xyz>
-;;; Copyright © 2019 Leo Famulari <leo@famulari.name>
+;;; Copyright © 2019, 2021 Leo Famulari <leo@famulari.name>
;;; Copyright © 2019 Pierre Langlois <pierre.langlois@gmx.com>
;;; Copyright © 2020 Pkill -9 <pkill9@runbox.com>
;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
@@ -494,14 +494,14 @@ and a @command{fsck.vfat} compatibility symlink for use in an initrd.")
(define-public sdparm
(package
(name "sdparm")
- (version "1.11")
+ (version "1.12")
(source
(origin
(method url-fetch)
(uri (string-append "http://sg.danny.cz/sg/p/"
"sdparm-" version ".tar.xz"))
(sha256
- (base32 "1nqjc4w2w47zavcbf5xmm53x1zbwgljaw1lpajcdi537cgy32fa8"))))
+ (base32 "1gmdxr36allrgap2j4dv238d8awkj327ww0jjwpjwrpbvfpyzjf4"))))
(build-system gnu-build-system)
(home-page "http://sg.danny.cz/sg/sdparm.html")
(synopsis "Provide access to SCSI device parameters")
@@ -1216,3 +1216,40 @@ that support this feature).")
built on top of jemalloc which enables control of memory characteristics
and a partitioning of the heap between kinds of memory (for NUMA).")
(license license:bsd-3)))
+
+(define-public mmc-utils
+ (let ((commit "e9654ebc4a6a48642848822c4a1355a9de4958d1")
+ (revision "0"))
+ (package
+ (name "mmc-utils")
+ (version (git-version "0.1" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc-utils.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1dbsppsmky0r4z6kxwczrw8pih8bhc2pb61gsvs986r4xy6jr17a"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f ; No test suite
+ #:make-flags (list (string-append "prefix=" (assoc-ref %outputs "out"))
+ (string-append "CC=" ,(cc-for-target)))
+ #:phases
+ (modify-phases %standard-phases
+ ;; No ./configure script
+ (delete 'configure)
+ ;; The Makefile's "install-man" target is a no-op.
+ (add-after 'install 'install-doc
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (man1 (string-append out "/share/man/man1")))
+ (install-file "man/mmc.1" man1)))))))
+ (home-page "https://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc-utils.git/")
+ (synopsis "Configure MMC storage devices from userspace")
+ (description "mmc-utils is a command-line tool for configuring and
+inspecting MMC storage devices from userspace.")
+ (license license:gpl2))))
diff --git a/gnu/packages/dns.scm b/gnu/packages/dns.scm
index 3cf88febae..9d1cafb64d 100644
--- a/gnu/packages/dns.scm
+++ b/gnu/packages/dns.scm
@@ -320,7 +320,7 @@ and BOOTP/TFTP for network booting of diskless machines.")
;; When updating, check whether isc-dhcp's bundled copy should be as well.
;; The BIND release notes are available here:
;; https://www.isc.org/bind/
- (version "9.16.13")
+ (version "9.16.15")
(source (origin
(method url-fetch)
(uri (string-append
@@ -328,7 +328,7 @@ and BOOTP/TFTP for network booting of diskless machines.")
"/bind-" version ".tar.xz"))
(sha256
(base32
- "026cliyj570wxvvij96mrzsxyf421xv9a80gc5gv6savza9wfk55"))))
+ "0fbqisrh84f8wszm94cqp7v8q9r7pql3qyzbay7vz9vqv0rg9dlq"))))
(build-system gnu-build-system)
(outputs `("out" "utils"))
(inputs
diff --git a/gnu/packages/education.scm b/gnu/packages/education.scm
index 589c32838c..0986d2a19e 100644
--- a/gnu/packages/education.scm
+++ b/gnu/packages/education.scm
@@ -614,14 +614,14 @@ Portuguese, Spanish and Italian.")
(define-public fet
(package
(name "fet")
- (version "5.49.1")
+ (version "6.0.2")
(source
(origin
(method url-fetch)
(uri (string-append "https://www.lalescu.ro/liviu/fet/download/"
"fet-" version ".tar.bz2"))
(sha256
- (base32 "1aa8xnhwvbhvp7yigcdk7qdwqh59yyfknqbpn3ybgjljc22m8w5n"))))
+ (base32 "08q265i43bnj9syh3xlp11fr47xmzb0nma3nnwm76xq314102f0f"))))
(build-system gnu-build-system)
(arguments
`(#:phases
@@ -653,14 +653,14 @@ hours.")
(define-public klavaro
(package
(name "klavaro")
- (version "3.11")
+ (version "3.12")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/klavaro/klavaro-"
version ".tar.bz2"))
(sha256
- (base32 "1rkxaqb62w4mv86fcnmr32lq6y0h4hh92wmsy5ddb9a8jnzx6r7w"))))
+ (base32 "0ymrmgllyjk9wp1f1ayw51xc3myar8ld9a5531wdbrym0xzy4l64"))))
(build-system gnu-build-system)
(native-inputs
`(("intltool" ,intltool)
@@ -669,6 +669,7 @@ hours.")
`(("cairo" ,cairo)
("curl" ,curl)
("gtk+" ,gtk+)
+ ("gtkdatabox" ,gtkdatabox)
("pango" ,pango)))
(home-page "https://klavaro.sourceforge.io/en/index.html")
(synopsis "Touch typing tutor")
diff --git a/gnu/packages/electronics.scm b/gnu/packages/electronics.scm
index c578fda334..861544ee22 100644
--- a/gnu/packages/electronics.scm
+++ b/gnu/packages/electronics.scm
@@ -43,6 +43,7 @@
#:use-module (gnu packages libftdi)
#:use-module (gnu packages libusb)
#:use-module (gnu packages linux)
+ #:use-module (gnu packages m4)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
#:use-module (gnu packages qt))
@@ -308,22 +309,23 @@ individual low-level driver modules.")
(define-public xoscope
(package
(name "xoscope")
- (version "2.2")
+ (version "2.3")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/xoscope/xoscope/"
version "/xoscope-" version ".tar.gz"))
(sha256
(base32
- "1b9wxnrwz8qy6qyx5icrklb4720rlxnr1c4h3dr6g0dzj6nkc5av"))))
+ "0a5ycfc1qdmibvagc82r2mhv2i99m6pndy5i6ixas3j2297g6pgq"))))
(build-system gnu-build-system)
(native-inputs
- `(("pkg-config" ,pkg-config)))
+ `(("m4" ,m4)
+ ("pkg-config" ,pkg-config)))
(inputs
`(("alsa-lib" ,alsa-lib)
("comedilib" ,comedilib)
("fftw" ,fftw)
- ("gtk+-2" ,gtk+-2)
+ ("gtk+" ,gtk+)
("gtkdatabox" ,gtkdatabox)))
(synopsis "Digital oscilloscope")
(description "Xoscope is a digital oscilloscope that can acquire signals
diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index c28169ac97..ef26d19506 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -318,6 +318,29 @@ using geiser.")
a generic Scheme interaction mode for the GNU Emacs editor.")
(license license:expat)))
+(define-public emacs-vc-hgcmd
+ (package
+ (name "emacs-vc-hgcmd")
+ (version "1.13")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/muffinmad/emacs-vc-hgcmd")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "14c2brvw6vnf1h3lbpap4jh5d7mjnzxrbny4jk77832v09mj2ria"))))
+ (build-system emacs-build-system)
+ (home-page "https://github.com/muffinmad/emacs-vc-hgcmd")
+ (synopsis "Version control (VC) backend for the Mercurial command server")
+ (description
+ "This package provides an Emacs VC backend to work with Mercurial
+repositories through the
+@uref{https://www.mercurial-scm.org/wiki/CommandServer,Mercurial command
+server}. The main advantage compared to @code{vc-hg} is speed.")
+ (license license:gpl3+)))
+
(define-public emacs-hyperbole
(package
(name "emacs-hyperbole")
@@ -336,6 +359,7 @@ a generic Scheme interaction mode for the GNU Emacs editor.")
`(#:include '("DEMO"
"DEMO-ROLO.otl"
"HY-ABOUT"
+ "man/hkey-help.txt"
"\\.el$"
"\\.info$"
"\\.kotl$")
@@ -350,8 +374,15 @@ a generic Scheme interaction mode for the GNU Emacs editor.")
(string-append (assoc-ref inputs "inetutils")
"/bin/dnsdomainname")))
(substitute* "hyperbole.el"
- (("\\(hyperb:check-dir-user\\)") ""))
- #t)))))
+ (("\\(hyperb:check-dir-user\\)") ""))))
+ (add-after 'install 'install-images
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ (for-each (lambda (file)
+ (install-file
+ file
+ (string-append out "/share/info/im")))
+ (find-files "man/im" "\\.png$"))))))))
(inputs
`(("inetutils" ,inetutils)))
(home-page "https://www.gnu.org/software/hyperbole/")
@@ -2276,14 +2307,14 @@ as a library for other Emacs packages.")
(define-public emacs-auctex
(package
(name "emacs-auctex")
- (version "13.0.6")
+ (version "13.0.10")
(source
(origin
(method url-fetch)
(uri (string-append "https://elpa.gnu.org/packages/"
"auctex-" version ".tar"))
(sha256
- (base32 "00wp388rh2nnk8fam53kilykg90jylps31qxv9ijy1lsp1hqdjys"))))
+ (base32 "150b0xh71xwva7599arjapspdxyy70yyk6a5nabaq22w3dcpasb5"))))
(build-system emacs-build-system)
;; We use 'emacs' because AUCTeX requires dbus at compile time
;; ('emacs-minimal' does not provide dbus).
@@ -2511,6 +2542,28 @@ Its features are:
;; Software is dual-licensed.
(license (list license:unlicense license:wtfpl2))))
+(define-public emacs-corfu
+ (package
+ (name "emacs-corfu")
+ (version "0.4")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/minad/corfu")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1yw90clfbqny2pchjc1cxqgr0gjag7bz6hys6jgidsxifzr662ps"))))
+ (build-system emacs-build-system)
+ (home-page "https://github.com/minad/corfu")
+ (synopsis "Completion overlay region function")
+ (description "Corfu enhances the default completion in region function
+with a completion overlay. The current candidates are shown in a popup
+overlay below or above the point. Corfu can be considered the minimalistic
+@code{completion-in-region} counterpart of the Vertico minibuffer UI.")
+ (license license:gpl3+)))
+
(define-public emacs-direnv
(package
(name "emacs-direnv")
@@ -4875,6 +4928,27 @@ file).")
"This package provides a macro that writes your namespaces for you.")
(license license:gpl3+))))
+(define-public emacs-nameless
+ (package
+ (name "emacs-nameless")
+ (version "1.0.2")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/Malabarba/Nameless")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "107q1rximjnag9r9vgwh0iv687i3rsscbdnjc46f8l16j6vi4n7d"))))
+ (build-system emacs-build-system)
+ (home-page "https://github.com/Malabarba/nameless")
+ (synopsis "Hide package namespace in your Emacs-lisp code")
+ (description
+ "This package provides a @code{nameless-mode} minor mode in which the
+package namespace prefix is ​​hidden by a colon.")
+ (license license:gpl2+)))
+
(define-public emacs-evil-leader
(package
(name "emacs-evil-leader")
@@ -5291,14 +5365,14 @@ source code using IPython.")
(define-public emacs-debbugs
(package
(name "emacs-debbugs")
- (version "0.27")
+ (version "0.28")
(source
(origin
(method url-fetch)
(uri (string-append "https://elpa.gnu.org/packages/debbugs-"
version ".tar"))
(sha256
- (base32 "1zn9p9vmfv5ihrp8d06b6abs48q225v42cgwa01s39hld6zg6wbv"))))
+ (base32 "1qks38hpg3drhxzw66n5yxfq0v6fj9ya7d9dc6x0xwfp6r2x0li0"))))
(build-system emacs-build-system)
(arguments '(#:include '("\\.el$" "\\.wsdl$" "\\.info$")))
(propagated-inputs
@@ -7444,7 +7518,7 @@ style, or as multiple word prefixes.")
(home-page "https://github.com/minad/consult")
(synopsis "Consulting completing-read")
(description "This package provides various handy commands based on the
-Emacs completion function completing-read, which allows to quickly select from a
+Emacs completion function completing-read, which allows quickly selecting from a
list of candidates.")
(license license:gpl3+)))
@@ -7764,7 +7838,7 @@ after buffer changes.")
(description
"RealGUD is a modular, extensible GNU Emacs front-end for interacting
with external debuggers. It integrates various debuggers such as gdb, pdb,
-ipdb, jdb, lldb, bashdb, zshdb, etc. and allows to visually step code in the
+ipdb, jdb, lldb, bashdb, zshdb, etc. and allows visually steping through code in the
sources. Unlike GUD, it also supports running multiple debug sessions in
parallel.")
(license license:gpl3+)))
@@ -8542,28 +8616,31 @@ asynchronously, with Counsel and Ivy. Simply call
(license license:gpl3+))))
(define-public emacs-counsel-projectile
- (package
- (name "emacs-counsel-projectile")
- (version "0.3.1")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/ericdanan/counsel-projectile")
- (commit version)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "1k4n5lw6wwbgpwv0dg9dw0bjzi0hvbgkzrs1zmq36yhfz6y8gwnh"))))
- (build-system emacs-build-system)
- (propagated-inputs
- `(("emacs-counsel" ,emacs-counsel)
- ("emacs-projectile" ,emacs-projectile)))
- (home-page "https://github.com/ericdanan/counsel-projectile")
- (synopsis "Enhance Projectile with Ivy")
- (description
- "This package uses Ivy to provide additional actions for Projectile
+ ;; Use a recent commit in order to fix recent breakage with Ivy.
+ (let ((commit "06b03c1080d3ccc3fa9b9c41b1ccbcf13f058e4b")
+ (revision "0"))
+ (package
+ (name "emacs-counsel-projectile")
+ (version (git-version "0.3.1" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/ericdanan/counsel-projectile")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "10afil6grwxj1x8fxd3ar7ikw3s3hzrkjsjin8wzchbz04389l7s"))))
+ (build-system emacs-build-system)
+ (propagated-inputs
+ `(("emacs-counsel" ,emacs-counsel)
+ ("emacs-projectile" ,emacs-projectile)))
+ (home-page "https://github.com/ericdanan/counsel-projectile")
+ (synopsis "Enhance Projectile with Ivy")
+ (description
+ "This package uses Ivy to provide additional actions for Projectile
commands and replacements for existing functions.")
- (license license:gpl3+)))
+ (license license:gpl3+))))
(define-public emacs-qml-mode
(package
@@ -10112,7 +10189,7 @@ target will call @code{compile} on it.")
(define-public emacs-cider
(package
(name "emacs-cider")
- (version "1.0.0")
+ (version "1.1.0")
(source
(origin
(method git-fetch)
@@ -10121,7 +10198,7 @@ target will call @code{compile} on it.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "143kh9k34yk0g6kdlkma6g432kmb2r9r1lhyq4irsw6d3vaql7dj"))))
+ (base32 "0wigprg45n6q6jmkw2a9s7mr4h500l2ky9244rrdvkjsgj6af8q8"))))
(build-system emacs-build-system)
(arguments
'(#:exclude ;don't exclude 'cider-test.el'
@@ -12126,8 +12203,18 @@ highlights quasi-quoted expressions.")
#:phases
(modify-phases %standard-phases
(replace 'configure
- (lambda _
+ (lambda* (#:key inputs outputs #:allow-other-keys)
(setenv "SHELL" (which "sh"))
+ ;; Ensure the tclespeak.so binary is found in the correct location
+ ;; by adding the path to the Tclx library to the Tcl $auto_path
+ ;; variable.
+ (with-fluids ((%default-port-encoding "ISO-8859-1"))
+ (substitute* "servers/espeak"
+ (("package require Tclx")
+ (string-append "set auto_path [linsert $auto_path 0 "
+ (assoc-ref inputs "tclx")
+ "/lib]\n"
+ "package require Tclx"))))
;; Configure Emacspeak according to etc/install.org.
(invoke "make" "config")))
(add-after 'build 'build-espeak
@@ -12155,18 +12242,7 @@ highlights quasi-quoted expressions.")
;; Install the convenient startup script.
(mkdir-p bin)
(copy-file "run" (string-append bin "/emacspeak")))
- #t))
- (add-after 'install 'wrap-program
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (emacspeak (string-append out "/bin/emacspeak"))
- (espeak (string-append (assoc-ref inputs "espeak")
- "/bin/espeak")))
- ;; The environment variable DTK_PROGRAM tells emacspeak what
- ;; program to use for speech.
- (wrap-program emacspeak
- `("DTK_PROGRAM" ":" prefix (,espeak)))
- #t))))
+ #t)))
#:tests? #f)) ; no check target
(inputs
`(("emacs" ,emacs)
@@ -12650,14 +12726,14 @@ shuangpin, wubi and cangjie.")
(define-public emacs-posframe
(package
(name "emacs-posframe")
- (version "1.0.1")
+ (version "1.0.2")
(source
(origin
(method url-fetch)
(uri (string-append "https://elpa.gnu.org/packages/"
"posframe-" version ".tar"))
(sha256
- (base32 "17znlh5xkk57imbblnfndwvld9m02h5fkr9gys89n2skdbxw9c7r"))))
+ (base32 "19a1dkjyw9m74aamyqrsvzrdwshngqpmjzdngx6v5nifvcilrlnk"))))
(build-system emacs-build-system)
;; emacs-minimal does not include the function font-info.
(arguments
@@ -17074,7 +17150,7 @@ or expressions with SVG rounded box labels that are fully customizable.")
(build-system emacs-build-system)
(home-page "https://github.com/rougier/emacs-svg-icon")
(synopsis "Emacs library to create SVG icons on the fly")
- (description "This library allows to create SVG icons by parsing remote
+ (description "This library allows creating SVG icons by parsing remote
collections whose license are compatibles with Emacs. The default size of an
icon is exactly 2x1 characters such that it can be inserted inside a text
without disturbing alignment.")
@@ -17311,6 +17387,28 @@ within Emacs.")
grouping buffers by their projectile root directory.")
(license license:gpl3+)))
+(define-public emacs-ibuffer-vc
+ (package
+ (name "emacs-ibuffer-vc")
+ (version "0.11")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/purcell/ibuffer-vc")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1mgn7b786j4hwq1ks012hxxgvrfn5rz90adi2j190gmjz60rc5g5"))))
+ (build-system emacs-build-system)
+ (home-page "https://github.com/purcell/ibuffer-vc")
+ (synopsis "Group Ibuffer's list by revision control system indications")
+ (description
+ "Ibuffer-VC adds functionality to Ibuffer for grouping buffers by their
+parent revision control system root directory, and for displaying, or sorting,
+by the status of listed files.")
+ (license license:gpl3+)))
+
(define-public emacs-elm-mode
(package
(name "emacs-elm-mode")
@@ -22521,6 +22619,29 @@ displays as you type thanks to Helm, though @command{notmuch-search} does the
real search.")
(license license:gpl3+)))
+(define-public emacs-notmuch-maildir
+ (package
+ (name "emacs-notmuch-maildir")
+ (version "0.2.0")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://git.sr.ht/~tarsius/notmuch-maildir")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0pmikf1djkr07067nkgmdcxyn7l7ibswx6qlnai8v1v51f9h1g9q"))))
+ (build-system emacs-build-system)
+ (propagated-inputs
+ `(("notmuch" ,notmuch)))
+ (home-page "https://git.sr.ht/~tarsius/notmuch-maildir")
+ (synopsis "Visualize maildirs as a tree")
+ (description
+ "This package can visualize maildirs hierarchically in Notmuch's ``hello
+buffer''.")
+ (license license:gpl3+)))
+
(define-public emacs-elmacro
(package
(name "emacs-elmacro")
@@ -22548,7 +22669,7 @@ as Emacs Lisp.")
(define-public emacs-transient
(package
(name "emacs-transient")
- (version "0.3.0")
+ (version "0.3.2")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -22557,7 +22678,7 @@ as Emacs Lisp.")
(file-name (git-file-name name version))
(sha256
(base32
- "0g694ydmb9zjn99hxgfjd3m73kpmnkbrgqhr73b4crbxza5sl29c"))))
+ "1766hdqzg95k62nqhadfv502mpnjlx1l59ppqmc6r0las82dc6a8"))))
(build-system emacs-build-system)
(arguments
`(#:tests? #f ;no test suite
@@ -24808,7 +24929,7 @@ Emacs that integrate with major modes like Org-mode.")
(define-public emacs-modus-themes
(package
(name "emacs-modus-themes")
- (version "1.2.3")
+ (version "1.3.0")
(source
(origin
(method git-fetch)
@@ -24817,7 +24938,7 @@ Emacs that integrate with major modes like Org-mode.")
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "1l392hz6zs6wg06x2zxnk7s0h5cpmvbkcynh68gjmqjj84l7mqrk"))))
+ (base32 "0dw33kvs6k1a933d64fnrckzhs12d8m03a31cwblm39vmirgmf6y"))))
(build-system emacs-build-system)
(home-page "https://protesilaos.com/modus-themes/")
(synopsis "Accessible themes (WCAG AAA)")
@@ -26975,6 +27096,26 @@ Features:
@end itemize\n")
(license license:gpl3+)))
+(define-public emacs-shell-command+
+ (package
+ (name "emacs-shell-command+")
+ (version "2.1.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://elpa.gnu.org/packages/"
+ "shell-command+-" version ".tar"))
+ (sha256
+ (base32 "1jyrnv89989bi03m5h8dj0cllsw3rvyxkiyfrh9v6gpxjwfy8lmq"))))
+ (build-system emacs-build-system)
+ (home-page "http://elpa.gnu.org/packages/shell-command+.html")
+ (synopsis "Extended Emacs @code{shell-command}")
+ (description
+ "Shell-command+ is a @code{shell-command} substitute that extends the
+regular Emacs command with several features. You can for example count all
+the lines in a buffer with @code{> wc -l}, or delete all lower case letters in
+the selected region with @code{| tr -d a-z}.")
+ (license license:gpl3+)))
+
(define-public emacs-shell-pop
(let ((commit "4b4394037940a890a313d715d203d9ead2d156a6")
(revision "0"))
@@ -27552,7 +27693,7 @@ rules about where space should be left to separate words and parentheses.")
`(("emacs-request" ,emacs-request)))
(home-page "https://github.com/etu/webpaste.el")
(synopsis "Paste to pastebin-like services")
- (description "This mode allows to paste whole buffers or parts of buffers
+ (description "This mode pastes whole buffers or parts of buffers
to pastebin-like services. It supports more than one service and will
failover if one service fails. More services can easily be added over time
and preferred services can easily be configured.")
@@ -27620,7 +27761,7 @@ and preferred services can easily be configured.")
(define-public emacs-vertico
(package
(name "emacs-vertico")
- (version "0.4")
+ (version "0.6")
(source
(origin
(method git-fetch)
@@ -27629,14 +27770,8 @@ and preferred services can easily be configured.")
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "0ijahr9dzs7v56w2n74xp0akzbzbxlw5852bywc4h24xdspakj52"))))
+ (base32 "1is189z4hmrq49zqvm10xmq7ggj0zy57p0drzcrn1m94qicxnwj2"))))
(build-system emacs-build-system)
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-before 'install 'build-doc
- (lambda _
- (invoke "makeinfo" "vertico.texi"))))))
(native-inputs
`(("texinfo" ,texinfo)))
(home-page "https://github.com/minad/vertico")
@@ -27650,6 +27785,27 @@ commands. Additional optional enhancements can be provided externally by
complementary packages.")
(license license:gpl3+)))
+(define-public emacs-wisp-mode
+ (package
+ (name "emacs-wisp-mode")
+ (version "0.2.9")
+ (source
+ (origin
+ (method hg-fetch)
+ (uri (hg-reference
+ (url "https://hg.sr.ht/~arnebab/wisp")
+ (changeset (string-append "wisp-mode-" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1xdzyj3yqzvdg0vrllp9wi8cswpa89i0gmiz22a25brw4qy185ar"))))
+ (build-system emacs-build-system)
+ (home-page "https://www.draketo.de/software/wisp")
+ (synopsis "Syntax highlighting and indentation support for Wisp files")
+ (description
+ "This package provides @code{wisp-mode}, an Emacs major mode for Wisp
+files, providing syntax highlighting and indentation rules.")
+ (license license:gpl3+)))
+
(define-public emacs-ivy-hydra
(package
(name "emacs-ivy-hydra")
@@ -27673,4 +27829,3 @@ complementary packages.")
quasi-prefix map, with many useful bindings. These bindings are
shorter than usual, using mostly unprefixed keys.")
(license license:gpl3+)))
-
diff --git a/gnu/packages/emulators.scm b/gnu/packages/emulators.scm
index 8482f679e2..d6509bd650 100644
--- a/gnu/packages/emulators.scm
+++ b/gnu/packages/emulators.scm
@@ -13,6 +13,7 @@
;;; Copyright © 2019 David Wilson <david@daviwil.com>
;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
;;; Copyright © 2020 Christopher Howard <christopher@librehacker.com>
+;;; Copyright © 2021 Felipe Balbi <balbi@kernel.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -44,6 +45,7 @@
#:use-module (gnu packages autogen)
#:use-module (gnu packages autotools)
#:use-module (gnu packages base)
+ #:use-module (gnu packages bison)
#:use-module (gnu packages boost)
#:use-module (gnu packages backup)
#:use-module (gnu packages cdrom)
@@ -53,6 +55,7 @@
#:use-module (gnu packages curl)
#:use-module (gnu packages digest)
#:use-module (gnu packages elf)
+ #:use-module (gnu packages flex)
#:use-module (gnu packages fonts)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages freedesktop)
@@ -97,6 +100,45 @@
#:use-module (guix build-system gnu)
#:use-module (guix build-system python))
+(define-public vice
+ (package
+ (name "vice")
+ (version "3.5")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "mirror://sourceforge/vice-emu/releases/"
+ "vice-" version ".tar.gz"))
+ (sha256
+ (base32
+ "03nwcldg2h7dxj6aa77ggqc0442hqc1lsq5x69h8kcmqmvx7ifan"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:configure-flags '("--disable-pdf-docs")))
+ (native-inputs
+ `(("bison" ,bison)
+ ("dos2unix" ,dos2unix)
+ ("flex" ,flex)
+ ("glib" ,glib "bin") ; for glib-genmarshal, etc.
+ ("pkg-config" ,pkg-config)))
+ (inputs
+ `(("alsa-lib" ,alsa-lib)
+ ("glew" ,glew)
+ ("glib" ,glib)
+ ("gtk+" ,gtk+)
+ ("pulseaudio" ,pulseaudio)
+ ("sdl" ,sdl)
+ ("sdl-image" ,sdl-image)
+ ("xa" ,xa)))
+ (home-page "https://vice-emu.sourceforge.io/")
+ (synopsis "The versatile Commodore emulator")
+ (description
+ "VICE is a program that emulates the C64, the C64DTV, the C128, the
+VIC20, practically all PET models, the PLUS4 and the CBM-II (aka
+C610/C510). An extra emulator is provided for C64 expanded with the CMD
+SuperCPU.")
+ (license license:gpl2+)))
+
(define-public desmume
(package
(name "desmume")
@@ -540,7 +582,7 @@ The following systems are supported:
(define-public mgba
(package
(name "mgba")
- (version "0.9.0")
+ (version "0.9.1")
(source
(origin
(method git-fetch)
@@ -549,7 +591,7 @@ The following systems are supported:
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "16v08m9irping65d94vb5skp4m6nc63zj6bfajbzhmf944dswmi5"))
+ (base32 "163azad5y4zxwzxyrb481rwfc2p86v99pf7nvdr6bavzq98x2z8h"))
(modules '((guix build utils)))
(snippet
;; Make sure we don't use the bundled software.
@@ -1233,47 +1275,45 @@ emulation community. It provides highly accurate emulation.")
(license license:gpl2+)))
(define-public libretro-lowresnx
- (let ((commit "743ab43a6c4a13e0d5363b0d25ac12c7511c6581")
- (revision "1"))
- (package
- (name "libretro-lowresnx")
- (version (git-version "1.1" revision commit))
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/timoinutilis/lowres-nx")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "0r15kb5p5s2jwky6zy4v1j9i95i4rz36p9wxg0g6xdjksf04b5cf"))))
- (build-system gnu-build-system)
- (arguments
- `(#:tests? #f ; no tests
- #:make-flags (list "-C" "platform/LibRetro"
- (string-append "CC=" ,(cc-for-target)))
- #:phases
- (modify-phases %standard-phases
- (delete 'configure) ; no configure script
- (replace 'install
- (lambda* (#:key outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (libretrodir (string-append out "/lib/libretro")))
- (install-file "platform/LibRetro/lowresnx_libretro.so"
- libretrodir)
- #t))))))
- (home-page "https://lowresnx.inutilis.com/")
- (synopsis "Libretro core for LowRES NX")
- (description "LowRES NX is a simulated retro game console, which can be
+ (package
+ (name "libretro-lowresnx")
+ (version "1.2")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/timoinutilis/lowres-nx")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0b0vg3iz342dpkffvf7frsnqh8inj8yzi8550bsx8vnbpq5r2ay5"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f ; no tests
+ #:make-flags (list "-C" "platform/LibRetro"
+ (string-append "CC=" ,(cc-for-target)))
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure) ; no configure script
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (libretrodir (string-append out "/lib/libretro")))
+ (install-file "platform/LibRetro/lowresnx_libretro.so"
+ libretrodir)
+ #t))))))
+ (home-page "https://lowresnx.inutilis.com/")
+ (synopsis "Libretro core for LowRES NX")
+ (description "LowRES NX is a simulated retro game console, which can be
programmed in the classic BASIC language. This package provides a libretro
core allowing the lowRES NX programs to be used with libretro frontends such
as RetroArch.")
- (license license:zlib))))
+ (license license:zlib)))
(define-public retroarch
(package
(name "retroarch")
- (version "1.9.0")
+ (version "1.9.1")
(source
(origin
(method git-fetch)
@@ -1282,7 +1322,7 @@ as RetroArch.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "1n0dcv85vqrdr79psnf009hi4r2mvsgsjbghrrc9pm5g7ywwwcvp"))
+ (base32 "0cacb2m3p4fsxxbwh4h5q75mczyp0x56i2gc99pdkz1a4434zfnh"))
(patches
(search-patches "retroarch-LIBRETRO_DIRECTORY.patch"))))
(build-system gnu-build-system)
@@ -1319,6 +1359,7 @@ as RetroArch.")
'("--enable-neon" "--enable-floathard")
'())
(string-append "--prefix=" out)
+ "--disable-git_version" ; we use release version
;; Non-free software are available through the core updater,
;; disable it. See <https://issues.guix.gnu.org/38360>.
"--disable-update_cores"
diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm
index 99d497f2e6..0c32d297fe 100644
--- a/gnu/packages/engineering.scm
+++ b/gnu/packages/engineering.scm
@@ -2359,7 +2359,7 @@ comments.")))
(define-public freecad
(package
(name "freecad")
- (version "0.19.1")
+ (version "0.19.2")
(source
(origin
(method git-fetch)
@@ -2368,8 +2368,7 @@ comments.")))
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32
- "0c53q2iawy4yfp11czyc7lbr9ivp3r7v24x4c20myh11wyplffc0"))))
+ (base32 "0fhjv0x3dix1c7jml91yx63z9xifjlbhjbcdb73lw80smpxrq7mm"))))
(build-system qt-build-system)
(native-inputs
`(("doxygen" ,doxygen)
@@ -2734,14 +2733,14 @@ GUI.")
(define-public poke
(package
(name "poke")
- (version "1.1")
+ (version "1.2")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/poke/poke-" version
".tar.gz"))
(sha256
(base32
- "1mkaq19a8d951n9l6d3f8rwq45a7gkr05snb285idd21qxixys6d"))))
+ "0qnz7lc681nxa16rw9n9q4spy9fas6m2adrpb49imh34bgdgh77n"))))
(build-system gnu-build-system)
;; The GUI, which we elide, requires tcl and tk.
(native-inputs `(;; Requires bison 3.6+ but we currently only have 3.5.
diff --git a/gnu/packages/enlightenment.scm b/gnu/packages/enlightenment.scm
index 15ea89454f..079d60e45a 100644
--- a/gnu/packages/enlightenment.scm
+++ b/gnu/packages/enlightenment.scm
@@ -36,6 +36,7 @@
#:use-module (gnu packages code)
#:use-module (gnu packages compression)
#:use-module (gnu packages curl)
+ #:use-module (gnu packages fonts)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages freedesktop)
#:use-module (gnu packages fribidi)
@@ -370,7 +371,10 @@ Libraries with some extra bells and whistles.")
(propagated-inputs
`(("efl" ,efl)
("libxkbcommon" ,libxkbcommon)
- ("wayland-protocols" ,wayland-protocols)))
+ ("wayland-protocols" ,wayland-protocols)
+
+ ;; Default font that applications such as IceCat require.
+ ("font-dejavu" ,font-dejavu)))
(home-page "https://www.enlightenment.org/about-enlightenment")
(synopsis "Lightweight desktop environment")
(description
diff --git a/gnu/packages/fcitx.scm b/gnu/packages/fcitx.scm
index 93cea7a24d..80bfbd8c84 100644
--- a/gnu/packages/fcitx.scm
+++ b/gnu/packages/fcitx.scm
@@ -50,7 +50,7 @@
(define-public fcitx-qt5
(package
(name "fcitx-qt5")
- (version "1.2.5")
+ (version "1.2.6")
(source
(origin
(method git-fetch)
@@ -61,7 +61,7 @@
(file-name
(git-file-name name version))
(sha256
- (base32 "1d56bp11jp85b2r4syw1clfg4vqxqfh7gygpwz8wk5sxmfmmdq83"))))
+ (base32 "13sanrir696fv7s44b7q453s5qi4r7ag0r3iyggyzk8xyf6rw8fk"))))
(build-system qt-build-system)
(arguments
`(#:tests? #f ; No target
diff --git a/gnu/packages/file-systems.scm b/gnu/packages/file-systems.scm
index d970fe7198..6724ad96bb 100644
--- a/gnu/packages/file-systems.scm
+++ b/gnu/packages/file-systems.scm
@@ -340,8 +340,8 @@ from a mounted file system.")
(license license:gpl2+)))
(define-public bcachefs-tools
- (let ((commit "bb6eccc2ecd4728871bfc70462d3a4a20daa9d68")
- (revision "4"))
+ (let ((commit "ce906d661e63d4318b9f26ec145f2ff5fddf5162")
+ (revision "5"))
(package
(name "bcachefs-tools")
(version (git-version "0.1" revision commit))
@@ -353,7 +353,7 @@ from a mounted file system.")
(commit commit)))
(file-name (git-file-name name version))
(sha256
- (base32 "0ziqmcxbrak6bjck6s46hqrqx44zc97yaj0kbk3amsxf18rsfs0n"))))
+ (base32 "1fkfqrk3q6shjr8jnpf3myd79xdpc8hbs0grwdmzb3dhw65k9isi"))))
(build-system gnu-build-system)
(arguments
`(#:make-flags
@@ -472,7 +472,7 @@ from the bcachefs-tools package. It is meant to be used in initrds.")
(define-public exfatprogs
(package
(name "exfatprogs")
- (version "1.1.0")
+ (version "1.1.1")
(source
(origin
(method git-fetch)
@@ -481,7 +481,7 @@ from the bcachefs-tools package. It is meant to be used in initrds.")
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "1ciy28lx7c1vr1f138qi0mkz88pzlkay6nlwmp1yjzd830x48549"))))
+ (base32 "1zl3w5w2mzyggizc4dsiln0pa013f8sf5dxmm5wflplpfm6k4brk"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags
diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm
index f8d15b8856..026a5a9001 100644
--- a/gnu/packages/finance.scm
+++ b/gnu/packages/finance.scm
@@ -6,7 +6,7 @@
;;; Copyright © 2017 Carlo Zancanaro <carlo@zancanaro.id.au>
;;; Copyright © 2017 Theodoros Foradis <theodoros@foradis.org>
;;; Copyright © 2017 Vasile Dumitrascu <va511e@yahoo.com>
-;;; Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2017–2021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2018 Adriano Peluso <catonano@gmail.com>
;;; Copyright © 2018, 2019, 2020, 2021 Nicolas Goaziou <mail@nicolasgoaziou.fr>
@@ -23,6 +23,7 @@
;;; Copyright © 2020 Carlo Holl <carloholl@gmail.com>
;;; Copyright © 2020 Giacomo Leidi <goodoldpaul@autistici.org>
;;; Copyright © 2021 ZmnSCPxj jxPCSnmZ <ZmnSCPxj@protonmail.com>
+;;; Copyright © 2021 François J <francois-oss@avalenn.eu>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -762,7 +763,7 @@ the Monero command line client and daemon.")
(define-public monero-gui
(package
(name "monero-gui")
- (version "0.17.2.0")
+ (version "0.17.2.1")
(source
(origin
(method git-fetch)
@@ -779,7 +780,7 @@ the Monero command line client and daemon.")
(delete-file-recursively "monero")
#t))
(sha256
- (base32 "17il26gh0g69x7lqkyb461x1712959wajg3iadx0p08djr3m13mf"))))
+ (base32 "17z4l7xj3zzbkb3fivsam38y5psknc2qbsg6yc72vb6n675khnsa"))))
(build-system qt-build-system)
(native-inputs
`(,@(package-native-inputs monero)
@@ -1588,14 +1589,14 @@ that allows you to run services and through them access the Bitcoin Cash network
(define-public beancount
(package
(name "beancount")
- (version "2.2.3")
+ (version "2.3.4")
(source
(origin
(method url-fetch)
(uri (pypi-uri "beancount" version))
(sha256
(base32
- "0pcfl2rx2ng06i4f9izdpnlnb1k0rdzsckbzzn4cn4ixfzyssm0m"))
+ "1h465zc7gb0bc5pagm9fsp083sqxrn2mjfbk9l7h162xm7k8rw1b"))
(patches (search-patches "beancount-disable-googleapis-fonts.patch"))))
(build-system python-build-system)
(arguments
diff --git a/gnu/packages/fontutils.scm b/gnu/packages/fontutils.scm
index 1d9c81b8a6..c02be6463c 100644
--- a/gnu/packages/fontutils.scm
+++ b/gnu/packages/fontutils.scm
@@ -6,7 +6,7 @@
;;; Copyright © 2017 Rene Saavedra <rennes@openmailbox.org>
;;; Copyright © 2017 Leo Famulari <leo@famulari.name>
;;; Copyright © 2017 Nikita <nikita@n0.is>
-;;; Copyright © 2017, 2018, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2017, 2018, 2020, 2021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2019, 2020 Marius Bakke <mbakke@fastmail.com>
@@ -800,7 +800,7 @@ maintain the Noto Fonts project.")
(define-public fcft
(package
(name "fcft")
- (version "2.3.2")
+ (version "2.3.3")
(home-page "https://codeberg.org/dnkl/fcft")
(source (origin
(method git-fetch)
@@ -808,7 +808,7 @@ maintain the Noto Fonts project.")
(file-name (git-file-name name version))
(sha256
(base32
- "0k2i57rakm4g86f7hbhkby8af0vv7v63a70lk3m58mkycpy5q2rm"))))
+ "0314r038jl17hrhc9nrbx30jk0pz8ckbdnizws4r46b1rf4h0b1f"))))
(build-system meson-build-system)
(arguments
`(#:meson ,meson-0.55))
diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm
index 679da99e63..906d32dfe7 100644
--- a/gnu/packages/game-development.scm
+++ b/gnu/packages/game-development.scm
@@ -1766,7 +1766,7 @@ scripted in a Python-like language.")
(define-public entt
(package
(name "entt")
- (version "3.7.0")
+ (version "3.7.1")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -1775,7 +1775,7 @@ scripted in a Python-like language.")
(file-name (git-file-name name version))
(sha256
(base32
- "0nzvnhiw3r6nkmxp749zwxc8kzja09nijyxibdbri3g2i7pysf58"))))
+ "151jg3m262xwaywl2rqnc90yr6p48rhmgi5mxyv6bwqvmfli2m5p"))))
(build-system cmake-build-system)
(arguments
`(#:configure-flags (list "-DENTT_BUILD_TESTING=ON"
diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index 91ac839aee..3227b3e6fc 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -1623,6 +1623,50 @@ destroying an ancient book using a special wand.")
;; license. The whole package is released under GPLv3+.
(license license:gpl3+)))
+(define-public gnome-2048
+ (package
+ (name "gnome-2048")
+ (version "3.38.2")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://gnome/sources/gnome-2048/"
+ (version-major+minor version) "/"
+ "gnome-2048-" version ".tar.xz"))
+ (sha256
+ (base32
+ "0s5fg4z5in1h39fcr69j1qc5ynmg7a8mfprk3mc3c0csq3snfwz2"))))
+ (build-system meson-build-system)
+ (arguments
+ '(#:glib-or-gtk? #t
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'skip-gtk-update-icon-cache
+ ;; Don't create 'icon-theme.cache'.
+ (lambda _
+ (substitute* "meson_post_install.py"
+ (("gtk-update-icon-cache") "true"))
+ #t)))))
+ (inputs
+ `(("gtk+" ,gtk+)
+ ("clutter" ,clutter)
+ ("clutter-gtk" ,clutter-gtk)
+ ("libgee" ,libgee)
+ ("libgnome-games-support" ,libgnome-games-support)))
+ (native-inputs
+ `(("gettext" ,gettext-minimal)
+ ("glib:bin" ,glib "bin") ; for desktop-file-validate and appstream-util
+ ("itstool" ,itstool)
+ ("libxml2" ,libxml2)
+ ("pkg-config" ,pkg-config)
+ ("vala" ,vala)))
+ (home-page "https://wiki.gnome.org/Apps/2048")
+ (synopsis "Move the tiles until you obtain the 2048 tile")
+ (description "GNOME 2048 provides a 2D grid for playing 2048, a
+single-player sliding tile puzzle game. The objective of the game is to merge
+together adjacent tiles of the same number until the sum of 2048 is achieved
+in one tile.")
+ (license license:gpl3+)))
+
(define-public gnome-chess
(package
(name "gnome-chess")
@@ -4540,7 +4584,7 @@ Transport Tycoon Deluxe.")
(define-public openrct2
(package
(name "openrct2")
- (version "0.3.2")
+ (version "0.3.3")
(source
(origin
(method git-fetch)
@@ -4549,7 +4593,7 @@ Transport Tycoon Deluxe.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "1fd32wniiy6qz2046ppqfj2sb3rf2qf086rf9v1bdhyj254d0b1z"))))
+ (base32 "01nanpbz5ycdhkyd46fjfvj18sw729l4vk7xg12600f9rjngjk76"))))
(build-system cmake-build-system)
(arguments
`(#:configure-flags (list "-DDOWNLOAD_OBJECTS=OFF"
diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm
index a412c93c29..8c8968a111 100644
--- a/gnu/packages/gcc.scm
+++ b/gnu/packages/gcc.scm
@@ -594,6 +594,20 @@ It also includes runtime support libraries for these languages.")))
(patches (search-patches "gcc-9-strmov-store-file-names.patch"
"gcc-5.0-libvtv-runpath.patch"))))))
+(define-public gcc-11
+ (package
+ (inherit gcc-8)
+ (version "11.1.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://gnu/gcc/gcc-"
+ version "/gcc-" version ".tar.xz"))
+ (sha256
+ (base32
+ "1pwxrjhsymv90xzh0x42cxfnmhjinf2lnrrf3hj5jq1rm2w6yjjc"))
+ (patches (search-patches "gcc-9-strmov-store-file-names.patch"
+ "gcc-5.0-libvtv-runpath.patch"))))))
+
;; Note: When changing the default gcc version, update
;; the gcc-toolchain-* definitions.
(define-public gcc gcc-7)
@@ -758,6 +772,11 @@ as the 'native-search-paths' field."
(custom-gcc gcc-10 "gdc" '("d")
%generic-search-paths)))
+(define-public gdc-11
+ (hidden-package
+ (custom-gcc gcc-11 "gdc" '("d")
+ %generic-search-paths)))
+
(define-public libgccjit
(package
(inherit gcc-9)
diff --git a/gnu/packages/gdb.scm b/gnu/packages/gdb.scm
index 51b800d0d1..8c28f82992 100644
--- a/gnu/packages/gdb.scm
+++ b/gnu/packages/gdb.scm
@@ -1,7 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013, 2014, 2015, 2019, 2020 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
-;;; Copyright © 2015, 2016, 2019 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2015, 2016, 2019, 2021 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
@@ -44,14 +44,14 @@
(define-public gdb-10
(package
(name "gdb")
- (version "10.1")
+ (version "10.2")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/gdb/gdb-"
version ".tar.xz"))
(sha256
(base32
- "1h32dckz1y8fnyxh22iyw8h3hnhxr79v1ng85px3ljn1xv71wbzq"))))
+ "0aag1c0fw875pvhjg1qp7x8pf6gf92bjv5gcic5716scacyj58da"))))
(build-system gnu-build-system)
(arguments
diff --git a/gnu/packages/gimp.scm b/gnu/packages/gimp.scm
index eee958171c..2da57ee8ee 100644
--- a/gnu/packages/gimp.scm
+++ b/gnu/packages/gimp.scm
@@ -208,7 +208,7 @@ provided, as well as a framework to add new color models and data types.")
(define-public gegl
(package
(name "gegl")
- (version "0.4.28")
+ (version "0.4.30")
(source (origin
(method url-fetch)
(uri (list (string-append "https://download.gimp.org/pub/gegl/"
@@ -222,7 +222,7 @@ provided, as well as a framework to add new color models and data types.")
"/gegl-" version ".tar.xz")))
(sha256
(base32
- "003ri7yv7lm2fi86ama3vlkwnz656yyib4r36hxwlk6mfy2hs48x"))))
+ "1pd8xkx70k0fsi1hrzrmaify7112wjmxzk0p6bi6js89yhn7h4n1"))))
(build-system meson-build-system)
(arguments
`(#:meson ,meson-0.55
@@ -269,7 +269,7 @@ buffers.")
(define-public gimp
(package
(name "gimp")
- (version "2.10.22")
+ (version "2.10.24")
(source
(origin
(method url-fetch)
@@ -277,8 +277,7 @@ buffers.")
(version-major+minor version)
"/gimp-" version ".tar.bz2"))
(sha256
- (base32 "1fqqyshakvdarf1jipk2n33ibqr23ni22z3d8srq13bpydblpf1d"))
- (patches (search-patches "gimp-make-gegl-introspect-optional.patch"))))
+ (base32 "17lq6ns5qhspd171zqh76yf98xnn5n0hcl7hbhbx63cc6ribf6xx"))))
(build-system gnu-build-system)
(outputs '("out"
"doc")) ; 9 MiB of gtk-doc HTML
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 78a473b348..023b347748 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -5987,7 +5987,7 @@ queries upon that data.")
(define-public libgnome-games-support
(package
(name "libgnome-games-support")
- (version "1.4.4")
+ (version "1.7.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/libgnome-games-support/"
@@ -5995,16 +5995,17 @@ queries upon that data.")
"libgnome-games-support-" version ".tar.xz"))
(sha256
(base32
- "1zkbmnrn161p74qg6jhsn9f66yjjzxfm13pl1klv9av8k1bax9pq"))))
- (build-system gnu-build-system)
+ "11g1r3ppb9v8m3anks9gxf7fv1x38vmjiya3lr7zjjv328pb69d6"))))
+ (build-system meson-build-system)
(arguments
- '(#:phases
- (modify-phases %standard-phases
- (add-before 'check 'pre-check
- (lambda _
- ;; Tests require a writable HOME.
- (setenv "HOME" (getcwd))
- #t)))))
+ '(#:glib-or-gtk? #t
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'check 'pre-check
+ (lambda _
+ ;; Tests require a writable HOME.
+ (setenv "HOME" (getcwd))
+ #t)))))
(native-inputs
`(("intltool" ,intltool)
("pkg-config" ,pkg-config)
@@ -10631,7 +10632,7 @@ configurable file renaming. ")
(define-public workrave
(package
(name "workrave")
- (version "1.10.42")
+ (version "1.10.43")
(source
(origin
(method git-fetch)
@@ -10642,7 +10643,7 @@ configurable file renaming. ")
version)))))
(file-name (git-file-name name version))
(sha256
- (base32 "03i9kk8r1wgrfkkbwikx8wxaw4r4kn62vismr2zdq5g34fkkjh95"))))
+ (base32 "1baa9qjzd4b3q1zy5vhvyrx0hyz17mk237373ca48647897kw4cr"))))
(build-system glib-or-gtk-build-system)
(arguments
;; The only tests are maintainer tests (in po/), which fail.
@@ -10955,7 +10956,7 @@ tabs, and it supports drag and drop re-ordering of terminals.")
(define-public libhandy
(package
(name "libhandy")
- (version "1.2.0")
+ (version "1.2.1")
(source
(origin
(method git-fetch)
@@ -10964,7 +10965,7 @@ tabs, and it supports drag and drop re-ordering of terminals.")
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "1a8wfgm2jd3gcbk1nzhq6f2xq7vkxdc9qky8p9k0za9gqi7xfg4v"))))
+ (base32 "1mkxvqk8r6kk5my2c7nnb7z0y39grgrl7y41cnq857qs6ljqlrfv"))))
(build-system meson-build-system)
(arguments
`(#:configure-flags
diff --git a/gnu/packages/gnunet.scm b/gnu/packages/gnunet.scm
index d261f42dcc..d0a9955005 100644
--- a/gnu/packages/gnunet.scm
+++ b/gnu/packages/gnunet.scm
@@ -2,7 +2,7 @@
;;; Copyright © 2013, 2014, 2015 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2014 Sree Harsha Totakura <sreeharsha@totakura.in>
;;; Copyright © 2015, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org>
-;;; Copyright © 2015, 2017, 2019, 2020 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2015, 2017, 2019, 2020, 2021 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2016, 2017, 2018, 2019, 2020 Nikita <nikita@n0.is>
@@ -74,14 +74,14 @@
(define-public libextractor
(package
(name "libextractor")
- (version "1.10")
+ (version "1.11")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/libextractor/libextractor-"
version ".tar.gz"))
(sha256
(base32
- "0mr38g7kfn3p050hd3hckbcz2yd3za6dwl1c26x2kjf7vnsi3vcy"))))
+ "13xxv11mif3m0mpk7i43mljhhaqrj52kznm1qi3qb8s6hymk7xhn"))))
(build-system gnu-build-system)
;; WARNING: Checks require /dev/shm to be in the build chroot, especially
;; not to be a symbolic link to /run/shm.
@@ -115,7 +115,7 @@
(native-inputs
`(("pkg-config" ,pkg-config)))
(outputs '("out"
- "static")) ; 396 KiB .a files
+ "static")) ; 420 KiB .a files
(arguments
`(#:configure-flags
(list (string-append "--with-ltdl="
@@ -157,14 +157,14 @@ tool to extract metadata from a file and print the results.")
(define-public libmicrohttpd
(package
(name "libmicrohttpd")
- (version "0.9.72")
+ (version "0.9.73")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/libmicrohttpd/libmicrohttpd-"
version ".tar.gz"))
(sha256
(base32
- "1y1g9hk608jm4sfdbs8gql5wphalyhfdz824zl0i5x6pw3w2bs0a"))))
+ "0bh39irwzkv48fkw43skfgkk8ka3793bx1lm21sgw6zxi0djyyx3"))))
(build-system gnu-build-system)
(inputs
`(("curl" ,curl)
diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm
index f2de477548..0e73e08064 100644
--- a/gnu/packages/gnuzilla.scm
+++ b/gnu/packages/gnuzilla.scm
@@ -694,8 +694,8 @@ from forcing GEXP-PROMISE."
#:system system
#:guile-for-build guile)))
-(define %icecat-version "78.9.0-guix0-preview1")
-(define %icecat-build-id "20210323000000") ;must be of the form YYYYMMDDhhmmss
+(define %icecat-version "78.10.0-guix0-preview1")
+(define %icecat-build-id "20210419000000") ;must be of the form YYYYMMDDhhmmss
;; 'icecat-source' is a "computed" origin that generates an IceCat tarball
;; from the corresponding upstream Firefox ESR tarball, using the 'makeicecat'
@@ -717,7 +717,7 @@ from forcing GEXP-PROMISE."
"firefox-" upstream-firefox-version ".source.tar.xz"))
(sha256
(base32
- "0r28wrsk2k6pc922zfs5wljh8ziqm4a98lisn7409j2szhfsq0wf"))))
+ "0h6zl87czbhyhy3597bxqzwy4p1vsaqimkg92lw31gjbv6k434cp"))))
(upstream-icecat-base-version "78.7.0") ; maybe older than base-version
;;(gnuzilla-commit (string-append "v" upstream-icecat-base-version))
@@ -1305,11 +1305,11 @@ standards of the IceCat project.")
(cpe-version . ,(first (string-split version #\-)))))))
;; Update this together with icecat!
-(define %icedove-build-id "20210323000000") ;must be of the form YYYYMMDDhhmmss
+(define %icedove-build-id "20210419000000") ;must be of the form YYYYMMDDhhmmss
(define-public icedove
(package
(name "icedove")
- (version "78.9.0")
+ (version "78.10.0")
(source icecat-source)
(properties
`((cpe-name . "thunderbird_esr")))
@@ -1589,7 +1589,7 @@ standards of the IceCat project.")
;; in the Thunderbird release tarball. We don't use the release
;; tarball because it duplicates the Icecat sources and only adds the
;; "comm" directory, which is provided by this repository.
- ,(let ((changeset "1a5cd2aa11de609116f258b413afcf113ed72f3a"))
+ ,(let ((changeset "ca53556517b609ca2e9a8b7578a4f4dc1273b32f"))
(origin
(method hg-fetch)
(uri (hg-reference
@@ -1598,7 +1598,7 @@ standards of the IceCat project.")
(file-name (string-append "thunderbird-" version "-checkout"))
(sha256
(base32
- "0qgz9qj8gbn2ccmhvk3259ahs9p435ipvkzsysn3xj8a6klbz02w")))))
+ "1alkh651pf3l8nqwgh6qdhh6wfgpqrrmlfx3wrkfzhq6s9ghrmq8")))))
("autoconf" ,autoconf-2.13)
("cargo" ,rust-1.41 "cargo")
("clang" ,clang)
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 6502740220..9e0175e15a 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -6837,7 +6837,7 @@ sinks and sources.")
(home-page "https://github.com/mesilliac/pulse-simple")
(synopsis "Cgo bindings to PulseAudio's Simple API")
(description
- "This packages provides Cgo bindings to PulseAudio's Simple API, to play
+ "This package provides Cgo bindings to PulseAudio's Simple API, to play
or capture raw audio.")
(license license:expat))))
diff --git a/gnu/packages/gpodder.scm b/gnu/packages/gpodder.scm
index c4dc50c2f9..f185f2e546 100644
--- a/gnu/packages/gpodder.scm
+++ b/gnu/packages/gpodder.scm
@@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2019, 2020, 2021 Pierre Langlois <pierre.langlois@gmx.com>
-;;; Copyright © 2020 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2020, 2021 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -39,7 +39,7 @@
(define-public gpodder
(package
(name "gpodder")
- (version "3.10.18")
+ (version "3.10.19")
(source
(origin
(method git-fetch)
@@ -47,7 +47,7 @@
(url "https://github.com/gpodder/gpodder")
(commit version)))
(sha256
- (base32 "1d73q46sqandzbn74nfw9bzzah99z91wsxq2hcivwdgnsv2g2d8y"))
+ (base32 "1nx1cdwij9zy01s97aciqbkd63h4alzyvjdzdvr6wrl6hh42amrx"))
(file-name (git-file-name name version))
(patches (search-patches "gpodder-disable-updater.patch"))))
(build-system python-build-system)
diff --git a/gnu/packages/graph.scm b/gnu/packages/graph.scm
index d2e4c875a1..95506c69a9 100644
--- a/gnu/packages/graph.scm
+++ b/gnu/packages/graph.scm
@@ -6,6 +6,7 @@
;;; Copyright © 2019 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2020 Alexander Krotov <krotov@iitp.ru>
;;; Copyright © 2020 Pierre Langlois <pierre.langlos@gmx.com>
+;;; Copyright © 2021 Vinicius Monego <monego@posteo.net>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -231,6 +232,27 @@ subplots, multiple-axes, polar charts, and bubble charts. ")
(define-public python-louvain
(package
(name "python-louvain")
+ (version "0.15")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "python-louvain" version))
+ (sha256
+ (base32 "1sqp97fwh4asx0jr72x8hil8z8fcg2xq92jklmh2m599pvgnx19a"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-networkx" ,python-networkx)
+ ("python-numpy" ,python-numpy)))
+ (home-page "https://github.com/taynaud/python-louvain")
+ (synopsis "Louvain algorithm for community detection")
+ (description
+ "This package provides a pure Python implementation of the Louvain
+algorithm for community detection in large networks.")
+ (license license:bsd-3)))
+
+(define-public python-louvain-0.6
+ (package
+ (name "python-louvain")
(version "0.6.1")
;; The tarball on Pypi does not include the tests.
(source (origin
diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm
index f9f19cc28d..ef3be67b25 100644
--- a/gnu/packages/graphics.scm
+++ b/gnu/packages/graphics.scm
@@ -527,6 +527,7 @@ typically encountered in feature film production.")
"-DWITH_INSTALL_PORTABLE=OFF"
"-DWITH_JACK=ON"
"-DWITH_MOD_OCEANSIM=ON"
+ "-DWITH_OPENVDB=ON"
"-DWITH_OPENSUBDIV=ON"
"-DWITH_PYTHON_INSTALL=OFF"
(string-append "-DPYTHON_LIBRARY=python" ,python-version)
@@ -582,6 +583,7 @@ typically encountered in feature film production.")
("pugixml" ,pugixml)
("python" ,python)
("python-numpy" ,python-numpy)
+ ("openvdb" ,openvdb)
("tbb" ,tbb)
("zlib" ,zlib)
("embree" ,embree)))
diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm
index 6a4e14167d..9e70961655 100644
--- a/gnu/packages/gstreamer.scm
+++ b/gnu/packages/gstreamer.scm
@@ -527,6 +527,7 @@ This package provides the core library and elements.")
(method url-fetch)
(uri (string-append "https://gstreamer.freedesktop.org/src/" name "/"
name "-" version ".tar.xz"))
+ (patches (search-patches "gst-plugins-base-fix-id3v2-invalid-read.patch"))
(sha256
(base32
"1b05kg46azrxxvq42c71071lfsnc34pw4vynnkczdqi6g0gzn16x"))))
@@ -591,7 +592,9 @@ for the GStreamer multimedia library.")
(string-append
"https://gstreamer.freedesktop.org/src/" name "/"
name "-" version ".tar.xz"))
- (patches (search-patches "gst-plugins-good-fix-test.patch"))
+ (patches (search-patches "gst-plugins-good-fix-test.patch"
+ "gst-plugins-good-CVE-2021-3497.patch"
+ "gst-plugins-good-CVE-2021-3498.patch"))
(sha256
(base32 "1929nhjsvbl4bw37nfagnfsnxz737cm2x3ayz9ayrn9lwkfm45zp"))))
(build-system meson-build-system)
@@ -679,6 +682,7 @@ model to base your own plug-in on, here it is.")
(method url-fetch)
(uri (string-append "https://gstreamer.freedesktop.org/src/"
name "/" name "-" version ".tar.xz"))
+ (patches (search-patches "gst-plugins-bad-fix-overflow.patch"))
(sha256
(base32
"06ildd4rl6cynirv3p00d2ddf5is9svj4i7mkahldzhq24pq5mca"))))
@@ -789,6 +793,7 @@ par compared to the rest.")
(uri
(string-append "https://gstreamer.freedesktop.org/src/"
name "/" name "-" version ".tar.xz"))
+ (patches (search-patches "gst-plugins-ugly-fix-out-of-bound-reads.patch"))
(sha256
(base32 "1nwbcv5yaib3d8icvyja3zf6lyjf5zf1hndbijrhj8j7xlia0dx3"))))
(build-system meson-build-system)
@@ -849,6 +854,7 @@ think twice about shipping them.")
(string-append
"https://gstreamer.freedesktop.org/src/" name "/"
name "-" version ".tar.xz"))
+ (patches (search-patches "gst-libav-64channels-stack-corruption.patch"))
(sha256
(base32 "0jbzams9ggk3sq9ywv4gsl9rghyn203l2582m6l5c1sz9ka9m5in"))))
(build-system meson-build-system)
diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 24fd48d971..8c8a2956ef 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -15,7 +15,7 @@
;;; Copyright © 2016 Patrick Hetu <patrick.hetu@auf.org>
;;; Copyright © 2016 Nikita <nikita@n0.is>
;;; Copyright © 2017 Roel Janssen <roel@gnu.org>
-;;; Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2017–2021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017, 2019, 2020 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2018 Alex Vong <alexvong1995@gmail.com>
;;; Copyright © 2018, 2020 Arun Isaac <arunisaac@systemreboot.net>
@@ -2334,19 +2334,19 @@ foreground and background colors, text justification and more.")
(define-public gtkdatabox
(package
(name "gtkdatabox")
- (version "0.9.3.1")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://sourceforge/gtkdatabox/gtkdatabox/"
- version "/gtkdatabox-" version ".tar.gz"))
- (sha256
- (base32
- "1rdxnjgh6v3yjqgsfmamyzpfxckzchps4kqvvz88nifmd7ckhjfh"))))
+ (version "1.0.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "mirror://sourceforge/gtkdatabox/gtkdatabox-1/"
+ "gtkdatabox-" version ".tar.gz"))
+ (sha256
+ (base32 "1qykm551bx8j8pfgxs60l2vhpi8lv4r8va69zvn2594lchh71vlb"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
(inputs
- `(("gtk+-2" ,gtk+-2)))
+ `(("gtk+" ,gtk+)))
(synopsis "Display widget for dynamic data")
(description "GtkDatabox is a widget for live display of large amounts of
fluctuating numerical data. It enables data presentation (for example, on
diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm
index 089a9a3b55..c181b250fb 100644
--- a/gnu/packages/guile-xyz.scm
+++ b/gnu/packages/guile-xyz.scm
@@ -1778,7 +1778,7 @@ user which package sets would they like to install from it.")
(define-public guile-wisp
(package
(name "guile-wisp")
- (version "1.0.3")
+ (version "1.0.4")
(source (origin
(method hg-fetch)
(uri (hg-reference
@@ -1787,7 +1787,7 @@ user which package sets would they like to install from it.")
(file-name (git-file-name name version))
(sha256
(base32
- "10g97jz3ahpb5mg933ajsc3pa9jxlg14f42yf01qwx0dwq1b06d5"))))
+ "0d54l2s8qsfckg0imbx40npggi6f867hn7fsy0jjsmxz4b8a3949"))))
(build-system gnu-build-system)
(arguments
`(#:modules ((guix build gnu-build-system)
diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm
index 813639ef7e..9c7ab70415 100644
--- a/gnu/packages/guile.scm
+++ b/gnu/packages/guile.scm
@@ -15,7 +15,7 @@
;;; Copyright © 2018 Danny Milosavljevic <dannym@scratchpost.org>
;;; Copyright © 2018 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2019 Taylan Kammer <taylan.kammer@gmail.com>
-;;; Copyright © 2020 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2020, 2021 Efraim Flashner <efraim@flashner.co.il>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -360,6 +360,7 @@ without requiring the source code to be rewritten.")
(uri (git-reference
(url "https://git.savannah.gnu.org/git/guile.git")
(commit commit)))
+ (file-name (git-file-name name version))
(sha256
(base32
"09i1c77h2shygylfk0av31jsc1my6zjl230b2cx6vyl58q8c0cqy"))))
@@ -776,21 +777,25 @@ type system, elevating types to first-class status.")
(define-public guile-git
(package
(name "guile-git")
- (version "0.5.0")
+ (version "0.5.1")
(home-page "https://gitlab.com/guile-git/guile-git.git")
(source (origin
- (method url-fetch)
- (uri (string-append "https://gitlab.com/guile-git/guile-git/uploads/"
- "30be542d90619ca844dd3a3ed2e13808/guile-git-"
- version ".tar.gz"))
+ (method git-fetch)
+ (uri (git-reference
+ (url home-page)
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
(sha256
(base32
- "1j39c1cq9cbwir90mpnbdijpbwh7wkxampgl2r177bv8bfw6y203"))))
+ "1x3wa6la4j1wcfxyhhjlmd7yp85wwpny0y6lrzpz803i9z5fwagc"))))
(build-system gnu-build-system)
(arguments
`(#:make-flags '("GUILE_AUTO_COMPILE=0"))) ; to prevent guild warnings
(native-inputs
`(("pkg-config" ,pkg-config)
+ ("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("texinfo" ,texinfo)
("guile" ,guile-3.0)
("guile-bytestructures" ,guile-bytestructures)))
(inputs
diff --git a/gnu/packages/haskell-apps.scm b/gnu/packages/haskell-apps.scm
index 8128c5425e..af777d1e3a 100644
--- a/gnu/packages/haskell-apps.scm
+++ b/gnu/packages/haskell-apps.scm
@@ -342,14 +342,14 @@ to @code{cabal repl}).")
(define-public git-annex
(package
(name "git-annex")
- (version "8.20210330")
+ (version "8.20210428")
(source
(origin
(method url-fetch)
(uri (string-append "https://hackage.haskell.org/package/"
"git-annex/git-annex-" version ".tar.gz"))
(sha256
- (base32 "07dhxlmnj48drgndcplafc7xhby0w3rks68fz9wsppxan929240p"))))
+ (base32 "0xpvhpnl600874sa392wjfd2yd9s6ps2cq2qfkzyxxf90p9fcwg8"))))
(build-system haskell-build-system)
(arguments
`(#:configure-flags
diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm
index d04a247976..d0c12016ca 100644
--- a/gnu/packages/image.scm
+++ b/gnu/packages/image.scm
@@ -1945,7 +1945,7 @@ identical visual appearance.")
(define-public grim
(package
(name "grim")
- (version "1.3.1")
+ (version "1.3.2")
(source
(origin
(method git-fetch)
@@ -1954,7 +1954,7 @@ identical visual appearance.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "0fjmjq0ws9rlblkcqxxw2lv7zvvyi618jqzlnz5z9zb477jwdfib"))))
+ (base32 "1l4gwvvc0zvg5b6f6w92xjhmwj7cg9hlgrf43lc7ygaz8dh6cmzg"))))
(build-system meson-build-system)
(native-inputs `(("pkg-config" ,pkg-config)
("scdoc" ,scdoc)))
@@ -1971,7 +1971,7 @@ identical visual appearance.")
(define-public slurp
(package
(name "slurp")
- (version "1.3.1")
+ (version "1.3.2")
(source
(origin
(method git-fetch)
@@ -1980,7 +1980,7 @@ identical visual appearance.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "1fby2v2ylcadgclds05wpkl9xi2r9dfz49dqyqpn20rjv1wnz3jv"))))
+ (base32 "00dx6ds1227qnxqrw58k0am78q8fa49rgp1zingrkjcbpbi7g475"))))
(build-system meson-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)
diff --git a/gnu/packages/irc.scm b/gnu/packages/irc.scm
index 3953c55a20..36c4fac3c1 100644
--- a/gnu/packages/irc.scm
+++ b/gnu/packages/irc.scm
@@ -10,6 +10,7 @@
;;; Copyright © 2020 Vinicius Monego <monego@posteo.net>
;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
;;; Copyright © 2020 Brett Gilio <brettg@gnu.org>
+;;; Copyright © 2021 WinterHound <winterhound@yandex.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -31,6 +32,7 @@
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix packages)
+ #:use-module (guix utils)
#:use-module (guix build-system cmake)
#:use-module (guix build-system glib-or-gtk)
#:use-module (guix build-system gnu)
@@ -376,6 +378,36 @@ for the IRCv3 protocol.")
"sic is a simple IRC client, even more minimalistic than ii.")
(license license:expat)))
+(define-public kirc
+ (package
+ (name "kirc")
+ (version "0.2.6")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/mcpcpc/kirc")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "11pwbil44q7sm3mp1khgw8wmwln2n03f1qawlgmg168jzyxqrs16"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f ; no tests
+ #:make-flags
+ (list (string-append "CC=" ,(cc-for-target))
+ (string-append "PREFIX=" %output))
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure)))) ; No ./configure script
+ (synopsis "IRC client written in POSIX C99")
+ (description "Kirc is an Internet Relay Chat (IRC) client. It includes
+support for Simple Authentication and Security Layer (SASL), the
+client-to-client (CTCP) protocol, simple chat history logging, synchronous
+message handling, multi-channel joining at server connection, full support for
+all RFC 2812 commands, and customized color scheme definitions.")
+ (home-page "http://kirc.io/index.html")
+ (license license:expat)))
+
(define-public limnoria
(package
(name "limnoria")
diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index 207f136513..d1cb3fbe11 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -2,11 +2,11 @@
;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020, 2021 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016 Leo Famulari <leo@famulari.name>
;;; Copyright © 2016, 2017 Roel Janssen <roel@gnu.org>
-;;; Copyright © 2017, 2019 Carlo Zancanaro <carlo@zancanaro.id.au>
+;;; Copyright © 2017, 2019, 2021 Carlo Zancanaro <carlo@zancanaro.id.au>
;;; Copyright © 2017-2020 Julien Lepiller <julien@lepiller.eu>
;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
;;; Copyright © 2016, 2017, 2018 Alex Vong <alexvong1995@gmail.com>
-;;; Copyright © 2017, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2017, 2019, 2021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018, 2019 Gábor Boskovits <boskovits@gmail.com>
;;; Copyright © 2018 Chris Marusich <cmmarusich@gmail.com>
;;; Copyright © 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il>
@@ -1749,6 +1749,9 @@ IcedTea build harness.")
((guix build ant-build-system)
(guix build syscalls)
,@%gnu-build-system-modules)
+
+ #:disallowed-references ((,icedtea-7 "jdk"))
+
,@(substitute-keyword-arguments (package-arguments icedtea-7)
((#:modules modules)
`((guix build utils)
@@ -1792,12 +1795,21 @@ new Date();"))
(add-after 'unpack 'patch-jni-libs
;; Hardcode dynamically loaded libraries.
(lambda _
- (let* ((library-path (search-path-as-string->list
- (getenv "LIBRARY_PATH")))
+ (define remove
+ (@ (srfi srfi-1) remove))
+
+ (define (icedtea-or-openjdk? path)
+ (or (string-contains path "openjdk")
+ (string-contains path "icedtea")))
+
+ (let* ((library-path (remove icedtea-or-openjdk?
+ (search-path-as-string->list
+ (getenv "LIBRARY_PATH"))))
(find-library (lambda (name)
- (search-path
- library-path
- (string-append "lib" name ".so")))))
+ (or (search-path
+ library-path
+ (string-append "lib" name ".so"))
+ (string-append "lib" name ".so")))))
(for-each
(lambda (file)
(catch 'decoding-error
@@ -1805,9 +1817,9 @@ new Date();"))
(substitute* file
(("VERSIONED_JNI_LIB_NAME\\(\"(.*)\", \"(.*)\"\\)"
_ name version)
- (format #f "\"~a\"" (find-library name)))
+ (string-append "\"" (find-library name) "\""))
(("JNI_LIB_NAME\\(\"(.*)\"\\)" _ name)
- (format #f "\"~a\"" (find-library name)))))
+ (string-append "\"" (find-library name) "\""))))
(lambda _
;; Those are safe to skip.
(format (current-error-port)
@@ -1893,6 +1905,9 @@ new Date();"))
#:imported-modules
((guix build syscalls)
,@%gnu-build-system-modules)
+
+ #:disallowed-references (,icedtea-8 (,icedtea-8 "jdk"))
+
#:phases
(modify-phases %standard-phases
(add-after 'patch-source-shebangs 'fix-java-shebangs
@@ -1931,12 +1946,21 @@ new Date();"))
(add-after 'unpack 'patch-jni-libs
;; Hardcode dynamically loaded libraries.
(lambda _
- (let* ((library-path (search-path-as-string->list
- (getenv "LIBRARY_PATH")))
+ (define remove
+ (@ (srfi srfi-1) remove))
+
+ (define (icedtea-or-openjdk? path)
+ (or (string-contains path "openjdk")
+ (string-contains path "icedtea")))
+
+ (let* ((library-path (remove icedtea-or-openjdk?
+ (search-path-as-string->list
+ (getenv "LIBRARY_PATH"))))
(find-library (lambda (name)
- (search-path
- library-path
- (string-append "lib" name ".so")))))
+ (or (search-path
+ library-path
+ (string-append "lib" name ".so"))
+ (string-append "lib" name ".so")))))
(for-each
(lambda (file)
(catch 'decoding-error
@@ -1944,9 +1968,9 @@ new Date();"))
(substitute* file
(("VERSIONED_JNI_LIB_NAME\\(\"(.*)\", \"(.*)\"\\)"
_ name version)
- (format #f "\"~a\"" (find-library name)))
+ (string-append "\"" (find-library name) "\""))
(("JNI_LIB_NAME\\(\"(.*)\"\\)" _ name)
- (format #f "\"~a\"" (find-library name)))))
+ (string-append "\"" (find-library name) "\""))))
(lambda _
;; Those are safe to skip.
(format (current-error-port)
@@ -2079,7 +2103,9 @@ new Date();"))
"--with-libjpeg=system"
"--with-native-debug-symbols=zipped"
(string-append "--prefix=" (assoc-ref outputs "out")))
- #t))))))
+ #t))))
+ ((#:disallowed-references _ '())
+ `(,openjdk9 (,openjdk9 "jdk")))))
(native-inputs
`(("openjdk9" ,openjdk9)
("openjdk9:jdk" ,openjdk9 "jdk")
@@ -2109,6 +2135,9 @@ new Date();"))
(arguments
`(#:imported-modules ((guix build syscalls)
,@%gnu-build-system-modules)
+
+ #:disallowed-references (,openjdk10 (,openjdk10 "jdk"))
+
#:tests? #f; requires jtreg
;; TODO package jtreg
#:configure-flags
@@ -2139,12 +2168,21 @@ new Date();"))
(add-after 'unpack 'patch-jni-libs
;; Hardcode dynamically loaded libraries.
(lambda _
- (let* ((library-path (search-path-as-string->list
- (getenv "LIBRARY_PATH")))
+ (define remove
+ (@ (srfi srfi-1) remove))
+
+ (define (icedtea-or-openjdk? path)
+ (or (string-contains path "openjdk")
+ (string-contains path "icedtea")))
+
+ (let* ((library-path (remove icedtea-or-openjdk?
+ (search-path-as-string->list
+ (getenv "LIBRARY_PATH"))))
(find-library (lambda (name)
- (search-path
- library-path
- (string-append "lib" name ".so")))))
+ (or (search-path
+ library-path
+ (string-append "lib" name ".so"))
+ (string-append "lib" name ".so")))))
(for-each
(lambda (file)
(catch 'decoding-error
@@ -2152,9 +2190,9 @@ new Date();"))
(substitute* file
(("VERSIONED_JNI_LIB_NAME\\(\"(.*)\", \"(.*)\"\\)"
_ name version)
- (format #f "\"~a\"" (find-library name)))
+ (string-append "\"" (find-library name) "\""))
(("JNI_LIB_NAME\\(\"(.*)\"\\)" _ name)
- (format #f "\"~a\"" (find-library name)))))
+ (string-append "\"" (find-library name) "\""))))
(lambda _
;; Those are safe to skip.
(format (current-error-port)
@@ -2478,14 +2516,14 @@ new Date();"))
(define-public ant/java8
(package (inherit ant-bootstrap)
(name "ant")
- (version "1.10.9")
+ (version "1.10.10")
(source (origin
(method url-fetch)
(uri (string-append "mirror://apache/ant/source/apache-ant-"
version "-src.tar.gz"))
(sha256
(base32
- "0x78434q5ab193ma7ys27m9kwpdgrfzqj00hrf1szwcgk0lzw01z"))
+ "1dhkk9ajc378cln6sj9q0ya8bl9dpyji5xcrl1zq41zx1k6j54g5"))
(modules '((guix build utils)))
(snippet
'(begin
diff --git a/gnu/packages/javascript.scm b/gnu/packages/javascript.scm
index bb3a8063e3..a935d321c5 100644
--- a/gnu/packages/javascript.scm
+++ b/gnu/packages/javascript.scm
@@ -1,7 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2017, 2019, 2020 Ricardo Wurmus <rekado@elephly.net>
-;;; Copyright © 2017, 2018, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2017, 2018, 2020, 2021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2018 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2021 Pierre Neidhardt <mail@ambrevar.xyz>
@@ -557,7 +557,7 @@ external server.")
(define-public mujs
(package
(name "mujs")
- (version "1.1.0")
+ (version "1.1.1")
(source
(origin
(method git-fetch)
@@ -566,7 +566,7 @@ external server.")
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "00j748hzf4azgjgykc8x9xalh70hj1dm8qvqzvldbf08zq0s3n5j"))))
+ (base32 "0ivqz06fq8v36p2gkjh64vgv0gm7nghds0n42vrv7vm46phdffvb"))))
(build-system gnu-build-system)
(arguments
`(#:phases
diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scm
index d79acf0b17..9812162ce1 100644
--- a/gnu/packages/julia-xyz.scm
+++ b/gnu/packages/julia-xyz.scm
@@ -525,7 +525,7 @@ stressing the robustness of differentiation tools.")
`(("julia-staticarrays" ,julia-staticarrays)))
(home-page "https://github.com/JuliaArrays/FillArrays.jl")
(synopsis "Lazy matrix representation")
- (description "This package allows to lazily represent matrices filled with
+ (description "This package lazily represents matrices filled with
a single entry, as well as identity matrices. This package exports the
following types: @code{Eye}, @code{Fill}, @code{Ones}, @code{Zeros},
@code{Trues} and @code{Falses}.")
@@ -699,7 +699,7 @@ implementing both a client and a server.")
(home-page "https://github.com/JuliaIO/IniFile.jl")
(synopsis "Reading Windows-style INI files")
(description "This is a Julia package that defines an IniFile type that
-allows to interface with @file{.ini} files.")
+interfaces with @file{.ini} files.")
(license license:expat)))
(define-public julia-irtools
diff --git a/gnu/packages/less.scm b/gnu/packages/less.scm
index 1057dc2909..e1c93b734c 100644
--- a/gnu/packages/less.scm
+++ b/gnu/packages/less.scm
@@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org>
-;;; Copyright © 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2019–2021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de>
;;;
@@ -33,7 +33,7 @@
(define-public less
(package
(name "less")
- (version "563")
+ (version "581.2")
(source
(origin
(method url-fetch)
@@ -43,7 +43,7 @@
version ".tar.gz")))
(patches (search-patches "less-hurd-path-max.patch"))
(sha256
- (base32 "16lsvk88vwjwp5ax1wnll44wxwnzs8lb2fn90xx2si64kwmnsnyf"))))
+ (base32 "0fyqslvrasv19qjvqrwfwz2n7mnm93y61x9bcx09ga90mxyb8d6f"))))
(build-system gnu-build-system)
(inputs `(("ncurses" ,ncurses)))
(home-page "https://www.gnu.org/software/less/")
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 52579ce1f5..ac70bdf4f0 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -53,6 +53,7 @@
;;; Copyright © 2020 Zhu Zihao <all_but_last@163.com>
;;; Copyright © 2020 David Dashyan <mail@davie.li>
;;; Copyright © 2020 pukkamustard <pukkamustard@posteo.net>
+;;; Copyright © 2021 B. Wilson <elaexuotee@wilsonb.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -130,6 +131,7 @@
#:use-module (gnu packages sdl)
#:use-module (gnu packages serialization)
#:use-module (gnu packages slang)
+ #:use-module (gnu packages sqlite)
#:use-module (gnu packages texinfo)
#:use-module (gnu packages tls)
#:use-module (gnu packages valgrind)
@@ -354,7 +356,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
;; The current "stable" kernels. That is, the most recently released major
;; versions that are still supported upstream.
-(define-public linux-libre-5.11-version "5.11.14")
+(define-public linux-libre-5.11-version "5.11.17")
(define deblob-scripts-5.11
(linux-libre-deblob-scripts
linux-libre-5.11-version
@@ -362,7 +364,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "0yvr80g200hdryz54gdnzj4fl38pf7g4qbgj475rhcfwixhp1j7n")))
(define-public linux-libre-5.11-pristine-source
(let ((version linux-libre-5.11-version)
- (hash (base32 "1ia4wzh44lkvrbvnhdnnjcdyvqx2ihpbwkih7wqm1n5prhq38ql7")))
+ (hash (base32 "18yld85jymb3wf71kd425zzzvriz9wxlw90pklgf91q37r9rxpa1")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-5.11)))
@@ -370,7 +372,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
;; The "longterm" kernels — the older releases with long-term upstream support.
;; Here are the support timelines:
;; <https://www.kernel.org/category/releases.html>
-(define-public linux-libre-5.10-version "5.10.30")
+(define-public linux-libre-5.10-version "5.10.33")
(define deblob-scripts-5.10
(linux-libre-deblob-scripts
linux-libre-5.10-version
@@ -378,12 +380,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "0hh27ccqimagr3aij7ygwikxw66y63sqwd0xlf49bhpjd090r9a7")))
(define-public linux-libre-5.10-pristine-source
(let ((version linux-libre-5.10-version)
- (hash (base32 "0h06lavcbbj9a4dfzca9sprghiq9z33q8i4gh3n2912wmjsnj0nl")))
+ (hash (base32 "05a3bcc6ic9gyhp8bahfrk8xm8pwb6jmgad6nwqgih3icg1xngwk")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-5.10)))
-(define-public linux-libre-5.4-version "5.4.112")
+(define-public linux-libre-5.4-version "5.4.115")
(define deblob-scripts-5.4
(linux-libre-deblob-scripts
linux-libre-5.4-version
@@ -391,12 +393,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "1xghbbnaisjd0k1klbyn1p7r6r4x5a1bpmkm56a3gh2zvw4s7mj8")))
(define-public linux-libre-5.4-pristine-source
(let ((version linux-libre-5.4-version)
- (hash (base32 "190cq97pm0r6s115ay66rjra7fnyn7m4rak89inwhm223931sdmq")))
+ (hash (base32 "1llxk04vlpi7a4ca2f5vlcxfn68n8yhmsar3hsl259i7hms28isv")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-5.4)))
-(define-public linux-libre-4.19-version "4.19.187")
+(define-public linux-libre-4.19-version "4.19.189")
(define deblob-scripts-4.19
(linux-libre-deblob-scripts
linux-libre-4.19-version
@@ -404,12 +406,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "1jiaw0as1ippkrjdpd52657w5mz9qczg3y2hlra7m9k0xawwiqlf")))
(define-public linux-libre-4.19-pristine-source
(let ((version linux-libre-4.19-version)
- (hash (base32 "1hx0jw11xmj57v9a8w34729vgrandaing2n9qkhx5dq4mhy04k50")))
+ (hash (base32 "12a3qn5s66rrbrq5p8dsf7kn0l74q0ahqkl3bmbw1fvyy1fhwyvi")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-4.19)))
-(define-public linux-libre-4.14-version "4.14.230")
+(define-public linux-libre-4.14-version "4.14.232")
(define deblob-scripts-4.14
(linux-libre-deblob-scripts
linux-libre-4.14-version
@@ -417,12 +419,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "1qij18inijj6c3ma8hv98yjagnzxdxyn134da9fd23ky8q6hbvky")))
(define-public linux-libre-4.14-pristine-source
(let ((version linux-libre-4.14-version)
- (hash (base32 "1gn5cs1ss4bfsnnv0b2s4g5ibiigpzsx0i3qfswchdbxvdag75cw")))
+ (hash (base32 "0sa3sz7bznlhijd0iwv37nyrrnw34iq6dq1bqr6cj2wpyrhr7h8x")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-4.14)))
-(define-public linux-libre-4.9-version "4.9.266")
+(define-public linux-libre-4.9-version "4.9.268")
(define deblob-scripts-4.9
(linux-libre-deblob-scripts
linux-libre-4.9-version
@@ -430,12 +432,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "0fxajshb75siq39lj5h8xvhdj8lcmddkslwlyj65rhlwk6g2r4b2")))
(define-public linux-libre-4.9-pristine-source
(let ((version linux-libre-4.9-version)
- (hash (base32 "0qzigcslfp714vaswwlw93xj0h2f8laikppw6krrhfnh5wwrp5dr")))
+ (hash (base32 "0aknrlf5q0dsqib8c9klmf5c60dy7hg2zksb020qvyrp077gcrjv")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-4.9)))
-(define-public linux-libre-4.4-version "4.4.266")
+(define-public linux-libre-4.4-version "4.4.268")
(define deblob-scripts-4.4
(linux-libre-deblob-scripts
linux-libre-4.4-version
@@ -443,7 +445,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "0hhin1jpfkd6nwrb6xqxjzl3hdxy4pn8a15hy2d3d83yw6pflbsf")))
(define-public linux-libre-4.4-pristine-source
(let ((version linux-libre-4.4-version)
- (hash (base32 "00x2dmjiiv9zpc0vih9xqmf78kynqzj9q9v1chc2q2hcjpqfj31c")))
+ (hash (base32 "1srk08kaxq5jjlqx804cgjffhcsrdkv3idh8ipagl6v2w4kas5v8")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-4.4)))
@@ -479,12 +481,17 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(define-public linux-libre-5.11-source
(source-with-patches linux-libre-5.11-pristine-source
(list %boot-logo-patch
- %linux-libre-arm-export-__sync_icache_dcache-patch)))
+ %linux-libre-arm-export-__sync_icache_dcache-patch
+ ;; Pinebook Pro patch to fix LCD display
+ (search-patch
+ "linux-libre-arm64-generic-pinebook-lcd.patch"))))
(define-public linux-libre-5.10-source
(source-with-patches linux-libre-5.10-pristine-source
(list %boot-logo-patch
- %linux-libre-arm-export-__sync_icache_dcache-patch)))
+ %linux-libre-arm-export-__sync_icache_dcache-patch
+ (search-patch
+ "linux-libre-arm64-generic-pinebook-lcd.patch"))))
(define-public linux-libre-5.4-source
(source-with-patches linux-libre-5.4-pristine-source
@@ -1042,7 +1049,11 @@ It has been modified to remove all non-free binary blobs.")
("CONFIG_BATTERY_AXP20X" . m)
("CONFIG_PINCTRL_AXP209" . m)
("CONFIG_AXP20X_POWER" . m)
- ("CONFIG_AXP20X_ADC" . m))
+ ("CONFIG_AXP20X_ADC" . m)
+ ;; Pinebook PRO battery and sound support
+ ("CONFIG_BATTERY_CW2015" . m)
+ ("CONFIG_CHARGER_GPIO" . m)
+ ("CONFIG_SND_SOC_ES8316" . m))
%default-extra-linux-options)))
(define-public linux-libre-arm64-generic-5.10
@@ -1063,7 +1074,11 @@ It has been modified to remove all non-free binary blobs.")
("CONFIG_BATTERY_AXP20X" . m)
("CONFIG_PINCTRL_AXP209" . m)
("CONFIG_AXP20X_POWER" . m)
- ("CONFIG_AXP20X_ADC" . m))
+ ("CONFIG_AXP20X_ADC" . m)
+ ;; Pinebook PRO battery and sound support
+ ("CONFIG_BATTERY_CW2015" . m)
+ ("CONFIG_CHARGER_GPIO" . m)
+ ("CONFIG_SND_SOC_ES8316" . m))
%default-extra-linux-options)))
(define-public linux-libre-arm64-generic-5.4
@@ -1600,6 +1615,12 @@ providing the system administrator with some help in common tasks.")
(string-append "--with-bashcompletiondir="
(assoc-ref %outputs "out")
"/etc/bash_completion.d"))
+
+ ;; FIXME: For now we cannot reliably run tests on GNU/Hurd:
+ ;; <https://bugs.gnu.org/47791>.
+ #:tests? ,(and (not (%current-target-system))
+ (not (string-suffix? "-gnu" (%current-system))))
+
#:phases (modify-phases %standard-phases
(add-before 'configure 'patch-build-scripts
(lambda* (#:key outputs #:allow-other-keys)
@@ -2411,7 +2432,7 @@ that the Ethernet protocol is much simpler than the IP protocol.")
(define-public iproute
(package
(name "iproute2")
- (version "5.10.0")
+ (version "5.12.0")
(source (origin
(method url-fetch)
(uri (string-append
@@ -2419,7 +2440,7 @@ that the Ethernet protocol is much simpler than the IP protocol.")
version ".tar.xz"))
(sha256
(base32
- "1sakmhvh40gh4x55vzgy6cyvizqkhqalcfpvs6r0c14w62p38jm5"))))
+ "0vrjbzhwzcvaxyyhkr2ii89w2vznzwp2pfgk7w72mviniawqs9lx"))))
(build-system gnu-build-system)
(arguments
`( ;; There is a test suite, but it wants network namespaces and sudo.
@@ -4311,14 +4332,14 @@ isolation or root privileges.")
(define-public hdparm
(package
(name "hdparm")
- (version "9.60")
+ (version "9.61")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/hdparm/hdparm/"
"hdparm-" version ".tar.gz"))
(sha256
(base32
- "1k1mcv7naiacw1y6bdd1adnjfiq1kkx2ivsadjwmlkg4fff775w3"))))
+ "0hskvzsg58hw8abkkmxh5kky0hhilv516870x2bq62zihww1q6ns"))))
(build-system gnu-build-system)
(arguments
`(#:make-flags
@@ -4350,7 +4371,7 @@ Translation (@dfn{SAT}) are also supported.")
(define-public nvme-cli
(package
(name "nvme-cli")
- (version "1.13")
+ (version "1.14")
(home-page "https://github.com/linux-nvme/nvme-cli")
(source (origin
(method git-fetch)
@@ -4358,7 +4379,7 @@ Translation (@dfn{SAT}) are also supported.")
(url home-page)
(commit (string-append "v" version))))
(sha256
- (base32 "1d538kp841bjh8h8d9q7inqz56rdcwb3m78zfx8607ddykv7wcqb"))
+ (base32 "0dpadz945482srqpsbfx1bh7rc499fgpyzz1flhk9g9xjbpapkzc"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(arguments
@@ -6842,7 +6863,7 @@ the MTP device as a file system.")
(define-public procenv
(package
(name "procenv")
- (version "0.51")
+ (version "0.55")
(source
(origin
(method git-fetch)
@@ -6851,9 +6872,8 @@ the MTP device as a file system.")
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "1ilrsw1rc85w29mkbkmm5n5w427gapv43yrjzvkb4kc9xhscgdjn"))))
+ (base32 "13fnr4gfj2xlxghw93m5gsxzlwzv3s6jv9hja0w0pb23hlncbmhy"))))
(build-system gnu-build-system)
- (arguments `(#:configure-flags '("--disable-silent-rules")))
(native-inputs
`(("pkg-config" ,pkg-config)
@@ -8031,3 +8051,46 @@ kernel side implementation.")
read-only file system optimized for resource-scarce devices. This package
provides user-space tools for creating EROFS file systems.")
(license license:gpl2+)))
+
+(define-public rasdaemon
+ (package
+ (name "rasdaemon")
+ (version "0.6.6")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/mchehab/rasdaemon")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "13g39x19lfjf9izdcb0nlyfjrgpliivhv4nw3ndgyzi59l3yqc0v"))))
+ (native-inputs `(("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("libtool" ,libtool)))
+ (inputs `(("sqlite" ,sqlite)))
+ (arguments
+ `(#:configure-flags '("--enable-all"
+ "--localstatedir=/var")
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'configure 'munge-autotools
+ (lambda _
+ ;; For some reason upstream forces sysconfdir=/etc. This results
+ ;; in EPERM during the install phase. Removing the offending
+ ;; line lets sysconfdir correctly pick up DESTDIR.
+ (substitute* "configure.ac"
+ (("^test .* sysconfdir=/etc\n$") ""))
+ ;; Upstream tries to create /var/lib/rasdaemon at install time.
+ ;; This results in EPERM on guix. Instead, the service should
+ ;; create this at activation time.
+ (substitute* "Makefile.am"
+ (("^\\s*\\$\\(install_sh\\) -d .*@RASSTATEDIR@.*$") "")))))))
+ (build-system gnu-build-system)
+ (home-page "https://github.com/mchehab/rasdaemon")
+ (synopsis "Platform Reliability, Availability and Serviceability tools")
+ (description "The @code{rasdaemon} program is a daemon which monitors the
+platform Reliablity, Availability and Serviceability (RAS) reports from the
+Linux kernel trace events. These trace events are logged in
+/sys/kernel/debug/tracing, reporting them via syslog/journald.")
+ (license license:gpl2)))
diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm
index 7ee1957169..1ee712e37f 100644
--- a/gnu/packages/lisp-xyz.scm
+++ b/gnu/packages/lisp-xyz.scm
@@ -68,6 +68,7 @@
#:use-module (gnu packages gl)
#:use-module (gnu packages glib)
#:use-module (gnu packages gtk)
+ #:use-module (gnu packages image)
#:use-module (gnu packages imagemagick)
#:use-module (gnu packages libevent)
#:use-module (gnu packages libffi)
@@ -80,6 +81,7 @@
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
#:use-module (gnu packages python-xyz)
+ #:use-module (gnu packages sdl)
#:use-module (gnu packages sqlite)
#:use-module (gnu packages tcl)
#:use-module (gnu packages tls)
@@ -5682,6 +5684,79 @@ basic everyday functions and macros.")
(define-public ecl-fare-utils
(sbcl-package->ecl-package sbcl-fare-utils))
+(define-public sbcl-fare-mop
+ (let ((commit "538aa94590a0354f382eddd9238934763434af30")
+ (revision "1"))
+ (package
+ (name "sbcl-fare-mop")
+ (version (git-version "1.0.1" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/fare/fare-mop")
+ (commit commit)))
+ (file-name (git-file-name "fare-mop" version))
+ (sha256
+ (base32
+ "0maxs8392953fhnaa6zwnm2mdbhxjxipp4g4rvypm06ixr6pyv1c"))))
+ (build-system asdf-build-system/sbcl)
+ (inputs
+ `(("close-mop" ,sbcl-closer-mop)
+ ("fare-utils" ,sbcl-fare-utils)))
+ (home-page "https://github.com/fare/fare-mop")
+ (synopsis "General purpose Common Lisp utilities using the MOP")
+ (description
+ "FARE-MOP is a small collection of utilities using the MetaObject
+Protocol. It notably contains a SIMPLE-PRINT-OBJECT method, and
+a SIMPLE-PRINT-OBJECT-MIXIN mixin that allow you to trivially define
+PRINT-OBJECT methods that print the interesting slots in your objects, which is
+great for REPL interaction and debugging.")
+ (license license:unlicense))))
+
+(define-public ecl-fare-mop
+ (sbcl-package->ecl-package sbcl-fare-mop))
+
+(define-public cl-fare-mop
+ (sbcl-package->cl-source-package sbcl-fare-mop))
+
+(define-public sbcl-inferior-shell
+ (let ((commit "15c2d04a7398db965ea1c3ba2d49efa7c851f2c2")
+ (revision "1"))
+ (package
+ (name "sbcl-inferior-shell")
+ (version (git-version "2.0.5" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/fare/inferior-shell")
+ (commit commit)))
+ (file-name (git-file-name "inferior-shell" version))
+ (sha256
+ (base32 "02qx37zzk5j4xmwh77k2qa2wvnzvaj6qml5dh2q7b6b1ljvgcj4m"))))
+ (build-system asdf-build-system/sbcl)
+ (native-inputs
+ `(("hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
+ (inputs
+ `(("alexandira" ,sbcl-alexandria)
+ ("fare-mop" ,sbcl-fare-mop)
+ ("fare-quasiquote" ,sbcl-fare-quasiquote)
+ ("fare-utils" ,sbcl-fare-utils)
+ ("trivia" ,sbcl-trivia)))
+ (home-page "https://github.com/fare/inferior-shell")
+ (synopsis "Spawn local or remote processes and shell pipes")
+ (description
+ "This package provides a Common Lisp system helping in scripting, it
+uses @code{uiop:run-program} as a backend.")
+ (license license:expat))))
+
+(define-public ecl-inferior-shell
+ (sbcl-package->ecl-package sbcl-inferior-shell))
+
+(define-public cl-inferior-shell
+ (sbcl-package->cl-source-package sbcl-inferior-shell))
+
(define-public sbcl-trivial-utf-8
(let ((commit "4d427cfbb1c452436a0efb71c3205c9da67f718f")
(revision "1"))
@@ -9224,6 +9299,77 @@ for reading and writing JPEG image files.")
(define-public ecl-cl-jpeg
(sbcl-package->ecl-package sbcl-cl-jpeg))
+(define-public sbcl-png
+ (let ((commit "11b965fe378fd0561abe3616b18ff03af5179648")
+ (revision "1"))
+ (package
+ (name "sbcl-png")
+ (version (git-version "0.6" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/ljosa/cl-png")
+ (commit commit)))
+ (file-name (git-file-name "cl-png" version))
+ (sha256
+ (base32 "173hqwpd0rwqf95mfx1h9l9c3i8bb0gvnpspzmmz3g5x3440czy4"))))
+ (build-system asdf-build-system/sbcl)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'fix-lib-paths
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "libpng.lisp"
+ (("\"libpng\"")
+ (string-append "\""
+ (assoc-ref inputs "libpng")
+ "/lib/libpng\""))))))))
+ (inputs
+ `(("cffi" ,sbcl-cffi)
+ ("libpng" ,libpng)))
+ (home-page "https://github.com/ljosa/cl-png")
+ (synopsis "Read and write PNG file format")
+ (description
+ "This package provides a @code{PNG} Common Lisp system to operate with
+Portable Network Graphics file format.")
+ (license license:lgpl2.1))))
+
+(define-public ecl-png
+ (sbcl-package->ecl-package sbcl-png))
+
+(define-public cl-png
+ (sbcl-package->cl-source-package sbcl-png))
+
+(define-public sbcl-cl-svg
+ (let ((commit "1e988ebd2d6e2ee7be4744208828ef1b59e5dcdc")
+ (revision "1"))
+ (package
+ (name "sbcl-cl-svg")
+ (version (git-version "0.0.3" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/wmannis/cl-svg")
+ (commit commit)))
+ (file-name (git-file-name "cl-svg" version))
+ (sha256
+ (base32 "11rmzimy6j7ln7q5y1h2kw1225rsfb6fpn89qjcq7h5lc8fay0wz"))))
+ (build-system asdf-build-system/sbcl)
+ (home-page "https://github.com/wmannis/cl-svg")
+ (synopsis "Write SVG file format")
+ (description
+ "This package provides the @code{CL-SVG} Common Lisp system to produce
+Scalable Vector Graphics files.")
+ (license license:expat))))
+
+(define-public ecl-cl-svg
+ (sbcl-package->ecl-package sbcl-cl-svg))
+
+(define-public cl-svg
+ (sbcl-package->cl-source-package sbcl-cl-svg))
+
(define-public sbcl-nodgui
(let ((commit "4a9c2e7714b278fbe97d198c56f54ea87290001d")
(revision "1"))
@@ -15014,8 +15160,8 @@ protocol for Mastodon.")
(sbcl-package->cl-source-package sbcl-tooter))
(define-public sbcl-croatoan
- (let ((commit "89ecd147cf1548f569f23353b3ab656cfb74de1f")
- (revision "1"))
+ (let ((commit "7077ef14d27e8708515ad8d309886f516e7fbd98")
+ (revision "2"))
(package
(name "sbcl-croatoan")
(version (git-version "0.0.1" revision commit))
@@ -15027,7 +15173,7 @@ protocol for Mastodon.")
(commit commit)))
(file-name (git-file-name "croatoan" version))
(sha256
- (base32 "0pk4mym88531jx0f1zmm6gmvrmdjzj2zcl2cdywdsxvjygr53zyx"))))
+ (base32 "0gf2sjpsdkd9s8imwy2wjrkdx82a5sc4yy9bndlnjlwmdraw4j37"))))
(build-system asdf-build-system/sbcl)
(arguments
'(#:phases
@@ -15880,7 +16026,7 @@ allows one to gradually make their programs safer.")
"Clip is an attempt at a templating library that allows you to write
templates in a way that is both accessible to direct webdesign and
flexible. The main idea is to incorporate transformation commands into an HTML
-file through tags and attributes. Clip is heavily dependant on Plump and
+file through tags and attributes. Clip is heavily dependent on Plump and
lQuery.")
(license license:zlib))))
@@ -15889,3 +16035,252 @@ lQuery.")
(define-public cl-clip
(sbcl-package->cl-source-package sbcl-clip))
+
+(define-public sbcl-pathname-utils
+ (let ((commit "70f517e44e13a38e0c8f296613236376d679fa8f")
+ (revision "1"))
+ (package
+ (name "sbcl-pathname-utils")
+ (version (git-version "1.1.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/Shinmera/pathname-utils")
+ (commit commit)))
+ (file-name (git-file-name "pathname-utils" version))
+ (sha256
+ (base32 "1zm4bf6gajpgmhr7zwf7600zlaf8fs1fcyzabqsh2ma2crkgqdxq"))))
+ (build-system asdf-build-system/sbcl)
+ (native-inputs
+ `(("parachute" ,sbcl-parachute)))
+ (home-page "https://shinmera.github.io/pathname-utils/")
+ (synopsis "Collection of utilities to help with pathname operations")
+ (description
+ "This package provides a Common Lisp system a with collection of common
+tests and operations to help handling pathnames. It does not actually deal in
+handling the accessing of files on the underlying system however.")
+ (license license:zlib))))
+
+(define-public ecl-pathname-utils
+ (sbcl-package->ecl-package sbcl-pathname-utils))
+
+(define-public cl-pathname-utils
+ (sbcl-package->cl-source-package sbcl-pathname-utils))
+
+(define-public sbcl-terrable
+ (let ((commit "e4fe23ffa08e8d53a8168105b413861da59cc786")
+ (revision "1"))
+ (package
+ (name "sbcl-terrable")
+ (version (git-version "1.0.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/Shirakumo/terrable")
+ (commit commit)))
+ (file-name (git-file-name "terrable" version))
+ (sha256
+ (base32 "0pnqflgz410zydc1ivwnd8hcl24bgr7x12yjzr7g4lq3ibc8y97b"))))
+ (build-system asdf-build-system/sbcl)
+ (inputs
+ `(("documentation-utils" ,sbcl-documentation-utils)
+ ("fast-io" ,sbcl-fast-io)
+ ("ieee-floats" ,sbcl-ieee-floats)
+ ("static-vectors" ,sbcl-static-vectors)
+ ("trivial-garbage" ,sbcl-trivial-garbage)))
+ (home-page "https://shirakumo.github.io/terrable/")
+ (synopsis "Parser library for Terragen TER terrain files")
+ (description
+ "This package provides Common Lisp support for reading the Terragen
+@code{.TER} format. The format specification can be found at
+@url{https://planetside.co.uk/wiki/index.php?title=Terragen_.TER_Format}")
+ (license license:zlib))))
+
+(define-public ecl-terrable
+ (sbcl-package->ecl-package sbcl-terrable))
+
+(define-public cl-terrable
+ (sbcl-package->cl-source-package sbcl-terrable))
+
+(define-public sbcl-simple-rgb
+ (let ((commit "ba9b0689362c28aa6a91c0636796c6c372657293")
+ (revision "1"))
+ (package
+ (name "sbcl-simple-rgb")
+ (version (git-version "0.01" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/wmannis/simple-rgb/")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0ggv0h2n4mvwnggjr1b40gw667gnyykzki2zadaczi38ydzyzlp1"))))
+ (build-system asdf-build-system/sbcl)
+ (home-page "https://github.com/wmannis/simple-rgb")
+ (synopsis "Manipulate colors in RGB format")
+ (description
+ "This Common Lisp library focuses on the small set of basic color
+manipulations (lightening, compliments, etc.) you might use to generate a
+color palette for a GUI or web page.")
+ (license license:bsd-2))))
+
+(define-public ecl-simple-rgb
+ (sbcl-package->ecl-package sbcl-simple-rgb))
+
+(define-public cl-simple-rgb
+ (sbcl-package->cl-source-package sbcl-simple-rgb))
+
+(define-public sbcl-cl-qprint
+ (let ((commit "bfe398551cbfb7ca84a9ba59a26a1116ac5c06eb")
+ (revision "1"))
+ (package
+ (name "sbcl-cl-qprint")
+ (version (git-version "0.9.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/eugeneia/cl-qprint/")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "099h0rrdzxnlmn8avi72mg2dl0kccp7w01b2p9nwyy4b8yr32cir"))))
+ (build-system asdf-build-system/sbcl)
+ (inputs
+ `(("flexi-streams" ,sbcl-flexi-streams)))
+ (home-page "https://github.com/eugeneia/cl-qprint/")
+ (synopsis "Implementation of the quoted-printable encoding")
+ (description
+ "This Common Lisp library implements the quoted-printable encoding as
+described in RFC 2045 (see @url{http://tools.ietf.org/html/rfc2045}).")
+ (license license:lgpl2.1))))
+
+(define-public ecl-cl-qprint
+ (sbcl-package->ecl-package sbcl-cl-qprint))
+
+(define-public cl-qprint
+ (sbcl-package->cl-source-package sbcl-cl-qprint))
+
+(define-public sbcl-cl-mime
+ (let ((commit "d30a28e0a40393bd3af7d138daa05319ed2e9d07")
+ (revision "1"))
+ (package
+ (name "sbcl-cl-mime")
+ ;; One commit says "update to cl-mime-0.5.3", even though the .asd is at 0.5.1.
+ (version (git-version "0.5.3" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ ;; Maintained fork according to http://www.cliki.net/CL-MIME:
+ (url "https://github.com/40ants/cl-mime")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0qn8if0fj6vzc897pqqqs0m1y107gmzqngpqhqmwrcsp1ckj5k0v"))))
+ (build-system asdf-build-system/sbcl)
+ (inputs
+ `(("ppcre" ,sbcl-cl-ppcre)
+ ("cl-base64" ,sbcl-cl-base64)
+ ("cl-qprint" ,sbcl-cl-qprint)))
+ (native-inputs
+ `(("rove" ,sbcl-rove)))
+ (home-page "https://github.com/eugeneia/cl-qprint/")
+ (synopsis "Read and print MIME content in Common Lisp")
+ (description
+ "This is a Common Lisp library for reading and printing MIME content.
+It supports automatic conversion between 7-bit, quoted-printable and base64
+encodings.")
+ (license license:lgpl2.1))))
+
+(define-public ecl-cl-mime
+ (sbcl-package->ecl-package sbcl-cl-mime))
+
+(define-public cl-mime
+ (sbcl-package->cl-source-package sbcl-cl-mime))
+
+(define-public sbcl-lispbuilder-sdl
+ (let ((commit "589b3c6d552bbec4b520f61388117d6c7b3de5ab"))
+ (package
+ (name "sbcl-lispbuilder-sdl")
+ (version (git-version "0.9.8.2" "1" commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/lispbuilder/lispbuilder")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0zga59fjlhq3mhwbf80qwqwpkjkxqnn2mhxajlb8563vhn3dbafp"))))
+ (build-system asdf-build-system/sbcl)
+ (inputs
+ `(("cffi" ,sbcl-cffi)
+ ("trivial-garbage" ,sbcl-trivial-garbage)
+ ("sdl" ,sdl)))
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'cd-sdl
+ (lambda _
+ (chdir "lispbuilder-sdl")
+ #t))
+ (add-after 'cd-sdl 'fix-paths
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "cffi/library.lisp"
+ (("libSDL[^\"]*" all)
+ (string-append (assoc-ref inputs "sdl") "/lib/" all)))
+ #t)))))
+ (home-page "https://github.com/lispbuilder/lispbuilder/wiki/LispbuilderSDL")
+ (synopsis "Common Lisp wrapper for SDL")
+ (description
+ "This library is an SDL wrapper as part of an umbrella project that
+provides cross-platform packages for building large, interactive applications
+in Common Lisp.")
+ (license license:expat))))
+
+(define-public ecl-lispbuilder-sdl
+ (sbcl-package->ecl-package sbcl-lispbuilder-sdl))
+
+(define-public cl-lispbuilder-sdl
+ (sbcl-package->cl-source-package sbcl-lispbuilder-sdl))
+
+(define-public sbcl-dufy
+ (package
+ (name "sbcl-dufy")
+ (version "0.4.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/privet-kitty/dufy")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "15vrp1kayhjb5c1vc9x8wlm8rimk73vpa7yc101cf0gsg1fjazl6"))))
+ (build-system asdf-build-system/sbcl)
+ (inputs
+ `(("alexandria" ,sbcl-alexandria)
+ ("ppcre" ,sbcl-cl-ppcre)))
+ (native-inputs
+ `(("fiveam" ,sbcl-fiveam)
+ ("cl-csv" ,sbcl-cl-csv)
+ ("parse-float" ,sbcl-parse-float)
+ ("lispbuilder-sdl" ,sbcl-lispbuilder-sdl)
+ ("lparallel" ,sbcl-lparallel)))
+ (home-page "https://github.com/privet-kitty/dufy")
+ (synopsis "Color library for Common Lisp")
+ (description
+ "Dufy is a library for exact color manipulation and conversion in various
+color spaces, which supports many color models.")
+ (license license:expat)))
+
+(define-public ecl-dufy
+ (sbcl-package->ecl-package sbcl-dufy))
+
+(define-public cl-dufy
+ (sbcl-package->cl-source-package sbcl-dufy))
diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm
index 1d8c1ac601..f5bdd9cfe4 100644
--- a/gnu/packages/lisp.scm
+++ b/gnu/packages/lisp.scm
@@ -847,7 +847,7 @@ enough to play the original mainframe Zork all the way through.")
(define-public txr
(package
(name "txr")
- (version "255")
+ (version "257")
(source
(origin
(method git-fetch)
@@ -856,7 +856,7 @@ enough to play the original mainframe Zork all the way through.")
(commit (string-append "txr-" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "0fjca44761x29xg5hh60yf4i3k7462z7ysnadbk2wzisp42yxk6j"))))
+ (base32 "02lp71m4b0817c3ajrd46jjfm8yycbwxk5ic8s2yxc45ym7q73cj"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags
diff --git a/gnu/packages/llvm.scm b/gnu/packages/llvm.scm
index d35c20e17c..b510f319f9 100644
--- a/gnu/packages/llvm.scm
+++ b/gnu/packages/llvm.scm
@@ -3,7 +3,7 @@
;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016 Dennis Mungai <dmngaie@gmail.com>
-;;; Copyright © 2016, 2018, 2019, 2020 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2016, 2018, 2019, 2020, 2021 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2017 Roel Janssen <roel@gnu.org>
;;; Copyright © 2018, 2019, 2020 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
@@ -476,21 +476,21 @@ output), and Binutils.")
("libc-debug" ,glibc "debug")
("libc-static" ,glibc "static")))))
-(define-public llvm-11
+(define-public llvm-12
(package
(name "llvm")
- (version "11.0.0")
+ (version "12.0.0")
(source
(origin
(method url-fetch)
(uri (llvm-uri "llvm" version))
(sha256
(base32
- "0s94lwil98w7zb7cjrbnxli0z7gklb312pkw74xs1d6zk346hgwi"))))
+ "0l4b79gwfvxild974aigcq1yigypjsk2j5p59syhl6ksd744gp29"))))
(build-system cmake-build-system)
(outputs '("out" "opt-viewer"))
(native-inputs
- `(("python" ,python-2) ;bytes->str conversion in clang>=3.7 needs python-2
+ `(("python" ,python)
("perl" ,perl)))
(inputs
`(("libffi" ,libffi)))
@@ -538,6 +538,45 @@ languages is in development. The compiler infrastructure includes mirror sets
of programming tools as well as libraries with equivalent functionality.")
(license license:asl2.0))) ;with LLVM exceptions, see LICENSE.txt
+(define-public clang-runtime-12
+ (clang-runtime-from-llvm
+ llvm-12
+ "0d444qihq9jhqnfv003cr704v363va72zl6qaw2algj1c85cva45"))
+
+(define-public clang-12
+ (clang-from-llvm llvm-12 clang-runtime-12
+ "1vd9rhhrd8ghdg111lac7w8by71y9l14yh5zxfijsm6lj4p4avp2"
+ #:patches '("clang-11.0-libc-search-path.patch")
+ #:tools-extra
+ (origin
+ (method url-fetch)
+ (uri (llvm-uri "clang-tools-extra"
+ (package-version llvm-12)))
+ (patches
+ (search-patches "clang-12-tools-extra-directory.patch"))
+ (sha256
+ (base32
+ "0p3dzr0qa7mar83y66xa5m5apynf6ia0lsdsq6axwnm64ysy0hdd")))))
+
+(define-public clang-toolchain-12
+ (make-clang-toolchain clang-12))
+
+(define-public llvm-11
+ (package
+ (inherit llvm-12)
+ (version "11.0.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (llvm-uri "llvm" version))
+ (sha256
+ (base32
+ "0s94lwil98w7zb7cjrbnxli0z7gklb312pkw74xs1d6zk346hgwi"))))
+ (native-inputs
+ `(;; TODO: Switch to Python 3 in the next rebuild cycle.
+ ("python" ,python-2)
+ ("perl" ,perl)))))
+
(define-public clang-runtime-11
(clang-runtime-from-llvm
llvm-11
@@ -956,6 +995,97 @@ use with Clang, targeting C++11, C++14 and above.")
`(("clang" ,clang-6)
("llvm" ,llvm-6)))))
+(define-public libcxxabi-6
+ (package
+ (name "libcxxabi")
+ (version "6.0.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/llvm/llvm-project")
+ (commit (string-append "llvmorg-" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0ki6796b5z08kh3a3rbysr5wwb2dkl6wal5dzd03i4li5xfkvx1g"))))
+ (build-system cmake-build-system)
+ (arguments
+ `(#:configure-flags
+ (list (string-append "-DLIBCXXABI_LIBCXX_INCLUDES="
+ (assoc-ref %build-inputs "libcxx")
+ "/include")
+ "-DCMAKE_C_COMPILER=clang"
+ "-DCMAKE_CXX_COMPILER=clang++")
+ #:phases
+ (modify-phases (@ (guix build cmake-build-system) %standard-phases)
+ (add-after 'unpack 'chdir
+ (lambda _ (chdir "libcxxabi")))
+ (add-after 'set-paths 'adjust-CPLUS_INCLUDE_PATH
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let ((gcc (assoc-ref inputs "gcc")))
+ ;; Hide GCC's C++ headers so that they do not interfere with
+ ;; the ones we are attempting to build.
+ (setenv "CPLUS_INCLUDE_PATH"
+ (string-join
+ (cons (string-append
+ (assoc-ref inputs "libcxx") "/include/c++/v1")
+ (delete (string-append gcc "/include/c++")
+ (string-split (getenv "CPLUS_INCLUDE_PATH")
+ #\:)))
+ ":"))
+ (format #true
+ "environment variable `CPLUS_INCLUDE_PATH' changed to ~a~%"
+ (getenv "CPLUS_INCLUDE_PATH")))))
+ (add-after 'install 'install-headers
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((include-dir (string-append
+ (assoc-ref outputs "out") "/include")))
+ (install-file "../libcxxabi/include/__cxxabi_config.h" include-dir)
+ (install-file "../libcxxabi/include/cxxabi.h" include-dir)))))))
+ (native-inputs
+ `(("clang" ,clang-6)
+ ("llvm" ,llvm-6)
+ ("libcxx" ,libcxx-6)))
+ (home-page "https://libcxxabi.llvm.org")
+ (synopsis "C++ standard library support")
+ (description
+ "This package provides an implementation of low level support for a
+standard C++ library.")
+ (license license:expat)))
+
+(define-public libcxx+libcxxabi-6
+ (package
+ (inherit libcxx-6)
+ (name "libcxx+libcxxabi")
+ (version (package-version libcxx-6))
+ (arguments
+ `(#:configure-flags
+ (list "-DLIBCXX_CXX_ABI=libcxxabi"
+ (string-append "-DLIBCXX_CXX_ABI_INCLUDE_PATHS="
+ (assoc-ref %build-inputs "libcxxabi")
+ "/include"))
+ #:phases
+ (modify-phases (@ (guix build cmake-build-system) %standard-phases)
+ (add-after 'set-paths 'adjust-CPLUS_INCLUDE_PATH
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let ((gcc (assoc-ref inputs "gcc")))
+ ;; Hide GCC's C++ headers so that they do not interfere with
+ ;; the ones we are attempting to build.
+ (setenv "CPLUS_INCLUDE_PATH"
+ (string-join
+ (delete (string-append gcc "/include/c++")
+ (string-split (getenv "CPLUS_INCLUDE_PATH")
+ #\:))
+ ":"))
+ (format #true
+ "environment variable `CPLUS_INCLUDE_PATH' changed to ~a~%"
+ (getenv "CPLUS_INCLUDE_PATH"))))))))
+ (native-inputs
+ `(("clang" ,clang-6)
+ ("llvm" ,llvm-6)
+ ("libcxxabi" ,libcxxabi-6)))))
+
(define-public libclc
(package
(name "libclc")
diff --git a/gnu/packages/lua.scm b/gnu/packages/lua.scm
index 0a1ca19a6f..ebea69eb9a 100644
--- a/gnu/packages/lua.scm
+++ b/gnu/packages/lua.scm
@@ -1173,7 +1173,7 @@ enabled.")
(define-public fennel
(package
(name "fennel")
- (version "0.8.1")
+ (version "0.9.1")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -1182,7 +1182,7 @@ enabled.")
(file-name (git-file-name name version))
(sha256
(base32
- "0n0xkgzlrwpppm5vbvn84mq418xhmyakk9hakdmjv1lk2dfdq2g7"))
+ "07qgycf5cxm9zcc4fgpgvplg95ndavh3ynpdjpvzkikzbnyj7xia"))
(modules '((guix build utils)))
(snippet
'(begin
diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm
index ddd600d0f0..837ebbba67 100644
--- a/gnu/packages/machine-learning.scm
+++ b/gnu/packages/machine-learning.scm
@@ -915,13 +915,13 @@ for scientific computing and data science (e.g. BLAS and OpenMP).")
(define-public python-pynndescent
(package
(name "python-pynndescent")
- (version "0.4.8")
+ (version "0.5.2")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pynndescent" version))
(sha256
- (base32 "0li1fclif50v6xrq7wh3lif9vv5jpj7xhrb0z6g89wwjnp9b9833"))))
+ (base32 "0w87c2v0li2rdbx6qfc2lb6y6bxpdy3jwfgzfs1kcr4d1chj5zfr"))))
(build-system python-build-system)
(native-inputs
`(("python-nose" ,python-nose)))
@@ -941,7 +941,7 @@ for k-neighbor-graph construction and approximate nearest neighbor search.")
(define-public python-opentsne
(package
(name "python-opentsne")
- (version "0.4.4")
+ (version "0.5.2")
(source
(origin
;; No tests in the PyPI tarball.
@@ -951,7 +951,7 @@ for k-neighbor-graph construction and approximate nearest neighbor search.")
(commit (string-append "v" version))))
(file-name (string-append name "-" version "-checkout"))
(sha256
- (base32 "08wamsssmyf6511cbmglm67dp48i6xazs89m1cskdk219v90bc76"))))
+ (base32 "1hl42wmafydk4fxdx05l180k3canmqw8h9r20fsqq2aq440b09gh"))))
(build-system python-build-system)
(arguments
`(#:phases
diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
index c8f29b80d6..dc9c21f361 100644
--- a/gnu/packages/mail.scm
+++ b/gnu/packages/mail.scm
@@ -17,7 +17,7 @@
;;; Copyright © 2016, 2017 Troy Sankey <sankeytms@gmail.com>
;;; Copyright © 2016, 2017, 2018 Nikita <nikita@n0.is>
;;; Copyright © 2016 Clément Lassieur <clement@lassieur.org>
-;;; Copyright © 2016, 2017, 2018, 2019, 2020 Arun Isaac <arunisaac@systemreboot.net>
+;;; Copyright © 2016, 2017, 2018, 2019, 2020, 2021 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2016 John Darrington <jmd@gnu.org>
;;; Copyright © 2016, 2018 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
@@ -129,6 +129,7 @@
#:use-module (gnu packages python-web)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages ragel)
+ #:use-module (gnu packages regex)
#:use-module (gnu packages rdf)
#:use-module (gnu packages readline)
#:use-module (gnu packages ruby)
@@ -492,7 +493,7 @@ to run without any changes.")
(define-public fetchmail
(package
(name "fetchmail")
- (version "6.4.18")
+ (version "6.4.19")
(source
(origin
(method url-fetch)
@@ -500,7 +501,7 @@ to run without any changes.")
(version-major+minor version) "/"
"fetchmail-" version ".tar.xz"))
(sha256
- (base32 "17r5zfk9yh7jhgdb360dlzx5fx9lsbmalasx6zgxw9v9vjycjb9h"))))
+ (base32 "0pvbknpimf38ws4gskad79wd1cvy62kcsjy65sm0rr83s6ii33fd"))))
(build-system gnu-build-system)
(inputs
`(("openssl" ,openssl)))
@@ -3659,7 +3660,7 @@ operators and scripters.")
(define-public alpine
(package
(name "alpine")
- (version "2.24")
+ (version "2.24.1")
(source
(origin
(method git-fetch)
@@ -3672,7 +3673,7 @@ operators and scripters.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "0d5ybnsv29gs8krl66db56avmssq28jlg0qj5i1wka05ncc3740d"))
+ (base32 "0dvp6m9xdxycc2lh4cbp6wvq0bkqmmkzs4c4aqsa321p7y03vs9q"))
(modules '((guix build utils)))
(snippet
'(begin
@@ -4375,3 +4376,82 @@ black lists. Each message is analysed by Rspamd and given a spam
score.")
(home-page "https://www.rspamd.com/")
(license license:asl2.0)))
+
+(define-public crm114
+ (package
+ (name "crm114")
+ (version "20100106")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "http://crm114.sourceforge.net/tarballs/crm114-"
+ version "-BlameMichelson.src.tar.gz"))
+ (sha256
+ (base32
+ "0awcjc5j2mclkkpbjyijj9mv8xjz3haljvaj0fyc4fm4xir68qpv"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:modules ((guix build gnu-build-system)
+ ((guix build emacs-build-system) #:prefix emacs:)
+ (guix build utils)
+ (ice-9 string-fun))
+ #:imported-modules (,@%gnu-build-system-modules
+ (guix build emacs-build-system)
+ (guix build emacs-utils))
+ #:make-flags (list (string-append "prefix=" %output)
+ "LDFLAGS=") ; disable static linking
+ ;; Test suite is not fully automated. It requires a human to read the
+ ;; results and determine if the tests have passed.
+ #:tests? #f
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure)
+ (add-before 'build 'fix-build
+ (lambda _
+ ;; Inline functions can only be used from the same compilation
+ ;; unit. This causes the build to fail.
+ (substitute* "crm_svm_matrix.c"
+ (("^inline ") ""))))
+ (add-before 'install 'pre-install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ ;; Install maillib.crm library.
+ (install-file "maillib.crm" (string-append out "/share/crm"))
+ ;; Set absolute store paths.
+ (substitute* "mailreaver.crm"
+ (("insert maillib.crm")
+ (string-append "insert " out "/share/crm/maillib.crm"))
+ (("\\\\/bin\\\\/ls")
+ (string-replace-substring (which "ls") "/" "\\/"))
+ ((":\\*:trainer_invoke_command:")
+ (string-append out "/bin/mailtrainer.crm")))
+ ;; Install mail related crm scripts.
+ (for-each (lambda (file)
+ (install-file file (string-append out "/bin")))
+ (list "mailfilter.crm" "mailreaver.crm" "mailtrainer.crm"))
+ ;; Create emacs site-lisp directory so that the install phase
+ ;; can install crm-mode.
+ (mkdir-p (string-append out "/share/emacs/site-lisp")))))
+ ;; Run phases from the emacs build system.
+ (add-after 'install 'make-autoloads
+ (assoc-ref emacs:%standard-phases 'make-autoloads))
+ (add-after 'make-autoloads 'enable-autoloads-compilation
+ (assoc-ref emacs:%standard-phases 'enable-autoloads-compilation))
+ (add-after 'enable-autoloads-compilation 'emacs-build
+ (assoc-ref emacs:%standard-phases 'build))
+ (add-after 'emacs-build 'validate-compiled-autoloads
+ (assoc-ref emacs:%standard-phases 'validate-compiled-autoloads)))))
+ (inputs
+ `(("tre" ,tre)))
+ (native-inputs
+ `(("emacs" ,emacs-minimal)))
+ (home-page "http://crm114.sourceforge.net/")
+ (synopsis "Controllable regex mutilator")
+ (description "CRM114 is a system to examine incoming e-mail, system log
+streams, data files or other data streams, and to sort, filter, or alter the
+incoming files or data streams according to the user's wildest desires.
+Criteria for categorization of data can be via a host of methods, including
+regexes, approximate regexes, a Hidden Markov Model, Orthogonal Sparse
+Bigrams, WINNOW, Correllation, KNN/Hyperspace, or Bit Entropy (or by other
+means--it's all programmable).")
+ (license license:gpl3)))
diff --git a/gnu/packages/mate.scm b/gnu/packages/mate.scm
index 44420147a3..82b2d6e0fd 100644
--- a/gnu/packages/mate.scm
+++ b/gnu/packages/mate.scm
@@ -3,7 +3,7 @@
;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2017 Nikita <nikita@n0.is>
;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
-;;; Copyright © 2019, 2020 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2019, 2020, 2021 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2019 Guy Fleury Iteriteka <hoonandon@gmail.com>
;;; Copyright © 2020 Jonathan Brielmaier <jonathan.brielmaier@web.de>
;;; Copyright © 2020 Mathieu Othacehe <m.othacehe@gmail.com>
@@ -1580,6 +1580,9 @@ used to bring up authentication dialogs.")
("shared-mime-info" ,shared-mime-info)
("yelp" ,yelp)
("zenity" ,zenity)))
+ (propagated-inputs
+ ;; Default font that applications such as IceCat require.
+ `(("font-dejavu" ,font-dejavu)))
(synopsis "The MATE desktop environment")
(home-page "https://mate-desktop.org/")
(description
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index 758f0a5c32..4f5e0e5cf7 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -3608,7 +3608,7 @@ point numbers.")
(define-public wxmaxima
(package
(name "wxmaxima")
- (version "21.02.0")
+ (version "21.04.0")
(source
(origin
(method git-fetch)
@@ -3617,7 +3617,7 @@ point numbers.")
(commit (string-append "Version-" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "19sab596ydwz65151bwymnfilyfmr8qcxb0k8cxlnj1gmdldlyz6"))))
+ (base32 "0xj95zk16x8kac8qhzd5kvf3b00x7hgdw85da9ww63xyndvhh2lw"))))
(build-system cmake-build-system)
(native-inputs
`(("gettext" ,gettext-minimal)))
@@ -4480,7 +4480,7 @@ evaluates expressions using the standard order of operations.")
(define-public xaos
(package
(name "xaos")
- (version "4.0")
+ (version "4.2.1")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -4489,7 +4489,7 @@ evaluates expressions using the standard order of operations.")
(file-name (git-file-name name version))
(sha256
(base32
- "00110p5xscjsmn7avfqgydn656zbmdj3l3y2fpv9b4ihzpid8n7a"))))
+ "0maw5am6rrkyjrprfg113zjq37mqj0iaznkg4h2927ff7wrprc94"))))
(build-system gnu-build-system)
(native-inputs `(("gettext" ,gettext-minimal)
("qtbase" ,qtbase)
@@ -4512,12 +4512,14 @@ evaluates expressions using the standard order of operations.")
(replace 'configure
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
- ;; The DESTDIR is originally set to install the xaos binary to
- ;; the "bin" folder inside the build directory. Setting make
- ;; flags doesn't seem to change this.
(substitute* "XaoS.pro"
+ ;; The DESTDIR is originally set to install the xaos binary to
+ ;; the "bin" folder inside the build directory. Setting make
+ ;; flags doesn't seem to change this.
(("DESTDIR.*$")
- (string-append "DESTDIR=" out "/bin")))
+ (string-append "DESTDIR=" out "/bin"))
+ ;; Set the correct path to the lrelease binary.
+ (("lrelease-qt5") "lrelease"))
(substitute* "src/include/config.h"
(("/usr/share/XaoS")
(string-append out "/share/XaoS")))
diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index 1cb78aa9b3..c356498fd2 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -2743,7 +2743,7 @@ social and chat platform.")
(define-public psi-plus
(package
(name "psi-plus")
- (version "1.5.1482")
+ (version "1.5.1484")
(source
(origin
(method git-fetch)
@@ -2757,7 +2757,7 @@ social and chat platform.")
`(begin
(delete-file-recursively "3rdparty")))
(sha256
- (base32 "0lcx616hchwf492m1dm8ddb4qd2pmgf703ajnnb0y9ky99kgg8q2"))))
+ (base32 "1jsm39nzzbqkp3zc0xqx7jid6p4q1ra28xad38wjr2l1jb8qjn24"))))
(build-system qt-build-system)
(arguments
`(#:tests? #f ; No target
diff --git a/gnu/packages/mtools.scm b/gnu/packages/mtools.scm
index ba2dbdb0fd..6e662a80c6 100644
--- a/gnu/packages/mtools.scm
+++ b/gnu/packages/mtools.scm
@@ -1,7 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013 John Darrington <jmd@gnu.org>
;;; Copyright © 2015, 2019 Ludovic Courtès <ludo@gnu.org>
-;;; Copyright © 2018, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2018, 2020, 2021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Efraim Flashner <efraim@flashner.co.il>
;;;
;;; This file is part of GNU Guix.
@@ -29,14 +29,14 @@
(define-public mtools
(package
(name "mtools")
- (version "4.0.26")
+ (version "4.0.27")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/mtools/mtools-"
version ".tar.bz2"))
(sha256
(base32
- "06pabnjc4r2vv3dzfm6q97g6jbp2k5bhmcdwv2cf25ka8y5ir7sk"))
+ "1crqi10adwfahj8xyw60lx70hkpcc5g00b5r8277cm2f4kcwi24w"))
(patches
(search-patches "mtools-mformat-uninitialized.patch"))))
(build-system gnu-build-system)
diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
index 265b8fdccf..7840e8399a 100644
--- a/gnu/packages/music.scm
+++ b/gnu/packages/music.scm
@@ -453,7 +453,7 @@ playing your music.")
(define-public strawberry
(package
(name "strawberry")
- (version "0.9.2")
+ (version "0.9.3")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -462,7 +462,7 @@ playing your music.")
(file-name (git-file-name name version))
(sha256
(base32
- "0d9asg21j9ai23sb35cimws8bd8fsnpha777rgscraa7i09q0rx2"))
+ "0lby5zi66i08s0mcygja8l3rbd97inhaxqbhahj8lfxs52r4grrq"))
(modules '((guix build utils)
(ice-9 regex)))
(snippet
@@ -5997,7 +5997,7 @@ It can also play and mix samples.")
#:make-flags
(list (string-append "PREFIX="
(assoc-ref %outputs "out"))
- "CC=gcc")
+ (string-append "CC=" ,(cc-for-target)))
#:phases
(modify-phases %standard-phases
(delete 'configure))))
diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
index f7557fc331..69b223fb66 100644
--- a/gnu/packages/networking.scm
+++ b/gnu/packages/networking.scm
@@ -1421,14 +1421,14 @@ of the same name.")
(define-public wireshark
(package
(name "wireshark")
- (version "3.4.4")
+ (version "3.4.5")
(source
(origin
(method url-fetch)
(uri (string-append "https://www.wireshark.org/download/src/wireshark-"
version ".tar.xz"))
(sha256
- (base32 "0aad3m8nh4i75dgjs68217135bzqmhmlgjklmpjh1ihmjwgd373j"))))
+ (base32 "0cyk8nqws9gp8p2ywszbynh8vawivnbhw60dhmy21qd1038sy6ny"))))
(build-system cmake-build-system)
(arguments
`(#:phases
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 44ca0c67e2..427ea38ccc 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -6373,15 +6373,15 @@ variants.")
(synopsis
"Executable code blocks inside markdown files")
(description
- "@code{ocaml-mdx} allows to execute code blocks inside markdown files.
+ "@code{ocaml-mdx} executes code blocks inside markdown files.
There are (currently) two sub-commands, corresponding
to two modes of operations: pre-processing (@code{ocaml-mdx pp})
and tests (@code{ocaml-mdx test}]).
-The pre-processor mode allows to mix documentation and code,
+The pre-processor mode allows mixing documentation and code,
and to practice @dfn{literate programming} using markdown and OCaml.
-The test mode allows to ensure that shell scripts and OCaml fragments
+The test mode ensures that shell scripts and OCaml fragments
in the documentation always stays up-to-date.
@code{ocaml-mdx} is released as two binaries called @code{ocaml-mdx} and
diff --git a/gnu/packages/orange.scm b/gnu/packages/orange.scm
new file mode 100644
index 0000000000..942e194739
--- /dev/null
+++ b/gnu/packages/orange.scm
@@ -0,0 +1,209 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2021 Vinicius Monego <monego@posteo.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 orange)
+ #:use-module ((guix licenses) #:prefix license:)
+ #:use-module (guix packages)
+ #:use-module (guix download)
+ #:use-module (guix build-system python)
+ #:use-module (gnu packages)
+ #:use-module (gnu packages freedesktop)
+ #:use-module (gnu packages graph)
+ #:use-module (gnu packages machine-learning)
+ #:use-module (gnu packages python-crypto)
+ #:use-module (gnu packages python-science)
+ #:use-module (gnu packages python-web)
+ #:use-module (gnu packages python-xyz)
+ #:use-module (gnu packages qt))
+
+(define-public python-orange-canvas-core
+ (package
+ (name "python-orange-canvas-core")
+ (version "0.1.19")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "orange-canvas-core" version))
+ (sha256
+ (base32 "03wav2msfm32y8zwq69v1v6qyh1ld76xla2z60avf49yhbwjgwal"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-before 'check 'check-setup
+ (lambda _
+ ;; This test fails with: RuntimeError: Event loop is closed.
+ (substitute* "orangecanvas/application/tests/test_mainwindow.py"
+ (("test_help_requests") "_test_help_requests"))
+ (setenv "HOME" "/tmp")
+ (setenv "QT_QPA_PLATFORM" "offscreen")
+ #t)))))
+ (propagated-inputs
+ `(("python-anyqt" ,python-anyqt)
+ ("python-cachecontrol" ,python-cachecontrol)
+ ("python-commonmark" ,python-commonmark)
+ ("python-dictdiffer" ,python-dictdiffer)
+ ("python-docutils" ,python-docutils)
+ ("python-pyqt" ,python-pyqt)
+ ("python-qasync" ,python-qasync)
+ ("python-requests" ,python-requests)))
+ (home-page "https://github.com/biolab/orange-canvas-core")
+ (synopsis "Core component of Orange Canvas")
+ (description
+ "Orange Canvas Core is a framework for building graphical user interfaces
+for editing workflows. It is a component used to build the Orange Canvas
+data-mining application.")
+ (license license:gpl3)))
+
+(define-public python-orange-widget-base
+ (package
+ (name "python-orange-widget-base")
+ (version "4.12.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "orange-widget-base" version))
+ (sha256
+ (base32 "13sy3s8rdqs3i3ghixljpqvnfz81qmbb0kqlasw39zvf39qc22kz"))))
+ (build-system python-build-system)
+ (arguments
+ `(;; unittest fails to load one test, all other tests are passing:
+ ;; AttributeError: module 'orangewidget' has no attribute 'version'.
+ #:tests? #f
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'check 'check-setup
+ (lambda _
+ (setenv "HOME" "/tmp")
+ (setenv "QT_QPA_PLATFORM" "offscreen")
+ #t)))))
+ (propagated-inputs
+ `(("python-anyqt" ,python-anyqt)
+ ("python-matplotlib" ,python-matplotlib)
+ ("python-orange-canvas-core"
+ ,python-orange-canvas-core)
+ ("python-pyqtgraph" ,python-pyqtgraph)))
+ (home-page "https://github.com/biolab/orange-widget-base")
+ (synopsis "Base Widget for Orange Canvas")
+ (description
+ "Orange Widget Base provides a base widget component for a interactive
+GUI based workflow. It is primarily used in the Orange framework.")
+ (license license:gpl3+)))
+
+(define-public orange
+ (package
+ (name "orange")
+ (version "3.28.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "Orange3" version))
+ (sha256
+ (base32 "1ac4xjjkx06z10hl7k0zh1z3qhkl5vng15l9jkpkmck9spinbzil"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'preparations
+ (lambda _
+ ;; Delete test that opens an outgoing connection.
+ (delete-file "Orange/tests/test_url_reader.py")
+ ;; This is a binary data file and it breaks runpath validation.
+ (delete-file "Orange/tests/datasets/binary-blob.tab")
+ ;; Skip the test which uses that binary file.
+ (substitute* "Orange/tests/test_txt_reader.py"
+ (("test_read_nonutf8_encoding") "_test_read_nonutf8_encoding"))
+ ;; We use a correct version of PyQtWebEngine, but the build scripts
+ ;; consider it incorrect anyways. Remove the constraint entirely to
+ ;; work around this bug.
+ (substitute* "requirements-gui.txt" (("PyQtWebEngine>=5.12") ""))
+ #t))
+ (add-before 'check 'set-HOME
+ ;; Tests need a writable home.
+ (lambda _ (setenv "HOME" "/tmp") #t))
+ (add-after 'install 'wrap-executable
+ ;; Ensure that icons are found at runtime.
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ (wrap-program (string-append out "/bin/orange-canvas")
+ `("QT_PLUGIN_PATH" prefix
+ ,(list (string-append (assoc-ref inputs "qtsvg")
+ "/lib/qt5/plugins/")))))
+ #t)))))
+ (native-inputs
+ `(("python-cython" ,python-cython)))
+ (inputs
+ `(("python-anyqt" ,python-anyqt)
+ ("python-baycomp" ,python-baycomp)
+ ("python-bottleneck" ,python-bottleneck)
+ ("python-chardet" ,python-chardet)
+ ("python-httpx" ,python-httpx)
+ ("python-joblib" ,python-joblib)
+ ("python-keyring" ,python-keyring)
+ ("python-keyrings.alt" ,python-keyrings.alt)
+ ("python-louvain" ,python-louvain)
+ ("python-matplotlib" ,python-matplotlib)
+ ("python-networkx" ,python-networkx)
+ ("python-numpy" ,python-numpy)
+ ("python-openpyxl" ,python-openpyxl)
+ ("python-opentsne" ,python-opentsne)
+ ("python-orange-canvas-core"
+ ,python-orange-canvas-core)
+ ("python-orange-widget-base"
+ ,python-orange-widget-base)
+ ("python-pandas" ,python-pandas)
+ ("python-pyqt" ,python-pyqt)
+ ("python-pyqtgraph" ,python-pyqtgraph)
+ ("python-pyqtwebengine" ,python-pyqtwebengine)
+ ("python-pyyaml" ,python-pyyaml)
+ ("python-requests" ,python-requests)
+ ("python-scikit-learn" ,python-scikit-learn)
+ ("python-scipy" ,python-scipy)
+ ("python-serverfiles" ,python-serverfiles)
+ ("python-xlrd" ,python-xlrd)
+ ("python-xlsxwriter" ,python-xlsxwriter)
+ ("qtbase" ,qtbase)
+ ("qtsvg" ,qtsvg)
+ ("xdg-utils" ,xdg-utils)))
+ (home-page "https://orangedatamining.com/")
+ (synopsis "Component-based data mining framework")
+ (description
+ "Orange is a component-based, graphical framework for machine learning,
+data analysis, data mining and data visualization.")
+ (license license:gpl3+)))
+
+(define-public python-serverfiles
+ (package
+ (name "python-serverfiles")
+ (version "0.3.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "serverfiles" version))
+ (sha256
+ (base32 "1qgbzgnaxj4wsp2rdas53qxsh0j7xpibq25w6lviwyaqwwrgq42y"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-requests" ,python-requests)))
+ (home-page "https://github.com/biolab/serverfiles")
+ (synopsis "Utility to access files on a HTTP server and store them locally")
+ (description
+ "This package provides an utility that accesses files on a HTTP server
+and stores them locally for reuse. It is primarily used by the Orange
+framework.")
+ (license license:gpl3+)))
diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm
index 08050e9747..4ac10cd4ba 100644
--- a/gnu/packages/package-management.scm
+++ b/gnu/packages/package-management.scm
@@ -1049,8 +1049,8 @@ environments.")
(license (list license:gpl3+ license:agpl3+ license:silofl1.1))))
(define-public guix-build-coordinator
- (let ((commit "6fb5eafc33efa109b220efe71594cfcdb2efe133")
- (revision "24"))
+ (let ((commit "1305724c7ea3c2bb3e557918d5a1b17d572aa110")
+ (revision "27"))
(package
(name "guix-build-coordinator")
(version (git-version "0" revision commit))
@@ -1061,7 +1061,7 @@ environments.")
(commit commit)))
(sha256
(base32
- "1lf7jry18kwglvyakfkmi8bif8ppsdinl0xjgmkgkp4mvmymh2gj"))
+ "179n33mkhl6f2fv0gyn7sdm3k4hhm1hvca6dgc923d0w7zv4p577"))
(file-name (string-append name "-" version "-checkout"))))
(build-system gnu-build-system)
(arguments
@@ -1096,6 +1096,7 @@ environments.")
"guile-lib"
"guile-lzlib"
"guile-zlib"
+ "guile-sqlite3"
"gnutls"
,@(if (hurd-target?)
'()
diff --git a/gnu/packages/parallel.scm b/gnu/packages/parallel.scm
index 05964cd038..17e2a7f7fe 100644
--- a/gnu/packages/parallel.scm
+++ b/gnu/packages/parallel.scm
@@ -57,14 +57,14 @@
(define-public parallel
(package
(name "parallel")
- (version "20210322")
+ (version "20210422")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://gnu/parallel/parallel-"
version ".tar.bz2"))
(sha256
- (base32 "152np0jg4n94sbl2p2fzxjfnssiyp5sg7r5wx6s8p893b921pxwq"))))
+ (base32 "1s4ynlsh5fr5vxcf5xm45fcfyzp62zclzjq5b7rbwrs4chxnlgmy"))))
(build-system gnu-build-system)
(arguments
`(#:phases
@@ -198,7 +198,12 @@ execution is also possible.")
,@(if (target-64bit?) '() '("--enable-deprecated")))
#:phases
(modify-phases %standard-phases
- (add-after 'unpack 'autoconf
+ (add-after 'unpack 'patch-plugin-linker-flags
+ (lambda _
+ (substitute* (find-files "src/plugins/" "Makefile.in")
+ (("_la_LDFLAGS = ")
+ "_la_LDFLAGS = ../../../api/libslurm.la "))))
+ (add-after 'patch-plugin-linker-flags 'autoconf
(lambda _ (invoke "autoconf"))) ;configure.ac was patched
(add-after 'install 'install-libpmi
(lambda _
diff --git a/gnu/packages/password-utils.scm b/gnu/packages/password-utils.scm
index d7942a0f8b..ef091fd126 100644
--- a/gnu/packages/password-utils.scm
+++ b/gnu/packages/password-utils.scm
@@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015 Steve Sprang <scs@stevesprang.com>
-;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020, 2021 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2015 Aljosha Papsch <misc@rpapsch.de>
;;; Copyright © 2016 Christopher Allan Webber <cwebber@dustycloud.org>
;;; Copyright © 2016 Jessica Tallon <tsyesika@tsyesika.se>
@@ -136,19 +136,18 @@ human.")
(base32 "0azq20rqsx7axrigha4qh81ipvhqnnlb27w3xdjg5z4h3jky4dp5"))))
(build-system cmake-build-system)
(arguments
- '(#:configure-flags '("-DWITH_XC_ALL=YES"
+ `(#:modules ((guix build cmake-build-system)
+ (guix build qt-utils)
+ (guix build utils))
+ #:imported-modules (,@%cmake-build-system-modules
+ (guix build qt-utils))
+ #:configure-flags '("-DWITH_XC_ALL=YES"
"-DWITH_XC_UPDATECHECK=NO")
#:phases
(modify-phases %standard-phases
- (add-after 'install 'wrap-bin
- (lambda* (#:key outputs inputs #:allow-other-keys)
- (let ((out (assoc-ref outputs "out")))
- (wrap-program (string-append out "/bin/keepassxc")
- `("QT_PLUGIN_PATH" ":" prefix
- ,(map (lambda (label)
- (string-append (assoc-ref inputs label)
- "/lib/qt5/plugins"))
- '("qtbase" "qtsvg")))))
+ (add-after 'install 'wrap-qt
+ (lambda* (#:key outputs #:allow-other-keys)
+ (wrap-qt-program (assoc-ref outputs "out") "keepassxc")
#t)))))
(native-inputs
`(("asciidoctor" ,ruby-asciidoctor)
diff --git a/gnu/packages/patches/clang-12-tools-extra-directory.patch b/gnu/packages/patches/clang-12-tools-extra-directory.patch
new file mode 100644
index 0000000000..0a236da26e
--- /dev/null
+++ b/gnu/packages/patches/clang-12-tools-extra-directory.patch
@@ -0,0 +1,16 @@
+Help CMake locate the "tools-extra" directory.
+
+Taken from <https://bugs.llvm.org/show_bug.cgi?id=49990#c3>.
+
+diff --git a/clang-tools-extra/clangd/quality/CompletionModel.cmake b/clang-tools-extra/clangd/quality/CompletionModel.cmake
+--- a/clangd/quality/CompletionModel.cmake
++++ b/clangd/quality/CompletionModel.cmake
+@@ -5,7 +5,7 @@
+ # will define a C++ class called ${cpp_class} - which may be a
+ # namespace-qualified class name.
+ function(gen_decision_forest model filename cpp_class)
+- set(model_compiler ${CMAKE_SOURCE_DIR}/../clang-tools-extra/clangd/quality/CompletionModelCodegen.py)
++ set(model_compiler ${CMAKE_CURRENT_LIST_DIR}/quality/CompletionModelCodegen.py)
+
+ set(output_dir ${CMAKE_CURRENT_BINARY_DIR})
+ set(header_file ${output_dir}/${filename}.h)
diff --git a/gnu/packages/patches/gimp-make-gegl-introspect-optional.patch b/gnu/packages/patches/gimp-make-gegl-introspect-optional.patch
deleted file mode 100644
index 4dd1ab74a8..0000000000
--- a/gnu/packages/patches/gimp-make-gegl-introspect-optional.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-From 2cae9b9acf9da98c4c9990819ffbd5aabe23017e Mon Sep 17 00:00:00 2001
-From: Jehan <jehan@girinstud.io>
-Date: Mon, 14 Dec 2020 19:53:38 +0100
-Subject: [PATCH] app: make "gegl:introspect" an optional operation dependency.
-
-Check at runtime for the operation availability and set the "Show Image
-Graph" action active depending on this check.
-
-This goes with discussions to make this operation optional with a
-runtime check for the tool `dot`.
-See: https://gitlab.gnome.org/GNOME/gegl/-/merge_requests/84
----
- app/actions/debug-actions.c | 6 ++++++
- app/sanity.c | 1 -
- 2 files changed, 6 insertions(+), 1 deletion(-)
-
-diff --git a/app/actions/debug-actions.c b/app/actions/debug-actions.c
-index 6be4422b228..22ca38b15ea 100644
---- a/app/actions/debug-actions.c
-+++ b/app/actions/debug-actions.c
-@@ -103,4 +103,10 @@ void
- debug_actions_update (GimpActionGroup *group,
- gpointer data)
- {
-+#define SET_SENSITIVE(action,condition) \
-+ gimp_action_group_set_action_sensitive (group, action, (condition) != 0)
-+
-+ SET_SENSITIVE ("debug-show-image-graph", gegl_has_operation ("gegl:introspect"));
-+
-+#undef SET_SENSITIVE
- }
-diff --git a/app/sanity.c b/app/sanity.c
-index 015801a396e..6374ac1ad20 100644
---- a/app/sanity.c
-+++ b/app/sanity.c
-@@ -650,7 +650,6 @@ sanity_check_gegl_ops (void)
- "gegl:hue-chroma",
- "gegl:illusion",
- "gegl:image-gradient",
-- "gegl:introspect",
- "gegl:invert-gamma",
- "gegl:invert-linear",
- "gegl:lens-blur",
diff --git a/gnu/packages/patches/gst-libav-64channels-stack-corruption.patch b/gnu/packages/patches/gst-libav-64channels-stack-corruption.patch
new file mode 100644
index 0000000000..cc174e618d
--- /dev/null
+++ b/gnu/packages/patches/gst-libav-64channels-stack-corruption.patch
@@ -0,0 +1,31 @@
+Fix a stack corruption when handling files with more than 64 audio
+channels:
+
+https://gstreamer.freedesktop.org/security/sa-2021-0005.html
+
+Patch copied from upstream source repository:
+
+https://gitlab.freedesktop.org/gstreamer/gst-libav/-/commit/dcea8baa14a5fc3b796d876baaf2f238546ba2b1
+
+diff --git a/ext/libav/gstavcodecmap.c b/ext/libav/gstavcodecmap.c
+index b5be4bb7a5f2712f78383da9319754a8849e3307..be22f22cf5c7c7b22b13e44b10999adaacbcca2b 100644
+--- a/ext/libav/gstavcodecmap.c
++++ b/ext/libav/gstavcodecmap.c
+@@ -102,7 +102,7 @@ gst_ffmpeg_channel_layout_to_gst (guint64 channel_layout, gint channels,
+ guint nchannels = 0;
+ gboolean none_layout = FALSE;
+
+- if (channel_layout == 0) {
++ if (channel_layout == 0 || channels > 64) {
+ nchannels = channels;
+ none_layout = TRUE;
+ } else {
+@@ -163,7 +163,7 @@ gst_ffmpeg_channel_layout_to_gst (guint64 channel_layout, gint channels,
+ } else {
+ guint i;
+
+- for (i = 0; i < nchannels; i++)
++ for (i = 0; i < nchannels && i < 64; i++)
+ pos[i] = GST_AUDIO_CHANNEL_POSITION_NONE;
+ }
+ }
diff --git a/gnu/packages/patches/gst-plugins-bad-fix-overflow.patch b/gnu/packages/patches/gst-plugins-bad-fix-overflow.patch
new file mode 100644
index 0000000000..95ab13db51
--- /dev/null
+++ b/gnu/packages/patches/gst-plugins-bad-fix-overflow.patch
@@ -0,0 +1,263 @@
+Fix an overflow when calculating something for AVC/HEVC videos:
+
+https://security-tracker.debian.org/tracker/TEMP-0000000-C6AAE1
+
+Patch copied from upstream source repository:
+
+https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/commit/0cfbf7ad91c7f121192c8ce135769f8eb276c41d
+From 0cfbf7ad91c7f121192c8ce135769f8eb276c41d Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= <sebastian@centricular.com>
+Date: Tue, 23 Mar 2021 19:19:14 +0200
+Subject: [PATCH] h2645parser: Catch overflows in AVC/HEVC NAL unit length
+ calculations
+
+Offset and size are stored as 32 bit guint and might overflow when
+adding the nal_length_size, so let's avoid that.
+
+For the size this would happen if the AVC/HEVC NAL unit size happens to
+be stored in 4 bytes and is 4294967292 or higher, which is likely
+corrupted data anyway.
+
+For the offset this is something for the caller of these functions to
+take care of but is unlikely to happen as it would require parsing on a
+>4GB buffer.
+
+Allowing these overflows causes all kinds of follow-up bugs in the
+h2645parse elements, ranging from infinite loops and memory leaks to
+potential memory corruptions.
+
+Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2107>
+---
+ gst-libs/gst/codecparsers/gsth264parser.c | 16 +++++-
+ gst-libs/gst/codecparsers/gsth265parser.c | 16 +++++-
+ tests/check/libs/h264parser.c | 60 +++++++++++++++++++++++
+ tests/check/libs/h265parser.c | 60 +++++++++++++++++++++++
+ 4 files changed, 150 insertions(+), 2 deletions(-)
+
+diff --git a/gst-libs/gst/codecparsers/gsth264parser.c b/gst-libs/gst/codecparsers/gsth264parser.c
+index 012f1d0d7..68aa25068 100644
+--- a/gst-libs/gst/codecparsers/gsth264parser.c
++++ b/gst-libs/gst/codecparsers/gsth264parser.c
+@@ -1556,6 +1556,14 @@ gst_h264_parser_identify_nalu_avc (GstH264NalParser * nalparser,
+
+ memset (nalu, 0, sizeof (*nalu));
+
++ /* Would overflow guint below otherwise: the callers needs to ensure that
++ * this never happens */
++ if (offset > G_MAXUINT32 - nal_length_size) {
++ GST_WARNING ("offset + nal_length_size overflow");
++ nalu->size = 0;
++ return GST_H264_PARSER_BROKEN_DATA;
++ }
++
+ if (size < offset + nal_length_size) {
+ GST_DEBUG ("Can't parse, buffer has too small size %" G_GSIZE_FORMAT
+ ", offset %u", size, offset);
+@@ -1570,7 +1578,13 @@ gst_h264_parser_identify_nalu_avc (GstH264NalParser * nalparser,
+ nalu->sc_offset = offset;
+ nalu->offset = offset + nal_length_size;
+
+- if (size < nalu->size + nal_length_size) {
++ if (nalu->size > G_MAXUINT32 - nal_length_size) {
++ GST_WARNING ("NALU size + nal_length_size overflow");
++ nalu->size = 0;
++ return GST_H264_PARSER_BROKEN_DATA;
++ }
++
++ if (size < (gsize) nalu->size + nal_length_size) {
+ nalu->size = 0;
+
+ return GST_H264_PARSER_NO_NAL_END;
+diff --git a/gst-libs/gst/codecparsers/gsth265parser.c b/gst-libs/gst/codecparsers/gsth265parser.c
+index 26e68b276..dc7f27aa9 100644
+--- a/gst-libs/gst/codecparsers/gsth265parser.c
++++ b/gst-libs/gst/codecparsers/gsth265parser.c
+@@ -1531,6 +1531,14 @@ gst_h265_parser_identify_nalu_hevc (GstH265Parser * parser,
+
+ memset (nalu, 0, sizeof (*nalu));
+
++ /* Would overflow guint below otherwise: the callers needs to ensure that
++ * this never happens */
++ if (offset > G_MAXUINT32 - nal_length_size) {
++ GST_WARNING ("offset + nal_length_size overflow");
++ nalu->size = 0;
++ return GST_H265_PARSER_BROKEN_DATA;
++ }
++
+ if (size < offset + nal_length_size) {
+ GST_DEBUG ("Can't parse, buffer has too small size %" G_GSIZE_FORMAT
+ ", offset %u", size, offset);
+@@ -1545,7 +1553,13 @@ gst_h265_parser_identify_nalu_hevc (GstH265Parser * parser,
+ nalu->sc_offset = offset;
+ nalu->offset = offset + nal_length_size;
+
+- if (size < nalu->size + nal_length_size) {
++ if (nalu->size > G_MAXUINT32 - nal_length_size) {
++ GST_WARNING ("NALU size + nal_length_size overflow");
++ nalu->size = 0;
++ return GST_H265_PARSER_BROKEN_DATA;
++ }
++
++ if (size < (gsize) nalu->size + nal_length_size) {
+ nalu->size = 0;
+
+ return GST_H265_PARSER_NO_NAL_END;
+diff --git a/tests/check/libs/h264parser.c b/tests/check/libs/h264parser.c
+index c7c46d9a2..d322dd8db 100644
+--- a/tests/check/libs/h264parser.c
++++ b/tests/check/libs/h264parser.c
+@@ -229,6 +229,65 @@ GST_START_TEST (test_h264_parse_slice_5bytes)
+
+ GST_END_TEST;
+
++GST_START_TEST (test_h264_parse_identify_nalu_avc)
++{
++ GstH264ParserResult res;
++ GstH264NalUnit nalu;
++ GstH264NalParser *const parser = gst_h264_nal_parser_new ();
++ /* Skip 3 bytes for the start code */
++ const gsize nal_size = sizeof (slice_dpa) - 3;
++ const gsize buf_size = 4 + nal_size;
++ guint8 *buf = g_new (guint8, buf_size);
++
++ memcpy (buf + 4, slice_dpa + 3, nal_size);
++
++ GST_WRITE_UINT16_BE (buf + 2, nal_size);
++ res = gst_h264_parser_identify_nalu_avc (parser, buf, 2, buf_size, 2, &nalu);
++
++ assert_equals_int (res, GST_H264_PARSER_OK);
++ assert_equals_int (nalu.type, GST_H264_NAL_SLICE_DPA);
++ assert_equals_int (nalu.offset, 4);
++ assert_equals_int (nalu.size, nal_size);
++
++ GST_WRITE_UINT32_BE (buf, nal_size);
++ res = gst_h264_parser_identify_nalu_avc (parser, buf, 0, buf_size, 4, &nalu);
++
++ assert_equals_int (res, GST_H264_PARSER_OK);
++ assert_equals_int (nalu.type, GST_H264_NAL_SLICE_DPA);
++ assert_equals_int (nalu.offset, 4);
++ assert_equals_int (nalu.size, nal_size);
++
++ GST_WRITE_UINT32_BE (buf, G_MAXUINT32);
++ res = gst_h264_parser_identify_nalu_avc (parser, buf, 0, buf_size, 4, &nalu);
++
++ assert_equals_int (res, GST_H264_PARSER_BROKEN_DATA);
++
++ GST_WRITE_UINT32_BE (buf, G_MAXUINT32 - 2);
++ res = gst_h264_parser_identify_nalu_avc (parser, buf, 0, buf_size, 4, &nalu);
++
++ assert_equals_int (res, GST_H264_PARSER_BROKEN_DATA);
++
++ GST_WRITE_UINT32_BE (buf, G_MAXUINT32 - 3);
++ res = gst_h264_parser_identify_nalu_avc (parser, buf, 0, buf_size, 4, &nalu);
++
++ assert_equals_int (res, GST_H264_PARSER_BROKEN_DATA);
++
++ GST_WRITE_UINT32_BE (buf, G_MAXUINT32 - 4);
++ res = gst_h264_parser_identify_nalu_avc (parser, buf, 0, buf_size, 4, &nalu);
++
++ assert_equals_int (res, GST_H264_PARSER_NO_NAL_END);
++
++ GST_WRITE_UINT32_BE (buf, G_MAXUINT32 - 6);
++ res = gst_h264_parser_identify_nalu_avc (parser, buf, 0, buf_size, 4, &nalu);
++
++ assert_equals_int (res, GST_H264_PARSER_NO_NAL_END);
++
++ g_free (buf);
++ gst_h264_nal_parser_free (parser);
++}
++
++GST_END_TEST;
++
+ static guint8 nalu_sps_with_vui[] = {
+ 0x00, 0x00, 0x00, 0x01, 0x67, 0x64, 0x00, 0x28,
+ 0xac, 0xd9, 0x40, 0x78, 0x04, 0x4f, 0xde, 0x03,
+@@ -666,6 +725,7 @@ h264parser_suite (void)
+ tcase_add_test (tc_chain, test_h264_parse_slice_dpa);
+ tcase_add_test (tc_chain, test_h264_parse_slice_eoseq_slice);
+ tcase_add_test (tc_chain, test_h264_parse_slice_5bytes);
++ tcase_add_test (tc_chain, test_h264_parse_identify_nalu_avc);
+ tcase_add_test (tc_chain, test_h264_parse_invalid_sei);
+ tcase_add_test (tc_chain, test_h264_create_sei);
+
+diff --git a/tests/check/libs/h265parser.c b/tests/check/libs/h265parser.c
+index 0a0e4db97..5b6a215ec 100644
+--- a/tests/check/libs/h265parser.c
++++ b/tests/check/libs/h265parser.c
+@@ -255,6 +255,65 @@ GST_START_TEST (test_h265_parse_slice_6bytes)
+
+ GST_END_TEST;
+
++GST_START_TEST (test_h265_parse_identify_nalu_hevc)
++{
++ GstH265ParserResult res;
++ GstH265NalUnit nalu;
++ GstH265Parser *parser = gst_h265_parser_new ();
++ /* Skip 4 bytes for the start code */
++ const gsize nal_size = sizeof (slice_eos_slice_eob) - 4;
++ const gsize buf_size = 4 + nal_size;
++ guint8 *buf = g_new (guint8, buf_size);
++
++ memcpy (buf + 4, slice_eos_slice_eob + 4, nal_size);
++
++ GST_WRITE_UINT16_BE (buf + 2, nal_size);
++ res = gst_h265_parser_identify_nalu_hevc (parser, buf, 2, buf_size, 2, &nalu);
++
++ assert_equals_int (res, GST_H265_PARSER_OK);
++ assert_equals_int (nalu.type, GST_H265_NAL_SLICE_IDR_W_RADL);
++ assert_equals_int (nalu.offset, 4);
++ assert_equals_int (nalu.size, nal_size);
++
++ GST_WRITE_UINT32_BE (buf, nal_size);
++ res = gst_h265_parser_identify_nalu_hevc (parser, buf, 0, buf_size, 4, &nalu);
++
++ assert_equals_int (res, GST_H265_PARSER_OK);
++ assert_equals_int (nalu.type, GST_H265_NAL_SLICE_IDR_W_RADL);
++ assert_equals_int (nalu.offset, 4);
++ assert_equals_int (nalu.size, nal_size);
++
++ GST_WRITE_UINT32_BE (buf, G_MAXUINT32);
++ res = gst_h265_parser_identify_nalu_hevc (parser, buf, 0, buf_size, 4, &nalu);
++
++ assert_equals_int (res, GST_H265_PARSER_BROKEN_DATA);
++
++ GST_WRITE_UINT32_BE (buf, G_MAXUINT32 - 2);
++ res = gst_h265_parser_identify_nalu_hevc (parser, buf, 0, buf_size, 4, &nalu);
++
++ assert_equals_int (res, GST_H265_PARSER_BROKEN_DATA);
++
++ GST_WRITE_UINT32_BE (buf, G_MAXUINT32 - 3);
++ res = gst_h265_parser_identify_nalu_hevc (parser, buf, 0, buf_size, 4, &nalu);
++
++ assert_equals_int (res, GST_H265_PARSER_BROKEN_DATA);
++
++ GST_WRITE_UINT32_BE (buf, G_MAXUINT32 - 4);
++ res = gst_h265_parser_identify_nalu_hevc (parser, buf, 0, buf_size, 4, &nalu);
++
++ assert_equals_int (res, GST_H265_PARSER_NO_NAL_END);
++
++ GST_WRITE_UINT32_BE (buf, G_MAXUINT32 - 6);
++ res = gst_h265_parser_identify_nalu_hevc (parser, buf, 0, buf_size, 4, &nalu);
++
++ assert_equals_int (res, GST_H265_PARSER_NO_NAL_END);
++
++ g_free (buf);
++ gst_h265_parser_free (parser);
++}
++
++GST_END_TEST;
++
+ GST_START_TEST (test_h265_base_profiles)
+ {
+ GstH265ProfileTierLevel ptl;
+@@ -1101,6 +1160,7 @@ h265parser_suite (void)
+ tcase_add_test (tc_chain, test_h265_parse_slice_eos_slice_eob);
+ tcase_add_test (tc_chain, test_h265_parse_pic_timing);
+ tcase_add_test (tc_chain, test_h265_parse_slice_6bytes);
++ tcase_add_test (tc_chain, test_h265_parse_identify_nalu_hevc);
+ tcase_add_test (tc_chain, test_h265_base_profiles);
+ tcase_add_test (tc_chain, test_h265_base_profiles_compat);
+ tcase_add_test (tc_chain, test_h265_format_range_profiles_exact_match);
+--
+2.31.1
+
diff --git a/gnu/packages/patches/gst-plugins-base-fix-id3v2-invalid-read.patch b/gnu/packages/patches/gst-plugins-base-fix-id3v2-invalid-read.patch
new file mode 100644
index 0000000000..b2dfef0118
--- /dev/null
+++ b/gnu/packages/patches/gst-plugins-base-fix-id3v2-invalid-read.patch
@@ -0,0 +1,40 @@
+Fix an "invalid read during ID3v2 tag parsing".
+
+https://security-tracker.debian.org/tracker/TEMP-0000000-57E7C1
+https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/876
+
+Patch copied from upstream source repository:
+
+https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/commit/f4a1428a6997658625d529b9db60fde812fbf1ee
+
+From f4a1428a6997658625d529b9db60fde812fbf1ee Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Tim-Philipp=20M=C3=BCller?= <tim@centricular.com>
+Date: Wed, 3 Mar 2021 01:08:25 +0000
+Subject: [PATCH] tag: id3v2: fix frame size check and potential invalid reads
+
+Check the right variable when checking if there's
+enough data left to read the frame size.
+
+Closes https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/876
+
+Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1065>
+---
+ gst-libs/gst/tag/id3v2frames.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/gst-libs/gst/tag/id3v2frames.c b/gst-libs/gst/tag/id3v2frames.c
+index 8e9f78254..f39659bf7 100644
+--- a/gst-libs/gst/tag/id3v2frames.c
++++ b/gst-libs/gst/tag/id3v2frames.c
+@@ -109,7 +109,7 @@ id3v2_parse_frame (ID3TagsWorking * work)
+
+ if (work->frame_flags & (ID3V2_FRAME_FORMAT_COMPRESSION |
+ ID3V2_FRAME_FORMAT_DATA_LENGTH_INDICATOR)) {
+- if (work->hdr.frame_data_size <= 4)
++ if (frame_data_size <= 4)
+ return FALSE;
+ if (ID3V2_VER_MAJOR (work->hdr.version) == 3) {
+ work->parse_size = GST_READ_UINT32_BE (frame_data);
+--
+2.31.1
+
diff --git a/gnu/packages/patches/gst-plugins-good-CVE-2021-3497.patch b/gnu/packages/patches/gst-plugins-good-CVE-2021-3497.patch
new file mode 100644
index 0000000000..c8c3ee6cf1
--- /dev/null
+++ b/gnu/packages/patches/gst-plugins-good-CVE-2021-3497.patch
@@ -0,0 +1,174 @@
+Fix CVE-2021-3497:
+
+https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-3497
+https://gstreamer.freedesktop.org/security/sa-2021-0002.html
+
+Patch copied from upstream source repository:
+
+https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/commit/9181191511f9c0be6a89c98b311f49d66bd46dc3?merge_request_iid=903
+
+diff --git a/gst/matroska/matroska-demux.c b/gst/matroska/matroska-demux.c
+index 467815986c8c3d86fd8906a0d539b34f67d6693e..0e47ee7b5e25ac3331f30439710ae755235f2a22 100644
+--- a/gst/matroska/matroska-demux.c
++++ b/gst/matroska/matroska-demux.c
+@@ -3851,6 +3851,12 @@ gst_matroska_demux_add_wvpk_header (GstElement * element,
+ guint32 block_samples, tmp;
+ gsize size = gst_buffer_get_size (*buf);
+
++ if (size < 4) {
++ GST_ERROR_OBJECT (element, "Too small wavpack buffer");
++ gst_buffer_unmap (*buf, &map);
++ return GST_FLOW_ERROR;
++ }
++
+ gst_buffer_extract (*buf, 0, &tmp, sizeof (guint32));
+ block_samples = GUINT32_FROM_LE (tmp);
+ /* we need to reconstruct the header of the wavpack block */
+@@ -3858,10 +3864,10 @@ gst_matroska_demux_add_wvpk_header (GstElement * element,
+ /* -20 because ck_size is the size of the wavpack block -8
+ * and lace_size is the size of the wavpack block + 12
+ * (the three guint32 of the header that already are in the buffer) */
+- wvh.ck_size = size + sizeof (Wavpack4Header) - 20;
++ wvh.ck_size = size + WAVPACK4_HEADER_SIZE - 20;
+
+ /* block_samples, flags and crc are already in the buffer */
+- newbuf = gst_buffer_new_allocate (NULL, sizeof (Wavpack4Header) - 12, NULL);
++ newbuf = gst_buffer_new_allocate (NULL, WAVPACK4_HEADER_SIZE - 12, NULL);
+
+ gst_buffer_map (newbuf, &outmap, GST_MAP_WRITE);
+ data = outmap.data;
+@@ -3886,9 +3892,11 @@ gst_matroska_demux_add_wvpk_header (GstElement * element,
+ audiocontext->wvpk_block_index += block_samples;
+ } else {
+ guint8 *outdata = NULL;
+- guint outpos = 0;
+- gsize buf_size, size, out_size = 0;
++ gsize buf_size, size;
+ guint32 block_samples, flags, crc, blocksize;
++ GstAdapter *adapter;
++
++ adapter = gst_adapter_new ();
+
+ gst_buffer_map (*buf, &map, GST_MAP_READ);
+ buf_data = map.data;
+@@ -3897,6 +3905,7 @@ gst_matroska_demux_add_wvpk_header (GstElement * element,
+ if (buf_size < 4) {
+ GST_ERROR_OBJECT (element, "Too small wavpack buffer");
+ gst_buffer_unmap (*buf, &map);
++ g_object_unref (adapter);
+ return GST_FLOW_ERROR;
+ }
+
+@@ -3918,59 +3927,57 @@ gst_matroska_demux_add_wvpk_header (GstElement * element,
+ data += 4;
+ size -= 4;
+
+- if (blocksize == 0 || size < blocksize)
+- break;
+-
+- g_assert ((newbuf == NULL) == (outdata == NULL));
++ if (blocksize == 0 || size < blocksize) {
++ GST_ERROR_OBJECT (element, "Too small wavpack buffer");
++ gst_buffer_unmap (*buf, &map);
++ g_object_unref (adapter);
++ return GST_FLOW_ERROR;
++ }
+
+- if (newbuf == NULL) {
+- out_size = sizeof (Wavpack4Header) + blocksize;
+- newbuf = gst_buffer_new_allocate (NULL, out_size, NULL);
++ g_assert (newbuf == NULL);
+
+- gst_buffer_copy_into (newbuf, *buf,
+- GST_BUFFER_COPY_TIMESTAMPS | GST_BUFFER_COPY_FLAGS, 0, -1);
++ newbuf =
++ gst_buffer_new_allocate (NULL, WAVPACK4_HEADER_SIZE + blocksize,
++ NULL);
++ gst_buffer_map (newbuf, &outmap, GST_MAP_WRITE);
++ outdata = outmap.data;
++
++ outdata[0] = 'w';
++ outdata[1] = 'v';
++ outdata[2] = 'p';
++ outdata[3] = 'k';
++ outdata += 4;
++
++ GST_WRITE_UINT32_LE (outdata, blocksize + WAVPACK4_HEADER_SIZE - 8);
++ GST_WRITE_UINT16_LE (outdata + 4, wvh.version);
++ GST_WRITE_UINT8 (outdata + 6, wvh.track_no);
++ GST_WRITE_UINT8 (outdata + 7, wvh.index_no);
++ GST_WRITE_UINT32_LE (outdata + 8, wvh.total_samples);
++ GST_WRITE_UINT32_LE (outdata + 12, wvh.block_index);
++ GST_WRITE_UINT32_LE (outdata + 16, block_samples);
++ GST_WRITE_UINT32_LE (outdata + 20, flags);
++ GST_WRITE_UINT32_LE (outdata + 24, crc);
++ outdata += 28;
++
++ memcpy (outdata, data, blocksize);
+
+- outpos = 0;
+- gst_buffer_map (newbuf, &outmap, GST_MAP_WRITE);
+- outdata = outmap.data;
+- } else {
+- gst_buffer_unmap (newbuf, &outmap);
+- out_size += sizeof (Wavpack4Header) + blocksize;
+- gst_buffer_set_size (newbuf, out_size);
+- gst_buffer_map (newbuf, &outmap, GST_MAP_WRITE);
+- outdata = outmap.data;
+- }
++ gst_buffer_unmap (newbuf, &outmap);
++ gst_adapter_push (adapter, newbuf);
++ newbuf = NULL;
+
+- outdata[outpos] = 'w';
+- outdata[outpos + 1] = 'v';
+- outdata[outpos + 2] = 'p';
+- outdata[outpos + 3] = 'k';
+- outpos += 4;
+-
+- GST_WRITE_UINT32_LE (outdata + outpos,
+- blocksize + sizeof (Wavpack4Header) - 8);
+- GST_WRITE_UINT16_LE (outdata + outpos + 4, wvh.version);
+- GST_WRITE_UINT8 (outdata + outpos + 6, wvh.track_no);
+- GST_WRITE_UINT8 (outdata + outpos + 7, wvh.index_no);
+- GST_WRITE_UINT32_LE (outdata + outpos + 8, wvh.total_samples);
+- GST_WRITE_UINT32_LE (outdata + outpos + 12, wvh.block_index);
+- GST_WRITE_UINT32_LE (outdata + outpos + 16, block_samples);
+- GST_WRITE_UINT32_LE (outdata + outpos + 20, flags);
+- GST_WRITE_UINT32_LE (outdata + outpos + 24, crc);
+- outpos += 28;
+-
+- memmove (outdata + outpos, data, blocksize);
+- outpos += blocksize;
+ data += blocksize;
+ size -= blocksize;
+ }
+ gst_buffer_unmap (*buf, &map);
+- gst_buffer_unref (*buf);
+
+- if (newbuf)
+- gst_buffer_unmap (newbuf, &outmap);
++ newbuf = gst_adapter_take_buffer (adapter, gst_adapter_available (adapter));
++ g_object_unref (adapter);
+
++ gst_buffer_copy_into (newbuf, *buf,
++ GST_BUFFER_COPY_TIMESTAMPS | GST_BUFFER_COPY_FLAGS, 0, -1);
++ gst_buffer_unref (*buf);
+ *buf = newbuf;
++
+ audiocontext->wvpk_block_index += block_samples;
+ }
+
+diff --git a/gst/matroska/matroska-ids.h b/gst/matroska/matroska-ids.h
+index 429213f778063ba0063944ab64ad60373bbce5ee..8d4a685a910ec13100a3c3d156b2412d28ec0522 100644
+--- a/gst/matroska/matroska-ids.h
++++ b/gst/matroska/matroska-ids.h
+@@ -688,6 +688,8 @@ typedef struct _Wavpack4Header {
+ guint32 crc; /* crc for actual decoded data */
+ } Wavpack4Header;
+
++#define WAVPACK4_HEADER_SIZE (32)
++
+ typedef enum {
+ GST_MATROSKA_TRACK_ENCODING_SCOPE_FRAME = (1<<0),
+ GST_MATROSKA_TRACK_ENCODING_SCOPE_CODEC_DATA = (1<<1),
diff --git a/gnu/packages/patches/gst-plugins-good-CVE-2021-3498.patch b/gnu/packages/patches/gst-plugins-good-CVE-2021-3498.patch
new file mode 100644
index 0000000000..50eb42f126
--- /dev/null
+++ b/gnu/packages/patches/gst-plugins-good-CVE-2021-3498.patch
@@ -0,0 +1,22 @@
+Fix CVE-2021-3498:
+
+https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-3498
+https://gstreamer.freedesktop.org/security/sa-2021-0003.html
+
+Patch copied from upstream source repository:
+
+https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/commit/02174790726dd20a5c73ce2002189bf240ad4fe0?merge_request_iid=903
+
+diff --git a/gst/matroska/matroska-demux.c b/gst/matroska/matroska-demux.c
+index 4d0234743b8cf243b4521e56ef9027ba23b1b5d0..467815986c8c3d86fd8906a0d539b34f67d6693e 100644
+--- a/gst/matroska/matroska-demux.c
++++ b/gst/matroska/matroska-demux.c
+@@ -692,6 +692,8 @@ gst_matroska_demux_parse_stream (GstMatroskaDemux * demux, GstEbmlRead * ebml,
+
+ DEBUG_ELEMENT_START (demux, ebml, "TrackEntry");
+
++ *dest_context = NULL;
++
+ /* start with the master */
+ if ((ret = gst_ebml_read_master (ebml, &id)) != GST_FLOW_OK) {
+ DEBUG_ELEMENT_STOP (demux, ebml, "TrackEntry", ret);
diff --git a/gnu/packages/patches/gst-plugins-ugly-fix-out-of-bound-reads.patch b/gnu/packages/patches/gst-plugins-ugly-fix-out-of-bound-reads.patch
new file mode 100644
index 0000000000..3c6a96f45d
--- /dev/null
+++ b/gnu/packages/patches/gst-plugins-ugly-fix-out-of-bound-reads.patch
@@ -0,0 +1,119 @@
+Fix out of bounds reads when parsing audio and video packets:
+
+https://security-tracker.debian.org/tracker/TEMP-0000000-4DAA44
+https://gitlab.freedesktop.org/gstreamer/gst-plugins-ugly/-/issues/37
+
+Patch copied from upstream source repository:
+
+https://gitlab.freedesktop.org/gstreamer/gst-plugins-ugly/-/commit/3aba7d1e625554b2407bc77b3d09b4928b937d5f
+From 3aba7d1e625554b2407bc77b3d09b4928b937d5f Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= <sebastian@centricular.com>
+Date: Wed, 3 Mar 2021 11:05:14 +0200
+Subject: [PATCH] rmdemux: Make sure we have enough data available when parsing
+ audio/video packets
+
+Otherwise there will be out-of-bounds reads and potential crashes.
+
+Thanks to Natalie Silvanovich for reporting.
+
+Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-ugly/-/issues/37
+
+Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-ugly/-/merge_requests/74>
+---
+ gst/realmedia/rmdemux.c | 35 +++++++++++++++++++++++++++++++++++
+ 1 file changed, 35 insertions(+)
+
+diff --git a/gst/realmedia/rmdemux.c b/gst/realmedia/rmdemux.c
+index 6cc659a1..68b0736b 100644
+--- a/gst/realmedia/rmdemux.c
++++ b/gst/realmedia/rmdemux.c
+@@ -2223,6 +2223,9 @@ gst_rmdemux_parse_video_packet (GstRMDemux * rmdemux, GstRMDemuxStream * stream,
+
+ gst_buffer_map (in, &map, GST_MAP_READ);
+
++ if (map.size < offset)
++ goto not_enough_data;
++
+ data = map.data + offset;
+ size = map.size - offset;
+
+@@ -2289,6 +2292,9 @@ gst_rmdemux_parse_video_packet (GstRMDemux * rmdemux, GstRMDemuxStream * stream,
+ }
+ GST_DEBUG_OBJECT (rmdemux, "fragment size %d", fragment_size);
+
++ if (map.size < (data - map.data) + fragment_size)
++ goto not_enough_data;
++
+ /* get the fragment */
+ fragment =
+ gst_buffer_copy_region (in, GST_BUFFER_COPY_ALL, data - map.data,
+@@ -2437,6 +2443,9 @@ gst_rmdemux_parse_audio_packet (GstRMDemux * rmdemux, GstRMDemuxStream * stream,
+ GstFlowReturn ret;
+ GstBuffer *buffer;
+
++ if (gst_buffer_get_size (in) < offset)
++ goto not_enough_data;
++
+ buffer = gst_buffer_copy_region (in, GST_BUFFER_COPY_MEMORY, offset, -1);
+
+ if (rmdemux->first_ts != -1 && timestamp > rmdemux->first_ts)
+@@ -2467,9 +2476,19 @@ gst_rmdemux_parse_audio_packet (GstRMDemux * rmdemux, GstRMDemuxStream * stream,
+ ret = gst_pad_push (stream->pad, buffer);
+ }
+
++done:
+ gst_buffer_unref (in);
+
+ return ret;
++
++ /* ERRORS */
++not_enough_data:
++ {
++ GST_ELEMENT_WARNING (rmdemux, STREAM, DECODE, ("Skipping bad packet."),
++ (NULL));
++ ret = GST_FLOW_OK;
++ goto done;
++ }
+ }
+
+ static GstFlowReturn
+@@ -2490,6 +2509,9 @@ gst_rmdemux_parse_packet (GstRMDemux * rmdemux, GstBuffer * in, guint16 version)
+ data = map.data;
+ size = map.size;
+
++ if (size < 4 + 6 + 1 + 2)
++ goto not_enough_data;
++
+ /* stream number */
+ id = RMDEMUX_GUINT16_GET (data);
+
+@@ -2525,6 +2547,9 @@ gst_rmdemux_parse_packet (GstRMDemux * rmdemux, GstBuffer * in, guint16 version)
+
+ /* version 1 has an extra byte */
+ if (version == 1) {
++ if (size < 1)
++ goto not_enough_data;
++
+ data += 1;
+ size -= 1;
+ }
+@@ -2596,6 +2621,16 @@ unknown_stream:
+ gst_buffer_unref (in);
+ return GST_FLOW_OK;
+ }
++
++ /* ERRORS */
++not_enough_data:
++ {
++ GST_ELEMENT_WARNING (rmdemux, STREAM, DECODE, ("Skipping bad packet."),
++ (NULL));
++ gst_buffer_unmap (in, &map);
++ gst_buffer_unref (in);
++ return GST_FLOW_OK;
++ }
+ }
+
+ gboolean
+--
+2.31.1
+
diff --git a/gnu/packages/patches/kmscon-runtime-keymap-switch.patch b/gnu/packages/patches/kmscon-runtime-keymap-switch.patch
index deb5688daf..6692e761bc 100644
--- a/gnu/packages/patches/kmscon-runtime-keymap-switch.patch
+++ b/gnu/packages/patches/kmscon-runtime-keymap-switch.patch
@@ -1,5 +1,9 @@
-By Mathieu Othacehe <m.othacehe@gmail.com>.
-Modified by Florian Pelz <pelzflorian@pelzflorian.de>.
+Make kmscon listen to a FIFO in /tmp that clients can write to
+to request a keymap change.
+
+Patch by Mathieu Othacehe <m.othacehe@gmail.com>.
+Modified by Florian Pelz <pelzflorian@pelzflorian.de>
+and Ludovic Courtès <ludo@gnu.org>.
diff --git a/src/pty.c b/src/pty.c
index 1443f4a..f64cb5b 100644
@@ -75,11 +79,13 @@ diff --git a/src/uterm_input.c b/src/uterm_input.c
index 6fcbc4b..990a09d 100644
--- a/src/uterm_input.c
+++ b/src/uterm_input.c
-@@ -178,6 +178,8 @@ static void input_new_dev(struct uterm_input *input,
+@@ -178,6 +178,10 @@ static void input_new_dev(struct uterm_input *input,
if (ret)
goto err_rcodepoints;
-+ uxkb_dev_keymap_update(dev);
++ /* Add the FIFO fd only to the first input poll loop. */
++ if (shl_dlist_empty(&input->devices))
++ uxkb_dev_keymap_update(dev);
+
if (input->awake > 0) {
ret = input_wake_up_dev(dev);
@@ -115,7 +121,7 @@ index 04e6cc9..ec44459 100644
uint16_t key_state,
uint16_t code);
diff --git a/src/uterm_input_uxkb.c b/src/uterm_input_uxkb.c
-index 925c755..5d5c22e 100644
+index 925c755..8fe08f8 100644
--- a/src/uterm_input_uxkb.c
+++ b/src/uterm_input_uxkb.c
@@ -31,6 +31,9 @@
@@ -128,7 +134,7 @@ index 925c755..5d5c22e 100644
#include <xkbcommon/xkbcommon.h>
#include "shl_hook.h"
#include "shl_llog.h"
-@@ -178,6 +181,87 @@ static void timer_event(struct ev_timer *timer, uint64_t num, void *data)
+@@ -178,6 +181,106 @@ static void timer_event(struct ev_timer *timer, uint64_t num, void *data)
shl_hook_call(dev->input->hook, dev->input, &dev->repeat_event);
}
@@ -167,13 +173,31 @@ index 925c755..5d5c22e 100644
+
+ llog_info(dev->input, "HANDLER CALLED %s|%s|%s\n",
+ model, layout, variant);
-+ uxkb_desc_init(dev->input, model, layout, variant, options, NULL);
+
-+ dev->state = xkb_state_new(dev->input->keymap);
-+ if (!dev->state) {
-+ llog_error(dev->input, "cannot create XKB state");
-+ return;
-+ }
++ struct uterm_input *input = dev->input;
++ struct shl_dlist *iter;
++
++ /* Apply the new layout to all the inputs. */
++ shl_dlist_for_each(iter, &input->devices) {
++ struct uterm_input_dev *dev;
++ dev = shl_dlist_entry(iter,
++ struct uterm_input_dev,
++ list);
++ uxkb_desc_init(dev->input, model, layout, variant, options, NULL);
++ dev->state = xkb_state_new(dev->input->keymap);
++ if (!dev->state) {
++ llog_error(dev->input, "cannot create XKB state");
++ return;
++ }
++ }
++
++ /* The client will now close the FIFO. Close it too, and re-create a
++ * FIFO so other clients can eventually connect. */
++ ev_eloop_rm_fd(fd);
++ close(dev->rupdate_fd);
++ dev->rupdate_fd = -1;
++ uxkb_dev_keymap_update(dev);
++
+}
+
+int uxkb_dev_keymap_update(struct uterm_input_dev *dev)
@@ -186,6 +210,7 @@ index 925c755..5d5c22e 100644
+ if (ret < 0)
+ return ret;
+
++ (void) unlink(file);
+ ret = mkfifo(file, S_IRWXU);
+ if (ret < 0) {
+ llog_warn(dev->input, "could not open fifo");
diff --git a/gnu/packages/patches/linux-libre-arm64-generic-pinebook-lcd.patch b/gnu/packages/patches/linux-libre-arm64-generic-pinebook-lcd.patch
new file mode 100644
index 0000000000..51ab544d5e
--- /dev/null
+++ b/gnu/packages/patches/linux-libre-arm64-generic-pinebook-lcd.patch
@@ -0,0 +1,40 @@
+From 3a75704e99a118f2d8a4d70f07781558bde85770 Mon Sep 17 00:00:00 2001
+From: Jian-Hong Pan <jhp@endlessos.org>
+Date: Thu, 24 Sep 2020 14:30:43 +0800
+Subject: [PATCH] arm64: dts: rockchip: disable USB type-c DisplayPort
+
+The cdn-dp sub driver probes the device failed on PINEBOOK Pro.
+
+kernel: cdn-dp fec00000.dp: [drm:cdn_dp_probe [rockchipdrm]] *ERROR* missing extcon or phy
+kernel: cdn-dp: probe of fec00000.dp failed with error -22
+
+Then, the device halts all of the DRM related device jobs. For example,
+the operations: vop_component_ops, vop_component_ops and
+rockchip_dp_component_ops cannot be bound to corresponding devices. So,
+Xorg cannot find the correct DRM device.
+
+The USB type-C DisplayPort does not work for now. So, disable the
+DisplayPort node until the type-C phy work has been done.
+
+Link: https://patchwork.kernel.org/patch/11794141/#23639877
+Signed-off-by: Jian-Hong Pan <jhp@endlessos.org>
+---
+ arch/arm64/boot/dts/rockchip/rk3399-pinebook-pro.dts | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/arch/arm64/boot/dts/rockchip/rk3399-pinebook-pro.dts b/arch/arm64/boot/dts/rockchip/rk3399-pinebook-pro.dts
+index 219b7507a10f..45769764425d 100644
+--- a/arch/arm64/boot/dts/rockchip/rk3399-pinebook-pro.dts
++++ b/arch/arm64/boot/dts/rockchip/rk3399-pinebook-pro.dts
+@@ -380,7 +380,7 @@
+ };
+
+ &cdn_dp {
+- status = "okay";
++ status = "disabled";
+ };
+
+ &cpu_b0 {
+--
+2.30.2
+
diff --git a/gnu/packages/patches/ungoogled-chromium-system-nspr.patch b/gnu/packages/patches/ungoogled-chromium-system-nspr.patch
deleted file mode 100644
index 988296b143..0000000000
--- a/gnu/packages/patches/ungoogled-chromium-system-nspr.patch
+++ /dev/null
@@ -1,120 +0,0 @@
-Build with the system nspr library.
-
-Originally based on a Debian patch:
-https://salsa.debian.org/chromium-team/chromium/-/blob/master/debian/patches/system/nspr.patch
-
---- a/base/time/pr_time_unittest.cc
-+++ b/base/time/pr_time_unittest.cc
-@@ -7,7 +7,7 @@
-
- #include "base/compiler_specific.h"
- #include "base/stl_util.h"
--#include "base/third_party/nspr/prtime.h"
-+#include <nspr/prtime.h>
- #include "base/time/time.h"
- #include "build/build_config.h"
- #include "testing/gtest/include/gtest/gtest.h"
---- a/base/time/time.cc
-+++ b/base/time/time.cc
-@@ -14,7 +14,7 @@
- #include "base/optional.h"
- #include "base/strings/string_util.h"
- #include "base/strings/stringprintf.h"
--#include "base/third_party/nspr/prtime.h"
-+#include <nspr/prtime.h>
- #include "base/time/time_override.h"
- #include "build/build_config.h"
-
---- a/base/BUILD.gn
-+++ b/base/BUILD.gn
-@@ -102,6 +102,9 @@
- "-Wglobal-constructors",
- ]
- }
-+ ldflags = [
-+ "-lnspr4",
-+ ]
- }
-
- config("base_implementation") {
-@@ -720,8 +723,6 @@
- "third_party/cityhash_v103/src/city_v103.h",
- "third_party/icu/icu_utf.cc",
- "third_party/icu/icu_utf.h",
-- "third_party/nspr/prtime.cc",
-- "third_party/nspr/prtime.h",
- "third_party/superfasthash/superfasthash.c",
- "thread_annotations.h",
- "threading/hang_watcher.cc",
---- a/tools/gn/build/gen.py
-+++ b/tools/gn/build/gen.py
-@@ -380,6 +380,9 @@
- if not options.no_static_libstdcpp:
- ldflags.append('-static-libstdc++')
-
-+ # Additional system libraries that are used.
-+ libs.append('-lnspr4')
-+
- if platform.is_mingw() or platform.is_msys():
- cflags.remove('-std=c++17')
- cflags.extend([
---- a/third_party/blink/renderer/platform/BUILD.gn
-+++ b/third_party/blink/renderer/platform/BUILD.gn
-@@ -110,6 +110,9 @@
- "//build/win:default_exe_manifest",
- "//third_party/icu",
- ]
-+ ldflags = [
-+ "-lnspr4"
-+ ]
- }
-
- # This isn't strictly necessary since we can just add the deps to "platform",
---- a/third_party/crashpad/crashpad/handler/BUILD.gn
-+++ b/third_party/crashpad/crashpad/handler/BUILD.gn
-@@ -144,6 +144,9 @@
- "../third_party/mini_chromium:base",
- "../tools:tool_support",
- ]
-+ ldflags = [
-+ "-lnspr4"
-+ ]
-
- if (crashpad_is_win) {
- if (crashpad_is_in_chromium || crashpad_is_in_dart) {
---- a/chrome/common/search/BUILD.gn
-+++ b/chrome/common/search/BUILD.gn
-@@ -20,6 +20,9 @@
- "//chrome/common/themes:autogenerated_theme_util",
- "//skia",
- ]
-+ ldflags = [
-+ "-lnspr4"
-+ ]
- }
-
- compiled_action("generate_chrome_colors_info") {
---- a/components/url_formatter/spoof_checks/top_domains/BUILD.gn
-+++ b/components/url_formatter/spoof_checks/top_domains/BUILD.gn
-@@ -31,6 +31,9 @@
- "//net/tools/huffman_trie:huffman_trie_generator_sources",
- "//url:url",
- ]
-+ ldflags = [
-+ "-lnspr4",
-+ ]
- if (is_ios) {
- frameworks = [ "UIKit.framework" ]
- }
---- a/components/schema_org/BUILD.gn
-+++ b/components/schema_org/BUILD.gn
-@@ -33,6 +33,9 @@
- "//base",
- "//url",
- ]
-+ ldflags = [
-+ "-lnspr4",
-+ ]
- }
-
- compiled_action("schema_org_name_data") {
diff --git a/gnu/packages/patches/ungoogled-chromium-system-opus.patch b/gnu/packages/patches/ungoogled-chromium-system-opus.patch
deleted file mode 100644
index 6f887a31a4..0000000000
--- a/gnu/packages/patches/ungoogled-chromium-system-opus.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-Add missing build dependency on Opus so that system headers are found.
-
-Taken from upstream:
-https://chromium-review.googlesource.com/c/chromium/src/+/2644623
-
-diff --git a/third_party/blink/renderer/modules/webcodecs/BUILD.gn b/third_party/blink/renderer/modules/webcodecs/BUILD.gn
---- a/third_party/blink/renderer/modules/webcodecs/BUILD.gn
-+++ b/third_party/blink/renderer/modules/webcodecs/BUILD.gn
-@@ -65,6 +65,7 @@ blink_modules_sources("webcodecs") {
- "//media/mojo/clients",
- "//media/mojo/mojom",
- "//third_party/libyuv:libyuv",
-+ "//third_party/opus",
- ]
- if (media_use_openh264) {
- deps += [ "//third_party/openh264:encoder" ]
-diff --git a/third_party/blink/renderer/modules/webcodecs/DEPS b/third_party/blink/renderer/modules/webcodecs/DEPS
---- a/third_party/blink/renderer/modules/webcodecs/DEPS
-+++ b/third_party/blink/renderer/modules/webcodecs/DEPS
-@@ -19,6 +19,7 @@ include_rules = [
-
- "+third_party/libyuv",
- "+third_party/openh264",
-+ "+third_party/opus",
-
- "+ui/gfx/color_space.h",
- "+ui/gfx/geometry/rect.h",
diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm
index 4d54912a56..559e6ad9e0 100644
--- a/gnu/packages/perl.scm
+++ b/gnu/packages/perl.scm
@@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
-;;; Copyright © 2013, 2019, 2020 Andreas Enge <andreas@enge.fr>
+;;; Copyright © 2013, 2019, 2020, 2021 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2015, 2016, 2017, 2019, 2021 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015, 2016, 2017, 2019, 2020 Eric Bavier <bavier@posteo.net>
;;; Copyright © 2015 Eric Dvorsak <eric@dvorsak.fr>
@@ -2035,14 +2035,14 @@ CPAN::Meta object are present.")
(define-public perl-cpanel-json-xs
(package
(name "perl-cpanel-json-xs")
- (version "4.25")
+ (version "4.26")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://cpan/authors/id/R/RU/RURBAN/"
"Cpanel-JSON-XS-" version ".tar.gz"))
(sha256
- (base32 "061940vyj9y3rzwq47z2a3f5i5rfpa90ccz7fgz228zr7njkvfpr"))))
+ (base32 "0c07jfh6pq0f3hlhg0cqmznna7rlcflgrqv17mbkz9gnvg4x3szv"))))
(build-system perl-build-system)
(propagated-inputs
`(("perl-common-sense" ,perl-common-sense)))
@@ -3750,16 +3750,15 @@ each stack frame.")
(define-public perl-digest-crc
(package
(name "perl-digest-crc")
- (version "0.22")
+ (version "0.23")
(source
(origin
(method url-fetch)
(uri (string-append
"mirror://cpan/authors/id/O/OL/OLIMAUL/Digest-CRC-"
- version ".2.tar.gz"))
+ version ".tar.gz"))
(sha256
- (base32
- "1jvqcyrbi11cj3vlfc9sq2g6rv9caizyjkjqsksvmxn6zgvm0aqi"))))
+ (base32 "1n64qnjxhw1jjikxgfa1x5a4f7qi298839r3xhzvmj5736754j51"))))
(build-system perl-build-system)
(home-page "https://metacpan.org/release/Digest-CRC")
(synopsis "Generic CRC functions")
@@ -3830,6 +3829,30 @@ input a message of arbitrary length and produces as output a
128-bit \"fingerprint\" or \"message digest\" of the input.")
(license (package-license perl))))
+(define-public perl-digest-sha
+ (package
+ (name "perl-digest-sha")
+ (version "6.02")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "mirror://cpan/authors/id/M/MS/MSHELOR/Digest-SHA-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "01lv0dc3mgnl3ap8npdnqiwmdqz2yc5bziss648c5jgalfzacric"))))
+ (build-system perl-build-system)
+ (home-page
+ "https://metacpan.org/release/Digest-SHA")
+ (synopsis
+ "Perl extension for SHA-1/224/256/384/512")
+ (description
+ "The @code{Digest::SHA} Perl module implements the hash functions
+of the SHA family. It also provides the @code{shasum} binary.")
+ (license (package-license perl))))
+
(define-public perl-digest-sha1
(package
(name "perl-digest-sha1")
@@ -8309,7 +8332,7 @@ with file paths.")
(define-public perl-pdf-api2
(package
(name "perl-pdf-api2")
- (version "2.039")
+ (version "2.040")
(source (origin
(method url-fetch)
(uri (string-append
@@ -8317,7 +8340,7 @@ with file paths.")
version ".tar.gz"))
(sha256
(base32
- "08x1anlvmxwym081flkrz7wr9q89y9wbq8ajqk72xsbzhhc479rn"))))
+ "0nlks4p33d08h0fiv6aivinalf9f9zdkgkxqvvbbvdkvyh4z29a9"))))
(build-system perl-build-system)
(native-inputs
`(("perl-test-exception" ,perl-test-exception)
diff --git a/gnu/packages/python-build.scm b/gnu/packages/python-build.scm
index 13acbca355..ace80382bb 100644
--- a/gnu/packages/python-build.scm
+++ b/gnu/packages/python-build.scm
@@ -160,13 +160,13 @@ order to make bootstrapping easier.")
(define-public python-poetry-core
(package
(name "python-poetry-core")
- (version "1.0.2")
+ (version "1.0.3")
(source
(origin
(method url-fetch)
(uri (pypi-uri "poetry-core" version))
(sha256
- (base32 "0wgfc51dgymnfg23mvsxl4iqbdrppysxi4s3z3xhzx3cd9jmsl7z"))))
+ (base32 "1ichii48zkywcnj8v3bcn9vk09v69jv6h65805w21hwz4hlcj593"))))
(build-system python-build-system)
(home-page "https://github.com/python-poetry/poetry-core")
(synopsis "Poetry PEP 517 build back-end")
diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
index 1e57165509..4f34502e86 100644
--- a/gnu/packages/python-web.scm
+++ b/gnu/packages/python-web.scm
@@ -2916,14 +2916,13 @@ file.")
(define-public python-webtest
(package
(name "python-webtest")
- (version "2.0.33")
+ (version "2.0.35")
(source
(origin
(method url-fetch)
(uri (pypi-uri "WebTest" version))
(sha256
- (base32
- "1l3z0cwqslsf4rcrhi2gr8kdfh74wn2dw76376i4g9i38gz8wd21"))))
+ (base32 "11xhgdj251zkvz5w30fvspii08ki2vrpr1im9sph1wmlnasnihda"))))
(build-system python-build-system)
(arguments
;; Tests require python-pyquery, which creates a circular dependency.
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 5a4220541e..3fbb7b3366 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -88,7 +88,7 @@
;;; Copyright © 2020 Malte Frank Gerdes <malte.f.gerdes@gmail.com>
;;; Copyright © 2020 Joseph LaFreniere <joseph@lafreniere.xyz>
;;; Copyright © 2020 Tim Gesthuizen <tim.gesthuizen@yahoo.de>
-;;; Copyright © 2020 Bonface Munyoki Kilyungi <bonfacemunyoki@gmail.com>
+;;; Copyright © 2020, 2021 Bonface Munyoki Kilyungi <me@bonfacemunyoki.com>
;;; Copyright © 2020 Ekaitz Zarraga <ekaitz@elenq.tech>
;;; Copyright © 2020 Diego N. Barbato <dnbarbato@posteo.de>
;;; Copyright © 2020 Leo Prikler <leo.prikler@student.tugraz.at>
@@ -5936,13 +5936,13 @@ the OleFileIO module from PIL, the Python Image Library.")
(define-public python-pikepdf
(package
(name "python-pikepdf")
- (version "2.10.0")
+ (version "2.11.4")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pikepdf" version))
(sha256
- (base32 "09wfj1hjvj3r9gv7ywrqd7h3d0bz64bvils8sm3ghj90jhalb03s"))))
+ (base32 "0kd5ydnsmlikkg69r255wvq4vy7plh7dx077s2saly5s5vdcqlkk"))))
(build-system python-build-system)
(arguments
`(#:tests? #false)) ;require python-xmp-toolkit
@@ -6082,17 +6082,99 @@ a general image processing tool.")
(description "This package is a fork of Pillow which adds support for SIMD
parallelism.")))
+(define-public python-imagecodecs
+ (package
+ (name "python-imagecodecs")
+ (version "2021.3.31")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "imagecodecs" version))
+ (sha256
+ (base32
+ "0q7pslb6wd56vbcq2mdxwsiha32mxjr7mgqqfbq5w42q601p9pi0"))
+ (modules '((guix build utils)))
+ (snippet
+ '(begin
+ ;; Unbundle 3rd party modules.
+ (delete-file-recursively "3rdparty")
+ ;; Delete pre-generated Cython files.
+ (for-each delete-file (find-files "imagecodecs" "_.*\\.c$"))
+ #t))))
+ (build-system python-build-system)
+ (arguments
+ `(#:tests? #f ; Tests are disabled, because dependencies are missing.
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'create-configuration
+ (lambda* (#:key inputs #:allow-other-keys)
+ ;; By default everything is enabled. We can selectively disable
+ ;; extensions (and thus dependencies) by deleting them from the
+ ;; EXTENSIONS dictionary. This is upstream’s preferred way.
+ (call-with-output-file "imagecodecs_distributor_setup.py"
+ (lambda (port)
+ (format port "\
+def customize_build(EXTENSIONS, OPTIONS):
+ del EXTENSIONS['aec']
+ del EXTENSIONS['avif']
+ del EXTENSIONS['bitshuffle']
+ del EXTENSIONS['deflate']
+ del EXTENSIONS['jpeg2k']
+ del EXTENSIONS['jpeg12']
+ del EXTENSIONS['jpegls']
+ del EXTENSIONS['jpegxl']
+ del EXTENSIONS['jpegxr']
+ del EXTENSIONS['lerc']
+ del EXTENSIONS['ljpeg']
+ del EXTENSIONS['lzf']
+ del EXTENSIONS['zfp']
+ del EXTENSIONS['zopfli']
+ OPTIONS['cythonize']
+")))
+ #t)))))
+ (inputs
+ `(("c-blosc" ,c-blosc)
+ ("giflib" ,giflib)
+ ("google-brotli" ,google-brotli)
+ ("libjpeg-turbo" ,libjpeg-turbo)
+ ("libpng" ,libpng)
+ ("libtiff" ,libtiff)
+ ("libwebp" ,libwebp)
+ ("lz4" ,lz4)
+ ("snappy" ,snappy)
+ ("xz" ,xz)
+ ("zlib" ,zlib)
+ ("zstd" ,zstd "lib")))
+ (propagated-inputs
+ `(("python-numpy" ,python-numpy)))
+ (native-inputs
+ ;; For building.
+ `(("python-cython" ,python-cython)
+ ;; For testing. Incomplete.
+ ;("python-numcodecs" ,python-numcodecs)
+ ;("python-zarr" ,python-zarr)
+ ;("python-pytest" ,python-pytest)
+ ))
+ (home-page "https://www.lfd.uci.edu/~gohlke/")
+ (synopsis
+ "Image transformation, compression, and decompression codecs")
+ (description
+ "Imagecodecs is a Python library that provides block-oriented, in-memory
+buffer transformation, compression, and decompression functions for use in the
+tifffile, czifile, and other scientific image input/output modules.")
+ (license license:bsd-3)))
+
(define-public python-roifile
(package
(name "python-roifile")
- (version "2020.5.28")
+ (version "2020.11.28")
(source
(origin
(method url-fetch)
(uri (pypi-uri "roifile" version))
(sha256
(base32
- "1vwbwfsw745gyqymff6dllc5zqjsgqmxaw245sw4an6yw9rcbzc0"))))
+ "04argnc7qccybkrj9ww18bf81ghsghhh93hnqy3p111rcdlyn66p"))))
(build-system python-build-system)
(arguments `(#:tests? #f)) ; there are none
(propagated-inputs
@@ -6107,21 +6189,20 @@ regions of interest, geometric shapes, paths, text, etc for image overlays.")
(define-public python-tifffile
(package
(name "python-tifffile")
- (version "2020.6.3")
+ (version "2021.4.8")
(source
(origin
(method url-fetch)
(uri (pypi-uri "tifffile" version))
(sha256
(base32
- "0xv3ynkbrsibqvx7250075idb7wm3canjd6lx2nzf3cbp6l07577"))))
+ "16r0hw7shka1bqf28bv198lj2jhf2r9gy3s5zv4nf5cfsfm8pajm"))))
(build-system python-build-system)
;; Tests require lfdfiles, which depends on tifffile
(arguments `(#:tests? #f))
(propagated-inputs
`(("python-numpy" ,python-numpy)
- ;;("python-lfdfiles" ,python-lfdfiles)
- ("python-roifile" ,python-roifile)))
+ ("python-imagecodecs" ,python-imagecodecs)))
(home-page "https://www.lfd.uci.edu/~gohlke/")
(synopsis "Read and write TIFF(r) files")
(description "This package lets you read image and metadata from many
@@ -6133,19 +6214,28 @@ numpy arrays to TIFF, BigTIFF, and ImageJ hyperstack compatible files.")
(define-public python-lfdfiles
(package
(name "python-lfdfiles")
- (version "2020.1.1")
+ (version "2021.2.22")
(source
(origin
(method url-fetch)
(uri (pypi-uri "lfdfiles" version))
(sha256
(base32
- "1n9bkfn4vxl0lbhzd0m35lq86ayx5fwcj3ghpfl2vbjbsnfp3h47"))))
+ "12fxm4v805dgjrih7x6jnl1wd7y7jw1rkhjs3d4am8s6qk1cbar2"))
+ (modules '((guix build utils)))
+ (snippet
+ '(begin
+ ;; Delete pre-generated Cython files.
+ (for-each delete-file (find-files "lfdfiles" "_.*\\.c$"))
+ #t))))
(build-system python-build-system)
+ (arguments
+ `(#:tests? #f)) ; No tests exist, despite a test dependency on pytest.
(propagated-inputs
`(("python-click" ,python-click)
("python-numpy" ,python-numpy)
("python-tifffile" ,python-tifffile)))
+ (native-inputs `(("python-cython" ,python-cython)))
(home-page "https://www.lfd.uci.edu/~gohlke/")
(synopsis "Work with LFD data files")
(description
@@ -6241,7 +6331,7 @@ a front-end for C compilers or analysis tools.")
(define-public python-xlsxwriter
(package
(name "python-xlsxwriter")
- (version "1.3.7")
+ (version "1.3.9")
(source
(origin
;; There are no tests in the PyPI tarball.
@@ -6251,7 +6341,7 @@ a front-end for C compilers or analysis tools.")
(commit (string-append "RELEASE_" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "1qg40r2mwrqfmhaxnary1cfgi0dwwazp5qga7c9p2cdji2v0x5rm"))))
+ (base32 "04idf331rp0iyhlnh7268jmim8ydw4jjb81hr5rh548sqnq4bhpl"))))
(build-system python-build-system)
(home-page "https://github.com/jmcnamara/XlsxWriter")
(synopsis "Python module for creating Excel XLSX files")
@@ -7259,7 +7349,8 @@ cluster down and deletes the throwaway profile.")
(replace 'check (lambda _ (invoke "pytest" "-vv" "traitlets"))))))
(propagated-inputs
`(("python-ipython-genutils" ,python-ipython-genutils)
- ("python-decorator" ,python-decorator)))
+ ("python-decorator" ,python-decorator)
+ ("python-six" ,python-six)))
(native-inputs
`(("python-pytest" ,python-pytest)))
(properties `((python2-variant . ,(delay python2-traitlets))))
@@ -7293,10 +7384,41 @@ without using the configuration machinery.")
(base32
"1d12j5hkff0xiax87pnhmzbsph3jqqzhz16h8xld7z2y4armq0kr"))))
(build-system python-build-system)
- ;; FIXME: not sure how to run the tests
- (arguments `(#:tests? #f))
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key inputs outputs tests? #:allow-other-keys)
+ (when tests?
+ ; Some tests write to $HOME.
+ (setenv "HOME" "/tmp")
+ ; Some tests load the installed package.
+ (add-installed-pythonpath inputs outputs)
+ (invoke "pytest" "-vv"))))
+ (add-after 'unpack 'patch-testsuite
+ (lambda _
+ ;; test_not_on_path() and test_path_priority() try to run a test
+ ;; that loads jupyter_core, so we need PYTHONPATH
+ (substitute* "jupyter_core/tests/test_command.py"
+ (("env = \\{'PATH': ''\\}")
+ "env = {'PATH': '', 'PYTHONPATH': os.environ['PYTHONPATH']}")
+ (("env = \\{'PATH': str\\(b\\)\\}")
+ "env = {'PATH': str(b), 'PYTHONPATH': os.environ['PYTHONPATH']}"))
+ #t)))))
(propagated-inputs
`(("python-traitlets" ,python-traitlets)))
+ (native-inputs
+ `(("python-six" ,python-six)
+ ("python-pytest" ,python-pytest)))
+ ;; This package provides the `jupyter` binary and thus also exports the
+ ;; search paths.
+ (native-search-paths
+ (list (search-path-specification
+ (variable "JUPYTER_CONFIG_DIR")
+ (files '("etc/jupyter")))
+ (search-path-specification
+ (variable "JUPYTER_PATH")
+ (files '("share/jupyter")))))
(home-page "https://jupyter.org/")
(synopsis "Jupyter base package")
(description
@@ -7315,19 +7437,22 @@ without using the configuration machinery.")
(base32
"10p7fcgvv9hvz9zical9wk68ks5ssak2ykbzx65wm1k1hk8a3g64"))))
(build-system python-build-system)
- ;; Tests fail because of missing native python kernel which I assume is
- ;; provided by the ipython package, which we cannot use because it would
- ;; cause a dependency cycle.
(arguments
- `(#:tests? #f
- #:phases (modify-phases %standard-phases
- (add-after 'unpack 'set-tool-file-names
- (lambda* (#:key inputs #:allow-other-keys)
- (let ((iproute (assoc-ref inputs "iproute")))
- (substitute* "jupyter_client/localinterfaces.py"
- (("'ip'")
- (string-append "'" iproute "/sbin/ip'")))
- #t))))))
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'set-tool-file-names
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let ((iproute (assoc-ref inputs "iproute")))
+ (substitute* "jupyter_client/localinterfaces.py"
+ (("'ip'")
+ (string-append "'" iproute "/sbin/ip'")))
+ #t)))
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ ;; Some tests try to write to $HOME.
+ (setenv "HOME" "/tmp")
+ (invoke "pytest" "-vv")))))))
(inputs
`(("iproute" ,iproute)))
(propagated-inputs
@@ -7337,7 +7462,14 @@ without using the configuration machinery.")
("python-tornado" ,python-tornado-6)
("python-traitlets" ,python-traitlets)))
(native-inputs
- `(("python-pytest" ,python-pytest)))
+ `(("python-pytest" ,python-pytest)
+ ("python-pytest-asyncio" ,python-pytest-asyncio)
+ ("python-pytest-timeout" ,python-pytest-timeout)
+ ("python-async-generator" ,python-async-generator)
+ ("python-mock" ,python-mock)
+ ("python-msgpack" ,python-msgpack)
+ ("python-ipython" ,python-ipython)
+ ("python-ipykernel" ,python-ipykernel-bootstrap)))
(home-page "https://jupyter.org/")
(synopsis "Jupyter protocol implementation and client libraries")
(description
@@ -7347,6 +7479,20 @@ for working with kernels, and the @code{jupyter kernelspec} entrypoint for
installing @code{kernelspec}s for use with Jupyter frontends.")
(license license:bsd-3)))
+;; Bootstrap variant of jupyter-client, which breaks the loop between ipykernel
+;; and jupyter-client by removing the former from its native-inputs and
+;; disabling tests.
+(define-public python-jupyter-client-bootstrap
+ (let ((base python-jupyter-client))
+ (hidden-package
+ (package
+ (inherit base)
+ (name "python-jupyter-client-bootstrap")
+ (arguments
+ `(#:tests? #f
+ ,@(package-arguments base)))
+ (native-inputs `())))))
+
(define-public python2-jupyter-client
(package-with-python2 python-jupyter-client))
@@ -7381,6 +7527,8 @@ installing @code{kernelspec}s for use with Jupyter frontends.")
#t))))))
(propagated-inputs
`(("python-ipython" ,python-ipython)
+ ("python-tornado" ,python-tornado-6)
+ ("python-traitlets" ,python-traitlets)
;; imported at runtime during connect
("python-jupyter-client" ,python-jupyter-client)))
(native-inputs
@@ -7393,6 +7541,19 @@ installing @code{kernelspec}s for use with Jupyter frontends.")
"This package provides the IPython kernel for Jupyter.")
(license license:bsd-3)))
+;; Bootstrap variant of ipykernel, which uses the bootstrap jupyter-client to
+;; break the cycle between ipykernel and jupyter-client.
+(define-public python-ipykernel-bootstrap
+ (let ((parent python-ipykernel))
+ (hidden-package
+ (package
+ (inherit parent)
+ (name "python-ipykernel-bootstrap")
+ (propagated-inputs
+ `(("python-jupyter-client" ,python-jupyter-client-bootstrap)
+ ,@(fold alist-delete (package-propagated-inputs parent)
+ '("python-jupyter-client"))))))))
+
(define-public python-pari-jupyter
(package
(name "python-pari-jupyter")
@@ -8825,7 +8986,7 @@ These should be used in preference to using a backslash for line continuation.
correct string literal concatenation.
It looks for style problems like implicitly concatenated string literals on
-the same line (which can be introduced by the code formating tool Black), or
+the same line (which can be introduced by the code formatting tool Black), or
unnecessary plus operators for explicit string literal concatenation.")
(license license:expat)))
@@ -10225,25 +10386,103 @@ Debian-related files, such as:
;; Modules are either GPLv2+ or GPLv3+.
(license license:gpl3+)))
+(define-public python-json-spec
+ (package
+ (name "python-json-spec")
+ (version "0.10.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "json-spec" version))
+ (sha256
+ (base32
+ "06dpbsq61ja9r89wpa2pzdii47qh3xri9ajdrgn1awfl102znchb"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-pathlib" ,python-pathlib)
+ ("python-six" ,python-six)))
+ (native-inputs
+ `(("python-pytest" ,python-pytest)))
+ (home-page "http://py.errorist.io/json-spec")
+ (synopsis
+ "JSON Schema, JSON Pointer and JSON Reference for Python")
+ (description
+ "This Python library implements several JSON specs, like JSON Schema,
+JSON Reference and JSON Pointer.")
+ (license license:bsd-3)))
+
+(define-public python-fastjsonschema
+ (package
+ (name "python-fastjsonschema")
+ (version "2.15.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "fastjsonschema" version))
+ (sha256
+ (base32
+ "0xknp399gpdjf08lrq2yvv66s7nsc51fgbm6vph7vyyg1ckbmv71"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:tests? #f ; Fail with a strange backtrace ending in importlib.
+ #:phases
+ (modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key inputs outputs tests? #:allow-other-keys)
+ (when tests?
+ (invoke "pytest" "-vv" "-m" "not benchmark")))))))
+ (native-inputs
+ `(("python-colorama" ,python-colorama)
+ ("python-json-spec" ,python-json-spec)
+ ("python-jsonschema" ,python-jsonschema)
+ ("python-pylint" ,python-pylint)
+ ("python-pytest" ,python-pytest-6)
+ ("python-pytest-benchmark"
+ ,python-pytest-benchmark)
+ ("python-pytest-cache" ,python-pytest-cache)
+ ("python-validictory" ,python-validictory)))
+ (home-page
+ "https://github.com/horejsek/python-fastjsonschema")
+ (synopsis
+ "Fast Python implementation of JSON schema")
+ (description
+ "This library implements validation of JSON documents by JSON schema for
+drafts 04, 06 and 07.")
+ (license license:bsd-3)))
+
(define-public python-nbformat
(package
(name "python-nbformat")
(version "5.1.3")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "nbformat" version))
- (sha256
- (base32
- "1j6idwsw59cslsssvlkg2bkfpvd6ri7kghbp14jwcw87sy57h5mm"))))
+ ;; The PyPi release tarball lacks some test cases and test data.
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/jupyter/nbformat.git")
+ (commit version)))
+ (sha256
+ (base32
+ "033v16cfmxzh3jn5phnil4p3silr49iwh9wiigzhv0crc6sanvwz"))
+ (file-name (git-file-name name version))))
(build-system python-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key inputs outputs tests? #:allow-other-keys)
+ (when tests?
+ (invoke "pytest" "-vv")))))))
(propagated-inputs
`(("python-ipython-genutils" ,python-ipython-genutils)
("python-jsonschema" ,python-jsonschema)
("python-jupyter-core" ,python-jupyter-core)
("python-traitlets" ,python-traitlets)))
(native-inputs
- `(("python-pytest" ,python-pytest)))
+ `(("python-pytest" ,python-pytest)
+ ("python-fastjsonschema" ,python-fastjsonschema) ; This is only active
+ ; when setting NBFORMAT_VALIDATOR="fastjsonschema", so include it for
+ ; testing only.
+ ("python-testpath" ,python-testpath)))
(home-page "https://jupyter.org")
(synopsis "Jupyter Notebook format")
(description "This package provides the reference implementation of the
@@ -10426,32 +10665,64 @@ time.")
(arguments
`(#:phases
(modify-phases %standard-phases
+ (add-after 'unpack 'fix-paths-and-tests
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let* ((pandoc (string-append (assoc-ref inputs "pandoc") "/bin/pandoc"))
+ (texlive-root (string-append (assoc-ref inputs "texlive")))
+ (xelatex (string-append texlive-root "/bin/xelatex"))
+ (bibtex (string-append texlive-root "/bin/bibtex")))
+ ;; Use pandoc binary from input.
+ (substitute* "nbconvert/utils/pandoc.py"
+ (("'pandoc'") (string-append "'" pandoc "'")))
+ ;; Same for LaTeX.
+ (substitute* "nbconvert/exporters/pdf.py"
+ (("\"xelatex\"") (string-append "\"" xelatex "\""))
+ (("\"bibtex\"") (string-append "\"" bibtex "\"")))
+ ;; Make sure tests are not skipped.
+ (substitute* (find-files "." "test_.+\\.py$")
+ (("@onlyif_cmds_exist\\(('(pandoc|xelatex)'(, )?)+\\)") ""))
+ ;; Pandoc is never missing, disable test.
+ (substitute* "nbconvert/utils/tests/test_pandoc.py"
+ (("import os" all) (string-append all "\nimport pytest"))
+ (("(.+)(def test_pandoc_available)" all indent def)
+ (string-append indent "@pytest.mark.skip('disabled by guix')\n"
+ indent def)))
+ ; Not installing pyppeteer, delete test.
+ (delete-file "nbconvert/exporters/tests/test_webpdf.py")
+ (substitute* "nbconvert/tests/test_nbconvertapp.py"
+ (("(.+)(def test_webpdf_with_chromium)" all indent def)
+ (string-append indent "@pytest.mark.skip('disabled by guix')\n"
+ indent def)))
+ #t)))
(replace 'check
(lambda* (#:key tests? inputs outputs #:allow-other-keys)
(when tests?
+ ;; Some tests invoke the installed nbconvert binary.
(add-installed-pythonpath inputs outputs)
-
- ;; This seems to require Chromium.
- (delete-file "nbconvert/exporters/tests/test_webpdf.py")
-
- ;; This depends on the python3 kernel, which is provided by a
- ;; package that depends on nbconvert.
- (delete-file "nbconvert/preprocessors/tests/test_execute.py")
-
- ;; Most of these tests fail because nbconvert fails to execute
- ;; itself.
- (delete-file "nbconvert/tests/test_nbconvertapp.py")
-
- ;; One test here fails with an unclear error. It looks like
- ;; "%%pylabprint" is supposed to be expanded to some other
- ;; code, but isn't.
- (delete-file "nbconvert/filters/tests/test_strings.py")
-
+ ;; Tries to write to this path.
+ (unsetenv "JUPYTER_CONFIG_DIR")
+ ;; Tests depend on templates installed to output.
+ (setenv "JUPYTER_PATH"
+ (string-append
+ (assoc-ref outputs "out")
+ "/share/jupyter:"
+ (getenv "JUPYTER_PATH")))
;; Some tests need HOME
(setenv "HOME" "/tmp")
- (invoke "pytest")))))))
- (native-inputs
- `(("python-pytest" ,python-pytest)))
+ (invoke "pytest" "-vv")))))))
+ (inputs
+ `(("pandoc" ,pandoc)
+ ; XXX: Disabled, needs substitute*.
+ ;("inkscape" ,inkscape)
+ ("texlive" ,texlive)))
+ (native-inputs
+ `(("python-ipykernel" ,python-ipykernel)
+ ; XXX: Disabled, not in guix.
+ ;("python-pyppeteer" ,python-pyppeteer)
+ ("python-pytest" ,python-pytest)
+ ("python-pytest-cov" ,python-pytest-cov)
+ ("python-pytest-dependency"
+ ,python-pytest-dependency)))
(propagated-inputs
`(("python-bleach" ,python-bleach)
("python-defusedxml" ,python-defusedxml)
@@ -10465,7 +10736,9 @@ time.")
("python-pygments" ,python-pygments)
("python-jupyterlab-pygments" ,python-jupyterlab-pygments)
("python-testpath" ,python-testpath)
- ("python-traitlets" ,python-traitlets)))
+ ("python-traitlets" ,python-traitlets)
+ ;; Required, even if [serve] is not used.
+ ("python-tornado" ,python-tornado-6)))
(home-page "https://jupyter.org")
(synopsis "Converting Jupyter Notebooks")
(description "The @code{nbconvert} tool, @{jupyter nbconvert}, converts
@@ -10534,6 +10807,9 @@ convert an @code{.ipynb} notebook file into various static formats including:
(delete-file-recursively "notebook/tests/selenium")
(when tests?
(add-installed-pythonpath inputs outputs)
+ ;; Some tests do not expect all files to be installed in the
+ ;; same directory, but JUPYTER_PATH contains multiple entries.
+ (unsetenv "JUPYTER_PATH")
;; Some tests need HOME
(setenv "HOME" "/tmp")
(with-directory-excursion "/tmp"
@@ -10788,10 +11064,6 @@ popular online obfuscators.")
("python-nbconvert" ,python-nbconvert)
("python-notebook" ,python-notebook)
("python-qtconsole" ,python-qtconsole)))
- (native-search-paths
- (list (search-path-specification
- (variable "JUPYTER_PATH")
- (files '("share/jupyter")))))
(home-page "https://jupyter.org")
(synopsis "Web application for interactive documents")
(description
@@ -11368,6 +11640,25 @@ its Lisp code into the Python Abstract Syntax Tree, you have the whole world of
Python at your fingertips, in Lisp form.")
(license license:expat)))
+(define-public python-hissp
+ (package
+ (name "python-hissp")
+ (version "0.2.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "hissp" version))
+ (sha256
+ (base32
+ "0yns7f0q699zn2ziagyas2nkndl7mp1hhssv9x9mpl7jxj2p5myw"))))
+ (build-system python-build-system)
+ (home-page "https://github.com/gilch/hissp")
+ (synopsis "It's Python with a Lissp")
+ (description "Hissp is a modular Lisp implementation that compiles to a
+functional subset of Python—Syntactic macro metaprogramming with full access
+to the Python ecosystem.")
+ (license license:asl2.0)))
+
(define-public python2-functools32
(package
(name "python2-functools32")
@@ -12464,6 +12755,119 @@ ISO 8859, etc.).")
(define-public python2-translitcodec
(package-with-python2 python-translitcodec))
+(define-public python-anyqt
+ (package
+ (name "python-anyqt")
+ (version "0.0.11")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "AnyQt" version))
+ (sha256
+ (base32 "0gl2czirzjvhbq963i2awxp8kwbc1grh67lpcwfipyn9w3kdwdj4"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:tests? #f ;there are no tests
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'delete-files
+ ;; Delete files related to other operating systems.
+ (lambda _
+ (delete-file "AnyQt/QtMacExtras.py")
+ (delete-file "AnyQt/QtWinExtras.py")
+ #t)))))
+ (home-page "https://github.com/ales-erjavec/anyqt")
+ (synopsis "PyQt4/PyQt5 compatibility layer")
+ (description "AnyQt is a PyQt4/PyQt5 compatibility layer.")
+ (license license:gpl3)))
+
+(define-public python-pyqtgraph
+ (package
+ (name "python-pyqtgraph")
+ (version "0.12.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "pyqtgraph" version))
+ (sha256
+ (base32 "0kc7ncv0lr3spni29i9g8nszyr4xinswqi2zzs6v8kqqi593pvyj"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-before 'check 'set-home-and-qpa
+ (lambda _
+ (setenv "HOME" "/tmp")
+ (setenv "QT_QPA_PLATFORM" "offscreen")
+ #t))
+ (replace 'check
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (add-installed-pythonpath inputs outputs)
+ (invoke "pytest" "-vv" "-k"
+ ;; These tests try to download online data.
+ (string-append "not test_PolyLineROI"
+ " and not test_getArrayRegion_axisorder"
+ " and not test_getArrayRegion"
+ " and not test_PlotCurveItem"
+ " and not test_NonUniformImage_colormap"
+ " and not test_NonUniformImage_lut"
+ " and not test_ImageItem_axisorder"
+ " and not test_ImageItem")))))))
+ (native-inputs
+ `(("python-pytest" ,python-pytest)
+ ("python-pytest-cov" ,python-pytest-cov)
+ ("python-pytest-xdist" ,python-pytest-xdist)))
+ (inputs
+ `(("qtbase" ,qtbase)))
+ (propagated-inputs
+ `(("python-h5py" ,python-h5py)
+ ("python-numpy" ,python-numpy)
+ ("python-pyopengl" ,python-pyopengl)
+ ("python-scipy" ,python-scipy)
+ ("python-pyqt" ,python-pyqt)))
+ (home-page "http://www.pyqtgraph.org")
+ (synopsis "Scientific graphics and GUI library for Python")
+ (description
+ "PyQtGraph is a Pure-python graphics library for PyQt5, PyQt6, PySide2
+and PySide6. It is intended for use in mathematics, scientific or engineering
+applications.")
+ (license license:expat)))
+
+(define-public python-qasync
+ (package
+ (name "python-qasync")
+ (version "0.15.0")
+ (source
+ (origin
+ ;; There are no tests in the PyPI tarball.
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/CabbageDevelopment/qasync/")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0va9h6v102d7mxz608banjc0l0v02dq3ywhr5i4nqaxx3qkazc2l"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:test-target "pytest"
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'check 'set-qpa
+ (lambda _
+ (setenv "QT_QPA_PLATFORM" "offscreen")
+ #t)))))
+ (native-inputs
+ `(("python-pytest" ,python-pytest)
+ ("python-pytest-runner" ,python-pytest-runner)))
+ (propagated-inputs
+ `(("python-pyqt" ,python-pyqt)))
+ (home-page "https://github.com/CabbageDevelopment/qasync")
+ (synopsis "Implementation of the PEP 3156 Event-Loop with Qt")
+ (description
+ "@code{qasync} allows coroutines to be used in PyQt/PySide applications
+by providing an implementation of the PEP 3156 event-loop.")
+ (license license:bsd-2)))
+
(define-public python-editor
(package
(name "python-editor")
@@ -24069,13 +24473,13 @@ applications with variable CPU loads).")
(define-public python-djvulibre
(package
(name "python-djvulibre")
- (version "0.8.5")
+ (version "0.8.6")
(source
(origin
(method url-fetch)
(uri (pypi-uri "python-djvulibre" version))
(sha256
- (base32 "1c0lvpg7j2525cv52s3q5sg7hfnakkb8rmghg0jc02gshsxmrj4f"))))
+ (base32 "089smpq29ll0z37lnq26r2f72d31i33xm9fw9pc6hlcsm6nbjbiv"))))
(build-system python-build-system)
(native-inputs
`(("ghostscript" ,ghostscript)
diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index fb1a3b598e..b206deaeba 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -7,7 +7,7 @@
;;; Copyright © 2016 Thomas Danckaert <post@thomasdanckaert.be>
;;; Copyright © 2017, 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2017 Quiliro <quiliro@fsfla.org>
-;;; Copyright © 2017, 2018, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2017, 2018, 2020, 2021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018, 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2018 Hartmut Goebel <h.goebel@crazy-compilers.com>
;;; Copyright © 2018 Eric Bavier <bavier@member.fsf.org>
@@ -137,20 +137,20 @@
("qtmultimedia" ,qtmultimedia)))
(home-page "https://github.com/Ri0n/qite/")
(synopsis "Qt Interactive Text Elements")
- (description "Qite allows to manage interactive elements on QTextEdit.")
+ (description "Qite manages interactive elements on QTextEdit.")
(license license:asl2.0))))
(define-public qt5ct
(package
(name "qt5ct")
- (version "1.1")
+ (version "1.2")
(source
(origin
(method url-fetch)
(uri
(string-append "mirror://sourceforge/qt5ct/qt5ct-" version ".tar.bz2"))
(sha256
- (base32 "1lnx4wqk87lbr6lqc64w5g5ppjjv75kq2r0q0bz9gfpryzdw8xxg"))))
+ (base32 "0bl7dc03b7vm435khkr932ybslsbq1nfajd936zlc1sxdmpg1qqx"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; No target
@@ -2687,9 +2687,10 @@ color-related widgets.")
("qtwebsockets" ,qtwebsockets)
("qtx11extras" ,qtx11extras)
("qtxmlpatterns" ,qtxmlpatterns)))
+ (propagated-inputs
+ `(("python-shiboken-2" ,python-shiboken-2)))
(native-inputs
`(("cmake" ,cmake-minimal)
- ("python-shiboken-2" ,python-shiboken-2)
("python" ,python-wrapper)
("qttools" ,qttools)
("which" ,which)))
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 300726764e..dcf5eb33ad 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -10156,6 +10156,24 @@ are doing, you can fiddle with every last bit of your email directly.")
(home-page "https://github.com/mikel/mail")
(license license:expat)))
+(define-public ruby-email-reply-trimmer
+ (package
+ (name "ruby-email-reply-trimmer")
+ (version "0.1.13")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "email_reply_trimmer" version))
+ (sha256
+ (base32
+ "1jgcxifm48xq5dz9k47q43pqm5bfnf14l62l3bqhmv8f6z8dw4ki"))))
+ (build-system ruby-build-system)
+ (synopsis "Trim replies from plain text email")
+ (description "EmailReplyTrimmer is a Ruby small library to trim replies
+from plain text email.")
+ (home-page "https://github.com/discourse/email_reply_trimmer")
+ (license license:expat)))
+
(define-public ruby-mathn
(package
(name "ruby-mathn")
diff --git a/gnu/packages/samba.scm b/gnu/packages/samba.scm
index 5f14768b87..fd67e4b8ba 100644
--- a/gnu/packages/samba.scm
+++ b/gnu/packages/samba.scm
@@ -64,14 +64,14 @@
(define-public cifs-utils
(package
(name "cifs-utils")
- (version "6.12")
+ (version "6.13")
(source
(origin
(method url-fetch)
(uri (string-append "https://download.samba.org/pub/linux-cifs/"
"cifs-utils/cifs-utils-" version ".tar.bz2"))
(sha256 (base32
- "1vw570pvir73kl4y6fhd6ns936ankimkhb1ii43yh8lr0p1xqbcj"))))
+ "0mnhcc4ayj2vn2azhk45fnal1hibsv0q2c4ihkxcrjhkhrn7in23"))))
(build-system gnu-build-system)
(native-inputs
`(("autoconf" ,autoconf)
diff --git a/gnu/packages/scheme.scm b/gnu/packages/scheme.scm
index b5d526bfc3..5c2d2747b9 100644
--- a/gnu/packages/scheme.scm
+++ b/gnu/packages/scheme.scm
@@ -15,6 +15,7 @@
;;; Copyright © 2020 Brett Gilio <brettg@gnu.org>
;;; Copyright © 2020 Edouard Klein <edk@beaver-labs.com>
;;; Copyright © 2021 Philip McGrath <philip@philipmcgrath.com>
+;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -230,29 +231,34 @@ features an integrated Emacs-like editor and a large runtime library.")
(define-public bigloo
;; Upstream modifies source tarballs in place, making significant changes
;; long after the initial publication: <https://bugs.gnu.org/33525>.
- (let ((upstream-version "4.3f"))
+ (let ((upstream-version "4.3g"))
(package
(name "bigloo")
- (version "4.3f")
+ (version "4.3g")
(source (origin
(method url-fetch)
(uri (string-append "ftp://ftp-sop.inria.fr/indes/fp/Bigloo/bigloo"
upstream-version ".tar.gz"))
(sha256
(base32
- "09whj8z91qbihk59dw2yb2ccbx9nk1c4l65j62pfs1pz822cpyh9"))
+ "07305c134v7s1nz44igwsyqpb9qqia5zyng1q2qj60sskw3nbd67"))
;; Remove bundled libraries.
(modules '((guix build utils)))
(snippet
'(begin
(for-each delete-file-recursively
- '("gc" "gmp" "libuv"))
+ '("gc" "gmp" "libuv" "libunistring" "pcre"))
#t))))
(build-system gnu-build-system)
(arguments
`(#:test-target "test"
#:phases
(modify-phases %standard-phases
+ (add-after 'unpack 'fix-gmp-detection
+ (lambda _
+ (substitute* "configure"
+ (("gmpversion=`\\$autoconf gmp --lib=\\$gmplib`")
+ "gmpversion=`\\$autoconf gmp --lib=\"\\$gmplib\"`"))))
(replace 'configure
(lambda* (#:key inputs outputs #:allow-other-keys)
@@ -275,6 +281,8 @@ features an integrated Emacs-like editor and a large runtime library.")
(string-append "--prefix=" out)
; use system libraries
"--customgc=no"
+ "--enable-gmp"
+ "--customgmp=no"
"--customunistring=no"
"--customlibuv=no"
(string-append"--mv=" (which "mv"))
diff --git a/gnu/packages/scribus.scm b/gnu/packages/scribus.scm
index 9a6b75333b..1a267be13c 100644
--- a/gnu/packages/scribus.scm
+++ b/gnu/packages/scribus.scm
@@ -1,7 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015, 2018 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
-;;; Copyright © 2017, 2018 Nicolas Goaziou <mail@nicolasgoaziou.fr>
+;;; Copyright © 2017, 2018, 2021 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2018 Clément Lassieur <clement@lassieur.org>
;;; Copyright © 2019 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2020, 2021 Tobias Geerinckx-Rice <me@tobias.gr>
@@ -46,54 +46,22 @@
#:use-module (gnu packages tls)
#:use-module (gnu packages xml))
-(define podofo-for-scribus
- (package
- (inherit podofo)
- (version "0.9.6")
- (source
- (origin
- (method url-fetch)
- (uri (string-append "mirror://sourceforge/podofo/podofo/" version
- "/podofo-" version ".tar.gz"))
- (sha256
- (base32 "0wj0y4zcmj4q79wrn3vv3xq4bb0vhhxs8yifafwy9f2sjm83c5p9"))
- (modules '((guix build utils)))
- (snippet
- '(begin
- ;; Fix the build with CMake 3.12.0.
- (substitute* "test/TokenizerTest/CMakeLists.txt"
- (("\\$\\{CMAKE_COMMAND\\}")
- "true"))
- #t))))))
-
(define-public scribus
(package
(name "scribus")
- (version "1.5.6.1")
+ (version "1.5.7")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/scribus/scribus-devel/"
version "/scribus-" version ".tar.xz"))
(sha256
- (base32 "1axp8ffnx3nh6k4s5mfa9gbx8d0yql2azgcampg41ylwafapc9fl"))))
+ (base32 "1kpq4vc95hj3w8l205kh0pmdlisi4v1gilz0sf8n39y7ryr1d0ri"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f ;no test target
#:configure-flags
- '("-DWANT_GRAPHICSMAGICK=1")
- #:phases
- (modify-phases %standard-phases
- (add-after 'install 'wrap-program
- (lambda* (#:key inputs outputs #:allow-other-keys)
- ;; 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")
- `("PATH" ":" prefix (,(string-append py2 "/bin")))))
- #t)))))
+ '("-DWANT_GRAPHICSMAGICK=1")))
(inputs
`(("boost" ,boost)
("cairo" ,cairo)
@@ -116,9 +84,7 @@
("libxml2" ,libxml2)
("libzmf" ,libzmf)
("openssl" ,openssl)
- ;; Scribus 1.5.6.1 does not build with later versions, see
- ;; <https://bugs.scribus.net/view.php?id=16427>.
- ("podofo" ,podofo-for-scribus)
+ ("podofo" ,podofo)
("poppler" ,poppler)
("python" ,python) ; need Python library
("qtbase" ,qtbase)
diff --git a/gnu/packages/search.scm b/gnu/packages/search.scm
index 0d603ad360..362eb0d95e 100644
--- a/gnu/packages/search.scm
+++ b/gnu/packages/search.scm
@@ -420,19 +420,19 @@ bibliographic data and simple document and bibtex retrieval.")
(define-public ugrep
(package
(name "ugrep")
- (version "3.1.11")
+ (version "3.1.12")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/Genivia/ugrep")
(commit (string-append "v" version))))
(sha256
- (base32 "1g3sxnrcaz1jxwa8nwrxpr63g4y0ha5zcf10053ciy9wjh6wqs1w"))
- (file-name (string-append name "-" version "-checkout"))
+ (base32 "06y61sf2ywjaix4nss11wwkxipj8cc9ccx6bsmdm31h8d8wd2s0j"))
+ (file-name (git-file-name name version))
(modules '((guix build utils)))
(snippet
'(begin
- (delete-file-recursively "bin") ;; pre-build executables
+ (delete-file-recursively "bin") ; pre-built executables
(for-each delete-file (find-files "tests" "^archive\\..*"))
(for-each delete-file (find-files "tests" "^.*\\.pdf$"))
(for-each delete-file (find-files "tests" "^.*\\.class$"))
diff --git a/gnu/packages/serialization.scm b/gnu/packages/serialization.scm
index 1a5b445fd6..4ef74c2a7f 100644
--- a/gnu/packages/serialization.scm
+++ b/gnu/packages/serialization.scm
@@ -52,6 +52,41 @@
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages perl))
+(define-public avro-cpp-1.9
+ (package
+ (name "avro-cpp")
+ (version "1.9.2")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://archive.apache.org/dist/avro/avro-" version
+ "/avro-src-" version ".tar.gz"))
+ (sha256
+ (base32 "0i3fpm7r72yw397qc8yw9ybzk2mxjkv0yk5hnn00ylc1wbd0np73"))))
+ (build-system cmake-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'chdir
+ (lambda _ (chdir "lang/c++"))))))
+ (inputs
+ `(("boost" ,boost)
+ ("snappy" ,snappy)))
+ (home-page "https://avro.apache.org/")
+ (synopsis "Data serialization system")
+ (description "Apache Avro is a data serialization system. Avro provides:
+@enumerate
+@item Rich data structures;
+@item a compact, fast, binary data format;
+@item a container file, to store persistent data;
+@item remote procedure call (RPC); and
+@item simple integration with dynamic languages.
+@end enumerate
+
+Code generation is not required to read or write data files nor to use or
+implement RPC protocols.")
+ (license license:asl2.0)))
+
(define-public cereal
(package
(name "cereal")
diff --git a/gnu/packages/shells.scm b/gnu/packages/shells.scm
index f2356dbdb4..e9e9a845fe 100644
--- a/gnu/packages/shells.scm
+++ b/gnu/packages/shells.scm
@@ -825,14 +825,14 @@ Shell (pdksh).")
(define-public oil
(package
(name "oil")
- (version "0.8.9")
+ (version "0.8.10")
(source
(origin
(method url-fetch)
(uri (string-append "https://www.oilshell.org/download/oil-"
version ".tar.gz"))
(sha256
- (base32 "080lsx7hyjhny3jzscwr152vr0g9s3c2iqg3vrpgsbk8vv7vw5l7"))))
+ (base32 "03ixqspizvgj869b524c33pg9c6h64g04r4pjkxfp1fxvgca70db"))))
(build-system gnu-build-system)
(arguments
`(#:strip-binaries? #f ; strip breaks the binary
diff --git a/gnu/packages/shellutils.scm b/gnu/packages/shellutils.scm
index c7a941dfa6..b60cb0866d 100644
--- a/gnu/packages/shellutils.scm
+++ b/gnu/packages/shellutils.scm
@@ -8,6 +8,7 @@
;;; Copyright © 2019 Collin J. Doering <collin@rekahsoft.ca>
;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de>
;;; Copyright © 2020 aecepoglu <aecepoglu@fastmail.fm>
+;;; Copyright © 2020 Dion Mendel <guix@dm9.info>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -254,6 +255,15 @@ are already there.")
;; so delete the extra source code here.
(delete-file-recursively "src/github.com/direnv/direnv/vendor")
#t))
+ (add-after 'install 'install-manpages
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (man (string-append out "/share/man/man1")))
+ (mkdir-p man)
+ (with-directory-excursion "src/github.com/direnv/direnv"
+ (install-file "man/direnv.1" man)
+ (install-file "man/direnv-stdlib.1" man)
+ (install-file "man/direnv.toml.1" man)))))
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
diff --git a/gnu/packages/skarnet.scm b/gnu/packages/skarnet.scm
index 4ada54a842..6cbabe7a31 100644
--- a/gnu/packages/skarnet.scm
+++ b/gnu/packages/skarnet.scm
@@ -30,14 +30,14 @@
(define-public skalibs
(package
(name "skalibs")
- (version "2.10.0.2")
+ (version "2.10.0.3")
(source
(origin
(method url-fetch)
(uri (string-append "https://skarnet.org/software/skalibs/skalibs-"
version ".tar.gz"))
(sha256
- (base32 "03qyi77wgcw3nzy7i932wd98d6j7nnzxc8ddl973vf5sa1v3vflb"))))
+ (base32 "0ka6n5rnxd5sn5lycarf596d5wlak5s535zqqlz0rnhdcnpb105p"))))
(build-system gnu-build-system)
(arguments
'(#:tests? #f ; no tests exist
@@ -62,14 +62,14 @@ and file system operations. It is used by all skarnet.org software.")
(define-public execline
(package
(name "execline")
- (version "2.8.0.0")
+ (version "2.8.0.1")
(source
(origin
(method url-fetch)
(uri (string-append "https://skarnet.org/software/execline/execline-"
version ".tar.gz"))
(sha256
- (base32 "0vbn4pdazy6x6213vn42k0khcij5bvkbrcfg7nw6inhf8154nx77"))))
+ (base32 "1v9swmhw2rcrr9fmkmd7qh8qq0kslhmvxwz2a3bhan9ksabz8wx3"))))
(build-system gnu-build-system)
(inputs `(("skalibs" ,skalibs)))
(arguments
@@ -104,14 +104,14 @@ complexity.")))
(define-public s6
(package
(name "s6")
- (version "2.10.0.2")
+ (version "2.10.0.3")
(source
(origin
(method url-fetch)
(uri (string-append "https://skarnet.org/software/s6/s6-"
version ".tar.gz"))
(sha256
- (base32 "08bcrp7ck1l3wmjyzxi3vgk6j0n2jfymxs4rjjw4if40f3lgqfmj"))))
+ (base32 "0mw7blp8dwr09z58m9mrxwmmvvpnjzq9klcf1vgm0hbha4qkf88x"))))
(build-system gnu-build-system)
(inputs `(("skalibs" ,skalibs)
("execline" ,execline)))
@@ -150,14 +150,14 @@ functionality with a very small amount of code.")))
(define-public s6-dns
(package
(name "s6-dns")
- (version "2.3.5.0")
+ (version "2.3.5.1")
(source
(origin
(method url-fetch)
(uri (string-append "https://skarnet.org/software/s6-dns/s6-dns-"
version ".tar.gz"))
(sha256
- (base32 "0h5p5dbkkdadahrp4pqhc3x9ds758i6djy49k5zrn7mm5k4722wz"))))
+ (base32 "0qsgqwdr5ms337fc9f2b4aa5cr7myvbzndvgkgswnrdwszjm078c"))))
(build-system gnu-build-system)
(inputs `(("skalibs" ,skalibs)))
(arguments
@@ -179,14 +179,14 @@ as an alternative to the BIND, djbdns or other DNS clients.")))
(define-public s6-networking
(package
(name "s6-networking")
- (version "2.4.1.0")
+ (version "2.4.1.1")
(source
(origin
(method url-fetch)
(uri (string-append "https://skarnet.org/software/s6-networking/"
"s6-networking-" version ".tar.gz"))
(sha256
- (base32 "023wnayv1gddklnsh3qv7i5jfy2fisbp24wa0nzjg0nfq3p807yc"))))
+ (base32 "0m55ibx7k2wgrqbpci1n667ij0h925ajzggxalq2pj65kmwcmyx3"))))
(build-system gnu-build-system)
(inputs `(("skalibs" ,skalibs)
("execline" ,execline)
@@ -222,14 +222,14 @@ clock synchronization.")))
(define-public s6-rc
(package
(name "s6-rc")
- (version "0.5.2.1")
+ (version "0.5.2.2")
(source
(origin
(method url-fetch)
(uri (string-append "https://skarnet.org/software/s6-rc/s6-rc-"
version ".tar.gz"))
(sha256
- (base32 "02pszbi440wagx2qp8aqj9mv5wm2qisw9lkq7mbnbnxxw9azlhi8"))))
+ (base32 "12bzc483jpd16xmhfsfrib84daj1k3kwy5s5nc18ap60apa1r39a"))))
(build-system gnu-build-system)
(inputs `(("skalibs" ,skalibs)
("execline" ,execline)
@@ -263,7 +263,7 @@ environment.")))
(define-public s6-portable-utils
(package
(name "s6-portable-utils")
- (version "2.2.3.1")
+ (version "2.2.3.2")
(source
(origin
(method url-fetch)
@@ -271,7 +271,7 @@ environment.")))
"https://skarnet.org/software/s6-portable-utils/s6-portable-utils-"
version ".tar.gz"))
(sha256
- (base32 "1ks1ch5v3p2z8y8wp5fmzzgjrqn2l5sj1sgfp8vv6wy8psd8mrj3"))))
+ (base32 "173nmygkp7ky3093dg4rx3ahvyl7ll86z8qj6pl3jd96xb9s49v6"))))
(build-system gnu-build-system)
(inputs `(("skalibs" ,skalibs)))
(arguments
@@ -295,7 +295,7 @@ systems and other constrained environments, but they work everywhere.")))
(define-public s6-linux-init
(package
(name "s6-linux-init")
- (version "1.0.6.1")
+ (version "1.0.6.2")
(source
(origin
(method url-fetch)
@@ -303,7 +303,7 @@ systems and other constrained environments, but they work everywhere.")))
"https://skarnet.org/software/s6-linux-init/s6-linux-init-"
version ".tar.gz"))
(sha256
- (base32 "0sq8ya39a1qs61cdjns8ijwrvxnqd4snk2ab4j5wl9a87i7wixhn"))))
+ (base32 "06xcmn2a89fvng056lcnnyrl2ak0y7cblkc90lj9a2liyhawy9dr"))))
(build-system gnu-build-system)
(inputs
`(("execline" ,execline)
@@ -341,7 +341,7 @@ all the details.")))
(define-public s6-linux-utils
(package
(name "s6-linux-utils")
- (version "2.5.1.4")
+ (version "2.5.1.5")
(source
(origin
(method url-fetch)
@@ -349,7 +349,7 @@ all the details.")))
"https://skarnet.org/software/s6-linux-utils/s6-linux-utils-"
version ".tar.gz"))
(sha256
- (base32 "02gxzc9igid2kf2rvm3v6kc9806mpjmdq7cpanv4cml0ip68vbfq"))))
+ (base32 "1fj5ldlrc6bx40pphg29rp3byd6fal6869v85kw86c2kdgrxn063"))))
(build-system gnu-build-system)
(inputs `(("skalibs" ,skalibs)))
(arguments
diff --git a/gnu/packages/spice.scm b/gnu/packages/spice.scm
index 92aeef7f79..31c2ce0ebe 100644
--- a/gnu/packages/spice.scm
+++ b/gnu/packages/spice.scm
@@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2016 David Craven <david@craven.ch>
-;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2018–2021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2019 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 2019, 2020 Marius Bakke <mbakke@fastmail.com>
;;;
@@ -21,6 +21,7 @@
(define-module (gnu packages spice)
#:use-module (gnu packages)
+ #:use-module (gnu packages autotools)
#:use-module (gnu packages base)
#:use-module (gnu packages compression)
#:use-module (gnu packages cyrus-sasl)
@@ -53,19 +54,22 @@
(package
(name "usbredir")
(home-page "https://spice-space.org")
- (version "0.8.0")
+ (version "0.9.0")
(source (origin
(method url-fetch)
(uri (string-append home-page "/download/" name "/" name "-"
- version ".tar.bz2"))
+ version ".tar.xz"))
(sha256
(base32
- "002yik1x7kn0427xahvnhjby2np14a6xqw7c3dx530n9h5d9rg47"))))
+ "19jnpzlanq0a1m5lmlcsp50wxf7icxvpvclx7hnf0zxw8azngqd3"))))
(build-system gnu-build-system)
(propagated-inputs
`(("libusb" ,libusb)))
(native-inputs
- `(("pkg-config" ,pkg-config)))
+ `(("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("libtool" ,libtool)
+ ("pkg-config" ,pkg-config)))
(synopsis "Tools for sending USB device traffic over a network")
(description
"Usbredir is a network protocol for sending USB device traffic over a
diff --git a/gnu/packages/ssh.scm b/gnu/packages/ssh.scm
index fae10d0e16..20db069e0f 100644
--- a/gnu/packages/ssh.scm
+++ b/gnu/packages/ssh.scm
@@ -6,7 +6,7 @@
;;; Copyright © 2016, 2019 Leo Famulari <leo@famulari.name>
;;; Copyright © 2016, 2021 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2016 Christopher Allan Webber <cwebber@dustycloud.org>
-;;; Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2017–2021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017 Stefan Reichör <stefan@xsteve.at>
;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2017 Nikita <nikita@n0.is>
@@ -186,7 +186,7 @@ a server that supports the SSH-2 protocol.")
(define-public openssh
(package
(name "openssh")
- (version "8.5p1")
+ (version "8.6p1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://openbsd/OpenSSH/portable/"
@@ -194,7 +194,7 @@ a server that supports the SSH-2 protocol.")
(patches (search-patches "openssh-hurd.patch"))
(sha256
(base32
- "09gc8rv7728chxraab85dzkdikaw4aph1wlcwcc9kai9si0kybzm"))))
+ "1bnpivgk98h2f9afpp88jv6g9ps83vnpxd031n2jqxi12vdf9rn3"))))
(build-system gnu-build-system)
(native-inputs `(("groff" ,groff)
("pkg-config" ,pkg-config)))
diff --git a/gnu/packages/syncthing.scm b/gnu/packages/syncthing.scm
index e800aebda7..e40f696720 100644
--- a/gnu/packages/syncthing.scm
+++ b/gnu/packages/syncthing.scm
@@ -2,7 +2,7 @@
;;; Copyright © 2016 Petter <petter@mykolab.ch>
;;; Copyright © 2016, 2017, 2018, 2019, 2020, 2021 Leo Famulari <leo@famulari.name>
;;; Copyright © 2020 Tobias Geerinckx-Rice <me@tobias.gr>
-;;; Copyright © 2020 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2020, 2021 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2020 Giacomo Leidi <goodoldpaul@autistici.org>
;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;;
@@ -75,6 +75,14 @@
(("120s") "999s"))
#t))
+ (add-before 'build 'pre-build
+ (lambda _
+ (with-directory-excursion "src/github.com/syncthing/syncthing"
+ ;; Don't set a local GOBIN, it breaks cross compiling.
+ (substitute* "build.go"
+ ((".*GOBIN.*") "")))
+ #t))
+
(replace 'build
(lambda _
(with-directory-excursion "src/github.com/syncthing/syncthing"
@@ -83,27 +91,25 @@
;; "build syncthing" again with -no-upgrade.
;; https://github.com/syncthing/syncthing/issues/6118
(invoke "go" "run" "build.go")
- (delete-file "bin/syncthing")
+ (for-each delete-file (find-files "../../../../bin" "syncthing"))
(invoke "go" "run" "build.go" "-no-upgrade" "build" "syncthing"))))
(replace 'check
- (lambda _
- (with-directory-excursion "src/github.com/syncthing/syncthing"
- (invoke "go" "run" "build.go" "test"))))
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (with-directory-excursion "src/github.com/syncthing/syncthing"
+ (invoke "go" "run" "build.go" "test")))
+ #t))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out"))
(utils (assoc-ref outputs "utils")))
- (with-directory-excursion "src/github.com/syncthing/syncthing/bin"
- (install-file "../syncthing" (string-append out "/bin"))
- (for-each (cut install-file <> (string-append utils "/bin/"))
- '("stcompdirs" "stcrashreceiver"
- "stdisco" "stdiscosrv" "stevents" "stfileinfo"
- "stfinddevice" "stfindignored" "stgenfiles"
- "stindex" "strelaypoolsrv" "strelaysrv" "stsigtool"
- "stvanity" "stwatchfile" "uraggregate" "ursrv"))
- #t))))
+ (with-directory-excursion "src/github.com/syncthing/syncthing"
+ (install-file "syncthing" (string-append out "/bin")))
+ (for-each (cut install-file <> (string-append utils "/bin/"))
+ (find-files "bin"))
+ #t)))
(add-after 'install 'install-docs
(lambda* (#:key outputs #:allow-other-keys)
diff --git a/gnu/packages/terminals.scm b/gnu/packages/terminals.scm
index 3fe580589d..d3c780acd2 100644
--- a/gnu/packages/terminals.scm
+++ b/gnu/packages/terminals.scm
@@ -23,6 +23,8 @@
;;; Copyright © 2020, 2021 Marius Bakke <marius@gnu.org>
;;; Copyright © 2020, 2021 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2020 Leo Famulari <leo@famulari.name>
+;;; Copyright © 2021 Ekaitz Zarraga <ekaitz@elenq.tech>
+;;; Copyright © 2021 Raphaël Mélotte <raphael.melotte@mind.be>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -1029,7 +1031,7 @@ tmux.")
(define-public kitty
(package
(name "kitty")
- (version "0.19.3")
+ (version "0.20.1")
(home-page "https://sw.kovidgoyal.net/kitty/")
(source
(origin
@@ -1039,7 +1041,7 @@ tmux.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "0r49bybqy6c0n1lz6yc85py80wb40w757m60f5rszjf200wnyl6s"))
+ (base32 "0ncal16x3mz24f4l2lk50khzv3xacynk2pf3cklbvm2n7j69qca1"))
(modules '((guix build utils)))
(snippet
'(begin
@@ -1240,6 +1242,26 @@ an st fork using wld. st is a simple terminal emulator for X originally
made by suckless.")
(license license:x11)))
+(define-public tio
+ (package
+ (name "tio")
+ (version "1.32")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://github.com/tio/tio/releases/download/v"
+ version "/tio-" version ".tar.xz"))
+ (sha256
+ (base32 "0i5fhi4xdk4yznj8wahniizddmx6wlcnnhda1dw9djyajilyvxd8"))))
+ (build-system gnu-build-system)
+ (home-page "https://tio.github.io/")
+ (synopsis "Simple TTY terminal I/O application")
+ (description "tio is a simple TTY terminal application which features a
+straightforward commandline interface to easily connect to TTY devices for
+basic input/output.")
+ (license license:gpl2+)))
+
(define-public alacritty
(package
(name "alacritty")
diff --git a/gnu/packages/text-editors.scm b/gnu/packages/text-editors.scm
index 66d4f6c484..47b6e93f29 100644
--- a/gnu/packages/text-editors.scm
+++ b/gnu/packages/text-editors.scm
@@ -276,7 +276,7 @@ bindings and many of the powerful features of GNU Emacs.")
(define-public jucipp
(package
(name "jucipp")
- (version "1.6.2")
+ (version "1.6.3")
(home-page "https://gitlab.com/cppit/jucipp")
(source (origin
(method git-fetch)
@@ -288,7 +288,7 @@ bindings and many of the powerful features of GNU Emacs.")
(recursive? #t)))
(file-name (git-file-name name version))
(sha256
- (base32 "10idv2kyw2dg45wfcnh7nybs8qys7kfvif90sjrff3541k97pm5y"))))
+ (base32 "1gy2xb5rm7q4zx9rl23h96b1i46fz27v25nklj50fvqp8ax2gxqy"))))
(build-system cmake-build-system)
(arguments
`(#:configure-flags '("-DBUILD_TESTING=ON"
@@ -358,11 +358,11 @@ bindings and many of the powerful features of GNU Emacs.")
("ctags" ,universal-ctags)
("gtkmm" ,gtkmm)
("gtksourceviewmm" ,gtksourceviewmm)
- ("libclang" ,clang-10) ;XXX: must be the same version as Mesas LLVM
+ ("libclang" ,clang-11) ;XXX: must be the same version as Mesas LLVM
("libgit2" ,libgit2)))
(synopsis "Lightweight C++ IDE")
(description
- "juCi++ is a small @dfn{IDE} (Integrated Development Environment)
+ "juCi++ is a small @acronym{IDE, Integrated Development Environment}
designed especially towards libclang with speed, stability, and ease of use
in mind.
diff --git a/gnu/packages/textutils.scm b/gnu/packages/textutils.scm
index c2eb7ca1da..a51d689134 100644
--- a/gnu/packages/textutils.scm
+++ b/gnu/packages/textutils.scm
@@ -315,7 +315,7 @@ input bits thoroughly but are not suitable for cryptography.")
(build-system gnu-build-system)
(arguments
`(#:make-flags
- (list "CC=gcc"
+ (list (string-append "CC=" ,(cc-for-target))
"HIDE="
;; Override "/sbin/ldconfig" with "echo" because we don't need
;; "ldconfig".
@@ -324,6 +324,18 @@ input bits thoroughly but are not suitable for cryptography.")
"all-shared")
#:phases
(modify-phases %standard-phases
+ (add-after 'unpack 'fix-cross-compilation
+ ;; The Makefile contains more insults than cross-compilation support.
+ ;; It poorly reinvents autotools by compiling C programmes with $CC,
+ ;; then tries to run them during the build. Hard-code the results.
+ (lambda _
+ (substitute* "Makefile"
+ (("\\./autoconf_64b")
+ ,(if (target-64bit? (or (%current-target-system)
+ (%current-system)))
+ "echo 1"
+ "echo 0"))
+ (("\\./autoconf_vsnprintf") "echo 0"))))
(add-after 'unpack 'disable-check-for-stdint
(lambda _
;; Of course we have stdint.h, just not in /usr/include
@@ -1011,6 +1023,43 @@ indentation.
(home-page "http://docx2txt.sourceforge.net")
(license license:gpl3+)))
+(define-public html2text
+ ;; Use commit directly to get the fixes to the installation phase
+ ;; that are not in a release yet.
+ (let ((commit "05364c1028026a87d6f45130a8e86e1ee67704d2")
+ (revision "1"))
+ (package
+ (name "html2text")
+ (version (git-version "2.0.1_pre" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/grobian/html2text")
+ (commit (string-append commit))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0n6pl0nijcn4z3p0dvf3gmvvpjq261pagnk84s9f78c4c55bw5cm"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:make-flags
+ (list (string-append "PREFIX=" (assoc-ref %outputs "out")))
+ #:phases
+ (modify-phases %standard-phases
+ (replace 'configure
+ ;; The configure script is not from autotools and does not accept
+ ;; ‘--style’ options. There is no proper error handling.
+ (lambda* (#:key outputs #:allow-other-keys)
+ (invoke "./configure"
+ (string-append "CXX=" ,(cxx-for-target))))))))
+ (home-page "https://github.com/grobian/html2text")
+ (synopsis "HTML to plain text converter")
+ (description
+ "@code{html2text} is a command line utility that converts HTML
+documents into plain text.")
+ (license (list license:bsd-4 ; cmp_nocase.cpp & sgml.h
+ license:gpl2+))))) ; everything else
+
(define-public odt2txt
(package
(name "odt2txt")
diff --git a/gnu/packages/tmux.scm b/gnu/packages/tmux.scm
index b8355600b3..f208fbfd93 100644
--- a/gnu/packages/tmux.scm
+++ b/gnu/packages/tmux.scm
@@ -43,7 +43,7 @@
(define-public tmux
(package
(name "tmux")
- (version "3.1c")
+ (version "3.2")
(source (origin
(method url-fetch)
(uri (string-append
@@ -51,7 +51,7 @@
version "/tmux-" version ".tar.gz"))
(sha256
(base32
- "11l3r337ly2wxwdrgjg19bdxkbqpagqaykrdj2hk7vvv8hh753wi"))))
+ "16d310gcpfnfh7rl5vy1lwqy54ai5awkkybzkm1bw761719k8kb6"))))
(build-system gnu-build-system)
(inputs
`(("libevent" ,libevent)
diff --git a/gnu/packages/upnp.scm b/gnu/packages/upnp.scm
index 2743ba456d..9b586c1cf2 100644
--- a/gnu/packages/upnp.scm
+++ b/gnu/packages/upnp.scm
@@ -96,14 +96,14 @@ over IRC, instant messaging, network games, and most server software.")
(define-public libupnp
(package
(name "libupnp")
- (version "1.14.5")
+ (version "1.14.6")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/pupnp/pupnp/releases/download"
"/release-" version "/libupnp-" version".tar.bz2"))
(sha256
- (base32 "16hlcpffmqd4rja57m6km1dpx3abgv91vvmb8971vfg6gd0glzr2"))))
+ (base32 "00x5y1a7ygyjzc1ljfamynclqrzd44vhdsnnmx2nwaif6mvgcs1i"))))
(native-inputs
`(("pkg-config" ,pkg-config)))
(build-system gnu-build-system)
diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm
index ebddd9522a..3992f74644 100644
--- a/gnu/packages/version-control.scm
+++ b/gnu/packages/version-control.scm
@@ -1919,14 +1919,14 @@ RCS, PRCS, and Aegis packages.")
(define-public cvs-fast-export
(package
(name "cvs-fast-export")
- (version "1.55")
+ (version "1.56")
(source (origin
(method url-fetch)
(uri (string-append "http://www.catb.org/~esr/cvs-fast-export/"
"cvs-fast-export-" version ".tar.gz"))
(sha256
(base32
- "06y2myhhv2ap08bq7d7shq0b7lq6wgznwrpz6622xq66cxkf2n5g"))))
+ "058bzp3npng48ascls943m16kgvrl0h197a10brf7mvx8zpfc7sc"))))
(build-system gnu-build-system)
(arguments
'(#:phases
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index 571dbb70c6..481ab46b6e 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -2179,14 +2179,14 @@ To load this plugin, specify the following option when starting mpv:
(define-public youtube-dl
(package
(name "youtube-dl")
- (version "2021.04.07")
+ (version "2021.04.26")
(source (origin
(method url-fetch)
(uri (string-append "https://youtube-dl.org/downloads/latest/"
"youtube-dl-" version ".tar.gz"))
(sha256
(base32
- "02d51l6gdjr3zhhi7ydf5kzv8dv4jzq0ygja7zb2h9k7hnl0l27m"))
+ "0jpa65jr5djn9175p6a8j9i1zgarshfwfsgmprc0vvnsl3s23ksc"))
(snippet
'(begin
;; Delete the pre-generated files, except for the man page
@@ -2626,7 +2626,7 @@ encapsulated.")
(define-public libdvdcss
(package
(name "libdvdcss")
- (version "1.4.2")
+ (version "1.4.3")
(source (origin
(method url-fetch)
(uri (string-append "https://download.videolan.org/pub/"
@@ -2634,7 +2634,7 @@ encapsulated.")
name "-" version ".tar.bz2"))
(sha256
(base32
- "0x957zzpf4w2cp8zlk29prj8i2q6hay3lzdzsyz8y3cwxivyvhkq"))))
+ "0y800y33spblb20s1lsjbaiybknmwwmmiczmjqx5s760blpwjg13"))))
(build-system gnu-build-system)
(home-page "https://www.videolan.org/developers/libdvdcss.html")
(synopsis "Library for accessing DVDs as block devices")
diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm
index 64e5c88fd1..a2df3e763c 100644
--- a/gnu/packages/virtualization.scm
+++ b/gnu/packages/virtualization.scm
@@ -1651,7 +1651,7 @@ Open Container Initiative (OCI) image layout and its tagged images.")
(define-public skopeo
(package
(name "skopeo")
- (version "1.2.2")
+ (version "1.2.3")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -1660,7 +1660,7 @@ Open Container Initiative (OCI) image layout and its tagged images.")
(file-name (git-file-name name version))
(sha256
(base32
- "03sznybn3rqjyplc6w4b7mfa6gas8db15p5vnmfm1xqw72ldylgc"))))
+ "0n22sdif437ddg5ch0ipwim3fg0n6ihc9bfi52qkhy3r1grz04hs"))))
(build-system go-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)
diff --git a/gnu/packages/vpn.scm b/gnu/packages/vpn.scm
index adb48b1b97..a952e3f0db 100644
--- a/gnu/packages/vpn.scm
+++ b/gnu/packages/vpn.scm
@@ -293,14 +293,13 @@ and probably others.")
(define-public openconnect-sso
(package
(name "openconnect-sso")
- (version "0.7.2")
+ (version "0.7.3")
(source
(origin
(method url-fetch)
(uri (pypi-uri "openconnect-sso" version))
(sha256
- (base32
- "0nb40zfpp38mz6389y0qvrr4mmak53swpg7578cldnhnk0g15qni"))))
+ (base32 "065s5c8q80jh0psdw7694nlabwpra7aw6yc4jlgsc9vxx8rx2na1"))))
(build-system python-build-system)
(arguments
`(#:tests? #f ; Tests not included, building from git requires poetry.
@@ -383,7 +382,7 @@ this process. It is compatible with Fortinet VPNs.")
(define-public openvpn
(package
(name "openvpn")
- (version "2.5.1")
+ (version "2.5.2")
(source (origin
(method url-fetch)
(uri (string-append
@@ -391,7 +390,7 @@ this process. It is compatible with Fortinet VPNs.")
version ".tar.xz"))
(sha256
(base32
- "157ikzap2bbkzx34hkh33bpk2i14xjx1x3pkadhmzh1pr24h94s0"))))
+ "1j0xkiya20hhvalfjg5l3v1226vyjs9j9aw2mzpnbwq1d61l69xi"))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags '("--enable-iproute2=yes")))
@@ -678,7 +677,7 @@ WireGuard was added to Linux 5.6.")
(define-public wireguard-tools
(package
(name "wireguard-tools")
- (version "1.0.20210315")
+ (version "1.0.20210424")
(source
(origin
(method git-fetch)
@@ -687,7 +686,7 @@ WireGuard was added to Linux 5.6.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "1an5gm2dv111n3fylbrnyynxmi2d3iwf2b46zq08hc54kzazxcml"))))
+ (base32 "12v0ykaz7phv1gqin35wf6ndgb9819vai17ynjxssq00xwcbsq43"))))
(build-system gnu-build-system)
(arguments
`(#:make-flags
diff --git a/gnu/packages/web-browsers.scm b/gnu/packages/web-browsers.scm
index bb7ac5d15a..4d714982e9 100644
--- a/gnu/packages/web-browsers.scm
+++ b/gnu/packages/web-browsers.scm
@@ -4,7 +4,7 @@
;;; Copyright © 2015, 2016, 2019 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Kei Kebreau <kkebreau@posteo.net>
;;; Copyright © 2017 Eric Bavier <bavier@member.fsf.org>
-;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2018–2021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 2018 Timo Eisenmann <eisenmann@fn.de>
;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz>
@@ -725,7 +725,7 @@ key-bindings and is fully configurable and extensible in Common Lisp.")
(define-public lagrange
(package
(name "lagrange")
- (version "1.3.2")
+ (version "1.3.4")
(source
(origin
(method url-fetch)
@@ -733,7 +733,7 @@ key-bindings and is fully configurable and extensible in Common Lisp.")
(string-append "https://git.skyjake.fi/skyjake/lagrange/releases/"
"download/v" version "/lagrange-" version ".tar.gz"))
(sha256
- (base32 "14yj3l3h6i6ygdhyiwdg2cg6y5imlkql09r7dm5v7xm1ja0sr9lp"))))
+ (base32 "108b8a9vdmf846v7p30fs9z0b68w3naifixnia0ra54ssxjvy0h6"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #false)) ;no tests
@@ -837,7 +837,7 @@ http, and https via third-party applications.")
(define-public tinmop
(package
(name "tinmop")
- (version "0.5.9")
+ (version "0.6.2")
(source
(origin
(method git-fetch)
@@ -846,7 +846,7 @@ http, and https via third-party applications.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "1zdra4q4mkrldv7dpag9p1bsma2k9pvp9pp9k7qsbm0alj7xwqpr"))))
+ (base32 "1fz52agvxnavz375apb1pjalf3myjllr4pc096b6qvc6vzhadg4c"))))
(build-system gnu-build-system)
(native-inputs
`(("curl" ,curl)
diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
index 165a4fc236..35558b64c7 100644
--- a/gnu/packages/web.scm
+++ b/gnu/packages/web.scm
@@ -3,7 +3,7 @@
;;; Copyright © 2013 Aljosha Papsch <misc@rpapsch.de>
;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014, 2015, 2016 Mark H Weaver <mhw@netris.org>
-;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020, 2021 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2018 Raoul Jean Pierre Bonnal <ilpuccio.febo@gmail.com>
;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020 Eric Bavier <bavier@posteo.net>
@@ -367,14 +367,14 @@ the same, being completely separated from the Internet.")
;; ’stable’ and recommends that “in general you deploy the NGINX mainline
;; branch at all times” (https://www.nginx.com/blog/nginx-1-6-1-7-released/)
;; Consider updating the nginx-documentation package together with this one.
- (version "1.19.9")
+ (version "1.19.10")
(source (origin
(method url-fetch)
(uri (string-append "https://nginx.org/download/nginx-"
version ".tar.gz"))
(sha256
(base32
- "0hfqqyfgqa6wqazmb3d434nb3r5p8szfisa0m6nfh9lqdbqdyd9f"))))
+ "121d11693d6dbim3lh64hrqi66z129z30cvcrpbnm631yl7jkl78"))))
(build-system gnu-build-system)
(inputs `(("openssl" ,openssl)
("pcre" ,pcre)
@@ -458,9 +458,9 @@ and as a proxy to reduce the load on back-end HTTP or mail servers.")
(define-public nginx-documentation
;; This documentation should be relevant for the current nginx package.
- (let ((version "1.19.9")
- (revision 2696)
- (changeset "f85798c1c70a"))
+ (let ((version "1.19.10")
+ (revision 2708)
+ (changeset "f8686d85df53"))
(package
(name "nginx-documentation")
(version (simple-format #f "~A-~A-~A" version revision changeset))
@@ -472,7 +472,7 @@ and as a proxy to reduce the load on back-end HTTP or mail servers.")
(file-name (string-append name "-" version))
(sha256
(base32
- "1ksl32jw6h3qzyxxlsdjag7fcjvk3md3hdxn6ljs8pr2nhk1v6cs"))))
+ "00b0dkpblw3m2cwbbzv3miw47c0m3s0dvh1xy0hihkggy7mqv2r2"))))
(build-system gnu-build-system)
(arguments
'(#:tests? #f ; no test suite
@@ -1175,7 +1175,7 @@ efficiently. It gives the application developer no more than 4 methods.")
(define-public krona-tools
(package
(name "krona-tools")
- (version "2.7")
+ (version "2.8")
(source (origin
(method url-fetch)
(uri (string-append
@@ -1183,7 +1183,7 @@ efficiently. It gives the application developer no more than 4 methods.")
version "/KronaTools-" version ".tar"))
(sha256
(base32
- "0wvgllcqscsfb4xc09y3fqhx8i38pmr4w55vjs5y79wx56n710iq"))))
+ "1h698wddb3hii68mnkby7s1x81vbhd4z1sf4ivm1lsi2nqlc1vsn"))))
(build-system perl-build-system)
(arguments
`(#:phases
@@ -1198,11 +1198,13 @@ efficiently. It gives the application developer no more than 4 methods.")
(lambda* (#:key outputs #:allow-other-keys)
(let ((bin (string-append (assoc-ref outputs "out") "/bin"))
(perl (string-append (assoc-ref outputs "out")
- "/lib/perl5/site_perl/krona-tools/lib")))
+ "/lib/perl5/site_perl/krona-tools/lib"))
+ (share (string-append (assoc-ref outputs "out")
+ "/share/krona-tools")))
(mkdir-p bin)
(for-each
(lambda (script)
- (let* ((executable (string-append "scripts/" script ".pl")))
+ (let ((executable (string-append "scripts/" script ".pl")))
;; Prefix executables with 'kt' as install script does.
(copy-file executable (string-append bin "/kt" script))))
'("ClassifyBLAST"
@@ -1230,7 +1232,32 @@ efficiently. It gives the application developer no more than 4 methods.")
(copy-recursively directory
(string-append perl "/../" directory)))
(list "data" "img" "taxonomy" "src"))
- (install-file "lib/KronaTools.pm" perl))))
+ (install-file "lib/KronaTools.pm" perl)
+
+ ;; Install downloaders
+ (substitute* "updateAccessions.sh"
+ (("ktPath=.*") (string-append "ktPath=" share "\n")))
+ (substitute* "updateTaxonomy.sh"
+ (("ktPath=.*") (string-append "ktPath=" share "\n"))
+ (("command -v curl")
+ (string-append "command -v " (which "curl")))
+ (("curl -s")
+ (string-append (which "curl") " -s"))
+ (("curl\\$timestring")
+ (string-append (which "curl") "$timestring"))
+ (("perl -M")
+ (string-append (which "perl") " -M"))
+ (("make ")
+ (string-append (which "make") " ")))
+ (for-each (lambda (file)
+ (install-file file (string-append share "/scripts")))
+ '("scripts/extractTaxonomy.pl"
+ "scripts/accession2taxid.make"
+ "scripts/taxonomy.make"))
+ (for-each (lambda (file)
+ (install-file file share))
+ '("updateAccessions.sh"
+ "updateTaxonomy.sh")))))
(add-after 'install 'wrap-program
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
@@ -1248,7 +1275,9 @@ efficiently. It gives the application developer no more than 4 methods.")
(invoke (string-append (assoc-ref outputs "out") "/bin/ktImportText")
"ec.tsv")))))))
(inputs
- `(("perl" ,perl)))
+ `(("curl" ,curl)
+ ("make" ,gnu-make)
+ ("perl" ,perl)))
(home-page "https://github.com/marbl/Krona/wiki")
(synopsis "Hierarchical data exploration with zoomable HTML5 pie charts")
(description
@@ -1554,7 +1583,7 @@ used to validate and fix HTML data.")
(define-public esbuild
(package
(name "esbuild")
- (version "0.11.9")
+ (version "0.11.14")
(source
(origin
(method git-fetch)
@@ -1563,7 +1592,7 @@ used to validate and fix HTML data.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "0pi5ydvbcfi8dbq2ryw8z4197pf4jrlz8mj1vzkdff22ga9qcmxy"))
+ (base32 "0qxylzc7lzpsp5hm3dl5jvy9aca8azn8dmbjz9z5n5rkdmm8vd9p"))
(modules '((guix build utils)))
(snippet
'(begin
diff --git a/gnu/packages/webkit.scm b/gnu/packages/webkit.scm
index 083c8ccb08..74ffe92b84 100644
--- a/gnu/packages/webkit.scm
+++ b/gnu/packages/webkit.scm
@@ -260,6 +260,9 @@ acceleration in mind, leveraging common 3D graphics APIs for best performance.")
;; now, we explicitly disable it to prevent an error
;; at configuration time.
"-DUSE_GSTREAMER_GL=OFF")
+ #:make-flags
+ ;; Never build with unsupported -j1: https://issues.guix.gnu.org/47964#5
+ (list "-j" (number->string (max 2 (parallel-job-count))))
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'configure-bubblewrap-store-directory
diff --git a/gnu/packages/wine.scm b/gnu/packages/wine.scm
index 98b435cb8d..6f594bdc69 100644
--- a/gnu/packages/wine.scm
+++ b/gnu/packages/wine.scm
@@ -75,7 +75,7 @@
(define-public wine
(package
(name "wine")
- (version "6.0")
+ (version "6.6")
(source
(origin
(method url-fetch)
@@ -87,7 +87,7 @@
(string-append "https://dl.winehq.org/wine/source/" dir
"wine-" version ".tar.xz")))
(sha256
- (base32 "0micb3l54cc2cl3v5q92hzvkxxiwi9lmiv72caf45vl35xghd4xl"))))
+ (base32 "1bc4zmqpdqs1ncz3qisp8a313pqzi5a31gq1s99ivb60vk325rcr"))))
(build-system gnu-build-system)
(native-inputs
`(("bison" ,bison)
@@ -334,7 +334,7 @@ integrate Windows applications into your desktop.")
(define-public wine-staging-patchset-data
(package
(name "wine-staging-patchset-data")
- (version "5.13")
+ (version "6.6")
(source
(origin
(method git-fetch)
@@ -343,7 +343,7 @@ integrate Windows applications into your desktop.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "0sw7790gsi3h08xgc8i1y282rk8xrdhqjlwpvbpvyw5zi0i95cvq"))))
+ (base32 "0d5m9pvafr0iw99ny7rgzfmw7zw45q5wfcw68zj88mvzs47xkgms"))))
(build-system trivial-build-system)
(native-inputs
`(("bash" ,bash)
@@ -394,7 +394,7 @@ integrate Windows applications into your desktop.")
"wine-" wine-version ".tar.xz"))
(file-name (string-append name "-" wine-version ".tar.xz"))
(sha256
- (base32 "0lh1bqr8xq1acz5d0cb50rvhw3h6h1vqprx5wlyrjhdg58f5qsn4")))))
+ (base32 "1bc4zmqpdqs1ncz3qisp8a313pqzi5a31gq1s99ivb60vk325rcr")))))
(inputs `(("autoconf" ,autoconf) ; for autoreconf
("ffmpeg" ,ffmpeg)
("gtk+" ,gtk+)
@@ -532,6 +532,13 @@ integrated into the main branch.")
(copy-file (string-append wine32 "/bin/.wine-preloader-real")
(string-append out "/bin/wine-preloader"))
#t)))
+ (add-after 'install 'copy-wine32-libraries
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((wine32 (assoc-ref %build-inputs "wine-staging"))
+ (out (assoc-ref %outputs "out")))
+ (copy-recursively (string-append wine32 "/lib/wine32")
+ (string-append out "/lib/wine32"))
+ #t)))
(add-after 'compress-documentation 'copy-wine32-manpage
(lambda* (#:key outputs #:allow-other-keys)
(let* ((wine32 (assoc-ref %build-inputs "wine-staging"))
diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm
index f92b8f4d85..dc32832860 100644
--- a/gnu/packages/wm.scm
+++ b/gnu/packages/wm.scm
@@ -1509,7 +1509,7 @@ modules for building a Wayland compositor.")
(native-inputs `(("pkg-config" ,pkg-config)
("scdoc" ,scdoc)
("wayland-protocols" ,wayland-protocols)))
- (home-page "https://github.com/swaywm/sway")
+ (home-page "https://github.com/swaywm/swayidle")
(synopsis "Idle management daemon for Wayland compositors")
(description "Swayidle is a idle management daemon for Wayland compositors.")
(license license:expat))) ; MIT license
@@ -1570,7 +1570,7 @@ modules for building a Wayland compositor.")
(define-public waybar
(package
(name "waybar")
- (version "0.9.5")
+ (version "0.9.7")
(source
(origin
(method git-fetch)
@@ -1579,7 +1579,7 @@ modules for building a Wayland compositor.")
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "1kzrgqaclfk6gcwhknxn28xl74gm5swipgn8kk8avacb4nsw1l9q"))))
+ (base32 "17cn4d3dx92v40jd9vl41smp8hh3gf5chd1j2f7l1lrpfpnllg5x"))))
(build-system meson-build-system)
(inputs `(("date" ,date)
("fmt" ,fmt)
@@ -2222,7 +2222,7 @@ button is pressed on the root window.")
(define-public xmenu
(package
(name "xmenu")
- (version "4.4.1")
+ (version "4.5.5")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -2231,7 +2231,7 @@ button is pressed on the root window.")
(file-name (git-file-name name version))
(sha256
(base32
- "1s70zvsaqnsjqs298vw3py0vcvia68xlks1wcz37pb88bwligz1x"))))
+ "0qgxkrv9jnnnf3px7zh0paf8xsr4bcpf0f2nq9zy012m214223hs"))))
(build-system gnu-build-system)
(inputs
`(("libx11" ,libx11)
diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm
index 725ea0afd6..418fe73fdc 100644
--- a/gnu/packages/xdisorg.scm
+++ b/gnu/packages/xdisorg.scm
@@ -29,7 +29,7 @@
;;; Copyright © 2019 Kyle Andrews <kyle.c.andrews@gmail.com>
;;; Copyright © 2019, 2020 Josh Holland <josh@inv.alid.pw>
;;; Copyright © 2019 Tanguy Le Carrour <tanguy@bioneland.org>
-;;; Copyright © 2020 Guillaume Le Vaillant <glv@posteo.net>
+;;; Copyright © 2020, 2021 Guillaume Le Vaillant <glv@posteo.net>
;;; Copyright © 2020 David Wilson <david@daviwil.com>
;;; Copyright © 2020 Ivan Vilata i Balaguer <ivan@selidor.net>
;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re>
@@ -2274,7 +2274,7 @@ The cutbuffer and clipboard selection are always synchronized.")
(define-public jgmenu
(package
(name "jgmenu")
- (version "4.1.0")
+ (version "4.3.0")
(source
(origin
(method git-fetch)
@@ -2283,8 +2283,7 @@ The cutbuffer and clipboard selection are always synchronized.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32
- "1wsh37rapb1bszlq36hvwxqvfds39hbvbl152m8as4zlh93wfvvk"))))
+ (base32 "13y4ra2hjfqbn2vxyyn4ar5iqklbabyfwksbryc2gzxspw1vz4zq"))))
(build-system gnu-build-system)
(native-inputs
`(("cppcheck" ,cppcheck)
@@ -2299,17 +2298,12 @@ The cutbuffer and clipboard selection are always synchronized.")
("libxrandr" ,libxrandr)
("pango" ,pango)))
(arguments
- `(#:phases
+ `(#:test-target "test"
+ #:phases
(modify-phases %standard-phases
- (add-after 'unpack 'fix-tests
- (lambda _
- (substitute* "scripts/cppcheck-wrapper.sh"
- (("--library=/usr/share/cppcheck/cfg/gnu\\.cfg")
- ""))
- #t))
(replace 'configure
(lambda* (#:key outputs #:allow-other-keys)
- (setenv "CC" "gcc")
+ (setenv "CC" ,(cc-for-target))
(invoke "./configure"
(string-append "--prefix=" (assoc-ref outputs "out")))
#t)))))
diff --git a/gnu/packages/xfce.scm b/gnu/packages/xfce.scm
index 38240d7b9f..9655d8ccf7 100644
--- a/gnu/packages/xfce.scm
+++ b/gnu/packages/xfce.scm
@@ -14,6 +14,7 @@
;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
;;; Copyright © 2020 Jonathan Brielmaier <jonathan.brielmaier@web.de>
;;; Copyright © 2020, 2021 Michael Rohleder <mike@rohleder.de>
+;;; Copyright © 2021 Brendan Tildesley <mail@brendan.scot>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -36,6 +37,7 @@
#:use-module (gnu packages base)
#:use-module (gnu packages calendar)
#:use-module (gnu packages cdrom)
+ #:use-module (gnu packages fonts)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages freedesktop)
#:use-module (gnu packages gettext)
@@ -48,6 +50,7 @@
#:use-module (gnu packages inkscape)
#:use-module (gnu packages libcanberra)
#:use-module (gnu packages linux)
+ #:use-module (gnu packages mate)
#:use-module (gnu packages pcre)
#:use-module (gnu packages pdf)
#:use-module (gnu packages photo)
@@ -313,7 +316,7 @@ upstream occasionally.")
(define-public exo
(package
(name "exo")
- (version "4.16.1")
+ (version "4.16.2")
(source (origin
(method url-fetch)
(uri (string-append "https://archive.xfce.org/src/xfce/"
@@ -321,7 +324,7 @@ upstream occasionally.")
"exo-" version ".tar.bz2"))
(sha256
(base32
- "0fxm2aczzbi0z4y6x24934964y9jg4cl4frvlnjc5zqmccjsr3aj"))))
+ "17cybaml221jnw99aig3zajg2kbnn87p5sycj68wpwgvd99zb2af"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)
@@ -725,7 +728,7 @@ allows you to shut down the computer from Xfce.")
(define-public xfce4-settings
(package
(name "xfce4-settings")
- (version "4.16.0")
+ (version "4.16.1")
(source (origin
(method url-fetch)
(uri (string-append "https://archive.xfce.org/src/xfce/"
@@ -733,7 +736,7 @@ allows you to shut down the computer from Xfce.")
name "-" version ".tar.bz2"))
(sha256
(base32
- "1hnx88a8xmi38mdf5gxdvx7n8yax1vzah8hy8g37bijlqx7l18b7"))
+ "1iim6sbh58hjwdmwsdlbh9bdnrs2k98crapv3kdhwkd3gazf2a5v"))
(patches (search-patches "xfce4-settings-defaults.patch"))))
(build-system gnu-build-system)
(arguments
@@ -892,7 +895,8 @@ on the screen.")
(copy-file "/tmp/final.jpg" image))
'(;; "backgrounds/xfce-blue.jpg"
"backgrounds/xfce-stripes.png"
- "backgrounds/xfce-teal.jpg"))
+ "backgrounds/xfce-teal.jpg"
+ "backgrounds/xfce-verticals.png"))
#t)))
#:disallowed-references (,inkscape ,imagemagick)))
@@ -948,6 +952,23 @@ menubar and the window decorations are hidden) that helps you to save space
on your desktop.")
(license gpl2+)))
+(define-public mate-polkit-for-xfce
+ (package/inherit mate-polkit
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'install 'patch-desktop
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((common (string-append
+ (assoc-ref outputs "out") "/etc/xdg/autostart/"
+ "polkit-mate-authentication-agent-"))
+ (old (string-append common "1.desktop"))
+ (new (string-append common "for-xfce-1.desktop")))
+ (substitute* old (("MATE;") "XFCE;"))
+ ;; To avoid a conflict if both MATE and XFCE are installed.
+ (rename-file old new)))))))
+ (properties `((hidden? . #t)))))
+
(define-public xfce
(package
(name "xfce")
@@ -971,6 +992,7 @@ on your desktop.")
("gnome-icon-theme" ,gnome-icon-theme)
("gtk-xfce-engine" ,gtk-xfce-engine)
("hicolor-icon-theme" ,hicolor-icon-theme)
+ ("mate-polkit-for-xfce" ,mate-polkit-for-xfce)
("ristretto" ,ristretto)
("shared-mime-info" ,shared-mime-info)
("thunar" ,thunar)
@@ -990,6 +1012,9 @@ on your desktop.")
("xfce4-clipman-plugin" ,xfce4-clipman-plugin)
("xfce4-pulseaudio-plugin" ,xfce4-pulseaudio-plugin)
("xfce4-xkb-plugin" ,xfce4-xkb-plugin)))
+ (propagated-inputs
+ ;; Default font that applications such as IceCat require.
+ `(("font-dejavu" ,font-dejavu)))
(native-search-paths
;; For finding panel plugins.
(package-native-search-paths xfce4-panel))
diff --git a/gnu/packages/xml.scm b/gnu/packages/xml.scm
index 1c34fe499a..04cb09779b 100644
--- a/gnu/packages/xml.scm
+++ b/gnu/packages/xml.scm
@@ -12,7 +12,7 @@
;;; Copyright © 2016 Ben Woodcroft <donttrustben@gmail.com>
;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2016, 2017 Nikita <nikita@n0.is>
-;;; Copyright © 2016, 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2016–2021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2016, 2017, 2018, 2019, 2020 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2017 Adriano Peluso <catonano@gmail.com>
;;; Copyright © 2017 Gregor Giesen <giesen@zaehlwerk.net>
@@ -221,7 +221,7 @@ project (but it is usable outside of the Gnome platform).")
(define-public libxlsxwriter
(package
(name "libxlsxwriter")
- (version "1.0.1")
+ (version "1.0.3")
(source
(origin
(method git-fetch)
@@ -230,7 +230,7 @@ project (but it is usable outside of the Gnome platform).")
(commit (string-append "RELEASE_" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "0dsqv4qdd582fhwj6m80iz50gkyw4m8n9h4mkd2871csa03sbilf"))
+ (base32 "14c5rgx87nhzasr0j7mcfr1w7ifz0gmdiqy2xq59di5xvcdrpxpv"))
(modules '((guix build utils)))
(snippet
;; Remove bundled minizip source
@@ -1210,14 +1210,14 @@ XSL-T processor. It also performs any necessary post-processing.")
(define-public xmlsec
(package
(name "xmlsec")
- (version "1.2.31")
+ (version "1.2.32")
(source (origin
(method url-fetch)
(uri (string-append "https://www.aleksey.com/xmlsec/download/"
"xmlsec1-" version ".tar.gz"))
(sha256
(base32
- "09hbbaz2d9hw645q27apkjs1mdr6vd85x5z3c9hzgr1iri9bq44v"))))
+ "0hy0nwz57n9r5wwab9xa66gzwlwvzs54nhlfn3jh8q13acl710z3"))))
(build-system gnu-build-system)
(propagated-inputs ; according to xmlsec1.pc
`(("libxml2" ,libxml2)
diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm
index 97ff8ab92b..dea4f8e304 100644
--- a/gnu/packages/xorg.scm
+++ b/gnu/packages/xorg.scm
@@ -26,6 +26,7 @@
;;; Copyright © 2020, 2021 Michael Rohleder <mike@rohleder.de>
;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2020 Jean-Baptiste Note <jean-baptiste.note@m4x.org>
+;;; Copyright © 2021 Nicolò Balzarotti <nicolo@nixo.xyz>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -5302,7 +5303,7 @@ over Xlib, including:
(define-public xorg-server
(package
(name "xorg-server")
- (version "1.20.10")
+ (version "1.20.11")
(source
(origin
(method url-fetch)
@@ -5310,7 +5311,7 @@ over Xlib, including:
"xorg-server-" version ".tar.bz2"))
(sha256
(base32
- "16bwrf0ag41l7jbrllbix8z6avc5yimga7ihvq4ch3a5hb020x4p"))
+ "0jacqgin8kcyy8fyv0lhgb4if8g9hp60rm3ih3s1mgps7xp7jk4i"))
(patches
(list
;; See:
@@ -5432,7 +5433,30 @@ draggable titlebars and borders.")
(define-public xorg-server-for-tests
(hidden-package
(package
- (inherit xorg-server))))
+ (inherit xorg-server)
+ (version "1.20.10")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "mirror://xorg/individual/xserver/"
+ "xorg-server-" version ".tar.bz2"))
+ (sha256
+ (base32
+ "16bwrf0ag41l7jbrllbix8z6avc5yimga7ihvq4ch3a5hb020x4p"))
+ (patches
+ (list
+ ;; See:
+ ;; https://lists.fedoraproject.org/archives/list/devel@lists.
+ ;; fedoraproject.org/message/JU655YB7AM4OOEQ4MOMCRHJTYJ76VFOK/
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://pkgs.fedoraproject.org/cgit/rpms/xorg-x11-server.git"
+ "/plain/06_use-intel-only-on-pre-gen4.diff"))
+ (sha256
+ (base32
+ "0mm70y058r8s9y9jiv7q2myv0ycnaw3iqzm7d274410s0ik38w7q"))
+ (file-name "xorg-server-use-intel-only-on-pre-gen4.diff")))))))))
(define-public xorg-server-xwayland
(package/inherit xorg-server
diff --git a/gnu/services/databases.scm b/gnu/services/databases.scm
index 4a6d36b50b..eba88cdb68 100644
--- a/gnu/services/databases.scm
+++ b/gnu/services/databases.scm
@@ -7,6 +7,7 @@
;;; Copyright © 2018 Julien Lepiller <julien@lepiller.eu>
;;; Copyright © 2019 Robert Vollmert <rob@vllmrt.net>
;;; Copyright © 2020 Marius Bakke <marius@gnu.org>
+;;; Copyright © 2021 David Larsson <david.larsson@selfhosted.xyz>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -527,6 +528,7 @@ created after the PostgreSQL database is started.")))
(port mysql-configuration-port (default 3306))
(socket mysql-configuration-socket (default "/run/mysqld/mysqld.sock"))
(extra-content mysql-configuration-extra-content (default ""))
+ (extra-environment mysql-configuration-extra-environment (default #~'()))
(auto-upgrade? mysql-configuration-auto-upgrade? (default #t)))
(define %mysql-accounts
@@ -611,11 +613,14 @@ FLUSH PRIVILEGES;
(provision '(mysql))
(documentation "Run the MySQL server.")
(start (let ((mysql (mysql-configuration-mysql config))
+ (extra-env (mysql-configuration-extra-environment config))
(my.cnf (mysql-configuration-file config)))
#~(make-forkexec-constructor
(list (string-append #$mysql "/bin/mysqld")
(string-append "--defaults-file=" #$my.cnf))
- #:user "mysql" #:group "mysql")))
+ #:user "mysql" #:group "mysql"
+ #:log-file "/var/log/mysqld.log"
+ #:environment-variables #$extra-env)))
(stop #~(make-kill-destructor)))))
(define (mysql-upgrade-wrapper mysql socket-file)
diff --git a/gnu/services/guix.scm b/gnu/services/guix.scm
index d1d31febdc..e44cf86aba 100644
--- a/gnu/services/guix.scm
+++ b/gnu/services/guix.scm
@@ -58,6 +58,7 @@
guix-build-coordinator-agent-configuration-authentication
guix-build-coordinator-agent-configuration-systems
guix-build-coordinator-agent-configuration-max-parallel-builds
+ guix-build-coordinator-agent-configuration-max-1min-load-average
guix-build-coordinator-agent-configuration-derivation-substitute-urls
guix-build-coordinator-agent-configuration-non-derivation-substitute-urls
@@ -156,6 +157,9 @@
(max-parallel-builds
guix-build-coordinator-agent-configuration-max-parallel-builds
(default 1))
+ (max-1min-load-average
+ guix-build-coordinator-agent-configuration-max-1min-load-average
+ (default #f))
(derivation-substitute-urls
guix-build-coordinator-agent-configuration-derivation-substitute-urls
(default #f))
@@ -201,7 +205,7 @@
(user guix-build-coordinator-queue-builds-configuration-user
(default "guix-build-coordinator-queue-builds"))
(coordinator guix-build-coordinator-queue-builds-coordinator
- (default "http://localhost:8745"))
+ (default "http://localhost:8746"))
(systems guix-build-coordinator-queue-builds-configuration-systems
(default #f))
(systems-and-targets
@@ -325,7 +329,9 @@
#~(begin
(use-modules (guix build utils))
- (define %user (getpw "guix-build-coordinator"))
+ (define %user
+ (getpw #$(guix-build-coordinator-configuration-user
+ config)))
(chmod "/var/lib/guix-build-coordinator" #o755)
@@ -370,6 +376,7 @@
(define (guix-build-coordinator-agent-shepherd-services config)
(match-record config <guix-build-coordinator-agent-configuration>
(package user coordinator authentication max-parallel-builds
+ max-1min-load-average
derivation-substitute-urls non-derivation-substitute-urls
systems)
(list
@@ -402,6 +409,10 @@
token-file))))
#$(simple-format #f "--max-parallel-builds=~A"
max-parallel-builds)
+ #$@(if max-1min-load-average
+ #~(#$(simple-format #f "--max-1min-load-average=~A"
+ max-1min-load-average))
+ #~())
#$@(if derivation-substitute-urls
#~(#$(string-append
"--derivation-substitute-urls="
@@ -429,7 +440,9 @@
#~(begin
(use-modules (guix build utils))
- (define %user (getpw "guix-build-coordinator-agent"))
+ (define %user
+ (getpw #$(guix-build-coordinator-agent-configuration-user
+ config)))
(mkdir-p "/var/log/guix-build-coordinator")
@@ -493,7 +506,6 @@
processed-commits-file))
#~()))
#:user #$user
- #:pid-file "/var/run/guix-build-coordinator-queue-builds/pid"
#:environment-variables
`(,(string-append
"GUIX_LOCPATH=" #$glibc-utf8-locales "/lib/locale")
@@ -505,6 +517,10 @@
#~(begin
(use-modules (guix build utils))
+ (define %user
+ (getpw #$(guix-build-coordinator-queue-builds-configuration-user
+ config)))
+
(mkdir-p "/var/log/guix-build-coordinator")
;; Allow writing the PID file
diff --git a/gnu/services/linux.scm b/gnu/services/linux.scm
index 340b330030..2eb02ac5a3 100644
--- a/gnu/services/linux.scm
+++ b/gnu/services/linux.scm
@@ -3,6 +3,7 @@
;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re>
;;; Copyright © 2020 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2021 raid5atemyhomework <raid5atemyhomework@protonmail.com>
+;;; Copyright © 2021 B. Wilson <elaexuotee@wilsonb.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -47,6 +48,11 @@
kernel-module-loader-service-type
+ rasdaemon-configuration
+ rasdaemon-configuration?
+ rasdaemon-configuration-record?
+ rasdaemon-service-type
+
zram-device-configuration
zram-device-configuration?
zram-device-configuration-size
@@ -190,6 +196,49 @@ representation."
;;;
+;;; Reliability, Availability, and Serviceability (RAS) daemon
+;;;
+
+(define-record-type* <rasdaemon-configuration>
+ rasdaemon-configuration make-rasdaemon-configuration
+ rasdaemon-configuration?
+ (record? rasdaemon-configuration-record? (default #f)))
+
+(define (rasdaemon-configuration->command-line-args config)
+ "Translate <rasdaemon-configuration> to its command line arguments
+ representation"
+ (let ((record? (rasdaemon-configuration-record? config)))
+ `(,(file-append rasdaemon "/sbin/rasdaemon")
+ "--foreground" ,@(if record? '("--record") '()))))
+
+(define (rasdaemon-activation config)
+ (let ((record? (rasdaemon-configuration-record? config))
+ (rasdaemon-dir "/var/lib/rasdaemon"))
+ (with-imported-modules '((guix build utils))
+ #~(if #$record? (mkdir-p #$rasdaemon-dir)))))
+
+(define (rasdaemon-shepherd-service config)
+ (shepherd-service
+ (documentation "Run rasdaemon")
+ (provision '(rasdaemon))
+ (requirement '(syslogd))
+ (start #~(make-forkexec-constructor
+ '#$(rasdaemon-configuration->command-line-args config)))
+ (stop #~(make-kill-destructor))))
+
+(define rasdaemon-service-type
+ (service-type
+ (name 'rasdaemon)
+ (default-value (rasdaemon-configuration))
+ (extensions
+ (list (service-extension shepherd-root-service-type
+ (compose list rasdaemon-shepherd-service))
+ (service-extension activation-service-type rasdaemon-activation)))
+ (compose concatenate)
+ (description "Run @command{rasdaemon}, the RAS monitor")))
+
+
+;;;
;;; Kernel module loader.
;;;
diff --git a/gnu/services/nix.scm b/gnu/services/nix.scm
index 1aef47db0a..619e3cae54 100644
--- a/gnu/services/nix.scm
+++ b/gnu/services/nix.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2019, 2020 Oleg Pykhalov <go.wigust@gmail.com>
+;;; Copyright © 2019, 2020, 2021 Oleg Pykhalov <go.wigust@gmail.com>
;;; Copyright © 2020 Peng Mei Yu <i@pengmeiyu.com>
;;;
;;; This file is part of GNU Guix.
@@ -19,6 +19,7 @@
(define-module (gnu services nix)
#:use-module (gnu packages admin)
+ #:use-module (gnu packages bash)
#:use-module (gnu packages package-management)
#:use-module (gnu services base)
#:use-module (gnu services configuration)
@@ -121,7 +122,8 @@ GID."
(format #t "sandbox = ~a~%" (if #$sandbox "true" "false"))
;; config.nix captures store file names.
(format #t "build-sandbox-paths = ~{~a ~}~%"
- (append internal-sandbox-paths
+ (append (list (string-append "/bin/sh=" #$bash-minimal "/bin/sh"))
+ internal-sandbox-paths
'#$build-sandbox-items))
(for-each (cut display <>) '#$extra-config)))))))))))
diff --git a/gnu/services/vpn.scm b/gnu/services/vpn.scm
index 3e315a6df2..6fbe20a849 100644
--- a/gnu/services/vpn.scm
+++ b/gnu/services/vpn.scm
@@ -2,6 +2,7 @@
;;; Copyright © 2017 Julien Lepiller <julien@lepiller.eu>
;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org>
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
+;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -537,7 +538,9 @@ is truncated and rewritten every minute.")
(endpoint wireguard-peer-endpoint
(default #f)) ;string
(public-key wireguard-peer-public-key) ;string
- (allowed-ips wireguard-peer-allowed-ips)) ;list of strings
+ (allowed-ips wireguard-peer-allowed-ips) ;list of strings
+ (keep-alive wireguard-peer-keep-alive
+ (default #f))) ;integer
(define-record-type* <wireguard-configuration>
wireguard-configuration make-wireguard-configuration
@@ -560,16 +563,20 @@ is truncated and rewritten every minute.")
(let ((name (wireguard-peer-name peer))
(public-key (wireguard-peer-public-key peer))
(endpoint (wireguard-peer-endpoint peer))
- (allowed-ips (wireguard-peer-allowed-ips peer)))
+ (allowed-ips (wireguard-peer-allowed-ips peer))
+ (keep-alive (wireguard-peer-keep-alive peer)))
(format #f "[Peer] #~a
PublicKey = ~a
AllowedIPs = ~a
-~a"
+~a~a"
name
public-key
(string-join allowed-ips ",")
(if endpoint
(format #f "Endpoint = ~a\n" endpoint)
+ "")
+ (if keep-alive
+ (format #f "PersistentKeepalive = ~a\n" keep-alive)
"\n"))))
(match-record config <wireguard-configuration>
diff --git a/gnu/tests/install.scm b/gnu/tests/install.scm
index 4b8963eadd..b5263f5f0d 100644
--- a/gnu/tests/install.scm
+++ b/gnu/tests/install.scm
@@ -36,8 +36,10 @@
#:use-module (gnu packages bootloaders)
#:use-module (gnu packages commencement) ;for 'guile-final'
#:use-module (gnu packages cryptsetup)
+ #:use-module (gnu packages disk)
#:use-module (gnu packages emacs)
#:use-module (gnu packages emacs-xyz)
+ #:use-module (gnu packages firmware)
#:use-module (gnu packages linux)
#:use-module (gnu packages ocr)
#:use-module (gnu packages openbox)
@@ -73,6 +75,7 @@
%test-lvm-separate-home-os
%test-gui-installed-os
+ %test-gui-uefi-installed-os
%test-gui-installed-os-encrypted
%test-gui-installed-desktop-os-encrypted))
@@ -206,6 +209,15 @@ guix system init /mnt/etc/config.scm /mnt --no-substitutes
sync
reboot\n")
+(define (uefi-firmware system)
+ "Return the appropriate QEMU OVMF UEFI firmware for the given SYSTEM."
+ (cond
+ ((string-prefix? "x86_64" system)
+ (file-append ovmf "/share/firmware/ovmf_x64.bin"))
+ ((string-prefix? "i686" system)
+ (file-append ovmf "/share/firmware/ovmf_ia32.bin"))
+ (else #f)))
+
(define* (run-install target-os target-os-source
#:key
(script %simple-installation-script)
@@ -224,6 +236,7 @@ reboot\n")
#:imported-modules '((gnu services herd)
(gnu installer tests)
(guix combinators))))
+ (uefi-support? #f)
(installation-image-type 'efi-raw)
(install-size 'guess)
(target-size (* 2200 MiB)))
@@ -235,6 +248,8 @@ packages defined in installation-os."
(mlet* %store-monad ((_ (set-grafting #f))
(system (current-system))
+ (uefi-firmware -> (and uefi-support?
+ (uefi-firmware system)))
;; Since the installation system has no network access,
;; we cheat a little bit by adding TARGET to its GC
;; roots. This way, we know 'guix system init' will
@@ -273,6 +288,9 @@ packages defined in installation-os."
`(,(which #$(qemu-command system))
"-no-reboot"
"-m" "1200"
+ ,@(if #$uefi-firmware
+ '("-bios" #$uefi-firmware)
+ '())
#$@(cond
((eq? 'efi-raw installation-image-type)
#~("-drive"
@@ -322,10 +340,15 @@ packages defined in installation-os."
(gexp->derivation "installation" install
#:substitutable? #f))) ;too big
-(define* (qemu-command/writable-image image #:key (memory-size 256))
+(define* (qemu-command/writable-image image
+ #:key
+ (uefi-support? #f)
+ (memory-size 256))
"Return as a monadic value the command to run QEMU on a writable copy of
IMAGE, a disk image. The QEMU VM has access to MEMORY-SIZE MiB of RAM."
- (mlet %store-monad ((system (current-system)))
+ (mlet* %store-monad ((system (current-system))
+ (uefi-firmware -> (and uefi-support?
+ (uefi-firmware system))))
(return #~(let ((image #$image))
;; First we need a writable copy of the image.
(format #t "creating writable image from '~a'...~%" image)
@@ -343,6 +366,9 @@ IMAGE, a disk image. The QEMU VM has access to MEMORY-SIZE MiB of RAM."
,@(if (file-exists? "/dev/kvm")
'("-enable-kvm")
'())
+ ,@(if #$uefi-firmware
+ '("-bios" #$uefi-firmware)
+ '())
"-no-reboot" "-m" #$(number->string memory-size)
"-drive" "file=disk.img,if=virtio")))))
@@ -1400,7 +1426,9 @@ build (current-guix) and then store a couple of full system images.")
(define* (gui-test-program marionette
#:key
(desktop? #f)
- (encrypted? #f))
+ (encrypted? #f)
+ (uefi-support? #f)
+ (system (%current-system)))
#~(let ()
(define (screenshot file)
(marionette-control (string-append "screendump " file)
@@ -1466,7 +1494,8 @@ build (current-guix) and then store a couple of full system images.")
(marionette-eval* '(choose-partitioning installer-socket
#:encrypted? #$encrypted?
- #:passphrase #$%luks-passphrase)
+ #:passphrase #$%luks-passphrase
+ #:uefi-support? #$uefi-support?)
#$marionette)
(screenshot "installer-run.ppm")
@@ -1480,9 +1509,43 @@ build (current-guix) and then store a couple of full system images.")
"/dev/vda2")
#$marionette))
- (marionette-eval* '(conclude-installation installer-socket)
+ (marionette-eval* '(start-installation installer-socket)
#$marionette)
+ ;; XXX: The grub-install process uses efibootmgr to add an UEFI Guix
+ ;; boot entry. The corresponding UEFI variable is stored in RAM, and
+ ;; possibly saved persistently on QEMU reboot in a NvVars file, see:
+ ;; https://lists.gnu.org/archive/html/qemu-discuss/2018-04/msg00045.html.
+ ;;
+ ;; As we are running QEMU with the no-reboot flag, this variable is
+ ;; never saved persistently, QEMU fails to boot the installed system and
+ ;; an UEFI shell is displayed instead.
+ ;;
+ ;; To make the installed UEFI system bootable, register Grub as the
+ ;; default UEFI boot entry, in the same way as if grub-install was
+ ;; invoked with the --removable option.
+ (when #$uefi-support?
+ (marionette-eval*
+ '(begin
+ (use-modules (ice-9 match))
+ (let ((targets (cond
+ ((string-prefix? "x86_64" #$system)
+ '("grubx64.efi" "BOOTX64.EFI"))
+ ((string-prefix? "i686" #$system)
+ '("grubia32.efi" "BOOTIA32.EFI"))
+ (else #f))))
+ (match targets
+ ((src dest)
+ (rename-file "/mnt/boot/efi/EFI/Guix"
+ "/mnt/boot/efi/EFI/BOOT")
+ (rename-file
+ (string-append "/mnt/boot/efi/EFI/BOOT/" src)
+ (string-append "/mnt/boot/efi/EFI/BOOT/" dest)))
+ (_ #f))))
+ #$marionette))
+
+ (marionette-eval* '(complete-installation installer-socket)
+ #$marionette)
(sync)
#t))
@@ -1490,7 +1553,7 @@ build (current-guix) and then store a couple of full system images.")
;; Packages needed when installing with an encrypted root.
(list isc-dhcp
lvm2-static cryptsetup-static e2fsck/static
- loadkeys-static))
+ loadkeys-static grub-efi fatfsck/static dosfstools))
(define installation-os-for-gui-tests
;; Operating system that contains all of %EXTRA-PACKAGES, needed for the
@@ -1509,9 +1572,22 @@ build (current-guix) and then store a couple of full system images.")
(guix combinators))))
(define* (installation-target-os-for-gui-tests
- #:key (encrypted? #f))
+ #:key
+ (encrypted? #f)
+ (uefi-support? #f))
(operating-system
(inherit %minimal-os-on-vda)
+ (file-systems `(,(file-system
+ (device (file-system-label "my-root"))
+ (mount-point "/")
+ (type "ext4"))
+ ,@(if uefi-support?
+ (list (file-system
+ (device (uuid "1234-ABCD" 'fat))
+ (mount-point "/boot/efi")
+ (type "vfat")))
+ '())
+ ,@%base-file-systems))
(users (append (list (user-account
(name "alice")
(comment "Bob's sister")
@@ -1569,6 +1645,7 @@ build (current-guix) and then store a couple of full system images.")
#:key
(desktop? #f)
(encrypted? #f)
+ (uefi-support? #f)
target-os
(install-size 'guess)
(target-size (* 2200 MiB)))
@@ -1581,6 +1658,7 @@ build (current-guix) and then store a couple of full system images.")
((image (run-install target-os '(this is unused)
#:script #f
#:os installation-os-for-gui-tests
+ #:uefi-support? uefi-support?
#:install-size install-size
#:target-size target-size
#:installation-image-type
@@ -1590,8 +1668,11 @@ build (current-guix) and then store a couple of full system images.")
(gui-test-program
marionette
#:desktop? desktop?
- #:encrypted? encrypted?))))
- (command (qemu-command/writable-image image #:memory-size 512)))
+ #:encrypted? encrypted?
+ #:uefi-support? uefi-support?))))
+ (command (qemu-command/writable-image image
+ #:uefi-support? uefi-support?
+ #:memory-size 512)))
(run-basic-test target-os command name
#:initialization (and encrypted? enter-luks-passphrase)
#:root-password %root-password
@@ -1602,6 +1683,15 @@ build (current-guix) and then store a couple of full system images.")
"gui-installed-os"
#:target-os (installation-target-os-for-gui-tests)))
+;; Test the UEFI installation of Guix System using the graphical installer.
+(define %test-gui-uefi-installed-os
+ (guided-installation-test
+ "gui-uefi-installed-os"
+ #:uefi-support? #t
+ #:target-os (installation-target-os-for-gui-tests
+ #:uefi-support? #t)
+ #:target-size (* 3200 MiB)))
+
(define %test-gui-installed-os-encrypted
(guided-installation-test
"gui-installed-os-encrypted"
diff --git a/gnu/tests/ldap.scm b/gnu/tests/ldap.scm
index 2d4f15fb3c..197c1bfb28 100644
--- a/gnu/tests/ldap.scm
+++ b/gnu/tests/ldap.scm
@@ -84,7 +84,7 @@
config_version = 2
\n[slapd]
-root_password = SECRET
+root_password = SECRET_PASS
user = root
group = root
@@ -112,7 +112,7 @@ suffix = dc=example,dc=com")))
(marionette-eval
'(zero? (system* #$(file-append openldap "/bin/ldapwhoami")
"-H" "ldap://localhost" "-D"
- "cn=Directory Manager" "-w" "SECRET"))
+ "cn=Directory Manager" "-w" "SECRET_PASS"))
marionette))
;; Wait for nslcd to be up and running.
diff --git a/gnu/tests/web.scm b/gnu/tests/web.scm
index 7f4518acd2..61575f497d 100644
--- a/gnu/tests/web.scm
+++ b/gnu/tests/web.scm
@@ -65,6 +65,26 @@
(lambda (port)
(display #$%index.html-contents port)))))
+(define retry-on-error
+ #~(lambda* (f #:key times delay)
+ (let loop ((attempt 1))
+ (match (catch
+ #t
+ (lambda ()
+ (cons #t
+ (f)))
+ (lambda args
+ (cons #f
+ args)))
+ ((#t . return-value)
+ return-value)
+ ((#f . error-args)
+ (if (>= attempt times)
+ error-args
+ (begin
+ (sleep delay)
+ (loop (+ 1 attempt)))))))))
+
(define* (run-webserver-test name test-os #:key (log-file #f) (http-port 8080))
"Run tests in %NGINX-OS, which has nginx running and listening on
HTTP-PORT."
@@ -472,28 +492,9 @@ HTTP-PORT."
(start-service 'tailon))
marionette))
- (define* (retry-on-error f #:key times delay)
- (let loop ((attempt 1))
- (match (catch
- #t
- (lambda ()
- (cons #t
- (f)))
- (lambda args
- (cons #f
- args)))
- ((#t . return-value)
- return-value)
- ((#f . error-args)
- (if (>= attempt times)
- error-args
- (begin
- (sleep delay)
- (loop (+ 1 attempt))))))))
-
(test-equal "http-get"
200
- (retry-on-error
+ (#$retry-on-error
(lambda ()
(let-values (((response text)
(http-get #$(format
@@ -607,12 +608,14 @@ HTTP-PORT."
(define vm
(virtual-machine
(operating-system os)
- (port-forwardings `((8080 . ,forwarded-port)))))
+ (port-forwardings `((8080 . ,forwarded-port)))
+ (memory-size 1024)))
(define test
(with-imported-modules '((gnu build marionette))
#~(begin
(use-modules (srfi srfi-11) (srfi srfi-64)
+ (ice-9 match)
(gnu build marionette)
(web uri)
(web client)
@@ -647,12 +650,16 @@ HTTP-PORT."
(test-equal "http-get"
200
- (let-values
- (((response text)
- (http-get #$(simple-format
- #f "http://localhost:~A/" forwarded-port)
- #:decode-body? #t)))
- (response-code response)))
+ (#$retry-on-error
+ (lambda ()
+ (let-values
+ (((response text)
+ (http-get #$(simple-format
+ #f "http://localhost:~A/" forwarded-port)
+ #:decode-body? #t)))
+ (response-code response)))
+ #:times 10
+ #:delay 5))
(test-end)
(exit (= (test-runner-fail-count (test-runner-current)) 0)))))