aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.dir-locals.el6
-rw-r--r--Makefile.am1
-rw-r--r--doc/contributing.texi81
-rw-r--r--doc/guix.texi53
-rw-r--r--etc/hurd-manifest.scm5
-rw-r--r--etc/teams.scm.in4
-rw-r--r--gnu/ci.scm2
-rw-r--r--gnu/home/services/shells.scm7
-rw-r--r--gnu/local.mk18
-rw-r--r--gnu/packages/admin.scm56
-rw-r--r--gnu/packages/assembly.scm65
-rw-r--r--gnu/packages/audio.scm39
-rw-r--r--gnu/packages/aux-files/emacs/guix-emacs.el80
-rw-r--r--gnu/packages/avr.scm1
-rw-r--r--gnu/packages/backup.scm8
-rw-r--r--gnu/packages/base.scm1
-rw-r--r--gnu/packages/bioinformatics.scm27
-rw-r--r--gnu/packages/bootloaders.scm2
-rw-r--r--gnu/packages/code.scm4
-rw-r--r--gnu/packages/conky.scm4
-rw-r--r--gnu/packages/cpp.scm4
-rw-r--r--gnu/packages/cran.scm2
-rw-r--r--gnu/packages/databases.scm20
-rw-r--r--gnu/packages/django.scm171
-rw-r--r--gnu/packages/dns.scm9
-rw-r--r--gnu/packages/education.scm57
-rw-r--r--gnu/packages/emacs-xyz.scm159
-rw-r--r--gnu/packages/emacs.scm498
-rw-r--r--gnu/packages/emulators.scm22
-rw-r--r--gnu/packages/file-systems.scm16
-rw-r--r--gnu/packages/finance.scm37
-rw-r--r--gnu/packages/firmware.scm4
-rw-r--r--gnu/packages/fonts.scm17
-rw-r--r--gnu/packages/ftp.scm3
-rw-r--r--gnu/packages/game-development.scm96
-rw-r--r--gnu/packages/games.scm5
-rw-r--r--gnu/packages/gcc.scm2
-rw-r--r--gnu/packages/geo.scm221
-rw-r--r--gnu/packages/gnome.scm4
-rw-r--r--gnu/packages/gnuzilla.scm4
-rw-r--r--gnu/packages/haskell-apps.scm4
-rw-r--r--gnu/packages/image-viewers.scm4
-rw-r--r--gnu/packages/instrumentation.scm46
-rw-r--r--gnu/packages/irc.scm196
-rw-r--r--gnu/packages/java.scm60
-rw-r--r--gnu/packages/julia-xyz.scm7
-rw-r--r--gnu/packages/kde.scm3
-rw-r--r--gnu/packages/libcanberra.scm6
-rw-r--r--gnu/packages/libreoffice.scm4
-rw-r--r--gnu/packages/linphone.scm4
-rw-r--r--gnu/packages/linux.scm166
-rw-r--r--gnu/packages/lisp-xyz.scm149
-rw-r--r--gnu/packages/lisp.scm19
-rw-r--r--gnu/packages/logging.scm6
-rw-r--r--gnu/packages/lua.scm4
-rw-r--r--gnu/packages/machine-learning.scm113
-rw-r--r--gnu/packages/mail.scm22
-rw-r--r--gnu/packages/markup.scm11
-rw-r--r--gnu/packages/maths.scm167
-rw-r--r--gnu/packages/matrix.scm7
-rw-r--r--gnu/packages/mes.scm5
-rw-r--r--gnu/packages/mingw.scm6
-rw-r--r--gnu/packages/monitoring.scm20
-rw-r--r--gnu/packages/music.scm25
-rw-r--r--gnu/packages/musl.scm4
-rw-r--r--gnu/packages/networking.scm71
-rw-r--r--gnu/packages/ocaml.scm150
-rw-r--r--gnu/packages/opencl.scm29
-rw-r--r--gnu/packages/package-management.scm12
-rw-r--r--gnu/packages/password-utils.scm4
-rw-r--r--gnu/packages/patches/alure-dumb-2.patch30
-rw-r--r--gnu/packages/patches/emacs-all-the-icons-remove-duplicate-rs.patch21
-rw-r--r--gnu/packages/patches/emacs-haskell-mode-no-redefine-builtin.patch75
-rw-r--r--gnu/packages/patches/emacs-helpful-fix-tests.patch28
-rw-r--r--gnu/packages/patches/emacs-source-date-epoch.patch20
-rw-r--r--gnu/packages/patches/emacs-yasnippet-fix-empty-snippet-next.patch59
-rw-r--r--gnu/packages/patches/emacs-yasnippet-fix-tests.patch14
-rw-r--r--gnu/packages/patches/enblend-enfuse-reproducible.patch44
-rw-r--r--gnu/packages/patches/evdi-fix-build-with-linux-6.2.patch72
-rw-r--r--gnu/packages/patches/gnome-dictionary-meson-i18n.patch52
-rw-r--r--gnu/packages/patches/notmuch-emacs-test-output.patch89
-rw-r--r--gnu/packages/patches/openjdk-21-fix-rpath.patch16
-rw-r--r--gnu/packages/patches/sbcl-riscv-Make-contribs-build-again.patch71
-rw-r--r--gnu/packages/patches/tensorflow-lite-unbundle.patch27
-rw-r--r--gnu/packages/patches/tipp10-disable-downloader.patch165
-rw-r--r--gnu/packages/patches/tipp10-fix-compiling.patch212
-rw-r--r--gnu/packages/patches/tipp10-qt5.patch69
-rw-r--r--gnu/packages/patches/tipp10-remove-license-code.patch332
-rw-r--r--gnu/packages/patches/tor-remove-defensive-assert.patch28
-rw-r--r--gnu/packages/photo.scm105
-rw-r--r--gnu/packages/python-check.scm25
-rw-r--r--gnu/packages/python-compression.scm22
-rw-r--r--gnu/packages/python-crypto.scm31
-rw-r--r--gnu/packages/python-web.scm154
-rw-r--r--gnu/packages/python-xyz.scm386
-rw-r--r--gnu/packages/rpm.scm4
-rw-r--r--gnu/packages/rust.scm1
-rw-r--r--gnu/packages/search.scm8
-rw-r--r--gnu/packages/security-token.scm4
-rw-r--r--gnu/packages/serialization.scm5
-rw-r--r--gnu/packages/shellutils.scm8
-rw-r--r--gnu/packages/sphinx.scm28
-rw-r--r--gnu/packages/sync.scm2
-rw-r--r--gnu/packages/syncthing.scm2
-rw-r--r--gnu/packages/task-management.scm4
-rw-r--r--gnu/packages/telephony.scm12
-rw-r--r--gnu/packages/terminals.scm5
-rw-r--r--gnu/packages/tor.scm7
-rw-r--r--gnu/packages/version-control.scm72
-rw-r--r--gnu/packages/video.scm7
-rw-r--r--gnu/packages/w3m.scm7
-rw-r--r--gnu/packages/web.scm114
-rw-r--r--gnu/packages/wm.scm3
-rw-r--r--gnu/packages/xdisorg.scm4
-rw-r--r--gnu/packages/xorg.scm4
-rw-r--r--gnu/services/networking.scm12
-rw-r--r--gnu/services/syncthing.scm2
-rw-r--r--gnu/services/virtualization.scm4
-rw-r--r--gnu/system/file-systems.scm21
-rw-r--r--gnu/system/hurd.scm5
-rw-r--r--gnu/system/image.scm21
-rw-r--r--gnu/system/install.scm17
-rw-r--r--gnu/system/locale.scm5
-rw-r--r--gnu/tests/virtualization.scm9
-rw-r--r--guix/build/emacs-utils.scm26
-rw-r--r--guix/git.scm22
-rw-r--r--guix/scripts/system.scm2
-rw-r--r--guix/self.scm31
-rw-r--r--guix/transformations.scm5
-rw-r--r--manifest.scm30
-rw-r--r--tests/packages.scm2
131 files changed, 3242 insertions, 2559 deletions
diff --git a/.dir-locals.el b/.dir-locals.el
index 36714c1aa4..c63262848c 100644
--- a/.dir-locals.el
+++ b/.dir-locals.el
@@ -5,10 +5,12 @@
(tab-width . 8)
(sentence-end-double-space . t)
- ;; For use with 'bug-reference-prog-mode'.
+ ;; For use with 'bug-reference-prog-mode'. Extra bug-reference
+ ;; configuration should be done in your Emacs user configuration file;
+ ;; refer to (info (guix) The Perfect Setup).
(bug-reference-bug-regexp
. "\\(<https?://\\bugs\\.gnu\\.org/\\([0-9]+\\)>\\)")
- (bug-reference-url-format . "https://bugs.gnu.org/%s")
+ (bug-reference-url-format . "https://issues.guix.gnu.org/%s")
(eval . (add-to-list 'completion-ignored-extensions ".go"))
diff --git a/Makefile.am b/Makefile.am
index 922913355c..8924974e8a 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -692,6 +692,7 @@ EXTRA_DIST += \
ROADMAP \
TODO \
bootstrap \
+ manifest.scm \
build-aux/build-self.scm \
build-aux/check-channel-news.scm \
build-aux/check-final-inputs-self-contained.scm \
diff --git a/doc/contributing.texi b/doc/contributing.texi
index a0da871f1a..ce4b9db366 100644
--- a/doc/contributing.texi
+++ b/doc/contributing.texi
@@ -77,6 +77,12 @@ hack on Guix:
guix shell -D guix --pure
@end example
+or even, from within a Git worktree for Guix:
+
+@example
+guix shell --pure
+@end example
+
@xref{Invoking guix shell}, for more information on that command.
If you are unable to use Guix when building Guix from a checkout, the
@@ -204,12 +210,11 @@ To that end, all the command-line tools can be used even if you have not
run @code{make install}. To do that, you first need to have an
environment with all the dependencies available (@pxref{Building from
Git}), and then simply prefix each command with @command{./pre-inst-env}
-(the @file{pre-inst-env} script lives in the top build tree of Guix; it
-is generated by running @command{./bootstrap} followed by
-@command{./configure}). As an example, here is how you would build the
-@code{hello} package as defined in your working tree (this assumes
-@command{guix-daemon} is already running on your system; it's OK if it's
-a different version):
+(the @file{pre-inst-env} script lives in the top build tree of Guix;
+@pxref{Building from Git} to generate it). As an example, here is how you
+would build the @code{hello} package as defined in your working tree (this
+assumes @command{guix-daemon} is already running on your system; it's OK if
+it's a different version):
@example
$ ./pre-inst-env guix build hello
@@ -379,6 +384,70 @@ copyright-update}. If you want to do it automatically after each buffer
save then add @code{(add-hook 'after-save-hook 'copyright-update)} in
Emacs.
+@subsection Viewing Bugs within Emacs
+
+Emacs has a nice minor mode called @code{bug-reference}, which, when
+combined with @samp{emacs-debbugs} (the Emacs package), can be used to
+open links such as @samp{<https://bugs.gnu.org/58697>} or
+@samp{<https://issues.guix.gnu.org/58697>} as bug report buffers. From
+there you can easily consult the email thread via the Gnus interface,
+reply or modify the bug status, all without leaving the comfort of
+Emacs! Below is a sample configuration to add to your @file{~/.emacs}
+configuration file:
+
+@lisp
+;;; Bug references.
+(add-hook 'prog-mode-hook #'bug-reference-prog-mode)
+(add-hook 'gnus-mode-hook #'bug-reference-mode)
+(add-hook 'erc-mode-hook #'bug-reference-mode)
+(add-hook 'bug-reference-mode-hook 'debbugs-browse-mode)
+(add-hook 'bug-reference-prog-mode-hook 'debbugs-browse-mode)
+(add-hook 'gnus-summary-mode-hook 'bug-reference-mode)
+(add-hook 'gnus-article-mode-hook 'bug-reference-mode)
+
+;;; This extends the default expression (the top-most, first expression
+;;; provided to 'or') to also match URLs such as
+;;; <https://issues.guix.gnu.org/58697> or <https://bugs.gnu.org/58697>.
+;;; It is also extended to detect "Fixes: #NNNNN" git trailers.
+(setq bug-reference-bug-regexp
+ (rx (group (or (seq word-boundary
+ (or (seq (char "Bb") "ug"
+ (zero-or-one " ")
+ (zero-or-one "#"))
+ (seq (char "Pp") "atch"
+ (zero-or-one " ")
+ "#")
+ (seq (char "Ff") "ixes"
+ (zero-or-one ":")
+ (zero-or-one " ") "#")
+ (seq "RFE"
+ (zero-or-one " ") "#")
+ (seq "PR "
+ (one-or-more (char "a-z+-")) "/"))
+ (group (one-or-more (char "0-9"))
+ (zero-or-one
+ (seq "#" (one-or-more
+ (char "0-9"))))))
+ (seq "<https://bugs.gnu.org/"
+ (group-n 2 (one-or-more (char "0-9")))
+ ">")))))
+
+;; The following allows Emacs Debbugs user to open the issue directly within
+;; Emacs.
+(setq debbugs-browse-url-regexp
+ (rx line-start
+ "http" (zero-or-one "s") "://"
+ (or "debbugs" "issues.guix" "bugs")
+ ".gnu.org" (one-or-more "/")
+ (group (zero-or-one "cgi/bugreport.cgi?bug="))
+ (group-n 3 (one-or-more digit))
+ line-end))
+@end lisp
+
+For more information, refer to @ref{Bug Reference,,, emacs, The GNU
+Emacs Manual} and @ref{Minor Mode,,, debbugs-ug, The Debbugs User
+Guide}.
+
@node Packaging Guidelines
@section Packaging Guidelines
diff --git a/doc/guix.texi b/doc/guix.texi
index 46cc8e1b80..46591b2f64 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -2167,12 +2167,15 @@ which they are installed. The Elisp libraries are made available to
Emacs through the @env{EMACSLOADPATH} environment variable, which is
set when installing Emacs itself.
+@cindex guix-emacs-autoload-packages, refreshing Emacs packages
Additionally, autoload definitions are automatically evaluated at the
initialization of Emacs, by the Guix-specific
-@code{guix-emacs-autoload-packages} procedure. If, for some reason, you
-want to avoid auto-loading the Emacs packages installed with Guix, you
-can do so by running Emacs with the @option{--no-site-file} option
-(@pxref{Init File,,, emacs, The GNU Emacs Manual}).
+@code{guix-emacs-autoload-packages} procedure. This procedure can be
+interactively invoked to have newly installed Emacs packages discovered,
+without having to restart Emacs. If, for some reason, you want to avoid
+auto-loading the Emacs packages installed with Guix, you can do so by
+running Emacs with the @option{--no-site-file} option (@pxref{Init
+File,,, emacs, The GNU Emacs Manual}).
@quotation Note
Emacs can now compile packages natively. Under the default
@@ -6114,7 +6117,7 @@ the fingerprint of the OpenPGP used to sign it.
@end enumerate
Before pushing to your public Git repository, you can run @command{guix
-git-authenticate} to verify that you did sign all the commits you are
+git authenticate} to verify that you did sign all the commits you are
about to push with an authorized key:
@example
@@ -20461,10 +20464,16 @@ non-loopback interfaces that can be activated. Otherwise the DHCP
client listens only on the specified interfaces.
@item @code{shepherd-requirement} (default: @code{'()})
+@itemx @code{shepherd-provision} (default: @code{'(networking)})
This option can be used to provide a list of symbols naming Shepherd services
that this service will depend on, such as @code{'wpa-supplicant} or
@code{'iwd} if you require authenticated access for encrypted WiFi or Ethernet
networks.
+
+Likewise, @code{shepherd-provision} is a list of Shepherd service names
+(symbols) provided by this service. You might want to change the
+default value if you intend to run several DHCP clients, only one of
+which provides the @code{networking} Shepherd service.
@end table
@end deftp
@@ -40976,8 +40985,8 @@ QEMU monitor and the VM.
@cindex image, creating disk images
The @code{image} command can produce various image types. The image
type can be selected using the @option{--image-type} option. It
-defaults to @code{mbr-raw}. When its value is @code{iso9660}, the
-@option{--label} option can be used to specify a volume ID with
+defaults to @code{mbr-hybrid-raw}. When its value is @code{iso9660},
+the @option{--label} option can be used to specify a volume ID with
@code{image}. By default, the root file system of a disk image is
mounted non-volatile; the @option{--volatile} option can be provided to
make it volatile instead. When using @code{image}, the bootloader
@@ -40995,8 +41004,8 @@ qemu-system-x86_64 -enable-kvm -hda /tmp/my-image.qcow2 -m 1000 \
-bios $(guix build ovmf)/share/firmware/ovmf_x64.bin
@end example
-When using the @code{mbr-raw} image type, a raw disk image is produced;
-it can be copied as is to a USB stick, for instance. Assuming
+When using the @code{mbr-hybrid-raw} image type, a raw disk image is
+produced; it can be copied as is to a USB stick, for instance. Assuming
@code{/dev/sdc} is the device corresponding to a USB stick, one can copy
the image to it using the following command:
@@ -41133,7 +41142,7 @@ of the image.
For the @code{image} action, create an image with given @var{type}.
When this option is omitted, @command{guix system} uses the
-@code{mbr-raw} image type.
+@code{mbr-hybrid-raw} image type.
@cindex ISO-9660 format
@cindex CD image format
@@ -45341,7 +45350,7 @@ then directly boot from it, without any kind of installation procedure.
The @command{guix system image} command is able to turn an operating
system definition into a bootable image. This command supports
-different image types, such as @code{mbr-raw}, @code{iso9660} and
+different image types, such as @code{mbr-hybrid-raw}, @code{iso9660} and
@code{docker}. Any modern @code{x86_64} machine will probably be able
to boot from an @code{iso9660} image. However, there are a few machines
out there that require specific image types. Those machines, in general
@@ -45605,8 +45614,24 @@ from them to simplify the @code{image} definition. The @code{(gnu
system image)} module provides the following @code{image} definition
variables.
+@defvar mbr-disk-image
+An MBR disk-image composed of a single ROOT partition. The ROOT
+partition starts at a 1@tie{}MiB offset so that the bootloader can
+install itself in the post-MBR gap.
+@end defvar
+
+@defvar mbr-hybrid-disk-image
+An MBR disk-image composed of two partitions: a 64 bits ESP partition
+and a ROOT boot partition. The ESP partition starts at a 1@tie{}MiB
+offset so that a BIOS compatible bootloader can install itself in the
+post-MBR gap. The image can be used by @code{x86_64} and @code{i686}
+machines supporting only legacy BIOS booting. The ESP partition ensures
+that it can also be used by newer machines relying on UEFI booting,
+hence the @emph{hybrid} denomination.
+@end defvar
+
@defvar efi-disk-image
-A MBR disk-image composed of two partitions: a 64 bits ESP partition and
+A GPT disk-image composed of two partitions: a 64 bits ESP partition and
a ROOT boot partition. This image can be used on most @code{x86_64} and
@code{i686} machines, supporting BIOS or UEFI booting.
@end defvar
@@ -45697,6 +45722,10 @@ system image)} and the @code{(gnu system images @dots{})} modules.
Build an image based on the @code{mbr-disk-image} image.
@end defvar
+@defvar mbr-hybrid-raw-image-type
+Build an image based on the @code{mbr-hybrid-disk-image} image.
+@end defvar
+
@defvar efi-raw-image-type
Build an image based on the @code{efi-disk-image} image.
@end defvar
diff --git a/etc/hurd-manifest.scm b/etc/hurd-manifest.scm
index 1b1d0a53b4..8132da7d08 100644
--- a/etc/hurd-manifest.scm
+++ b/etc/hurd-manifest.scm
@@ -31,7 +31,7 @@
(srfi srfi-1))
(use-package-modules
- base bootloaders commencement compression file gawk gdb gettext guile
+ base bootloaders commencement compression file gawk gdb gettext gtk guile
hurd less m4 package-management python ssh version-control)
(define (input->package input)
@@ -72,6 +72,9 @@
;; system
grub-minimal grub
+ ;; system reconfigure
+ gdk-pixbuf
+
(append
guix-dependencies
%base-packages/hurd)))
diff --git a/etc/teams.scm.in b/etc/teams.scm.in
index e07c758117..876050da9c 100644
--- a/etc/teams.scm.in
+++ b/etc/teams.scm.in
@@ -639,6 +639,10 @@ GLib/GIO, GTK, GStreamer and Webkit."
"cox.katherine.e+guix@gmail.com")
emacs go lisp)
+(define-member (person "Marius Bakke"
+ "marius@gnu.org")
+ python)
+
(define (find-team name)
(or (hash-ref %teams (string->symbol name))
diff --git a/gnu/ci.scm b/gnu/ci.scm
index 520ac28110..279dd4d910 100644
--- a/gnu/ci.scm
+++ b/gnu/ci.scm
@@ -268,7 +268,7 @@ otherwise use the IMAGE name."
(if (member system %guix-system-supported-systems)
`(,(image->job store
(image
- (inherit efi-disk-image)
+ (inherit mbr-hybrid-disk-image)
(operating-system installation-os))
#:name "usb-image"
#:system system)
diff --git a/gnu/home/services/shells.scm b/gnu/home/services/shells.scm
index 7960590e7c..9dd56f634a 100644
--- a/gnu/home/services/shells.scm
+++ b/gnu/home/services/shells.scm
@@ -183,7 +183,8 @@ another process for example)."))
(mixed-text-file
"zshenv"
(zsh-serialize-field config 'zshenv)
- (zsh-serialize-field config 'environment-variables)))
+ (zsh-serialize-field config 'environment-variables)
+ "[ -n \"$SSH_CLIENT\" ] && source /etc/profile"))
(define (zsh-file-zprofile config)
(mixed-text-file
@@ -209,9 +210,7 @@ source ~/.profile
(define (zsh-get-configuration-files config)
`((".zprofile" ,(zsh-file-by-field config 'zprofile)) ;; Always non-empty
- ,@(if (or (zsh-field-not-empty? config 'zshenv)
- (zsh-field-not-empty? config 'environment-variables))
- `((".zshenv" ,(zsh-file-by-field config 'zshenv))) '())
+ (".zshenv" ,(zsh-file-by-field config 'zshenv)) ;; Always non-empty
,@(if (zsh-field-not-empty? config 'zshrc)
`((".zshrc" ,(zsh-file-by-field config 'zshrc))) '())
,@(if (zsh-field-not-empty? config 'zlogin)
diff --git a/gnu/local.mk b/gnu/local.mk
index db21feb507..72c9954492 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -903,6 +903,7 @@ dist_patch_DATA = \
%D%/packages/patches/akonadi-not-relocatable.patch \
%D%/packages/patches/akonadi-timestamps.patch \
%D%/packages/patches/allegro-mesa-18.2.5-and-later.patch \
+ %D%/packages/patches/alure-dumb-2.patch \
%D%/packages/patches/ibus-anthy-fix-tests.patch \
%D%/packages/patches/ibus-table-paths.patch \
%D%/packages/patches/anki-mpv-args.patch \
@@ -1096,25 +1097,29 @@ dist_patch_DATA = \
%D%/packages/patches/elm-offline-package-registry.patch \
%D%/packages/patches/elm-reactor-static-files.patch \
%D%/packages/patches/elogind-fix-rpath.patch \
+ %D%/packages/patches/emacs-all-the-icons-remove-duplicate-rs.patch \
%D%/packages/patches/emacs-deferred-fix-number-of-arguments.patch \
%D%/packages/patches/emacs-exec-path.patch \
%D%/packages/patches/emacs-ess-fix-obsolete-function-alias.patch \
%D%/packages/patches/emacs-git-email-missing-parens.patch \
%D%/packages/patches/emacs-fix-scheme-indent-function.patch \
%D%/packages/patches/emacs-json-reformat-fix-tests.patch \
+ %D%/packages/patches/emacs-haskell-mode-no-redefine-builtin.patch \
+ %D%/packages/patches/emacs-helpful-fix-tests.patch \
%D%/packages/patches/emacs-highlight-stages-add-gexp.patch \
%D%/packages/patches/emacs-lispy-fix-thread-last-test.patch \
%D%/packages/patches/emacs-native-comp-driver-options.patch \
%D%/packages/patches/emacs-pasp-mode-quote-file-names.patch \
%D%/packages/patches/emacs-polymode-fix-lexical-variable-error.patch \
- %D%/packages/patches/emacs-source-date-epoch.patch \
%D%/packages/patches/emacs-telega-path-placeholder.patch \
%D%/packages/patches/emacs-telega-test-env.patch \
%D%/packages/patches/emacs-wordnut-require-adaptive-wrap.patch \
+ %D%/packages/patches/emacs-yasnippet-fix-empty-snippet-next.patch \
%D%/packages/patches/emacs-yasnippet-fix-tests.patch \
%D%/packages/patches/emacs-kv-fix-tests.patch \
%D%/packages/patches/emacs-pgtk-super-key-fix.patch \
%D%/packages/patches/emacs-xelb-ignore-length-element.patch \
+ %D%/packages/patches/enblend-enfuse-reproducible.patch \
%D%/packages/patches/enjarify-setup-py.patch \
%D%/packages/patches/enlightenment-fix-setuid-path.patch \
%D%/packages/patches/erlang-man-path.patch \
@@ -1122,7 +1127,6 @@ dist_patch_DATA = \
%D%/packages/patches/esmini-use-pkgconfig.patch \
%D%/packages/patches/esmtp-add-lesmtp.patch \
%D%/packages/patches/eudev-rules-directory.patch \
- %D%/packages/patches/evdi-fix-build-with-linux-6.2.patch \
%D%/packages/patches/exercism-disable-self-update.patch \
%D%/packages/patches/extempore-unbundle-external-dependencies.patch \
%D%/packages/patches/extundelete-e2fsprogs-1.44.patch \
@@ -1310,6 +1314,7 @@ dist_patch_DATA = \
%D%/packages/patches/gnash-fix-giflib-version.patch \
%D%/packages/patches/gnome-2048-fix-positional-argument.patch \
%D%/packages/patches/gnome-control-center-libexecdir.patch \
+ %D%/packages/patches/gnome-dictionary-meson-i18n.patch \
%D%/packages/patches/gnome-online-miners-tracker-3.patch \
%D%/packages/patches/gnome-settings-daemon-gc.patch \
%D%/packages/patches/gnome-session-support-elogind.patch \
@@ -1663,6 +1668,7 @@ dist_patch_DATA = \
%D%/packages/patches/network-manager-meson.patch \
%D%/packages/patches/nginx-socket-cloexec.patch \
%D%/packages/patches/nnpack-system-libraries.patch \
+ %D%/packages/patches/notmuch-emacs-test-output.patch \
%D%/packages/patches/nsis-env-passthru.patch \
%D%/packages/patches/nss-getcwd-nonnull.patch \
%D%/packages/patches/nss-increase-test-timeout.patch \
@@ -1698,6 +1704,7 @@ dist_patch_DATA = \
%D%/packages/patches/openjdk-10-pointer-comparison.patch \
%D%/packages/patches/openjdk-10-setsignalhandler.patch \
%D%/packages/patches/openjdk-15-xcursor-no-dynamic.patch \
+ %D%/packages/patches/openjdk-21-fix-rpath.patch \
%D%/packages/patches/openmpi-mtl-priorities.patch \
%D%/packages/patches/openmw-assume-nonconst-SIGSTKSZ.patch \
%D%/packages/patches/openssh-trust-guix-store-directory.patch \
@@ -1947,7 +1954,6 @@ dist_patch_DATA = \
%D%/packages/patches/sbcl-clml-fix-types.patch \
%D%/packages/patches/sbcl-eazy-gnuplot-skip-path-check.patch \
%D%/packages/patches/sbcl-png-fix-sbcl-compatibility.patch \
- %D%/packages/patches/sbcl-riscv-Make-contribs-build-again.patch \
%D%/packages/patches/scalapack-gcc-10-compilation.patch \
%D%/packages/patches/scheme48-tests.patch \
%D%/packages/patches/scons-test-environment.patch \
@@ -2007,6 +2013,7 @@ dist_patch_DATA = \
%D%/packages/patches/tcsh-fix-autotest.patch \
%D%/packages/patches/teensy-loader-cli-help.patch \
%D%/packages/patches/tensorflow-c-api-fix.patch \
+ %D%/packages/patches/tensorflow-lite-unbundle.patch \
%D%/packages/patches/texinfo-headings-single.patch \
%D%/packages/patches/texinfo-5-perl-compat.patch \
%D%/packages/patches/telegram-desktop-allow-disable-libtgvoip.patch \
@@ -2017,17 +2024,12 @@ dist_patch_DATA = \
%D%/packages/patches/tidy-CVE-2015-5522+5523.patch \
%D%/packages/patches/timewarrior-time-sensitive-tests.patch \
%D%/packages/patches/tinyxml-use-stl.patch \
- %D%/packages/patches/tipp10-disable-downloader.patch \
- %D%/packages/patches/tipp10-fix-compiling.patch \
- %D%/packages/patches/tipp10-remove-license-code.patch \
- %D%/packages/patches/tipp10-qt5.patch \
%D%/packages/patches/tk-find-library.patch \
%D%/packages/patches/tla2tools-build-xml.patch \
%D%/packages/patches/tlf-support-hamlib-4.2+.patch \
%D%/packages/patches/tofi-32bit-compat.patch \
%D%/packages/patches/tootle-glib-object-naming.patch \
%D%/packages/patches/tootle-reason-phrase.patch \
- %D%/packages/patches/tor-remove-defensive-assert.patch \
%D%/packages/patches/transcode-ffmpeg.patch \
%D%/packages/patches/transfig-gcc10-fno-common.patch \
%D%/packages/patches/trytond-add-egg-modules-to-path.patch \
diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
index 1b2324bfc7..4ddd03fecf 100644
--- a/gnu/packages/admin.scm
+++ b/gnu/packages/admin.scm
@@ -101,7 +101,6 @@
#:use-module (gnu packages acl)
#:use-module (gnu packages algebra)
#:use-module (gnu packages attr)
- #:use-module (gnu packages autogen)
#:use-module (gnu packages autotools)
#:use-module (gnu packages base)
#:use-module (gnu packages bash)
@@ -112,7 +111,6 @@
#:use-module (gnu packages compression)
#:use-module (gnu packages crates-graphics)
#:use-module (gnu packages crates-io)
- #:use-module (gnu packages cross-base)
#:use-module (gnu packages crypto)
#:use-module (gnu packages cryptsetup)
#:use-module (gnu packages curl)
@@ -140,7 +138,6 @@
#:use-module (gnu packages inkscape)
#:use-module (gnu packages kerberos)
#:use-module (gnu packages libbsd)
- #:use-module (gnu packages libftdi)
#:use-module (gnu packages libunwind)
#:use-module (gnu packages libusb)
#:use-module (gnu packages linux)
@@ -161,11 +158,9 @@
#:use-module (gnu packages perl-check)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages polkit)
- #:use-module (gnu packages popt)
#:use-module (gnu packages python)
#:use-module (gnu packages python-build)
#:use-module (gnu packages python-crypto)
- #:use-module (gnu packages python-web)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages qt)
#:use-module (gnu packages readline)
@@ -427,7 +422,7 @@ interface and is based on GNU Guile.")
#:make-flags '("GUILE_AUTO_COMPILE=0")))
(native-inputs
(list autoconf automake guile-3.0 pkg-config texinfo))
- (inputs
+ (propagated-inputs
(list btrfs-progs
guile-config
guile-fibers-1.3
@@ -1271,13 +1266,13 @@ IPv6, proxies, and Unix sockets.")
(define-public nmon
(package
(name "nmon")
- (version "16n")
+ (version "16p")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/nmon/lmon" version ".c"))
(sha256
- (base32 "1wpm2f30414b87kpbr9hbidblr5cmfby5skwqd0fkpi5v712q0f0"))))
+ (base32 "0akbkv70zffdmc5p51r02rlxd8b3jvkgl64rjsd29qr5cxgh9ijx"))))
(build-system gnu-build-system)
(arguments
(list #:tests? #f ; no test suite
@@ -2442,14 +2437,14 @@ network, which causes enabled computers to power on.")
(define-public dmidecode
(package
(name "dmidecode")
- (version "3.4")
+ (version "3.5")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://savannah/dmidecode/dmidecode-"
version ".tar.xz"))
(sha256
- (base32 "04i2ahvqinkrnzfsbswplv9wff36xf9b3snvriwrjz26v18sijs3"))))
+ (base32 "0wy0khw02sr59f43fdahh6as1xc3jv7n8abj59p1j9cfxqsngmvr"))))
(build-system gnu-build-system)
(arguments
(list #:tests? #f ; no 'check' target
@@ -2458,7 +2453,7 @@ network, which causes enabled computers to power on.")
(string-append "prefix=" #$output))
#:phases
#~(modify-phases %standard-phases
- (delete 'configure)))) ; no configure script
+ (delete 'configure)))) ; no configure script
(home-page "https://www.nongnu.org/dmidecode/")
(synopsis "Read hardware information from the BIOS")
(description
@@ -4079,15 +4074,15 @@ you are running, what theme or icon set you are using, etc.")
#~(modify-phases %standard-phases
(delete 'configure)
(add-before 'build 'patch-source-paths
- (lambda _
- (substitute* "fetch.c"
- (("grep")
- #$(file-append grep "/bin/grep"))
- (("awk")
- #$(file-append gawk "/bin/awk")))
- (substitute* "uwufetch.c"
- (("(/usr(/local)?)(.*;)" all _ _ rest)
- (string-append #$output rest)))))
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let ((grep (search-input-file inputs "/bin/grep"))
+ (awk (search-input-file inputs "/bin/awk")))
+ (substitute* "fetch.c"
+ (("grep") grep)
+ (("awk") awk))
+ (substitute* "uwufetch.c"
+ (("(/usr(/local)?)(.*;)" all _ _ rest)
+ (string-append #$output rest))))))
;; TODO this will be fixed in the next release of uwufetch
(add-before 'install 'make-include-dir
(lambda _
@@ -4209,8 +4204,8 @@ everyone's screenshots nowadays.")
(license license:expat))))
(define-public pfetch
- (let ((commit "e18a0959ab98b963744755ec4687e59dc11db3c5")
- (revision "0"))
+ (let ((commit "a906ff89680c78cec9785f3ff49ca8b272a0f96b")
+ (revision "1"))
(package
(name "pfetch")
(version (git-version "0.7.0" revision commit))
@@ -4222,7 +4217,7 @@ everyone's screenshots nowadays.")
(file-name (git-file-name name version))
(sha256
(base32
- "1md40av6i3xvvwig5jzhy4kf3s5sgxxk35r0vcyrjd8qyndk927l"))))
+ "1yhf8mxjn58gjfdii3bpn8522gfaicd8jxjxvmwi2jz7fgvp0zpn"))))
(build-system trivial-build-system)
(inputs (list bash))
(arguments
@@ -4239,8 +4234,7 @@ everyone's screenshots nowadays.")
(install-file (source "pfetch") (string-append output "/bin"))
(patch-shebang
(string-append output "/bin/pfetch")
- (list (string-append (assoc-ref %build-inputs "bash") "/bin")))
- #t))))
+ (list (string-append (assoc-ref %build-inputs "bash") "/bin")))))))
(home-page "https://github.com/dylanaraps/pfetch")
(synopsis "System information tool")
(description "This package provides a simple, configurable system
@@ -4250,14 +4244,14 @@ information tool.")
(define-public nnn
(package
(name "nnn")
- (version "4.7")
+ (version "4.9")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/jarun/nnn/releases/download/v"
version "/nnn-v" version ".tar.gz"))
(sha256
- (base32 "0dbm54m3iv8hzar38dsfxh77z4mlpjj649ga82s0wwms4vlrm5pg"))))
+ (base32 "0d8apcichwbmsqgbs0kay3k63898x6xdxpb9hn1nvv5qwxxdq59b"))))
(build-system gnu-build-system)
(inputs
(list ncurses readline))
@@ -4496,7 +4490,7 @@ Python loading in HPC environments.")
(let ((real-name "inxi"))
(package
(name "inxi-minimal")
- (version "3.3.28-1")
+ (version "3.3.29-1")
(source
(origin
(method git-fetch)
@@ -4505,7 +4499,7 @@ Python loading in HPC environments.")
(commit version)))
(file-name (git-file-name real-name version))
(sha256
- (base32 "0h00dasmw3crci8kwpa503jljy3c5r2fsdhpbbczhsgznhlr8pbi"))))
+ (base32 "05z0vydfmkva61kj14p6jxy7dr8qwd024a7nn8pib57q4qnjm4r8"))))
(build-system trivial-build-system)
(inputs
(list bash-minimal
@@ -5995,7 +5989,7 @@ Discover other RouterOS devices or @command{mactelnetd} hosts.
(define-public bfs
(package
(name "bfs")
- (version "3.0.1")
+ (version "3.0.2")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -6004,7 +5998,7 @@ Discover other RouterOS devices or @command{mactelnetd} hosts.
(file-name (git-file-name name version))
(sha256
(base32
- "1ffma9p82bl0ai4h439cnhvcyyy8x593m27xlf16gsg6knpldm58"))))
+ "055qn2bhnyk9k96w8aviz7v4wip9hwsv7ak1m3yygm1x3fhdyhyz"))))
(build-system gnu-build-system)
(arguments
(list #:make-flags #~(list (string-append "CC="
diff --git a/gnu/packages/assembly.scm b/gnu/packages/assembly.scm
index 81e38c3f41..37b5712d81 100644
--- a/gnu/packages/assembly.scm
+++ b/gnu/packages/assembly.scm
@@ -13,6 +13,7 @@
;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net>
;;; Copyright © 2022 Felix Gruber <felgru@posteo.net>
;;; Copyright © 2022 Andy Tai <atai@atai.org>
+;;; Copyright © 2023 Simon South <simon@simonsouth.net>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -33,6 +34,7 @@
#:use-module (guix build-system meson)
#:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
+ #:use-module ((guix build utils) #:select (parallel-job-count))
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module ((guix licenses) #:prefix license:)
@@ -55,10 +57,69 @@
#:use-module (gnu packages python)
#:use-module (gnu packages sphinx)
#:use-module (gnu packages shells)
+ #:use-module (gnu packages tex)
#:use-module (gnu packages xml)
#:use-module ((guix utils)
#:select (%current-system cc-for-target)))
+(define-public asl
+ (let ((build "247"))
+ (package
+ (name "asl")
+ (version (string-append "1.42-beta-" build))
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://john.ccac.rwth-aachen.de:8000/ftp/as/source/c_version/"
+ "asl-current-142-bld" build ".tar.bz2"))
+ (sha256
+ (base32 "1qgz5yzg50vpwzrjqvw8bgnvm67dqhfb8ldxyqwaqmrj3icshp5s"))))
+ (build-system gnu-build-system)
+ (arguments
+ (list
+ #:make-flags #~(list "V=1") ; ensures output during "check" phase
+ #:phases
+ #~(modify-phases %standard-phases
+ (delete 'bootstrap)
+ (replace 'configure
+ (lambda* (#:key target #:allow-other-keys)
+ (copy-file "Makefile.def-samples/Makefile.def-unknown-linux"
+ "Makefile.def")
+
+ ;; Use the cross-compilation tools when cross-compiling.
+ (when #$(%current-target-system)
+ (substitute* "Makefile.def"
+ (("^(TARG_(CC|LD) = ).*" all prefix)
+ (string-append prefix target "-gcc\n"))))
+
+ ;; Set the output directories appropriately.
+ (substitute* "Makefile.def"
+ (("^(DOCDIR = ).*" all prefix)
+ (string-append prefix #$output:doc "/share/doc/" #$name))
+ (("/usr/local")
+ #$output))))
+ (add-after 'check 'build-doc
+ (lambda* (#:key parallel-build? #:allow-other-keys)
+ (invoke "make"
+ "-j" (if parallel-build?
+ (number->string (parallel-job-count))
+ "1")
+ "docs"))))
+ #:test-target "test"))
+ (native-inputs
+ (list (texlive-updmap.cfg (list texlive-german texlive-hyperref))))
+ (outputs '("out" "doc"))
+ (home-page "http://john.ccac.rwth-aachen.de:8000/as/")
+ (synopsis
+ "AS macro cross-assembler for microprocessors and microcontrollers")
+ (description
+ "AS is a portable macro cross-assembler targeting a wide range of
+microprocessors and microcontrollers, including devices from Intel, Motorola,
+MOS Technology, Hitachi, Fujitsu, NEC, Texas Instruments, Zilog and many other
+manufacturers.")
+ (license (list license:gpl2 license:gpl3)))))
+
(define-public nasm
(package
(name "nasm")
@@ -134,14 +195,14 @@ debugging information in STABS, DWARF 2, and CodeView 8 formats.")
(define-public lightning
(package
(name "lightning")
- (version "2.2.1")
+ (version "2.2.2")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/lightning/lightning-"
version ".tar.gz"))
(sha256
(base32
- "1aiwx9cl9c7swqcgrsjnvd5laah3iwxzl1van3670iv8sn0icrwq"))))
+ "1qmkfg7br543kqy82hhpr1n8bsm9wrwb1z5w2whxc5xdvr185jha"))))
(build-system gnu-build-system)
(native-inputs (list zlib))
(arguments
diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index 48a4f8d536..5136d5c9cf 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -3330,6 +3330,38 @@ buffers, and audio capture.")
(home-page "https://kcat.strangesoft.net/openal.html")
(license license:lgpl2.0)))
+(define-public alure
+ (package
+ (name "alure")
+ (version "1.2")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://kcat.tomasu.net/alure-releases/"
+ "alure-" version ".tar.bz2"))
+ (sha256
+ (base32
+ "0w8gsyqki21s1qb2s5ac1kj08i6nc937c0rr08xbw9w9wvd6lpj6"))
+ (patches (search-patches "alure-dumb-2.patch"))))
+ (build-system cmake-build-system)
+ (arguments
+ `(#:tests? #f ;no tests
+ #:configure-flags '("-DMODPLUG=ON")))
+ (native-inputs (list pkg-config))
+ (inputs (list dumb
+ flac
+ mpg123
+ libmodplug
+ libsndfile
+ libvorbis
+ openal))
+ (home-page "https://kcat.tomasu.net/alure.html")
+ (synopsis "OpenAL utility library")
+ (description
+ "ALURE is a utility library to help manage common tasks with OpenAL applications.
+This includes device enumeration and initialization, file loading, and
+streaming.")
+ (license license:expat)))
+
(define-public patchage
(package
(name "patchage")
@@ -6287,7 +6319,7 @@ and DSD streams.")
(define-public qpwgraph
(package
(name "qpwgraph")
- (version "0.5.2")
+ (version "0.5.3")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -6296,9 +6328,10 @@ and DSD streams.")
(file-name (git-file-name name version))
(sha256
(base32
- "186c3s56py8xjasbp4380m9sqdba9mf7mppqz8hkli1nhbspbix9"))))
+ "1i9p8gqm9swa2szr7i8rf3dhqxlaqjslb6yd5s9z1rs1jdb9lhp7"))))
(build-system cmake-build-system)
- (arguments (list #:tests? #f)) ;; no tests
+ (arguments
+ (list #:tests? #f)) ; no tests
(inputs (list alsa-lib
libxkbcommon
pipewire
diff --git a/gnu/packages/aux-files/emacs/guix-emacs.el b/gnu/packages/aux-files/emacs/guix-emacs.el
index 708093267d..265c8bde16 100644
--- a/gnu/packages/aux-files/emacs/guix-emacs.el
+++ b/gnu/packages/aux-files/emacs/guix-emacs.el
@@ -1,8 +1,9 @@
+;;; -*- lexical-binding: t; -*-
;;; guix-emacs.el --- Emacs packages installed with Guix
;; Copyright © 2014, 2015, 2016, 2017 Alex Kost <alezost@gmail.com>
;; Copyright © 2017 Kyle Meyer <kyle@kyleam.com>
-;; Copyright © 2019 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;; Copyright © 2019, 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;; This file is part of GNU Guix.
@@ -21,8 +22,9 @@
;;; Commentary:
-;; This file provides auxiliary code to autoload Emacs packages
-;; installed with Guix.
+;; This file provides auxiliary code to autoload Emacs packages installed with
+;; Guix. To produce verbose messages useful while debugging, set the
+;; GUIX-EMACS-VERBOSE variable to true.
;;; Code:
(require 'seq)
@@ -30,51 +32,77 @@
(defvar guix-emacs-autoloads-regexp
(rx (* any) "-autoloads.el" (zero-or-one "c") string-end)
- "Regexp to match Emacs 'autoloads' file.")
+ "Regexp to match files containing autoload definitions.
+
+Historically, this used to be the package name followed by \"-autoloads.el\".
+As of Emacs 29, the term \"loaddefs\" is preferred over \"autoloads\",
+but they function much in the same manner.")
(defun guix-emacs-find-autoloads (directory)
- "Return a list of Emacs 'autoloads' files in DIRECTORY.
+ "Return a list of files containing autoload definitions in DIRECTORY.
The files in the list do not have extensions (.el, .elc)."
;; `directory-files' doesn't honor group in regexp.
(delete-dups (mapcar #'file-name-sans-extension
(directory-files directory 'full-name
guix-emacs-autoloads-regexp))))
+(defcustom guix-emacs-verbose nil
+ "Set to true to provide verbose messages, such as when loading packages."
+ :type 'boolean
+ :group 'guix-emacs)
+
+(defun guix-emacs--load-file-no-error (file)
+ "Load FILE, ignoring any errors"
+ (load file 'noerror (not guix-emacs-verbose)))
+
(defun guix-emacs--non-core-load-path ()
;; Filter out core Elisp directories, which are already handled by Emacs.
(seq-filter (lambda (dir)
(string-match-p "/share/emacs/site-lisp" dir))
load-path))
+(defun guix-emacs--subdirs-files ()
+ "Return the Guix subdirs.el files found on the (non-core) load path."
+ (seq-filter #'file-exists-p
+ (mapcar (lambda (dir)
+ (expand-file-name "subdirs.el" dir))
+ (guix-emacs--non-core-load-path))))
+
;;;###autoload
-(defun guix-emacs-autoload-packages ()
- "Autoload Emacs packages found in EMACSLOADPATH.
+(defun guix-emacs-autoload-packages (&optional no-reload)
+ "Load autoload definitions for packages in `load-path'.
+
+Autoload definitions are contained within files matching
+`guix-emacs-autoload-regexp'; load each file matching that regexp.
+When NO-RELOAD is nil (the default), also evaluate any subdirs.el files
+found in `load-path' to discover newly installed packages."
+ (interactive "P")
+ ;; Reload the subdirs.el files such as the one generated by the Guix profile
+ ;; hook, so that newly installed Emacs packages located under
+ ;; sub-directories are put on the load-path without having to restart Emacs.
+ (unless no-reload
+ (mapc #'guix-emacs--load-file-no-error (guix-emacs--subdirs-files))
+ (setq load-path (delete-dups load-path)))
-'Autoload' means to load the 'autoloads' files matching
-`guix-emacs-autoloads-regexp'."
- (interactive)
(let ((autoloads (mapcan #'guix-emacs-find-autoloads
(guix-emacs--non-core-load-path))))
- (mapc (lambda (f)
- (load f 'noerror t))
- autoloads)))
+ (mapc #'guix-emacs--load-file-no-error autoloads)))
;;;###autoload
(defun guix-emacs-load-package-descriptors ()
"Load descriptors for packages found in EMACSLOADPATH via subdirs.el."
- (dolist (dir (guix-emacs--non-core-load-path))
- (let ((subdirs-file (expand-file-name "subdirs.el" dir)))
- (when (file-exists-p subdirs-file)
- (with-temp-buffer
- (insert-file-contents subdirs-file)
- (goto-char (point-min))
- (let ((subdirs (read (current-buffer))))
- (and (equal (car-safe subdirs) 'normal-top-level-add-to-load-path)
- (equal (car-safe (cadr subdirs)) 'list)
- (dolist (subdir (cdadr subdirs))
- (let ((pkg-dir (expand-file-name subdir dir)))
- (when (file-directory-p pkg-dir)
- (package-load-descriptor pkg-dir)))))))))))
+ (dolist (subdirs-file (guix-emacs--subdirs-files))
+ (with-temp-buffer
+ (insert-file-contents subdirs-file)
+ (goto-char (point-min))
+ (let ((subdirs (read (current-buffer))))
+ (and (equal (car-safe subdirs) 'normal-top-level-add-to-load-path)
+ (equal (car-safe (cadr subdirs)) 'list)
+ (dolist (subdir (cdadr subdirs))
+ (let ((pkg-dir (expand-file-name
+ subdir (file-name-directory subdirs-file))))
+ (when (file-directory-p pkg-dir)
+ (package-load-descriptor pkg-dir)))))))))
;; If emacs built with tree-sitter, read the value of the environment variable
;; to make tree-sitter grammars available in emacs out-of-the-box.
diff --git a/gnu/packages/avr.scm b/gnu/packages/avr.scm
index 9c623a9626..b9bee5e624 100644
--- a/gnu/packages/avr.scm
+++ b/gnu/packages/avr.scm
@@ -31,7 +31,6 @@
#:use-module (guix packages)
#:use-module (guix build-system gnu)
#:use-module (guix build-system trivial)
- #:use-module (gnu packages)
#:use-module (gnu packages check)
#:use-module (gnu packages compression)
#:use-module (gnu packages cross-base)
diff --git a/gnu/packages/backup.scm b/gnu/packages/backup.scm
index bd5e2e463f..12c4a45b9d 100644
--- a/gnu/packages/backup.scm
+++ b/gnu/packages/backup.scm
@@ -481,14 +481,14 @@ errors.")
(define-public rdiff-backup
(package
(name "rdiff-backup")
- (version "2.2.5")
+ (version "2.2.6")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/rdiff-backup/rdiff-backup/releases/"
"download/v" version "/rdiff-backup-" version ".tar.gz"))
(sha256
- (base32 "13m0kq9y6rzgaq0zlzh7qhi789qmbzp3dnc7y57fmhsfg1mq5ql6"))))
+ (base32 "1ksqjkqadhxzp83zdfs80dvb494vn9q4anppnwxm3ikb4rbq6xyh"))))
(build-system python-build-system)
(native-inputs
(list python-setuptools-scm))
@@ -635,13 +635,13 @@ detection, and lossless compression.")
(define-public borg
(package
(name "borg")
- (version "1.2.4")
+ (version "1.2.6")
(source
(origin
(method url-fetch)
(uri (pypi-uri "borgbackup" version))
(sha256
- (base32 "1a2d6z2ln476l0fcnkl4rpciij5b2lql44b71aivg0cy8vlm9gd4"))
+ (base32 "178klb3pglhhz553frf928v7zvaiqvri9fbhj33yx7h3hvqgi9mp"))
(modules '((guix build utils)))
(snippet
#~(begin
diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm
index 786b080ae4..0b6cb2ddc5 100644
--- a/gnu/packages/base.scm
+++ b/gnu/packages/base.scm
@@ -49,7 +49,6 @@
#:use-module (gnu packages bash)
#:use-module (gnu packages bison)
#:use-module (gnu packages ed)
- #:use-module (gnu packages gawk)
#:use-module (gnu packages gcc)
#:use-module (gnu packages guile)
#:use-module (gnu packages multiprecision)
diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index c78f017a24..ccee9d1f60 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -3787,6 +3787,13 @@ UCSC genome browser.")
"-xf" (assoc-ref inputs "test-data"))
;; This one requires bowtie-build
(delete-file "plastid/test/functional/test_crossmap.py")))
+ (add-after 'unpack 'patch-for-python-3.10
+ (lambda _
+ ;; Some classes were moved from collections to collections.abc
+ ;; in Python 3.10.
+ (substitute* "plastid/readers/bigbed.pyx"
+ ((", Iterable")
+ "\nfrom collections.abc import Iterable"))))
(add-before 'check 'build-extensions
(lambda _
;; Cython extensions have to be built before running the tests.
@@ -17809,8 +17816,10 @@ pycisTarget and SCENIC.")
(list python-bokeh
python-dask
python-distributed
+ python-lz4
python-numpy
python-pandas
+ python-pyarrow
python-scikit-learn
python-scipy
python-tornado-6))
@@ -18413,6 +18422,7 @@ Cflags: -I${includedir}~%"
(description "The wavefront alignment (WFA) algorithm is an exact
gap-affine algorithm that takes advantage of homologous regions between the
sequences to accelerate the alignment process.")
+ (properties `((tunable? . #t)))
(license license:expat)))
(define-public vcflib
@@ -19846,7 +19856,7 @@ sequences")
(inputs
(list zlib))
(home-page "https://github.com/ACEnglish/bwapy")
- (synopsis "Python bindings to bwa alinger")
+ (synopsis "Python bindings to bwa aligner")
(description "This package provides Python bindings to the bwa mem
aligner.")
;; These Python bindings are licensed under Mozilla Public License 2.0,
@@ -20456,7 +20466,7 @@ based on the pairwise alignment of hidden Markov models (HMMs).")
(define-public wfmash
(package
(name "wfmash")
- (version "0.8.1")
+ (version "0.10.5")
(source
(origin
(method url-fetch)
@@ -20464,7 +20474,7 @@ based on the pairwise alignment of hidden Markov models (HMMs).")
version "/wfmash-v" version ".tar.gz"))
(sha256
(base32
- "031cm1arpfckvihb28vlk69mirpnmlag81zcscfba1bac58wvr7c"))
+ "1jsvnnh14h3ir4l13qhmglhd25kzwvni9apgvr1lbikqwgrpkiq4"))
(snippet
#~(begin
(use-modules (guix build utils))
@@ -20475,14 +20485,12 @@ based on the pairwise alignment of hidden Markov models (HMMs).")
"<atomic_queue/atomic_queue.h>"))
;; Remove compiler optimizations.
(substitute* (find-files "." "CMakeLists\\.txt")
- (("-mcx16 ") "")
- (("-march=native ") ""))
- ;; Allow building on architectures other than x86_64.
- (substitute* "src/common/dset64.hpp"
- (("!__x86_64__") "0"))))))
+ (("-march=native ") ""))))))
(build-system cmake-build-system)
(arguments
(list
+ #:configure-flags
+ #~(list "-DWFA_PNG_AND_TSV=ON")
#:phases
#~(modify-phases %standard-phases
(replace 'check
@@ -20595,7 +20603,8 @@ based on the pairwise alignment of hidden Markov models (HMMs).")
jemalloc
zlib))
(native-inputs
- (list samtools))
+ (list pkg-config
+ samtools))
(synopsis "Base-accurate DNA sequence aligner")
(description "@code{wfmash} is a DNA sequence read mapper based on mash
distances and the wavefront alignment algorithm. It is a fork of MashMap that
diff --git a/gnu/packages/bootloaders.scm b/gnu/packages/bootloaders.scm
index 1c47636341..1124eca837 100644
--- a/gnu/packages/bootloaders.scm
+++ b/gnu/packages/bootloaders.scm
@@ -36,8 +36,6 @@
(define-module (gnu packages bootloaders)
#:use-module (gnu packages)
- #:use-module (gnu packages admin)
- #:use-module (gnu packages algebra)
#:use-module (gnu packages assembly)
#:use-module (gnu packages base)
#:use-module (gnu packages disk)
diff --git a/gnu/packages/code.scm b/gnu/packages/code.scm
index b716f32599..a982e111e9 100644
--- a/gnu/packages/code.scm
+++ b/gnu/packages/code.scm
@@ -893,13 +893,13 @@ the C, C++, C++/CLI, Objective‑C, C#, and Java programming languages.")
(define-public indent
(package
(name "indent")
- (version "2.2.12")
+ (version "2.2.13")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/indent/indent-" version
".tar.gz"))
(sha256
- (base32 "12xvcd16cwilzglv9h7sgh4h1qqjd1h8s48ji2dla58m4706hzg7"))))
+ (base32 "15c0ayp9rib7hzvrcxm5ijs0mpagw5y8kf5w0jr9fryfqi7n6r4y"))))
(build-system gnu-build-system)
(arguments
`(#:phases
diff --git a/gnu/packages/conky.scm b/gnu/packages/conky.scm
index 54b525a04e..bd26cdd015 100644
--- a/gnu/packages/conky.scm
+++ b/gnu/packages/conky.scm
@@ -40,7 +40,7 @@
(package
(name "conky")
(home-page "https://github.com/brndnmtthws/conky")
- (version "1.19.3")
+ (version "1.19.4")
(source
(origin
(method git-fetch)
@@ -49,7 +49,7 @@
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "079s6icvcrryhj71qya4rnyc6pdjq488l0gjqrrblycgzppn1pas"))))
+ (base32 "03zzssdg1qdv83p4c3dbjgr0g1n0spc0ndk9bds1rd2n82i6g6sy"))))
(build-system cmake-build-system)
(arguments
`(#:configure-flags
diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm
index 72f04b25a0..4ee7f375d7 100644
--- a/gnu/packages/cpp.scm
+++ b/gnu/packages/cpp.scm
@@ -298,7 +298,7 @@ various formats, including @code{json}.")
(define-public libzen
(package
(name "libzen")
- (version "0.4.40")
+ (version "0.4.41")
(source (origin
(method url-fetch)
;; Warning: This source has proved unreliable 1 time at least.
@@ -309,7 +309,7 @@ various formats, including @code{json}.")
"libzen_" version ".tar.bz2"))
(sha256
(base32
- "17pnp5i1ppcxhxnfs9qlkzzy35h23pkdwhsgpbqdkf8lab2f4hsm"))))
+ "0b8yj3rmmcv2fn3b5bnchfkk82fy4w5446c70sxccvfa7myps8zb"))))
(native-inputs
(list autoconf automake libtool))
(build-system gnu-build-system)
diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm
index 6166b0d006..612524e2f7 100644
--- a/gnu/packages/cran.scm
+++ b/gnu/packages/cran.scm
@@ -62,7 +62,6 @@
#:use-module (guix utils)
#:use-module (guix build-system gnu)
#:use-module (guix build-system r)
- #:use-module (gnu packages)
#:use-module (gnu packages algebra)
#:use-module (gnu packages autotools)
#:use-module (gnu packages base)
@@ -79,7 +78,6 @@
#:use-module (gnu packages ghostscript)
#:use-module (gnu packages gl)
#:use-module (gnu packages gnome)
- #:use-module (gnu packages graph)
#:use-module (gnu packages gtk)
#:use-module (gnu packages haskell-xyz)
#:use-module (gnu packages icu4c)
diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm
index 2b8e80e1b0..210b838b4a 100644
--- a/gnu/packages/databases.scm
+++ b/gnu/packages/databases.scm
@@ -488,14 +488,14 @@ mapping from string keys to string values.")
(define-public memcached
(package
(name "memcached")
- (version "1.6.18")
+ (version "1.6.21")
(source
(origin
(method url-fetch)
(uri (string-append
"https://memcached.org/files/memcached-" version ".tar.gz"))
(sha256
- (base32 "0n21svnjw8j7bdbwrn0apnfql7ckraqgrl7wj9fsqj86h6w6mpfb"))))
+ (base32 "1vm27la2yanjhwwdwabci4c21yv9hy5iqas47kcxaza1zh79i267"))))
(build-system gnu-build-system)
(inputs
(list libevent cyrus-sasl))
@@ -3830,13 +3830,13 @@ libraries with SQLALchemy.")
(name "python-psycopg-pool")
;; The connection pooling code is on a different release cadence
;; from the driver code, so fetch the latest PyPI release.
- (version "3.0.3")
+ (version "3.1.7")
(source (origin
(method url-fetch)
(uri (pypi-uri "psycopg-pool" version))
(sha256
(base32
- "1nx139pwzsgrz253zjxw2sf8h713s79h4cp1falmpc39j08djb46"))))
+ "1pkx7nj1mhacwpna7ldzqfqxd1xg8826600r0bs9ad1h93f429yh"))))
(build-system python-build-system)
(arguments
(list #:tests? #f ;run for psycopg below
@@ -3855,7 +3855,7 @@ with the @code{psycopg} PostgreSQL driver.")
(define-public python-psycopg
(package
(name "python-psycopg")
- (version "3.0.8")
+ (version "3.1.10")
(source (origin
;; Fetch from git because PyPI contains only cythonized sources.
(method git-fetch)
@@ -3865,7 +3865,7 @@ with the @code{psycopg} PostgreSQL driver.")
(file-name (git-file-name name version))
(sha256
(base32
- "16i19jqd9lg9r7bc63ssh527cccrpf49g1nlayikk5qlswpzp75y"))))
+ "0hqk45wlaflz69cy1r0hbv11bwb89p6hjb7zmgqas26gdhg37n0r"))))
(build-system python-build-system)
(arguments
(list #:phases
@@ -3907,13 +3907,19 @@ with the @code{psycopg} PostgreSQL driver.")
"-o" "asyncio_mode=auto"
;; FIXME: Many of the typing tests are failing,
;; conveniently tagged as slow...
- "-k" "not slow"))))))))
+ "-k" "not slow")))))
+ ;; The sanity check phase attempts loading the C extension
+ ;; before the Python library, which results in the following:
+ ;; <ImportError: the psycopg package should be imported
+ ;; before psycopg_c>.
+ (delete 'sanity-check))))
(native-inputs
(list python-cython-3
python-mypy
python-psycopg-pool
python-pytest
python-pytest-asyncio
+ python-anyio
python-tenacity
pproxy
tzdata-for-tests))
diff --git a/gnu/packages/django.scm b/gnu/packages/django.scm
index 577789e988..4060819a35 100644
--- a/gnu/packages/django.scm
+++ b/gnu/packages/django.scm
@@ -6,7 +6,7 @@
;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2018 Vijayalakshmi Vedantham <vijimay12@gmail.com>
;;; Copyright © 2019 Sam <smbaines8@gmail.com>
-;;; Copyright © 2020, 2021, 2022 Marius Bakke <marius@gnu.org>
+;;; Copyright © 2020, 2021, 2022, 2023 Marius Bakke <marius@gnu.org>
;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2021 Luis Felipe López Acevedo <luis.felipe.la@protonmail.com>
;;; Copyright © 2022 Pradana Aumars <paumars@courrier.dev>
@@ -32,6 +32,7 @@
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix gexp)
+ #:use-module (guix build-system pyproject)
#:use-module (guix build-system python)
#:use-module (guix deprecation)
#:use-module (guix search-paths)
@@ -53,16 +54,16 @@
#:use-module (gnu packages time)
#:use-module (gnu packages xml))
-(define-public python-django-4.0
+(define-public python-django-4.2
(package
(name "python-django")
- (version "4.0.7")
+ (version "4.2.5")
(source (origin
(method url-fetch)
(uri (pypi-uri "Django" version))
(sha256
(base32
- "0qblhh7s7fcznqr79919yp2d7wiz3ixv39navmifb677dg9mlvcw"))))
+ "1ha6c5j3pizbsfzw37r52lvdz8z5lblq4iwa99mpkdzz92aiqp2y"))))
(build-system python-build-system)
(arguments
'(#:phases
@@ -140,17 +141,17 @@ to the @dfn{don't repeat yourself} (DRY) principle.")
(define-public python-django-3.2
(package
- (inherit python-django-4.0)
- (version "3.2.18")
+ (inherit python-django-4.2)
+ (version "3.2.21")
(source (origin
(method url-fetch)
(uri (pypi-uri "Django" version))
(sha256
(base32
- "1fikqpf75zjlx7dgdrrrz4212cajp6rl79rw0zzlzdifi7z8s808"))))
+ "0g3zm2glh76g31q06g6fwkwvkrphjj3mnap5sgk1hx3v9r44rpm5"))))
(native-search-paths '()) ;no need for TZDIR
(propagated-inputs
- (modify-inputs (package-propagated-inputs python-django-4.0)
+ (modify-inputs (package-propagated-inputs python-django-4.2)
;; Django 4.0 deprecated pytz in favor of Pythons built-in zoneinfo.
(append python-pytz)))))
@@ -170,23 +171,68 @@ to the @dfn{don't repeat yourself} (DRY) principle.")
;; Django 4.0 deprecated pytz in favor of Pythons built-in zoneinfo.
(append python-pytz)))))
-(define-public python-django-2.2
+;; Use 3.2 LTS as the default until packages gain support for 4.x.
+(define-public python-django python-django-3.2)
+
+(define-public python-django-cache-url
(package
- (inherit python-django-3.2)
- (version "2.2.28")
+ (name "python-django-cache-url")
+ (version "3.4.4")
(source (origin
(method url-fetch)
- (uri (pypi-uri "Django" version))
+ (uri (pypi-uri "django-cache-url" version))
(sha256
(base32
- "04vl7aivsshzsnn547lm4jdinr67afhdspc40f0c06xzmxbvc002"))))
+ "0dpx2wmcclmd3jkprdljz3makq12vd0sjv3xnvlj5vk1lg7glb7g"))))
+ (build-system pyproject-build-system)
(native-inputs
- (modify-inputs (package-native-inputs python-django-3.2)
- (prepend ;; 2.2 requires Selenium for the test suite.
- python-selenium)))))
+ (list python-django))
+ (home-page "https://github.com/epicserve/django-cache-url")
+ (synopsis "Configure Django cache settings from URLs")
+ (description
+ "This package provides a facility for configuring Django cache settings
+with a @var{CACHE_URL} environment variable.")
+ (license license:expat)))
-;; Use 3.2 LTS as the default until packages gain support for 4.x.
-(define-public python-django python-django-3.2)
+(define-public python-django-configurations
+ (package
+ (name "python-django-configurations")
+ (version "2.4.1")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "django-configurations" version))
+ (sha256
+ (base32
+ "11chll26iqqy5chyx62hya20cadk10nm2la7sch7pril70a5rhm6"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list #:phases
+ #~(modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ ;; Taken from tox.ini.
+ (setenv "DJANGO_SETTINGS_MODULE" "tests.settings.main")
+ (setenv "DJANGO_CONFIGURATION" "Test")
+ (setenv "PYTHONPATH"
+ (string-append ".:" (getenv "GUIX_PYTHONPATH")))
+ (invoke "django-cadmin" "test" "-v2")))))))
+ (propagated-inputs
+ (list python-django))
+ (native-inputs
+ (list python-dj-database-url
+ python-dj-email-url
+ python-dj-search-url
+ python-django-cache-url
+ python-setuptools-scm))
+ (home-page "https://django-configurations.readthedocs.io/")
+ (synopsis "Helper module for organizing Django settings")
+ (description
+ "@code{django-configurations} helps you organize the configuration of
+your Django project by providing glue code to bridge between Django'smodule
+based settings system and programming patterns like mixins, facades, factories
+and adapters that are useful for non-trivial configuration scenarios.")
+ (license license:bsd-3)))
(define-public python-django-extensions
(package
@@ -378,13 +424,13 @@ size and quality.")
(define-public python-pytest-django
(package
(name "python-pytest-django")
- (version "4.4.0")
+ (version "4.5.2")
(source (origin
(method url-fetch)
(uri (pypi-uri "pytest-django" version))
(sha256
(base32
- "0mglnz0w6k7dgw1jn6giv56pmdjd6a3zwwkhxb2kyzmzk0viw5xm"))))
+ "1hp61jbnnhnjxzdrz9ni08lzrv8q7iiycnnxvcwnkhxpkdsny1yr"))))
(build-system python-build-system)
(arguments
;; The test suite is disabled because there are many test failures (see:
@@ -408,7 +454,7 @@ size and quality.")
" and not test_urls_cache_is_cleared")))
(format #t "test suite not run~%")))))))
(native-inputs
- (list python-django python-setuptools-scm python-pytest-xdist))
+ (list python-setuptools-scm))
(propagated-inputs
(list python-pytest))
(home-page "https://pytest-django.readthedocs.org/")
@@ -672,14 +718,16 @@ example, explicit calls to callables from templates and better performance.")
(define-public python-dj-database-url
(package
(name "python-dj-database-url")
- (version "0.5.0")
+ (version "2.1.0")
(source (origin
(method url-fetch)
(uri (pypi-uri "dj-database-url" version))
(sha256
(base32
- "0qs16g5y3lflxibsl8gwkwap21crhmmv98l60rdq6x1wawgypsja"))))
+ "0pqkifl5zradgsznjpk6g6zp64gnsxdav7x3knf56vh8w7pjq17j"))))
(build-system python-build-system)
+ (propagated-inputs
+ (list python-django python-typing-extensions))
(home-page "https://github.com/kennethreitz/dj-database-url")
(synopsis "Use Database URLs in your Django Application")
(description
@@ -689,12 +737,50 @@ DATABASE_URL environment variable to configure your Django application.
The dj_database_url.config method returns a Django database connection
dictionary, populated with all the data specified in your URL. There is also a
conn_max_age argument to easily enable Django’s connection pool.")
+ (license license:bsd-3)))
+
+(define-public python-dj-email-url
+ (package
+ (name "python-dj-email-url")
+ (version "1.0.6")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "dj-email-url" version))
+ (sha256
+ (base32
+ "16k91rvd9889xxrrf84a3zb0jpinizhfqdmafn54zxa8kqrf7zsm"))))
+ (build-system pyproject-build-system)
+ (home-page "https://github.com/migonzalvar/dj-email-url")
+ (synopsis "Configure email settings from URLs")
+ (description
+ "This package provides a facility for configuring Django email backend
+settings from URLs.")
+ (license (list license:bsd-2 ;source code
+ license:cc-by4.0 ;documentation
+ license:cc0)))) ;configuration and data
+
+(define-public python-dj-search-url
+ (package
+ (name "python-dj-search-url")
+ (version "0.1")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "dj-search-url" version))
+ (sha256
+ (base32
+ "0h7vshhglym6af2pplkyivk6y0g0ncq0xpdzi88kq2sha9c1lka2"))))
+ (build-system pyproject-build-system)
+ (home-page "https://github.com/dstufft/dj-search-url")
+ (synopsis "Configure Haystack search from URLs")
+ (description
+ "This package provides a facility for configuring Django Haystack
+applications with a @var{SEARCH_URL} variable.")
(license license:bsd-2)))
(define-public python-django-picklefield
(package
(name "python-django-picklefield")
- (version "3.0.1")
+ (version "3.1.0")
(home-page "https://github.com/gintas/django-picklefield")
;; Use a git checkout because the PyPI release lacks tests.
(source
@@ -706,7 +792,7 @@ conn_max_age argument to easily enable Django’s connection pool.")
(file-name (git-file-name name version))
(sha256
(base32
- "0ni7bc86k0ra4pc8zv451pzlpkhs1nyil1sq9jdb4m2mib87b5fk"))))
+ "00d8sm6cnkv5bxbs2a3qrm4g69nlaa1wari7mc697df8q91v6r0n"))))
(build-system python-build-system)
(arguments
'(#:phases (modify-phases %standard-phases
@@ -714,10 +800,7 @@ conn_max_age argument to easily enable Django’s connection pool.")
(lambda _
(invoke "python" "-m" "django" "test" "-v2"
"--settings=tests.settings"))))))
- (propagated-inputs
- ;; XXX: Picklefield has not been updated in 10+ years and fails tests
- ;; with Django 3.2.
- `(("python-django@2.2" ,python-django-2.2)))
+ (propagated-inputs (list python-django))
(synopsis "Pickled object field for Django")
(description "Pickled object field for Django")
(license license:expat)))
@@ -796,6 +879,36 @@ used to attach comments to any model, so you can use it for comments on blog
entries, photos, book chapters, or anything else.")
(license license:bsd-3)))
+(define-public python-django-ninja
+ (package
+ (name "python-django-ninja")
+ (version "0.22.2")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "django_ninja" version))
+ (sha256
+ (base32
+ "0b19w7nvw7c3z19dbza49m24c3384j59w2xcr5l6jshxazkvsgli"))))
+ (build-system pyproject-build-system)
+ (arguments
+ ;; FIXME: How to configure this test properly?
+ (list #:test-flags #~'("-k" "not test_improperly_configured")))
+ (propagated-inputs
+ (list python-django python-pydantic))
+ (native-inputs
+ (list python-flit-core
+ python-psycopg2
+ python-pytest
+ python-pytest-asyncio
+ python-pytest-django))
+ (home-page "https://django-ninja.rest-framework.com")
+ (synopsis "REST framework for Django")
+ (description
+ "Django Ninja is a web framework for building APIs with Django
+and Python type hints. It is designed to be fast and easy to use thanks
+to asyncio and Pydantic.")
+ (license license:expat)))
+
(define-public python-django-pipeline
(package
(name "python-django-pipeline")
diff --git a/gnu/packages/dns.scm b/gnu/packages/dns.scm
index 51e88e29bb..33715d6b19 100644
--- a/gnu/packages/dns.scm
+++ b/gnu/packages/dns.scm
@@ -844,7 +844,7 @@ Extensions} (DNSSEC).")
(define-public knot
(package
(name "knot")
- (version "3.2.9")
+ (version "3.3.1")
(source
(origin
(method git-fetch)
@@ -853,7 +853,7 @@ Extensions} (DNSSEC).")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "1kxmplngnlpd6j9nbzq1c1z02ipd38ypnppy7frg5crn83phfbxm"))
+ (base32 "0l29809wcpx4q1d87539799c4mai0vvfkzkbmrba186mn47p3lsd"))
(modules '((guix build utils)))
(snippet
'(begin
@@ -863,9 +863,8 @@ Extensions} (DNSSEC).")
;; Remove bundled libraries to ensure we always use the system's.
(with-directory-excursion "src/contrib"
(for-each delete-file-recursively
- (list "libbpf"
- ;; TODO: package this for DoQ (‘QUIC’) support.
- "libngtcp2")))))))
+ ;; TODO: package libngtcp2 for DoQ (‘QUIC’) support.
+ '("libngtcp2")))))))
(build-system gnu-build-system)
(outputs (list "out" "doc" "lib" "tools"))
(arguments
diff --git a/gnu/packages/education.scm b/gnu/packages/education.scm
index d1e220ebcd..61fc9945fa 100644
--- a/gnu/packages/education.scm
+++ b/gnu/packages/education.scm
@@ -11,6 +11,7 @@
;;; Copyright © 2020 Prafulla Giri <pratheblackdiamond@gmail.com>
;;; Copyright © 2021 Nicolò Balzarotti <nicolo@nixo.xyz>
;;; Copyright © 2022 Luis Felipe López Acevedo <luis.felipe.la@protonmail.com>
+;;; Copyright © 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -266,47 +267,24 @@ frequently used words in American English.")
(define-public tipp10
(package
(name "tipp10")
- (version "2.1.0")
+ (version "3.3.0")
(source (origin
- (method url-fetch)
- ;; guix download is not able to handle the download links on the
- ;; home-page, which use '<meta http-equiv="refresh" …>'
- (uri (string-append "mirror://debian/pool/main/"
- "t/tipp10/tipp10_2.1.0.orig.tar.gz"))
+ (method git-fetch)
+ ;; Use the community maintained Qt 6 fork of the project, as the
+ ;; original software is now developed as a web application. The
+ ;; latest official version was 2.1.0.
+ (uri (git-reference
+ (url "https://gitlab.com/tipp10/tipp10.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
(sha256
(base32
- "0d387b404j88gsv6kv0rb7wxr23v5g5vl6s5l7602x8pxf7slbbx"))
- ;; Apply patches in the order determined by Debian
- (patches (search-patches "tipp10-fix-compiling.patch"
- "tipp10-remove-license-code.patch"
- "tipp10-disable-downloader.patch"
- "tipp10-qt5.patch"))))
- (build-system cmake-build-system)
- (arguments
- `(#:tests? #f ; packages has no tests
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'disable-new-version-check
- (lambda _
- ;; Make new version check to default to false.
- ;; TODO: Remove the checkbox from the dialog and the check itself
- (substitute* '("widget/settingspages.cpp" "widget/mainwindow.cpp")
- (("settings.value(\"check_new_version\", true)")
- "settings.value(\"check_new_version\", false)"))
- #t))
- (replace 'configure
- (lambda* (#:key outputs #:allow-other-keys)
- (let ((out (assoc-ref outputs "out")))
- ;; Make program honor $PREFIX
- (substitute* "tipp10.pro"
- (("\\.path = /usr/") (string-append ".path = " out "/")))
- (substitute* "def/defines.h"
- (("\"/usr/") (string-append "\"" out "/")))
- ;; Recreate Makefile
- (invoke "qmake")))))))
- (inputs
- (list qtbase-5 qtmultimedia-5))
- (home-page "https://www.tipp10.com/")
+ "138xf55csnq53mlkhj50g9bacay8kxz6p9vnzd7jyv6rq1xch5nq"))))
+ (build-system qt-build-system)
+ (arguments (list #:qtbase qtbase ;qtbase 6
+ #:tests? #f)) ;packages has no tests
+ (inputs (list qtbase qtmultimedia))
+ (home-page "https://www.tipp10.com/en/")
(synopsis "Touch typing tutor")
(description "Tipp10 is a touch typing tutor. The ingenious thing about
the software is its intelligence feature: characters that are mistyped are
@@ -316,6 +294,9 @@ they can start practicing without a hitch.
Useful support functions and an extensive progress tracker, topical lessons
and the ability to create your own practice lessons make learning to type
easy.")
+ ;; XXX: The LICENSE file mentions 'or later', but the source license
+ ;; headers have been modified to mention only "either version 2 of the
+ ;; License", which is not quite clear.
(license license:gpl2)))
(define-public snap
diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index c4de0e1d1f..2575a833ab 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -1430,6 +1430,10 @@ on stdout instead of using a socket as the Emacsclient does.")
(substitute* "test/submodule-test.el"
(("\\(ert-deftest (status|ids) .*" all)
(string-append all " (skip-unless nil)")))))
+ (add-after 'unpack 'ert-number-tests
+ (lambda _
+ (ert-number-tests "test/repository-test.el"
+ "repository-head-for-worktree")))
(add-before 'install 'prepare-for-install
(lambda _
(let ((s "../source"))
@@ -2324,7 +2328,9 @@ replacement.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "03j94fgw1bljbjqmikbn9mnrfifxf7g9zrb727zmnnrjwyi0wd4n"))))
+ (base32 "03j94fgw1bljbjqmikbn9mnrfifxf7g9zrb727zmnnrjwyi0wd4n"))
+ (patches
+ (search-patches "emacs-haskell-mode-no-redefine-builtin.patch"))))
(propagated-inputs
(list emacs-dash))
(native-inputs
@@ -4888,7 +4894,9 @@ current match, total matches and exit status.
(make-file-writable test-file)
(substitute* test-file
(("testdata/indentation_tests/" all)
- (string-append "test/" all)))))))))
+ (string-append "test/" all)))
+ (ert-number-tests "test/go-fill-paragraph-test.el"
+ "go--fill-paragraph-block-region")))))))
(build-system emacs-build-system)
(native-inputs (list emacs-ert-runner))
(home-page "https://github.com/dominikh/go-mode.el")
@@ -7450,7 +7458,14 @@ blocks with @code{org-babel} in @code{org-mode}.")
#:test-command #~(list "emacs" "--batch" "-L" "."
"--eval=(require 'ob-go)"
"-l" "test-ob-go.el"
- "-f" "ert-run-tests-batch-and-exit")))
+ "-f" "ert-run-tests-batch-and-exit")
+ #:phases #~(modify-phases %standard-phases
+ (add-after 'unpack 'ert-number-tests
+ (lambda _
+ (ert-number-tests "test-ob-go.el"
+ "ob-go/string-variables")
+ (ert-number-tests "test-ob-go.el"
+ "ob-go/imports"))))))
(home-page "https://github.com/pope/ob-go")
(synopsis "Org Babel support for evaluating Go code")
(description "@code{ob-go} enables Org Babel support for evaluating Go
@@ -12823,11 +12838,16 @@ navigate code in a tree-like fashion.")
(add-before 'check 'make-test-writable
(lambda _
(make-file-writable "lispy-test.el")))
- (add-before 'check 'remove-failing-test
+ (add-before 'check 'fix-tests
(lambda _
+ (ert-number-tests "lispy-test.el" "lispy-outline-add")
+ (ert-number-tests "lispy-test.el" "lispy-ace-subword")
(emacs-batch-edit-file "lispy-test.el"
`(progn
- (dolist (test '("lispy-eval-python-str" "lispy--clojure-dot-object"))
+ (dolist (test '("lispy-eval-python-str"
+ "lispy-outline-add-0"
+ "lispy--clojure-dot-object"
+ "lispy--pretty-args"))
(goto-char (point-min))
(re-search-forward
(concat "ert-deftest " test))
@@ -13905,7 +13925,22 @@ A function to toggle the @code{*elfeed-log*} buffer in a popup window.
(modify-phases %standard-phases
(add-before 'check 'chmod
(lambda _
- (chmod "test/fixture-mark-feed-ignore.org" #o644))))))
+ (chmod "test/fixture-mark-feed-ignore.org" #o644)))
+ (add-before 'check 'xt-number-tests
+ (lambda _
+ ((lambda (file test-name) ; variant of ert-number-tests
+ (emacs-batch-edit-file file
+ `(let ((i 0))
+ (while (re-search-forward ,(string-append "xt-deftest "
+ test-name)
+ nil t)
+ (goto-char (match-beginning 0))
+ (kill-region (match-beginning 0) (match-end 0))
+ (insert (format "xt-deftest %s-%d" ,test-name i))
+ (setq i (+ i 1)))
+ (basic-save-buffer))))
+ "test/elfeed-org-test.el"
+ "rmh-elfeed-org-convert-headline-to-tagger-params"))))))
(propagated-inputs
(list emacs-elfeed emacs-org emacs-dash emacs-s))
(native-inputs
@@ -14167,7 +14202,11 @@ another window.")
(modify-phases %standard-phases
;; This phase incorrectly attempts to substitute "activate" and fails
;; doing so.
- (delete 'patch-el-files))
+ (delete 'patch-el-files)
+ (add-after 'unpack 'ert-number-tests
+ (lambda _
+ (ert-number-tests "test/pyvenv-hook-dir-test.el"
+ "pyvenv-hook-dir"))))
#:tests? #t
#:test-command '("ert-runner")))
(native-inputs
@@ -14377,6 +14416,12 @@ completion, interactive development and more.")
(url "https://github.com/Fanael/rainbow-delimiters")
(commit version)))
(file-name (git-file-name name version))
+ ;; Fix tests for Emacs 29
+ ;; https://github.com/Fanael/rainbow-delimiters/pull/78
+ (modules '((guix build utils)))
+ (snippet '(substitute* "rainbow-delimiters-test.el"
+ (("category c-type " all)
+ (string-append all "c-<>-c-types-set "))))
(sha256
(base32
"179mzsd8nvlr0ym9zf9fgdngsgxj3kdgbjblynliirsyk05ssrwc"))))
@@ -17323,7 +17368,8 @@ the Emacs TempEl package.")
(sha256
(base32 "0via9dzw8m5lzymg1h78xkwjssh39zr3g6ccyamlf1rjzjsyxknv"))
(patches
- (search-patches "emacs-yasnippet-fix-tests.patch"))))
+ (search-patches "emacs-yasnippet-fix-empty-snippet-next.patch"
+ "emacs-yasnippet-fix-tests.patch"))))
(build-system emacs-build-system)
(arguments
`(#:tests? #t
@@ -22110,8 +22156,8 @@ object has been freed.")
(license license:unlicense)))
(define-public emacs-emacsql
- (let ((commit "e1baaf2f874df7f9259a8ecca978e03d3ddae5b5")
- (revision "0"))
+ (let ((commit "29194a63ede3ee24c7457c2fde03b0f1320ca4b1")
+ (revision "1"))
(package
(name "emacs-emacsql")
(version (git-version "3.1.1" revision commit))
@@ -22123,7 +22169,7 @@ object has been freed.")
(commit commit)))
(file-name (git-file-name name version))
(sha256
- (base32 "0dvqs1jg5zqn0i3r67sn1a40h5rm961q9vxvmqxbgvdhkjvip8fn"))))
+ (base32 "14yj53xxqi3009bdj39k2fqwyc896yp2m7gdkgyv47wlkh1xwzxh"))))
(build-system emacs-build-system)
(arguments
(list
@@ -22139,12 +22185,6 @@ object has been freed.")
(srfi srfi-26))
#:phases
#~(modify-phases %standard-phases
- (add-before 'install 'remove-sqlite-builtin
- ;; Current emacs 28.2 doesn't have sqlite feature and compilation
- ;; of this file fails. This phase should be removed, when emacs
- ;; package is updated to 29.
- (lambda _
- (delete-file "emacsql-sqlite-builtin.el")))
(add-before 'install 'patch-elisp-shell-shebangs
(lambda _
(substitute* (find-files "." "\\.el")
@@ -22182,47 +22222,6 @@ has no concept of @code{TEXT} values; it's all just Lisp objects. The Lisp
object @code{nil} corresponds 1:1 with @code{NULL} in the database.")
(license license:gpl3+))))
-(define-public emacs-emacsql-sqlite3
- ;; This commit contains changes necessary for Sqlite 3.38+.
- (let ((commit "2113618732665f2112cb932a66c0e89c404d8777")
- (revision "1"))
- (package
- (name "emacs-emacsql-sqlite3")
- (version (git-version "1.0.2" revision commit))
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/cireu/emacsql-sqlite3")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32 "0r8svrd0d4cflx8a8gkynnhafcpv3ksn9rds8dhyx5yibximbzsw"))))
- (build-system emacs-build-system)
- (arguments
- `(#:tests? #t
- #:test-command '("emacs" "-Q" "--batch" "-L" "."
- "--load" "emacsql-sqlite3-test.el"
- "-f" "ert-run-tests-batch-and-exit")
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'embed-path-to-sqlite3
- (lambda _
- (substitute* "emacsql-sqlite3.el"
- (("\\(executable-find \"sqlite3\"\\)")
- (string-append "\"" (which "sqlite3") "\""))))))))
- (native-inputs
- (list emacs-ert-runner))
- (inputs
- (list sqlite))
- (propagated-inputs
- (list emacs-emacsql))
- (home-page "https://github.com/cireu/emacsql-sqlite3")
- (synopsis "EmacSQL backend for SQLite")
- (description "This is yet another EmacSQL backend for SQLite which uses
-official @command{sqlite3} executable to access SQL database.")
- (license license:gpl3+))))
-
(define-public emacs-closql
(package
(name "emacs-closql")
@@ -24648,7 +24647,8 @@ downloading manager for Emacs.")
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "03afgdbs5nmhw833svrqky7fmfs1zlvqzcj7j5g29sakivs60xqc"))))
+ (base32 "03afgdbs5nmhw833svrqky7fmfs1zlvqzcj7j5g29sakivs60xqc"))
+ (patches (search-patches "emacs-helpful-fix-tests.patch"))))
(build-system emacs-build-system)
(propagated-inputs
(list emacs-dash emacs-elisp-refs emacs-f emacs-s))
@@ -28058,6 +28058,8 @@ files are easily readable and they work nicely with version control systems.")
(url "https://github.com/domtronn/all-the-icons.el")
(commit version)))
(file-name (git-file-name name version))
+ (patches
+ (search-patches "emacs-all-the-icons-remove-duplicate-rs.patch"))
(sha256
(base32 "0lwgvgnqf7vihglm0c5bwsxbl4x7f641289cji5s7jwy2dbsqk7g"))))
(build-system emacs-build-system)
@@ -28078,10 +28080,12 @@ files are easily readable and they work nicely with version control systems.")
(install-file "octicons.ttf" fonts)
(install-file "weathericons.ttf" fonts)))))
(replace 'check
- (lambda* (#:key outputs #:allow-other-keys)
- (apply invoke "ert-runner" "-l"
- (append (find-files "data" "\\.el")
- '("all-the-icons-faces.el"))))))))
+ (lambda* (#:key tests? outputs #:allow-other-keys)
+ (if tests?
+ (apply invoke "ert-runner" "-l"
+ (append (find-files "data" "\\.el")
+ '("all-the-icons-faces.el")))
+ (format #t "test suite not run~%")))))))
(native-inputs
(list emacs-f emacs-ert-runner))
(propagated-inputs
@@ -30454,10 +30458,10 @@ comfort of Magit and the rest of Emacs.")
(license license:gpl3+)))
(define-public emacs-matcha
- (let ((commit "c7df5cf5cdac9ae369e241342389ccda0205eab9"))
+ (let ((commit "dc4a940b3360aadeb2d9eaab7bd0c85e1e85ab76"))
(package
(name "emacs-matcha")
- (version (git-version "0.0.1" "1" commit)) ;no upstream release
+ (version (git-version "0.0.1" "2" commit)) ;no upstream release
(source (origin
(method git-fetch)
(uri (git-reference
@@ -30466,7 +30470,7 @@ comfort of Magit and the rest of Emacs.")
(file-name (git-file-name name version))
(sha256
(base32
- "1lfnh1glg6al677m7ci0x8g5wjdhjxlfl3nv1f1ppsw4dpnwsj9b"))))
+ "1bljnv5z289hxn73y7krbd0wya6acnwphabxwfajilpc118qz3lp"))))
(propagated-inputs (list emacs-hydra))
(build-system emacs-build-system)
(home-page "https://github.com/jojojames/matcha/")
@@ -30645,7 +30649,6 @@ JavaScript.")
(base32 "0cbchri4117wjcnlk3npi4x1sfx248vck1q61cis8drrrz4c8jyp"))
(file-name (git-file-name name version))))
(build-system emacs-build-system)
- (arguments (list #:emacs emacs-next))
(propagated-inputs
(list emacs-dash
emacs-s
@@ -31137,7 +31140,25 @@ definition-jumping and type-checking on demand.")
(list emacs-js2-mode))
(arguments
`(#:tests? #t
- #:test-command '("make" "test")))
+ #:test-command '("make" "test")
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'js2-number-tests
+ (lambda _
+ ((lambda (file test-name) ; variant of ert-number-tests
+ (emacs-batch-edit-file file
+ `(let ((i 0))
+ (while (re-search-forward
+ ,(string-append "js2-deftest-parse "
+ test-name)
+ nil t)
+ (goto-char (match-beginning 0))
+ (kill-region (match-beginning 0) (match-end 0))
+ (insert (format "xt-deftest %s-%d" ,test-name i))
+ (setq i (+ i 1)))
+ (basic-save-buffer))))
+ "rjsx-tests.el.el"
+ "no-attr-no-children-self-closing"))))))
(home-page "https://github.com/felipeochoa/rjsx-mode")
(synopsis "Major mode for JSX files")
(description "This package extends the parser of @code{js2-mode} to
@@ -35603,7 +35624,7 @@ go directly to where they belong.")
(list texinfo))
(propagated-inputs
(list emacs-dash
- emacs-emacsql-sqlite3
+ emacs-emacsql
emacs-f
emacs-magit
emacs-org
diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index d3689c2474..72b2c7795e 100644
--- a/gnu/packages/emacs.scm
+++ b/gnu/packages/emacs.scm
@@ -54,6 +54,7 @@
#:use-module (gnu packages acl)
#:use-module (gnu packages autotools)
#:use-module (gnu packages base)
+ #:use-module (gnu packages bash)
#:use-module (gnu packages compression)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages freedesktop)
@@ -85,7 +86,8 @@
#:use-module (gnu packages xorg)
#:use-module (guix utils)
#:use-module (ice-9 match)
- #:use-module (srfi srfi-1))
+ #:use-module (srfi srfi-1)
+ #:export (emacs->emacs-next))
(define (%emacs-modules build-system)
(let ((which (build-system-name build-system)))
@@ -94,20 +96,21 @@
(srfi srfi-1)
(ice-9 ftw))))
-(define-public emacs
+(define-public emacs-minimal
(package
- (name "emacs")
- (version "28.2")
+ (name "emacs-minimal")
+ (version "29.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/emacs/emacs-"
version ".tar.xz"))
(sha256
(base32
- "12144dcaihv2ymfm7g2vnvdl4h71hqnsz1mljzf34cpg6ci1h8gf"))
+ "009f7q08vg919b90k2jrsznq73s3n224avz80dd2y7i3rjjq3y6j"))
(patches (search-patches "emacs-exec-path.patch"
"emacs-fix-scheme-indent-function.patch"
- "emacs-source-date-epoch.patch"))
+ "emacs-native-comp-driver-options.patch"
+ "emacs-pgtk-super-key-fix.patch"))
(modules '((guix build utils)))
(snippet
'(with-directory-excursion "lisp"
@@ -138,37 +141,14 @@
"\"~/.guix-profile/include\""
"\"/var/guix/profiles/system/profile/include\"")
" ")))))))
- (build-system glib-or-gtk-build-system)
+ (build-system gnu-build-system)
(arguments
(list
- #:tests? #f ; no check target
+ #:tests? #f ; no check target
#:modules (%emacs-modules build-system)
- #:configure-flags #~(list "--with-modules"
- "--with-cairo"
- "--with-native-compilation"
- "--disable-build-details")
- #:make-flags #~(list "NATIVE_FULL_AOT=1")
+ #:configure-flags #~(list "--with-gnutls=no" "--disable-build-details")
#:phases
#~(modify-phases %standard-phases
- (add-after 'set-paths 'set-libgccjit-path
- (lambda* (#:key inputs #:allow-other-keys)
- (define (first-subdirectory/absolute directory)
- (let ((files (scandir
- directory
- (lambda (file)
- (and (not (member file '("." "..")))
- (file-is-directory? (string-append
- directory "/"
- file)))))))
- (and (not (null? files))
- (string-append directory "/" (car files)))))
- (let* ((libgccjit-libdir
- (first-subdirectory/absolute ;; version
- (first-subdirectory/absolute ;; host type
- (search-input-directory inputs "lib/gcc")))))
- (setenv "LIBRARY_PATH"
- (string-append (getenv "LIBRARY_PATH")
- ":" libgccjit-libdir)))))
(add-after 'unpack 'enable-elogind
(lambda _
(substitute* "configure.ac"
@@ -199,20 +179,6 @@
(("\\(tramp-compat-process-running-p \"(.*)\"\\)" all process)
(format #f "(or ~a (tramp-compat-process-running-p ~s))"
all (string-append "." process "-real"))))))
- (add-after 'unpack 'patch-compilation-driver
- (lambda _
- (substitute* "lisp/emacs-lisp/comp.el"
- (("\\(defcustom native-comp-driver-options nil")
- (format
- #f "(defcustom native-comp-driver-options '(~@{~s~^ ~})"
- (string-append
- "-B" #$(this-package-input "binutils") "/bin/")
- (string-append
- "-B" #$(this-package-input "glibc") "/lib/")
- (string-append
- "-B" #$(this-package-input "libgccjit") "/lib/")
- (string-append
- "-B" #$(this-package-input "libgccjit") "/lib/gcc/"))))))
(add-before 'configure 'fix-/bin/pwd
(lambda _
;; Use `pwd', not `/bin/pwd'.
@@ -244,7 +210,7 @@
(display
(string-append
"(when (require 'guix-emacs nil t)\n"
- " (guix-emacs-autoload-packages)\n"
+ " (guix-emacs-autoload-packages 'no-reload)\n"
" (advice-add 'package-load-all-descriptors"
" :after #'guix-emacs-load-package-descriptors))"))))
;; Remove the extraneous subdirs.el file, as it causes Emacs to
@@ -254,29 +220,7 @@
(delete-file (string-append lisp-dir "/subdirs.el"))
;; Byte compile the site-start files.
(emacs-byte-compile-directory lisp-dir))))
- (add-after 'glib-or-gtk-wrap 'restore-emacs-pdmp
- ;; restore the dump file that Emacs installs somewhere in
- ;; libexec/ to its original state
- (lambda* (#:key outputs target #:allow-other-keys)
- (let* ((libexec (string-append (assoc-ref outputs "out")
- "/libexec"))
- ;; each of these ought to only match a single file,
- ;; but even if not (find-files) sorts by string<,
- ;; so the Nth element in one maps to the Nth element of
- ;; the other
- (pdmp (find-files libexec "\\.pdmp$"))
- (pdmp-real (find-files libexec "\\.pdmp-real$")))
- (for-each rename-file pdmp-real pdmp))))
- (add-after 'glib-or-gtk-wrap 'strip-double-wrap
- (lambda* (#:key outputs #:allow-other-keys)
- ;; Directly copy emacs-X.Y to emacs, so that it is not wrapped
- ;; twice. This also fixes a minor issue, where WMs would not be
- ;; able to track emacs back to emacs.desktop.
- (with-directory-excursion (assoc-ref outputs "out")
- (copy-file
- (car (find-files "bin" "^emacs-([0-9]+\\.)+[0-9]+$"))
- "bin/emacs"))))
- (add-after 'strip-double-wrap 'wrap-emacs-paths
+ (add-after 'install 'wrap-emacs-paths
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(lisp-dirs (find-files (string-append out "/share/emacs")
@@ -285,9 +229,9 @@
(for-each
(lambda (prog)
(wrap-program prog
- ;; emacs-next and variants rely on uname being in PATH for
- ;; Tramp. Tramp paths can't be hardcoded, because they
- ;; need to be portable.
+ ;; Some variants rely on uname being in PATH for Tramp.
+ ;; Tramp paths can't be hardcoded, because they need to
+ ;; be portable.
`("PATH" suffix
,(map dirname
(list (search-input-file inputs "/bin/gzip")
@@ -300,64 +244,30 @@
;; environment variables from emacs.
;; Likewise, we don't need to patch helper binaries
;; like etags, ctags or ebrowse.
- "^emacs(-[0-9]+(\\.[0-9]+)*)?$"))))))))
- (inputs
- (list gnutls
- ncurses
-
- ;; To "unshadow" ld-wrapper in native builds
- (make-ld-wrapper "ld-wrapper" #:binutils binutils)
-
- ;; For native compilation
- binutils
- (libc-for-target)
- libgccjit
-
- ;; Required for "core" functionality, such as dired and compression.
- coreutils
- gzip
-
- ;; Avoid Emacs's limited movemail substitute that retrieves POP3
- ;; email only via insecure channels.
- ;; This is not needed for (modern) IMAP.
- mailutils
-
- gpm
- libx11
- gtk+
- cairo
- pango
- harfbuzz
- libxft
- libtiff
- giflib
- lcms
- libjpeg-turbo
- libselinux
- acl
- jansson
- gmp
- ghostscript
- poppler
- elogind
-
- ;; When looking for libpng `configure' links with `-lpng -lz', so we
- ;; must also provide zlib as an input.
- libpng
- zlib
- (librsvg-for-system)
- libxpm
- libxml2
- libice
- libsm
- alsa-lib
- dbus
-
- ;; multilingualization support
- libotf
- m17n-lib))
- (native-inputs
- (list autoconf pkg-config texinfo))
+ "^emacs(-[0-9]+(\\.[0-9]+)*)?$")))))
+ (add-after 'wrap-emacs-paths 'undo-double-wrap
+ (lambda* (#:key outputs #:allow-other-keys)
+ ;; Directly copy emacs-X.Y to emacs, so that it is not wrapped
+ ;; twice. This also fixes a minor issue, where WMs would not be
+ ;; able to track emacs back to emacs.desktop.
+ (with-directory-excursion (assoc-ref outputs "out")
+ (copy-file
+ (car (find-files "bin" "^emacs-([0-9]+\\.)+[0-9]+$"))
+ "bin/emacs")))))))
+ (inputs (list bash-minimal coreutils gzip ncurses))
+ (native-inputs (list autoconf pkg-config texinfo))
+ (home-page "https://www.gnu.org/software/emacs/")
+ (synopsis "The extensible text editor (minimal build for byte-compilation)")
+ (description
+ "GNU Emacs is an extensible and highly customizable text editor. It is
+based on an Emacs Lisp interpreter with extensions for text editing. Emacs
+has been extended in essentially all areas of computing, giving rise to a
+vast array of packages supporting, e.g., email, IRC and XMPP messaging,
+spreadsheets, remote server editing, and much more. Emacs includes extensive
+documentation on all aspects of the system, from basic editing to writing
+large Lisp programs. It has full Unicode support for nearly all human
+languages.")
+ (license license:gpl3+)
(native-search-paths
(list (search-path-specification
(variable "EMACSLOADPATH")
@@ -368,200 +278,200 @@
(search-path-specification
(variable "INFOPATH")
(files '("share/info")))
- ;; tree-sitter support is not yet available in emacs 28, but this
- ;; search path won't harm and also will be beneficial for
- ;; emacs-next and other emacs-* packages, which have tree-sitter
- ;; support enabled. Please, remove this comment, when emacs
- ;; package is updated to 29.
+ ;; Most variants support tree-sitter, so let's include it here.
(search-path-specification
(variable "TREE_SITTER_GRAMMAR_PATH")
- (files '("lib/tree-sitter")))))
+ (files '("lib/tree-sitter")))))))
- (home-page "https://www.gnu.org/software/emacs/")
- (synopsis "The extensible, customizable, self-documenting text editor")
- (description
- "GNU Emacs is an extensible and highly customizable text editor. It is
-based on an Emacs Lisp interpreter with extensions for text editing. Emacs
-has been extended in essentially all areas of computing, giving rise to a
-vast array of packages supporting, e.g., email, IRC and XMPP messaging,
-spreadsheets, remote server editing, and much more. Emacs includes extensive
-documentation on all aspects of the system, from basic editing to writing
-large Lisp programs. It has full Unicode support for nearly all human
-languages.")
- (license license:gpl3+)))
-
-(define-public emacs-next
- (package
- (inherit emacs)
- (name "emacs-next")
- (version "29.0.92")
- (source
- (origin
- (inherit (package-source emacs))
- (method git-fetch)
- (uri (git-reference
- (url "https://git.savannah.gnu.org/git/emacs.git/")
- (commit (string-append "emacs-" version))))
- (file-name (git-file-name name version))
- ;; emacs-source-date-epoch.patch is no longer necessary
- (patches (search-patches "emacs-exec-path.patch"
- "emacs-fix-scheme-indent-function.patch"
- "emacs-native-comp-driver-options.patch"))
- (sha256
- (base32
- "1h3p325859svcy43iv7wr27dp68049j9d44jq5akcynqdkxz4jjn"))))
+(define-public emacs-no-x
+ (package/inherit emacs-minimal
+ (name "emacs-no-x")
+ (synopsis "The extensible, customizable, self-documenting text
+editor (console only)")
+ (arguments
+ (substitute-keyword-arguments (package-arguments emacs-minimal)
+ ((#:configure-flags flags #~'())
+ #~(cons* "--with-modules" "--with-native-compilation=aot"
+ (delete "--with-gnutls=no" #$flags)))
+ ((#:phases phases)
+ #~(modify-phases #$phases
+ (add-after 'set-paths 'set-libgccjit-path
+ (lambda* (#:key inputs #:allow-other-keys)
+ (define (first-subdirectory/absolute directory)
+ (let ((files (scandir
+ directory
+ (lambda (file)
+ (and (not (member file '("." "..")))
+ (file-is-directory? (string-append
+ directory "/"
+ file)))))))
+ (and (not (null? files))
+ (string-append directory "/" (car files)))))
+ (let* ((libgccjit-libdir
+ (first-subdirectory/absolute ;; version
+ (first-subdirectory/absolute ;; host type
+ (search-input-directory inputs "lib/gcc")))))
+ (setenv "LIBRARY_PATH"
+ (string-append (getenv "LIBRARY_PATH")
+ ":" libgccjit-libdir)))))
+ (add-after 'unpack 'patch-compilation-driver
+ (lambda _
+ (substitute* "lisp/emacs-lisp/comp.el"
+ (("\\(defcustom native-comp-driver-options nil")
+ (format
+ #f "(defcustom native-comp-driver-options '(~@{~s~^ ~})"
+ (string-append
+ "-B" #$(this-package-input "binutils") "/bin/")
+ (string-append
+ "-B" #$(this-package-input "glibc") "/lib/")
+ (string-append
+ "-B" #$(this-package-input "libgccjit") "/lib/")
+ (string-append
+ "-B" #$(this-package-input "libgccjit") "/lib/gcc/"))))))))))
(inputs
- (modify-inputs (package-inputs emacs)
- (prepend sqlite)))
- (native-inputs
- (modify-inputs (package-native-inputs emacs)
- (prepend autoconf)))))
+ (modify-inputs (package-inputs emacs-minimal)
+ (prepend gnutls
+ ;; To "unshadow" ld-wrapper in native builds
+ (make-ld-wrapper "ld-wrapper" #:binutils binutils)
+ ;; For native compilation
+ binutils
+ (libc-for-target)
+ libgccjit
-(define-public emacs-next-tree-sitter
- (package
- (inherit emacs-next)
- (name "emacs-next-tree-sitter")
- (inputs
- (modify-inputs (package-inputs emacs-next)
- (prepend sqlite tree-sitter)))
- (synopsis "Emacs text editor with @code{tree-sitter} support")
- (description "This Emacs build supports tree-sitter.")))
+ ;; Avoid Emacs's limited movemail substitute that retrieves POP3
+ ;; email only via insecure channels.
+ ;; This is not needed for (modern) IMAP.
+ mailutils
-(define-public emacs-next-pgtk
- (package
- (inherit emacs-next-tree-sitter)
- (name "emacs-next-pgtk")
- (source
- (origin
- (inherit (package-source emacs-next-tree-sitter))
- (patches
- (append (search-patches "emacs-pgtk-super-key-fix.patch")
- (origin-patches (package-source emacs-next-tree-sitter))))))
- (arguments
- (substitute-keyword-arguments (package-arguments emacs-next-tree-sitter)
- ((#:configure-flags flags #~'())
- #~(cons* "--with-pgtk" #$flags))))
- (synopsis "Emacs text editor with @code{pgtk} and @code{tree-sitter} support")
- (description "This Emacs build implements graphical UI purely in terms
-of GTK and supports tree-sitter.")))
+ acl
+ alsa-lib
+ elogind
+ ghostscript
+ gpm
+ jansson
+ lcms
+ libice
+ libselinux
+ libsm
+ libxml2
+ m17n-lib
+ sqlite
+ tree-sitter
+ zlib)))))
-(define-public emacs-next-pgtk-xwidgets
- (package
- (inherit emacs-next-pgtk)
- (name "emacs-next-pgtk-xwidgets")
- (synopsis "Emacs text editor with @code{xwidgets} and @code{pgtk} support")
+(define-public emacs
+ (package/inherit emacs-no-x
+ (name "emacs")
+ (synopsis "The extensible, customizable, self-documenting text editor")
+ (build-system glib-or-gtk-build-system)
(arguments
- (substitute-keyword-arguments (package-arguments emacs-next-pgtk)
+ (substitute-keyword-arguments (package-arguments emacs-no-x)
+ ((#:modules _) (%emacs-modules build-system))
((#:configure-flags flags #~'())
- #~(cons "--with-xwidgets" #$flags))))
- (inputs
- (modify-inputs (package-inputs emacs-next-pgtk)
- (prepend gsettings-desktop-schemas webkitgtk-with-libsoup2)))))
+ #~(cons* "--with-cairo" #$flags))
+ ((#:phases phases)
+ #~(modify-phases #$phases
+ ;; Note: due to the changed #:modules, %standard-phases in #$phases
+ ;; refers to glib-or-gtk:%standard-phases, so we don't need to add
+ ;; them ourselves.
+ (add-after 'glib-or-gtk-wrap 'restore-emacs-pdmp
+ ;; Restore the dump file that Emacs installs somewhere in
+ ;; libexec/ to its original state.
+ (lambda* (#:key outputs target #:allow-other-keys)
+ (let* ((libexec (string-append (assoc-ref outputs "out")
+ "/libexec"))
+ ;; each of these ought to only match a single file,
+ ;; but even if not (find-files) sorts by string<,
+ ;; so the Nth element in one maps to the Nth element of
+ ;; the other
+ (pdmp (find-files libexec "\\.pdmp$"))
+ (pdmp-real (find-files libexec "\\.pdmp-real$")))
+ (for-each rename-file pdmp-real pdmp))))))))
+ (inputs (modify-inputs (package-inputs emacs-no-x)
+ (prepend
+ cairo
+ dbus
+ gtk+
+ giflib
+ harfbuzz
+ libjpeg-turbo
+ libotf
+ libpng
+ (librsvg-for-system)
+ libtiff
+ libx11
+ libxft
+ libxpm
+ pango
+ poppler)))))
-(define-public emacs-minimal
- ;; This is the version that you should use as an input to packages that just
- ;; need to byte-compile .el files.
+(define-public emacs-pgtk
(package/inherit emacs
- (name "emacs-minimal")
- (synopsis "The extensible text editor (used only for byte-compilation)")
- (build-system gnu-build-system)
+ (name "emacs-pgtk")
(arguments
(substitute-keyword-arguments (package-arguments emacs)
((#:configure-flags flags #~'())
- #~(list "--with-gnutls=no" "--disable-build-details"))
- ((#:modules _) (%emacs-modules build-system))
- ((#:phases phases)
- #~(modify-phases #$phases
- (delete 'set-libgccjit-path)
- (delete 'patch-compilation-driver)
- (delete 'restore-emacs-pdmp)
- (delete 'strip-double-wrap)))))
- (inputs (list ncurses coreutils gzip))
- (native-inputs (list autoconf pkg-config))))
+ #~(cons* "--with-pgtk" #$flags))))
+ (synopsis "Emacs text editor with @code{pgtk} frames")
+ (description "This Emacs build implements graphical UI purely in terms
+of GTK.")))
(define-public emacs-xwidgets
(package/inherit emacs
(name "emacs-xwidgets")
(synopsis "The extensible, customizable, self-documenting text
editor (with xwidgets support)")
- (build-system gnu-build-system)
(arguments
(substitute-keyword-arguments (package-arguments emacs)
((#:configure-flags flags #~'())
- #~(cons "--with-xwidgets" #$flags))
- ((#:modules _) (%emacs-modules build-system))
- ((#:phases phases)
- #~(modify-phases #$phases
- (delete 'restore-emacs-pdmp)
- (delete 'strip-double-wrap)))))
+ #~(cons "--with-xwidgets" #$flags))))
(inputs
(modify-inputs (package-inputs emacs)
(prepend webkitgtk-with-libsoup2 libxcomposite)))))
+(define-public emacs-pgtk-xwidgets
+ (package
+ (inherit emacs-pgtk)
+ (name "emacs-pgtk-xwidgets")
+ (synopsis "Emacs text editor with @code{xwidgets} and @code{pgtk} support")
+ (arguments
+ (substitute-keyword-arguments (package-arguments emacs-pgtk)
+ ((#:configure-flags flags #~'())
+ #~(cons "--with-xwidgets" #$flags))))
+ (inputs
+ (modify-inputs (package-inputs emacs-pgtk)
+ (prepend gsettings-desktop-schemas webkitgtk-with-libsoup2)))))
+
(define-public emacs-motif
- (package/inherit emacs
+ (package/inherit emacs-no-x
(name "emacs-motif")
(synopsis
"The extensible, customizable, self-documenting text editor (with Motif
toolkit)")
- (build-system gnu-build-system)
+ ;; Using emacs' inputs as base, since it has all the graphical stuff
(inputs (modify-inputs (package-inputs emacs)
(delete "gtk+")
(prepend inotify-tools motif)))
(arguments
(substitute-keyword-arguments
- (package-arguments
- emacs)
+ (package-arguments emacs-no-x)
((#:configure-flags flags #~'())
#~(cons "--with-x-toolkit=motif"
- #$flags))
- ((#:modules _)
- (%emacs-modules build-system))
- ((#:phases phases)
- #~(modify-phases #$phases
- (delete 'restore-emacs-pdmp)
- (delete 'strip-double-wrap)))))))
-
-(define-public emacs-no-x
- (package/inherit emacs
- (name "emacs-no-x")
- (synopsis "The extensible, customizable, self-documenting text
-editor (console only)")
- (build-system gnu-build-system)
- (inputs (modify-inputs (package-inputs emacs)
- (delete "libx11" "gtk+" "libxft" "libtiff" "giflib" "libjpeg"
- "imagemagick" "libpng" "librsvg" "libxpm" "libice"
- "libsm" "cairo" "pango" "harfbuzz"
- ;; These depend on libx11, so remove them as well.
- "libotf" "m17n-lib" "dbus")))
- (arguments
- (substitute-keyword-arguments (package-arguments emacs)
- ((#:configure-flags flags #~'())
- #~(delete "--with-cairo" #$flags))
- ((#:modules _) (%emacs-modules build-system))
- ((#:phases phases)
- #~(modify-phases #$phases
- (delete 'restore-emacs-pdmp)
- (delete 'strip-double-wrap)))))))
+ #$flags))))))
(define-public emacs-no-x-toolkit
- (package/inherit emacs
+ (package/inherit emacs-no-x
(name "emacs-no-x-toolkit")
(synopsis "The extensible, customizable, self-documenting text
editor (without an X toolkit)" )
- (build-system gnu-build-system)
+ ;; Using emacs' inputs as base, since it has all the graphical stuff
(inputs (modify-inputs (package-inputs emacs)
(delete "gtk+")
(prepend inotify-tools)))
(arguments
- (substitute-keyword-arguments (package-arguments emacs)
+ (substitute-keyword-arguments (package-arguments emacs-no-x)
((#:configure-flags flags #~'())
- #~(cons "--with-x-toolkit=no" #$flags))
- ((#:modules _) (%emacs-modules build-system))
- ((#:phases phases)
- #~(modify-phases #$phases
- (delete 'restore-emacs-pdmp)
- (delete 'strip-double-wrap)))))))
+ #~(cons "--with-x-toolkit=no" #$flags))))))
(define-public emacs-wide-int
(package/inherit emacs
@@ -573,6 +483,42 @@ editor (with wide ints)" )
((#:configure-flags flags)
#~(cons "--with-wide-int" #$flags))))))
+(define-public emacs-next-minimal
+ (let ((commit "9d27b95b263473fb41a30e3f6ea5607c99e93a61")
+ (revision "1"))
+ (package
+ (inherit emacs-minimal)
+ (name "emacs-next-minimal")
+ (version (git-version "30.0.50" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://git.savannah.gnu.org/git/emacs.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "00mwpq1msr3jij281w5piqmbwq968xr8dn9hqbf4r947ck754kn9")))))))
+
+(define* (emacs->emacs-next emacs #:optional name
+ #:key (version (package-version emacs-next-minimal))
+ (source (package-source emacs-next-minimal)))
+ (package
+ (inherit emacs)
+ (name (or name
+ (and (string-prefix? "emacs" (package-name emacs))
+ (string-append "emacs-next"
+ (string-drop (package-name emacs)
+ (string-length "emacs"))))))
+ (version version)
+ (source source)))
+
+(define-public emacs-next (emacs->emacs-next emacs))
+(define-public emacs-next-pgtk (emacs->emacs-next emacs-pgtk))
+(define-public emacs-next-pgtk-xwidgets (emacs->emacs-next emacs-pgtk-xwidgets))
+(define-public emacs-next-tree-sitter
+ (deprecated-package "emacs-next-tree-sitter" emacs-next))
+
(define-public guile-emacs
(let ((commit "41120e0f595b16387eebfbf731fff70481de1b4b")
(revision "0"))
diff --git a/gnu/packages/emulators.scm b/gnu/packages/emulators.scm
index 1d50c9ef01..c5932a057c 100644
--- a/gnu/packages/emulators.scm
+++ b/gnu/packages/emulators.scm
@@ -56,7 +56,6 @@
#:use-module (gnu packages bash)
#:use-module (gnu packages bison)
#:use-module (gnu packages boost)
- #:use-module (gnu packages build-tools)
#:use-module (gnu packages cdrom)
#:use-module (gnu packages check)
#:use-module (gnu packages compression)
@@ -72,7 +71,6 @@
#:use-module (gnu packages freedesktop)
#:use-module (gnu packages fribidi)
#:use-module (gnu packages game-development)
- #:use-module (gnu packages gcc)
#:use-module (gnu packages gettext)
#:use-module (gnu packages gl)
#:use-module (gnu packages glib)
@@ -102,7 +100,6 @@
#:use-module (gnu packages upnp)
#:use-module (gnu packages video)
#:use-module (gnu packages vulkan)
- #:use-module (gnu packages wxwidgets)
#:use-module (gnu packages xdisorg)
#:use-module (gnu packages xiph)
#:use-module (gnu packages xml)
@@ -253,8 +250,8 @@ console.")
;; Following commits and revision numbers of beta versions listed at
;; https://dolphin-emu.org/download/.
(define-public dolphin-emu
- (let ((commit "a34823df61df65168aa40ef5e82e44defd4a0138")
- (revision "13178"))
+ (let ((commit "f9deb68aee962564b1495ff04c54c015e58d086f")
+ (revision "13669"))
(package
(name "dolphin-emu")
(version (git-version "5.0" revision commit))
@@ -265,6 +262,8 @@ console.")
(url "https://github.com/dolphin-emu/dolphin")
(commit commit)))
(file-name (git-file-name name version))
+ (sha256
+ (base32 "1p8qsxlabgmz3nic0a9ghh9d3lzl5f8i3kmdrrvx6w8kdlp33018"))
(modules '((guix build utils)))
(snippet
'(begin
@@ -276,11 +275,8 @@ console.")
"gettext" "hidapi" "libpng" "libusb" "mbedtls"
"miniupnpc" "MoltenVK" "zlib"))
;; Clean up source.
- (for-each delete-file (find-files "." ".*\\.(bin|dsy|exe|jar|rar)$"))
- #t))
- (sha256
- (base32
- "0j6hnj60iai366kl0kdbn1jkwc183l02g65mp2vq4qb2yd4399l1"))))
+ (for-each delete-file
+ (find-files "." ".*\\.(bin|dsy|exe|jar|rar)$"))))))
(build-system cmake-build-system)
(arguments
'(#:tests? #f
@@ -304,8 +300,7 @@ console.")
(substitute* "Source/Core/VideoBackends/Vulkan/VulkanLoader.cpp"
(("\"vulkan\", 1") (string-append "\"vulkan\""))
(("\"vulkan\"") (string-append "\"" libvulkan "\""))
- (("Common::DynamicLibrary::GetVersionedFilename") ""))
- #t))))
+ (("Common::DynamicLibrary::GetVersionedFilename") ""))))))
;; The FindGTK2 cmake script only checks hardcoded directories for
;; glib/gtk headers.
@@ -319,8 +314,7 @@ console.")
"/lib/libX11.so")
"-DX11_FOUND=1")))
(native-inputs
- `(("pkg-config" ,pkg-config)
- ("gettext" ,gettext-minimal)))
+ (list gettext-minimal pkg-config))
(inputs
(list alsa-lib
ao
diff --git a/gnu/packages/file-systems.scm b/gnu/packages/file-systems.scm
index a500fdb708..e97013dce3 100644
--- a/gnu/packages/file-systems.scm
+++ b/gnu/packages/file-systems.scm
@@ -373,7 +373,7 @@ always possible.")
(define-public exfat-utils
(package
(name "exfat-utils")
- (version "1.3.0")
+ (version "1.4.0")
(source
(origin
(method url-fetch)
@@ -381,7 +381,7 @@ always possible.")
"https://github.com/relan/exfat/releases/download/v"
version "/exfat-utils-" version ".tar.gz"))
(sha256
- (base32 "0da8f8mm1sbwqp7prh78qk33xm0b8kk2d5is7mh2szlhgdxd1syz"))))
+ (base32 "0sdzflmwcxjjliq1yqhidy46kbkvj16kxrbrgsj0ci0hjgx7a594"))))
(build-system gnu-build-system)
(home-page "https://github.com/relan/exfat")
(synopsis "Utilities to manipulate exFAT file systems")
@@ -394,7 +394,7 @@ ones.")
(define-public fsarchiver
(package
(name "fsarchiver")
- (version "0.8.6")
+ (version "0.8.7")
(source
(origin
(method git-fetch)
@@ -404,7 +404,7 @@ ones.")
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "1ry2sdkfbg4bwcldk42g1i3wa3z4pr9yh9dil6ilhwcvhqiw41zc"))))
+ (base32 "1vy8ay0fn32i298bx9scqghi7xm9z2101zxk5xshbrkl00b2m4nm"))))
(build-system gnu-build-system)
(native-inputs
(list autoconf automake pkg-config))
@@ -716,7 +716,7 @@ from the bcachefs-tools package. It is meant to be used in initrds.")
(define-public exfatprogs
(package
(name "exfatprogs")
- (version "1.2.0")
+ (version "1.2.1")
(source
(origin
(method git-fetch)
@@ -725,7 +725,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 "02a6178brikg12wl80h9qgxyhpm6mly0jnml0rs9phb7lkbv9kzh"))))
+ (base32 "1g5aqhjz0l58kvmis1j5b5qkn58hjs582f36ygiqkgxvp4njkny4"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags
@@ -1922,7 +1922,7 @@ and rewritable media that wears out (DVD/CD-RW).")
(define-public fuse-overlayfs
(package
(name "fuse-overlayfs")
- (version "1.10")
+ (version "1.13")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -1930,7 +1930,7 @@ and rewritable media that wears out (DVD/CD-RW).")
(commit (string-append "v" version))))
(sha256
(base32
- "085hrz0nrdsjfjci0z2qfyqrydn8wwdp790dx2x67hwdw1kib3wp"))
+ "03gqb4czswqhx6zrv9jj88mf3mczk4m7azcjgr785c2lmga442ly"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(native-inputs
diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm
index a1e2216ae0..78bd55fc15 100644
--- a/gnu/packages/finance.scm
+++ b/gnu/packages/finance.scm
@@ -18,7 +18,7 @@
;;; Copyright © 2020 Kei Kebreau <kkebreau@posteo.net>
;;; Copyright © 2020 Christine Lemmer-Webber <cwebber@dustycloud.org>
;;; Copyright © 2020 Tom Zander <tomz@freedommail.ch>
-;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com>
+;;; Copyright © 2020, 2023 Marius Bakke <marius@gnu.org>
;;; Copyright © 2020, 2021, 2022 Vinicius Monego <monego@posteo.net>
;;; Copyright © 2020 Carlo Holl <carloholl@gmail.com>
;;; Copyright © 2020 Giacomo Leidi <goodoldpaul@autistici.org>
@@ -1378,14 +1378,14 @@ Luhn and family of ISO/IEC 7064 check digit algorithms.")
(define-public python-duniterpy
(package
(name "python-duniterpy")
- (version "1.1.0")
+ (version "1.1.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "duniterpy" version))
(sha256
- (base32 "18i5bqz58vjp740pxb4wb4ixg1g2d73cwi0d8gp85fmj5p8f2gx7"))))
- (build-system python-build-system)
+ (base32 "0h0fsawsrjd50lb1bkysb21ph39qlhmiymd3r5vs695qxvbwaqaa"))))
+ (build-system pyproject-build-system)
(arguments
;; FIXME: Tests fail with: "TypeError: block_uid() missing 1 required
;; positional argument: 'value'".
@@ -1393,19 +1393,34 @@ Luhn and family of ISO/IEC 7064 check digit algorithms.")
#:phases (modify-phases %standard-phases
(add-after 'unpack 'loosen-requirements
(lambda _
- (substitute* "setup.py"
- (("mnemonic>=0\\.19,<0.20")
- "mnemonic>=0.19")))))))
+ (substitute* "pyproject.toml"
+ (("mnemonic = \"\\^0\\.19")
+ "mnemonic = \">=0.19")
+ (("jsonschema = \"\\^3\\.2")
+ "jsonschema = \">=3.2"))))
+ (add-after 'unpack 'adjust-for-new-libnacl
+ (lambda _
+ ;; Mimic upstream commit ad8f6a26e9e7067; remove
+ ;; for newer versions of duniterpy.
+ (substitute* "pyproject.toml"
+ (("libnacl = \"1\\.8")
+ "libnacl = \">=1.9"))
+ (substitute* "duniterpy/key/ascii_armor.py"
+ (("from libnacl\\.version import version as libnacl_version")
+ "import importlib.metadata
+libnacl_version = importlib.metadata.version('libnacl')")))))))
+ (native-inputs
+ (list python-poetry-core))
(propagated-inputs
(list python-attrs
python-base58
+ python-graphql-core
python-jsonschema
python-libnacl
- python-pyaes
- python-graphql-core
python-mnemonic
- python-websocket-client
- python-pypeg2))
+ python-pyaes
+ python-pypeg2
+ python-websocket-client))
(home-page "https://git.duniter.org/clients/python/duniterpy")
(synopsis "Python implementation of Duniter API")
(description "@code{duniterpy} is an implementation of
diff --git a/gnu/packages/firmware.scm b/gnu/packages/firmware.scm
index 2e2c4af796..cbb24230de 100644
--- a/gnu/packages/firmware.scm
+++ b/gnu/packages/firmware.scm
@@ -40,7 +40,6 @@
#:use-module (guix build-system trivial)
#:use-module (gnu packages)
#:use-module (gnu packages admin)
- #:use-module (gnu packages autotools)
#:use-module (gnu packages assembly)
#:use-module (gnu packages backup)
#:use-module (gnu packages base)
@@ -58,7 +57,6 @@
#:use-module (gnu packages gettext)
#:use-module (gnu packages glib)
#:use-module (gnu packages gnome)
- #:use-module (gnu packages gnupg)
#:use-module (gnu packages gtk)
#:use-module (gnu packages hardware)
#:use-module (gnu packages libusb)
@@ -71,13 +69,11 @@
#:use-module (gnu packages polkit)
#:use-module (gnu packages protobuf)
#:use-module (gnu packages python)
- #:use-module (gnu packages python-build)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages shells)
#:use-module (gnu packages sqlite)
#:use-module (gnu packages tls)
#:use-module (gnu packages version-control)
- #:use-module (gnu packages web)
#:use-module (gnu packages xml)
#:use-module (ice-9 match))
diff --git a/gnu/packages/fonts.scm b/gnu/packages/fonts.scm
index c51679c273..404495f6e3 100644
--- a/gnu/packages/fonts.scm
+++ b/gnu/packages/fonts.scm
@@ -933,7 +933,7 @@ for use at smaller text sizes")))
(define-public font-gnu-unifont
(package
(name "font-gnu-unifont")
- (version "15.0.01")
+ (version "15.1.01")
(source
(origin
(method url-fetch)
@@ -943,12 +943,11 @@ for use at smaller text sizes")))
(string-append "mirror://gnu/unifont/unifont-"
version "/unifont-" version ".tar.gz")))
(sha256
- (base32 "1m9lfss6sbmcr0b6h7pxxmdl71j9dmnvk8idvxzylqrwpwjaj4bx"))
+ (base32 "1dydcqa2nvmnij5jzj10carrzssd3ar24i8zd18pk4zpl84l4pz1"))
(snippet
'(begin
(use-modules (guix build utils))
- (delete-file-recursively "font/precompiled")
- (delete-file-recursively "hangul/precompiled")))))
+ (delete-file-recursively "font/precompiled")))))
(build-system gnu-build-system)
(outputs '("out" ; TrueType/OpenType version
"pcf" ; PCF (bitmap) version
@@ -956,6 +955,7 @@ for use at smaller text sizes")))
"bin")) ; Utilities to manipulate '.hex' format
(arguments
`(#:tests? #f ; no check target
+ #:parallel-build? #f ; Race condition in the font Makefile
#:make-flags
(list (string-append "CC=" ,(cc-for-target))
"BUILDFONT=TRUE")
@@ -977,20 +977,13 @@ for use at smaller text sizes")))
(psf (string-append (assoc-ref outputs "psf")
"/share/consolefonts"))
(bin (assoc-ref outputs "bin")))
- ;; This directory isn't created in fonts/Makefile.
- (mkdir-p otf)
(apply invoke "make" "install"
(string-append "PREFIX=" bin)
(string-append "TTFDEST=" ttf)
(string-append "OTFDEST=" otf)
(string-append "PCFDEST=" pcf)
(string-append "CONSOLEDEST=" psf)
- make-flags)
- ;; Move Texinfo file to the right place.
- (mkdir (string-append bin "/share/info"))
- (invoke "gzip" "-9n" "doc/unifont.info")
- (install-file "doc/unifont.info.gz"
- (string-append bin "/share/info"))))))))
+ make-flags)))))))
(native-inputs
(list bdftopcf console-setup fontforge))
(inputs
diff --git a/gnu/packages/ftp.scm b/gnu/packages/ftp.scm
index 5edbc412ea..80e346d658 100644
--- a/gnu/packages/ftp.scm
+++ b/gnu/packages/ftp.scm
@@ -266,6 +266,9 @@ directory comparison and more.")
(arguments
`(#:make-flags
(list (string-append "CC=" ,(cc-for-target))
+ ;; Work around, e.g., “ssl.c:149:7: error: ‘EC_KEY_free’ is
+ ;; deprecated: Since OpenSSL 3.0 [-Werror=deprecated-declarations]”
+ "CFLAGS=-Wno-deprecated-declarations"
;; vsf_findlibs.sh looks only for hard-coded {/usr,}/lib file names
;; that will never exist on Guix. Manage libraries ourselves.
"LDFLAGS=-lcap -lpam"
diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm
index c25dadb39e..215c12e2d9 100644
--- a/gnu/packages/game-development.scm
+++ b/gnu/packages/game-development.scm
@@ -1646,53 +1646,61 @@ games.")
(license license:expat)))
(define-public python-pyxel
- (package
- (name "python-pyxel")
- (version "1.4.3")
- (source
- (origin
- (method git-fetch)
- (uri
- (git-reference
- (url "https://github.com/kitao/pyxel")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "0bwsgb5yq5s479cnf046v379zsn5ybp5195kbfvzr9l11qbaicm9"))
- (modules '((guix build utils)))
- (snippet
- '(begin
- (delete-file-recursively "pyxel/core/bin")))))
- (build-system python-build-system)
- (arguments
- `(#:tests? #f ; "Tests" are actually example programs that never halt.
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'patch-build-files
- (lambda* (#:key inputs #:allow-other-keys)
- (substitute* "setup.py"
- (("\"pyxel\\.core\\.bin\\.(.*)\"," all arch)
- (if (string=? arch "linux")
- all
- "")))
- (substitute* "pyxel/core/Makefile"
- (("`sdl2-config")
- (string-append "`sdl2-config --prefix="
- (assoc-ref inputs "sdl2"))))))
- (add-before 'build 'prebuild
- (lambda _
- (invoke "make" "-C" "pyxel/core"))))))
- (inputs
- `(("gifsicle" ,gifsicle)
- ("sdl2" ,(sdl-union (list sdl2 sdl2-image)))))
- (home-page "https://github.com/kitao/pyxel")
- (synopsis "Retro game engine for Python")
- (description "Pyxel is a game engine inspired by retro gaming consoles.
+ ;; Note to updaters: Use commit and revision even if you're bumping
+ ;; to a release, as upstream is known to "reuse" tags.
+ ;; See <https://bugs.gnu.org/66015> for more information.
+ (let ((commit "be75b724cae9e10e56a82a5421f9dd65390f1a06")
+ (revision "2"))
+ (package
+ (name "python-pyxel")
+ ;; This is the latest version to not require Rust…
+ (version (git-version "1.4.3" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri
+ (git-reference
+ (url "https://github.com/kitao/pyxel")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "03ch79cmh9fxvq6c2f3zc2snzczhqi2n01f254lsigckc7d5wz08"))
+ (modules '((guix build utils)))
+ (snippet
+ #~(begin
+ (substitute* "pyxel/__init__.py"
+ (("from collections import MutableSequence")
+ "from collections.abc import MutableSequence"))))))
+ (build-system python-build-system)
+ (arguments
+ `(#:tests? #f ; "Tests" are actually example programs that never halt.
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'patch-build-files
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "setup.py"
+ (("\"pyxel\\.core\\.bin\\.(.*)\"," all arch)
+ (if (string=? arch "linux")
+ all
+ "")))
+ (substitute* "pyxel/core/Makefile"
+ (("`sdl2-config")
+ (string-append "`sdl2-config --prefix="
+ (assoc-ref inputs "sdl2"))))))
+ (add-before 'build 'prebuild
+ (lambda _
+ (invoke "make" "-C" "pyxel/core"))))))
+ (inputs
+ `(("gifsicle" ,gifsicle)
+ ("sdl2" ,(sdl-union (list sdl2 sdl2-image)))))
+ (home-page "https://github.com/kitao/pyxel")
+ (synopsis "Retro game engine for Python")
+ (description "Pyxel is a game engine inspired by retro gaming consoles.
It has a fixed 16-color palette, can hold up to 3 image banks and 8 tilemaps
(256x256 pixels each) and 4 sound channels with 64 definable sounds. It
also comes with a built-in image and sound editor.")
- (license license:expat)))
+ (license license:expat))))
(define-public grafx2
(package
diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index 1167443825..0b7518c2c2 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -1146,6 +1146,7 @@ want what you have.")
qtsvg-5
qttools-5
qtwebsockets-5
+ qtwayland-5
xz
zlib))
(home-page "https://cockatrice.github.io")
@@ -3312,7 +3313,7 @@ that beneath its ruins lay buried an ancient evil.")
(define-public angband
(package
(name "angband")
- (version "4.2.4")
+ (version "4.2.5")
(source
(origin
(method git-fetch)
@@ -3321,7 +3322,7 @@ that beneath its ruins lay buried an ancient evil.")
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "1x0qqsv7xa3figcl4v35sin64ffgz32652vk541d8qaq4qcc378n"))
+ (base32 "0kg6npbfy42mhggsqvs04khc8198i980z52xm59pws29698qazaw"))
(modules '((guix build utils)))
(snippet
;; So, some of the sounds/graphics/tilesets are under different
diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm
index 862fdd79c3..c3a2d6256c 100644
--- a/gnu/packages/gcc.scm
+++ b/gnu/packages/gcc.scm
@@ -617,7 +617,7 @@ Go. It also includes runtime support libraries for these languages.")
"btver1" "btver2" ;AMD
;; psABI micro-architecture levels
- "x86_64-v1" "x86_64-v2" "x86_64-v3" "x86_64-v4")))
+ "x86-64-v1" "x86-64-v2" "x86-64-v3" "x86-64-v4")))
;; Suitable '-march' values for GCC 12.
(define %gcc-12-aarch64-micro-architectures
diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm
index d702046865..3c238cd62a 100644
--- a/gnu/packages/geo.scm
+++ b/gnu/packages/geo.scm
@@ -89,6 +89,7 @@
#:use-module (gnu packages gnome)
#:use-module (gnu packages gps)
#:use-module (gnu packages graphics)
+ #:use-module (gnu packages graphviz)
#:use-module (gnu packages gtk)
#:use-module (gnu packages haskell-apps)
#:use-module (gnu packages haskell-xyz)
@@ -1535,60 +1536,54 @@ visualizing and performing calculations with weather data.")
(define-public libosmium
(package
(name "libosmium")
- (version "2.18.0")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/osmcode/libosmium")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32 "0fh57mpii1ksacwfx5rz213j896aklib53jbybld2i517q2mmxr0"))))
+ (version "2.19.0")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/osmcode/libosmium")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0d69xzd29hk846g049y2g668mr8kaf05f6a26s3qn6az062hxfa7"))))
(build-system cmake-build-system)
- (propagated-inputs
- (list boost
- bzip2
- expat
- gdal
- geos
- lz4
- proj
- protozero
- sparsehash
- utfcpp
- zlib))
- (native-inputs
- (list doxygen))
+ (propagated-inputs (list boost
+ bzip2
+ expat
+ gdal
+ geos
+ lz4
+ proj-7
+ protozero
+ zlib))
+ (native-inputs (list doxygen graphviz-minimal))
(home-page "https://osmcode.org/libosmium/")
(synopsis "C++ library for working with OpenStreetMap data")
- (description "Libosmium is a fast and flexible C++ library for working with
+ (description
+ "Libosmium is a fast and flexible C++ library for working with
OpenStreetMap data.")
(license license:boost1.0)))
(define-public osmium-tool
(package
(name "osmium-tool")
- (version "1.14.0")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/osmcode/osmium-tool")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32 "0zgyqyrs89vch0qnkh9m5xq079sr2wmydy5zz4l8xbysbjf6xry5"))
- (modules '((guix build utils)))
- (snippet
- ;; Remove bundled libraries.
- '(delete-file-recursively "include/rapidjson"))))
+ (version "1.15.0")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/osmcode/osmium-tool")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0d90vz316xdl3c416nicgdw7ybw17l2125wgxglbzl7jaqngapy5"))
+ (modules '((guix build utils)))
+ (snippet
+ ;; Remove bundled libraries.
+ '(delete-file-recursively "include/rapidjson"))))
(build-system cmake-build-system)
- (inputs
- (list libosmium
- rapidjson))
- (native-inputs
- (list pandoc))
+ (inputs (list libosmium rapidjson))
+ (native-inputs (list pandoc))
(home-page "https://osmcode.org/osmium-tool/")
(synopsis "Osmium command-line tool")
(description "Command line tool for working with OpenStreetMap data
@@ -1598,43 +1593,44 @@ based on the Osmium library.")
(define-public osm2pgsql
(package
(name "osm2pgsql")
- (version "1.8.0")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/openstreetmap/osm2pgsql")
- (commit version)))
- (file-name (git-file-name name version))
- (sha256
- (base32 "0ssz7ny4wx8dzl3027p37xc5h7m1aj6bzxzdc6g8fbp7q57ykvxz"))
- (modules '((guix build utils)))
- (snippet
- ;; Remove bundled libraries.
- '(delete-file-recursively "contrib"))))
+ (version "1.9.2")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/openstreetmap/osm2pgsql")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "198qcgl42pb8lk1bn41ncp8hc9gcg9k2p0ny42vak019w5l6jcj7"))
+ (modules '((guix build utils)))
+ (snippet
+ ;; Remove bundled libraries.
+ '(delete-file-recursively "contrib"))))
(build-system cmake-build-system)
(arguments
- `(#:tests? #f; tests fail because we need to setup a database
- #:configure-flags
- (list "-DEXTERNAL_LIBOSMIUM=ON"
- "-DEXTERNAL_PROTOZERO=ON"
- "-DEXTERNAL_FMT=ON")))
- (inputs
- (list boost
- bzip2
- expat
- fmt-8
- libosmium
- lua
- postgresql
- proj
- protozero
- zlib))
- (native-inputs
- (list python python-psycopg2))
- (home-page "https://github.com/openstreetmap/osm2pgsql")
- (synopsis "OSM data importer to postgresql")
- (description "Osm2pgsql is a tool for loading OpenStreetMap data into a
+ (list #:tests? #f ;tests fail because we need to setup a database
+ #:configure-flags #~(list "-DUSE_PROJ_LIB=4" ;use API version 4
+ "-DWITH_LUAJIT=ON"
+ "-DEXTERNAL_LIBOSMIUM=ON"
+ "-DEXTERNAL_PROTOZERO=ON"
+ "-DEXTERNAL_FMT=ON")))
+ (inputs (list boost
+ bzip2
+ expat
+ fmt-8
+ libosmium
+ luajit
+ nlohmann-json
+ postgresql
+ proj-7
+ protozero
+ zlib))
+ (native-inputs (list pandoc python python-argparse-manpage))
+ (home-page "https://osm2pgsql.org/")
+ (synopsis "OSM data importer to PostgreSQL")
+ (description
+ "Osm2pgsql is a tool for loading OpenStreetMap data into a
PostgreSQL / PostGIS database suitable for applications like rendering into a
map, geocoding with Nominatim, or general analysis.")
(license license:gpl2+)))
@@ -2161,43 +2157,40 @@ The API also works with MaxMind’s free GeoLite2 databases.")
(define-public routino
(package
- (name "routino")
- (version "3.3.3")
- (source
- (origin
- (method url-fetch)
- (uri (string-append "http://www.routino.org/download/routino-"
- version ".tgz"))
- (sha256
- (base32 "1xa7l2bjn832nk6bc7b481nv8hd2gj41jwhg0d2qy10lqdvjpn5b"))))
- (build-system gnu-build-system)
- (native-inputs
- (list perl))
- (inputs
- (list bzip2 xz zlib))
- (arguments
- `(#:test-target "test"
- #:phases
- (modify-phases %standard-phases
- (replace 'configure
- (lambda* (#:key outputs #:allow-other-keys)
- (substitute* "Makefile.conf"
- (("prefix=/usr/local")
- (string-append "prefix=" (assoc-ref outputs "out")))
- (("LDFLAGS_LDSO=-Wl,-R\\.")
- "LDFLAGS_LDSO=-Wl,-R$(libdir)")
- (("#CFLAGS\\+=-DUSE_XZ")
- "CFLAGS+=-DUSE_XZ")
- (("#LDFLAGS\\+=-llzma")
- "LDFLAGS+=-llzma"))
- #t)))))
- (synopsis "Routing application for OpenStreetMap data")
- (description
- "Routino is an application for finding a route between two points
+ (name "routino")
+ (version "3.4.1")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://www.routino.org/download/routino-"
+ version ".tgz"))
+ (sha256
+ (base32
+ "0aw5idqz7nv458llgwp5wcgikf34xcblpq46mq7msxfib0m8vahb"))))
+ (build-system gnu-build-system)
+ (native-inputs (list perl))
+ (inputs (list bzip2 xz zlib))
+ (arguments
+ (list #:test-target "test"
+ #:phases #~(modify-phases %standard-phases
+ (replace 'configure
+ (lambda* (#:key outputs #:allow-other-keys)
+ (substitute* "Makefile.conf"
+ (("prefix=/usr/local")
+ (string-append "prefix="
+ (assoc-ref outputs "out")))
+ (("LDFLAGS_LDSO=-Wl,-R\\.")
+ "LDFLAGS_LDSO=-Wl,-R$(libdir)")
+ (("#CFLAGS\\+=-DUSE_XZ")
+ "CFLAGS+=-DUSE_XZ")
+ (("#LDFLAGS\\+=-llzma")
+ "LDFLAGS+=-llzma")))))))
+ (synopsis "Routing application for OpenStreetMap data")
+ (description
+ "Routino is an application for finding a route between two points
using the dataset of topographical information collected by
@url{https://www.OpenStreetMap.org}.")
- (home-page "https://www.routino.org/")
- (license license:agpl3+)))
+ (home-page "https://www.routino.org/")
+ (license license:agpl3+)))
(define-public r-rnaturalearthhires
(let ((commit "c3785a8c44738de6ae8f797080c0a337ebed929d")
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index bac84b3851..eaceb76e1e 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -10505,7 +10505,9 @@ like automatic language detection, text-to-speech and clipboard buttons.")
name "-" version ".tar.xz"))
(sha256
(base32
- "1d8dhcfys788vv27v34i3s3x3jdvdi2kqn2a5p8c937a9hm0qr9f"))))
+ "1d8dhcfys788vv27v34i3s3x3jdvdi2kqn2a5p8c937a9hm0qr9f"))
+ (patches
+ (search-patches "gnome-dictionary-meson-i18n.patch"))))
(build-system meson-build-system)
(arguments
`(#:glib-or-gtk? #t
diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm
index 89cc5ec2c0..aa268da561 100644
--- a/gnu/packages/gnuzilla.scm
+++ b/gnu/packages/gnuzilla.scm
@@ -519,7 +519,7 @@ variable defined below. It requires guile-json to be installed."
;; XXXX: Workaround 'snippet' limitations.
(define computed-origin-method (@@ (guix packages) computed-origin-method))
-(define %icecat-base-version "102.15.0")
+(define %icecat-base-version "102.15.1")
(define %icecat-version (string-append %icecat-base-version "-guix0-preview1"))
(define %icecat-build-id "20230829000000") ;must be of the form YYYYMMDDhhmmss
@@ -541,7 +541,7 @@ variable defined below. It requires guile-json to be installed."
"firefox-" upstream-firefox-version ".source.tar.xz"))
(sha256
(base32
- "1bs6hxfsb77cbi238wvizq2iw4mlgz29m0sd027sz8zm1025kyl1"))))
+ "04q1fjninm9lw721xgv0c2fknicc24s8iaimkabwcfwmcnvly689"))))
;; The upstream-icecat-base-version may be older than the
;; %icecat-base-version.
diff --git a/gnu/packages/haskell-apps.scm b/gnu/packages/haskell-apps.scm
index 4286ce206d..ac22082088 100644
--- a/gnu/packages/haskell-apps.scm
+++ b/gnu/packages/haskell-apps.scm
@@ -294,13 +294,13 @@ to @code{cabal repl}).")
(define-public git-annex
(package
(name "git-annex")
- (version "10.20230626")
+ (version "10.20230828")
(source
(origin
(method url-fetch)
(uri (hackage-uri "git-annex" version))
(sha256
- (base32 "1z16alb5193y4m70rq0bcxx1rn6lnlgswigdnv5lqybjq1fw1z99"))))
+ (base32 "0pb6834dwjs9kdki977rfkdyg58dfzy8wfwvswrz3n7h6bcnjd0b"))))
(build-system haskell-build-system)
(properties '((upstream-name . "git-annex")))
(arguments
diff --git a/gnu/packages/image-viewers.scm b/gnu/packages/image-viewers.scm
index 0ce3a27b01..206b91c878 100644
--- a/gnu/packages/image-viewers.scm
+++ b/gnu/packages/image-viewers.scm
@@ -177,7 +177,7 @@ YouTube videos without requiring API and opens/downloads them using mpv/ytdl.")
(define-public feh
(package
(name "feh")
- (version "3.9")
+ (version "3.10")
(home-page "https://feh.finalrewind.org/")
(source (origin
(method url-fetch)
@@ -185,7 +185,7 @@ YouTube videos without requiring API and opens/downloads them using mpv/ytdl.")
name "-" version ".tar.bz2"))
(sha256
(base32
- "185wwqd60r2rk6lzcvd6sl58589qfqrfnf7lqd6friyj84n9cjc6"))))
+ "166cayf1zh84y5bfaykxmi7ypxvq36hnjsbnwbjzx7zyvkvd2w8x"))))
(build-system gnu-build-system)
(arguments
(list #:phases
diff --git a/gnu/packages/instrumentation.scm b/gnu/packages/instrumentation.scm
index d8dc3b3e36..7fa7b2f7ba 100644
--- a/gnu/packages/instrumentation.scm
+++ b/gnu/packages/instrumentation.scm
@@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2021, 2022 Olivier Dion <olivier.dion@polymtl.ca>
;;; Copyright © 2023 Andy Tai <atai@atai.org>
+;;; Copyright © 2023 Marius Bakke <marius@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -24,7 +25,7 @@
#:use-module (gnu packages bash)
#:use-module (gnu packages bison)
#:use-module (gnu packages boost)
- #:use-module (gnu packages commencement)
+ #:use-module (gnu packages check)
#:use-module (gnu packages compression)
#:use-module (gnu packages cpio)
#:use-module (gnu packages datastructures)
@@ -47,6 +48,7 @@
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages popt)
#:use-module (gnu packages python)
+ #:use-module (gnu packages python-build)
#:use-module (gnu packages python-check)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages sphinx)
@@ -58,6 +60,7 @@
#:use-module (guix build-system copy)
#:use-module (guix build-system gnu)
#:use-module (guix build-system linux-module)
+ #:use-module (guix build-system pyproject)
#:use-module (guix build-system python)
#:use-module (guix download)
#:use-module (guix gexp)
@@ -141,21 +144,38 @@ bindings, and the command-line tool @command{babeltrace2}.")
(define-public barectf
(package
(name "barectf")
- (version "3.1.1")
+ (version "3.1.2")
(source (origin
- (method url-fetch)
- (uri (pypi-uri "barectf" version))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/efficios/barectf")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
(sha256
(base32
- "0zhc9d4qnnl4fjj6354qb4bng4ykywn8x3l3acpv6sx439q6ylwd"))))
- (build-system python-build-system)
- (native-inputs (list gcc-toolchain
- gnu-make
- python-jinja2
- python-jsonschema
- python-pyyaml-5
- python-termcolor
- python-tox))
+ "0v7w830dqi46bq753x84d0z75dw4cf4r93gpfrv4sjynvmylbs95"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'relax-requirements
+ (lambda _
+ ;; Remove version constraints as the program appears
+ ;; to work (tests pass!) with later versions.
+ ;; Try removing these when updating barectf.
+ (substitute* "pyproject.toml"
+ (("pyyaml = '\\^5")
+ "pyyaml = '>=5")
+ (("jsonschema = '\\^3")
+ "jsonschema = '>=3"))))
+ (add-before 'check 'set-CC
+ (lambda _
+ ;; Some tests invoke a compiler.
+ (setenv "CC" "gcc"))))))
+ (native-inputs
+ (list python-poetry-core python-pytest))
+ (propagated-inputs
+ (list python-jinja2 python-jsonschema python-pyyaml python-termcolor))
(home-page "https://barectf.org")
(synopsis "CTF tracer generator")
(description
diff --git a/gnu/packages/irc.scm b/gnu/packages/irc.scm
index 9fc0943db1..9e6cb3d001 100644
--- a/gnu/packages/irc.scm
+++ b/gnu/packages/irc.scm
@@ -102,62 +102,154 @@
(define-public glirc
(package
- (name "glirc")
- (version "2.39.0.1")
- (source
- (origin
- (method url-fetch)
- (uri (hackage-uri "glirc" version))
- (sha256
- (base32 "0jaywb43jfv6kzyz540k02mxdgw1shc6hn7kia21alssszkilh4r"))))
- (build-system haskell-build-system)
- (arguments
- (list
- #:phases
- #~(modify-phases %standard-phases
- (add-after 'install 'install-extra-documentation
- (lambda _
- (install-file "glirc.1"
- (string-append #$output "/share/man/man1"))
- ;; The man page is very terse and punts to the GitHub wiki for real
- ;; information. Some of that is also in the README, so install it.
- (install-file "README.md"
- (string-append #$output "/share/doc/"
- #$name "-" #$version)))))))
- (native-inputs
- (list ghc-hunit))
- (inputs
- (list ghc-async
- ghc-attoparsec
- ghc-base64-bytestring
- ghc-config-schema
- ghc-config-value
- ghc-curve25519
- ghc-free
- ghc-githash
- ghc-hashable
- ghc-hookup
- ghc-hsopenssl
- ghc-irc-core
- ghc-kan-extensions
- ghc-lens
- ghc-network
- ghc-psqueues
- ghc-random
- ghc-regex-tdfa
- ghc-split
- ghc-unordered-containers
- ghc-vector
- ghc-vty))
- (home-page "https://github.com/glguy/irc-core")
- (synopsis "Console IRC client")
- (description
- "Glirc is a console IRC client that focuses on providing both high-detail
+ (name "glirc")
+ (version "2.39.0.1") ; inherited by glirc-* extensions below
+ (source
+ (origin
+ (method url-fetch)
+ (uri (hackage-uri "glirc" version))
+ (sha256
+ (base32 "0jaywb43jfv6kzyz540k02mxdgw1shc6hn7kia21alssszkilh4r"))))
+ (build-system haskell-build-system)
+ (arguments
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'install 'install-extra-documentation
+ (lambda _
+ (install-file "glirc.1"
+ (string-append #$output "/share/man/man1"))
+ ;; The man page is very terse and punts to the GitHub wiki for real
+ ;; information. Some of that is also in the README, so install it.
+ (install-file "README.md"
+ (string-append #$output "/share/doc/"
+ #$name "-" #$version)))))))
+ (native-inputs
+ (list ghc-hunit))
+ (inputs
+ (list ghc-async
+ ghc-attoparsec
+ ghc-base64-bytestring
+ ghc-config-schema
+ ghc-config-value
+ ghc-curve25519
+ ghc-free
+ ghc-githash
+ ghc-hashable
+ ghc-hookup
+ ghc-hsopenssl
+ ghc-irc-core
+ ghc-kan-extensions
+ ghc-lens
+ ghc-network
+ ghc-psqueues
+ ghc-random
+ ghc-regex-tdfa
+ ghc-split
+ ghc-unordered-containers
+ ghc-vector
+ ghc-vty))
+ (home-page "https://github.com/glguy/irc-core")
+ (synopsis "Console IRC client")
+ (description
+ "Glirc is a console IRC client that focuses on providing both high-detail
and concise views of an IRC connection. All views and transformation are
dynamic and don't change the underlying model. It also provides advanced
line-editing features including syntax-highlighting, multi-line buffering,
and argument placeholders.")
- (license license:isc)))
+ (license license:isc)))
+
+(define-public glirc-lua
+ (package
+ (name "glirc-lua")
+ (version (package-version glirc))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/glguy/irc-core")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1hadxsahl30jhgk8vvcg7lwndzc282iybcjam87xx5c0lh0mfzan"))))
+ (build-system meson-build-system)
+ (arguments
+ (list
+ #:modules
+ '((guix build meson-build-system)
+ (guix build utils)
+ (ice-9 match))
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'enter-subdirectory
+ (lambda _
+ (chdir "lua-extension")))
+ (replace 'install
+ (lambda _
+ (install-file "glirc-lua.so" (string-append #$output "/lib"))))
+ (add-after 'install 'set-lua-paths
+ (lambda _
+ (let ((x.y #$(version-major+minor
+ (package-version
+ (this-package-native-input "lua"))))
+ (libraries (filter (match-lambda
+ ((label . _)
+ (string-prefix? "lua-" label)))
+ '#$(package-native-inputs
+ this-package))))
+ (setenv "LUA_PATH"
+ (string-join
+ (map (match-lambda
+ ((_ dir)
+ (string-append
+ dir "/share/lua/" x.y "/?.lua;"
+ dir "/share/lua/" x.y "/?/?.lua")))
+ libraries)
+ ";"))
+ (setenv "LUA_CPATH"
+ (string-join
+ (map (match-lambda
+ ((_ dir)
+ (string-append
+ dir "/lib/lua/" x.y "/?.so;"
+ dir "/lib/lua/" x.y "/?/?.so")))
+ libraries)
+ ";")))))
+ (add-after 'set-lua-paths 'document
+ (lambda _
+ (with-directory-excursion "../lua-extension/doc"
+ ;; Guix's ldoc command is a shell script without a shebang.
+ (invoke "sh" "ldoc" ".")
+ (let ((doc (string-append #$output "/share/doc/" #$name)))
+ (mkdir-p doc)
+ (copy-recursively "api" doc)))))
+ (add-after 'document 'leave-subdirectory
+ ;; Let default phases like 'install-license-files do their thing.
+ (lambda _
+ (chdir ".."))))))
+ (native-inputs
+ (list pkg-config
+ ;; For building the API documentation.
+ lua lua-filesystem lua-ldoc lua-penlight))
+ (inputs
+ (list lua))
+ (home-page (package-home-page glirc))
+ (synopsis "Lua scripting extension to the glirc IRC client")
+ (description
+ "This extension lets you script the glirc IRC client using Lua.
+To use it, you must tell @command{glirc} exactly where to find
+@file{glirc-lua.so} by adding something like this to your
+@file{~/.config/glirc/config}:
+
+@example
+extensions:
+ * path: \"../../.guix-profile/lib/glirc-lua.so\"
+ args: [\"example.lua\", @dots{}]
+@end example
+
+Also ensure that @file{example.lua} finds any Lua libraries it needs, e.g., by
+setting @env{LUA_PATH} and @env{LUA_CPATH} in glirc's run-time environment.")
+ (license (package-license glirc))))
(define-public quassel
(package
diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index 436688526b..502bd30247 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -61,6 +61,7 @@
#:use-module (gnu packages compression)
#:use-module (gnu packages elf)
#:use-module (gnu packages fontutils)
+ #:use-module (gnu packages freedesktop) ; wayland
#:use-module (gnu packages gawk)
#:use-module (gnu packages gcc)
#:use-module (gnu packages gettext)
@@ -1546,6 +1547,27 @@ blacklisted.certs.pem"
;; Fix for "valid range 1980-01-01T00:00:02Z to 2099-12-31T23:59:59Z".
(setenv "SOURCE_DATE_EPOCH" "1234567890")))))))))
+(define-public openjdk20
+ (make-openjdk openjdk19 "20"
+ "0pk5lpwijfv9qv7vwpsq2xfklbnqdfs6xbdhc5aamrpar4xi4ykx"))
+
+(define-public openjdk21
+ (make-openjdk openjdk20 "21"
+ "06wjfwrkqykjdkis2s1nh91cy8vwincnmc699cxvyk3fc12jf3vw"
+ (source (origin
+ (inherit (package-source base))
+ (patches (search-patches "openjdk-21-fix-rpath.patch"
+ "openjdk-15-xcursor-no-dynamic.patch"))))
+ (arguments
+ (substitute-keyword-arguments (package-arguments base)
+ ((#:phases phases)
+ #~(modify-phases #$phases
+ (replace 'fix-java-shebangs
+ (lambda _
+ ;; 'blacklisted' was renamed back to 'blocked'.
+ (substitute* "src/java.base/share/data/blockedcertsconverter/blocked.certs.pem"
+ (("^#!.*") "#! java BlockedCertsConverter SHA-256\n"))))))))))
+
;;; Convenience alias to point to the latest version of OpenJDK.
(define-public openjdk openjdk19)
@@ -1620,6 +1642,44 @@ OpenJDK.")
(home-page "https://www.jetbrains.com/")
(license license:gpl2+)))
+(define-public jbr21
+ (package
+ (inherit openjdk21)
+ (name "jbr")
+ (version "21-b240.22")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/JetBrains/JetBrainsRuntime.git")
+ (commit (string-append "jb" version))))
+ (file-name (string-append name "-" version "-checkout"))
+ (sha256
+ (base32
+ "1sx48mm5vap4ab1qr6hy25wlgxljmhvpvrqiqiq692izr8dh7j4c"))
+ (patches (search-patches "openjdk-21-fix-rpath.patch"
+ "jbr-17-xcursor-no-dynamic.patch"))))
+ (inputs
+ `(("wayland" ,wayland)
+ ,@(package-inputs openjdk21)))
+ (arguments
+ (substitute-keyword-arguments (package-arguments openjdk21)
+ ((#:configure-flags configure-flags)
+ #~(append #$configure-flags
+ (list "--with-jvm-features=shenandoahgc"
+ "--enable-cds=yes"
+ "--with-vendor-name=JetBrains s.r.o"
+ "--with-vendor-url=https://www.jetbrains.com/"
+ "--with-vendor-bug-url=https://youtrack.jetbrains.com/issues/JBR")))))
+ (synopsis "JetBrains Java Runtime")
+ (description "This package provides a Java runtime environment for
+and Java development kit. It supports enhanced class redefinition (DCEVM),
+includes a number of improvements in font rendering, keyboards support,
+windowing/focus subsystems, HiDPI, accessibility, and performance,
+provides better desktop integration and bugfixes not yet present in
+OpenJDK.")
+ (home-page "https://www.jetbrains.com/")
+ (license license:gpl2+)))
+
(define-public ant/java8
(package
diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scm
index a1e65332fa..144574857e 100644
--- a/gnu/packages/julia-xyz.scm
+++ b/gnu/packages/julia-xyz.scm
@@ -1591,6 +1591,8 @@ to represent missing data.")
(sha256
(base32 "1gsbxb1d67g05h5bvzz3swdfih6404jrydy724a8dvbdgqvm3sds"))))
(build-system julia-build-system)
+ ;; This package seems unmaintained but still has dependant packages.
+ (arguments (list #:tests? #f))
(home-page "https://github.com/ssfrr/DeepDiffs.jl")
(synopsis "Compute and pretty-print diffs for data structures")
(description "@code{DeepDiffs.jl} provides the @code{deepdiff} function,
@@ -2353,7 +2355,7 @@ c-style numerical formatting.")
(define-public julia-forwarddiff
(package
(name "julia-forwarddiff")
- (version "0.10.34")
+ (version "0.10.36")
(source
(origin
(method git-fetch)
@@ -2362,7 +2364,7 @@ c-style numerical formatting.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "1lwjw2jzkffwk06hfc30vxhv36ng3gf12qjc43swmqiakkd3m5jx"))))
+ (base32 "0mg9b5p3farc05wdxzciykrlx9hy7ivm0dq50hwp0dgd600hdjxy"))))
(build-system julia-build-system)
(arguments
;; XXXX: Unexpected and non-deterministic failures for i686, e.g.,
@@ -2380,6 +2382,7 @@ c-style numerical formatting.")
julia-diffresults
julia-diffrules
julia-difftests
+ julia-logexpfunctions
julia-nanmath
julia-specialfunctions
julia-staticarrays))
diff --git a/gnu/packages/kde.scm b/gnu/packages/kde.scm
index 9e5ac767b8..20fbb41d73 100644
--- a/gnu/packages/kde.scm
+++ b/gnu/packages/kde.scm
@@ -36,13 +36,11 @@
(define-module (gnu packages kde)
#:use-module (guix build-system cmake)
#:use-module (guix build-system qt)
- #:use-module (guix deprecation)
#:use-module (guix download)
#:use-module (guix gexp)
#:use-module (guix git-download)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
- #:use-module (guix utils)
#:use-module (gnu packages)
#:use-module (gnu packages algebra)
#:use-module (gnu packages apr)
@@ -69,7 +67,6 @@
#:use-module (gnu packages gettext)
#:use-module (gnu packages ghostscript)
#:use-module (gnu packages gimp)
- #:use-module (gnu packages gl)
#:use-module (gnu packages glib)
#:use-module (gnu packages gnome)
#:use-module (gnu packages gperf)
diff --git a/gnu/packages/libcanberra.scm b/gnu/packages/libcanberra.scm
index c0ec47a445..cf38ac113e 100644
--- a/gnu/packages/libcanberra.scm
+++ b/gnu/packages/libcanberra.scm
@@ -25,10 +25,8 @@
#:use-module (gnu packages)
#:use-module (guix packages)
#:use-module (guix download)
- #:use-module (guix git-download)
#:use-module (guix build-system gnu)
#:use-module (guix build-system python)
- #:use-module (guix utils)
#:use-module (gnu packages autotools)
#:use-module (gnu packages gstreamer)
#:use-module (gnu packages gtk)
@@ -36,9 +34,7 @@
#:use-module (gnu packages linux)
#:use-module (gnu packages pulseaudio)
#:use-module (gnu packages pkg-config)
- #:use-module (gnu packages python)
- #:use-module (gnu packages xiph)
- #:use-module ((srfi srfi-1) #:select (alist-delete)))
+ #:use-module (gnu packages xiph))
(define-public libcanberra
(package
diff --git a/gnu/packages/libreoffice.scm b/gnu/packages/libreoffice.scm
index d06166e64a..71131ca1f3 100644
--- a/gnu/packages/libreoffice.scm
+++ b/gnu/packages/libreoffice.scm
@@ -44,7 +44,6 @@
#:use-module (ice-9 match)
#:use-module (gnu packages)
#:use-module (gnu packages aidc)
- #:use-module (gnu packages aspell)
#:use-module (gnu packages autotools)
#:use-module (gnu packages base)
#:use-module (gnu packages bison)
@@ -73,10 +72,8 @@
#:use-module (gnu packages hunspell)
#:use-module (gnu packages icu4c)
#:use-module (gnu packages image)
- #:use-module (gnu packages java)
#:use-module (gnu packages linux)
#:use-module (gnu packages logging)
- #:use-module (gnu packages m4)
#:use-module (gnu packages maths)
#:use-module (gnu packages nss)
#:use-module (gnu packages openldap)
@@ -87,7 +84,6 @@
#:use-module (gnu packages python)
#:use-module (gnu packages rdf)
#:use-module (gnu packages scanner)
- #:use-module (gnu packages textutils)
#:use-module (gnu packages tls)
#:use-module (gnu packages version-control)
#:use-module (gnu packages xml)
diff --git a/gnu/packages/linphone.scm b/gnu/packages/linphone.scm
index 7d87ee602c..48a30f32d0 100644
--- a/gnu/packages/linphone.scm
+++ b/gnu/packages/linphone.scm
@@ -34,11 +34,8 @@
#:use-module (gnu packages documentation)
#:use-module (gnu packages gettext)
#:use-module (gnu packages gl)
- #:use-module (gnu packages glib)
#:use-module (gnu packages gnome)
- #:use-module (gnu packages gnome-xyz)
#:use-module (gnu packages graphviz)
- #:use-module (gnu packages gtk)
#:use-module (gnu packages image)
#:use-module (gnu packages linux)
#:use-module (gnu packages ncurses)
@@ -49,7 +46,6 @@
#:use-module (gnu packages python)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages qt)
- #:use-module (gnu packages java)
#:use-module (gnu packages sqlite)
#:use-module (gnu packages telephony)
#:use-module (gnu packages tls)
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 91109c41d9..85e3d9845d 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -490,17 +490,17 @@ 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-6.4-version "6.4.15")
+(define-public linux-libre-6.4-version "6.4.16")
(define-public linux-libre-6.4-gnu-revision "gnu")
(define deblob-scripts-6.4
(linux-libre-deblob-scripts
linux-libre-6.4-version
linux-libre-6.4-gnu-revision
(base32 "012d16rjprxdv9frf7kcakpikvw7l0s3kvj4kkp9flzdg3j8wxpz")
- (base32 "1rwm09anyn4py1g877f9vh6ya86y2hfvlqx51bpa53dci5k0b0ds")))
+ (base32 "02zizxf0dp4291hbvjrif04m19h8rrc55c11qinlrm0p19s9srcx")))
(define-public linux-libre-6.4-pristine-source
(let ((version linux-libre-6.4-version)
- (hash (base32 "1phlx375ln5pslw5vjqm029cdv6pzf4ang10xlrf90x5sb4fgy93")))
+ (hash (base32 "0zgj1z97jyx7wf12zrnlcp0mj4cl43ais9qsy6dh1jwylf2fq9ln")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-6.4)))
@@ -508,7 +508,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-6.1-version "6.1.52")
+(define-public linux-libre-6.1-version "6.1.53")
(define-public linux-libre-6.1-gnu-revision "gnu")
(define deblob-scripts-6.1
(linux-libre-deblob-scripts
@@ -518,7 +518,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "1c73516nbhnz0cxjz38b5794dxygb8sznv9idiibw7ablmjbhd11")))
(define-public linux-libre-6.1-pristine-source
(let ((version linux-libre-6.1-version)
- (hash (base32 "0lis73mxnl7hxz8lyja6sfgmbym944l3k1h7dab6b4mw1nckfxsn")))
+ (hash (base32 "0zpdg3fcc12iyjhfs5w7cw75700z4i8m9jcg38mlzlhh92hf0msz")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-6.1)))
@@ -1548,32 +1548,66 @@ is also needed for the @code{tuxedo-control-center} (short tcc) package.")
(define-public evdi
(package
(name "evdi")
- (version "1.12.0")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/DisplayLink/evdi")
- (commit "bdc258b25df4d00f222fde0e3c5003bf88ef17b5")))
- (file-name (git-file-name name version))
- (patches (search-patches "evdi-fix-build-with-linux-6.2.patch"))
- (sha256
- (base32
- "1yi7mbyvxm9lsx6i1xbwp2bihwgzhwxkydk1kbngw5a5kw9azpws"))))
+ (version "1.14.1") ;inherited by libevdi
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/DisplayLink/evdi")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0vfbph6bdb206zgdp0bvpqck2zvkx1367xdxbavv41qsmgkxhvbs"))))
(build-system linux-module-build-system)
(arguments
- (list #:tests? #f ;no test suite
+ (list #:tests? #f ;no test suite
#:phases #~(modify-phases %standard-phases
(add-after 'unpack 'chdir
(lambda _
(chdir "module"))))))
(home-page "https://github.com/DisplayLink/evdi")
- (synopsis "EVDI Linux kernel module")
+ (synopsis
+ "@acronym{EVDI, Extensible Virtual Display Interface} Linux kernel module")
(description
- "The @acronym{EVDI, Extensible Virtual Display Interface} is a Linux kernel module
-that enables management of multiple screens, allowing user-space programs to
-take control over what happens with the image.")
+ "The @acronym{EVDI, Extensible Virtual Display Interface} is a Linux kernel
+module that enables management of multiple screens, allowing user-space programs
+to take control over what happens with the image. It is essentially a virtual
+display for which applications using the @code{libevdi} library can add, remove,
+and receive screen updates.
+
+The EVDI driver uses the standard Linux @acronym{DRM, Direct Rendering Manager}.
+Its displays can be controlled by standard tools such as @command{xrandr} and
+display settings applets in graphical environments")
(license license:gpl2)))
+(define-public libevdi
+ (package
+ (inherit evdi)
+ (name "libevdi")
+ (build-system gnu-build-system)
+ (arguments
+ (list #:tests? #f ;no test suite
+ #:make-flags
+ #~(list (string-append "CC=" #$(cc-for-target)))
+ #:phases #~(modify-phases %standard-phases
+ (delete 'configure)
+ (add-after 'unpack 'chdir
+ (lambda _
+ (chdir "library")))
+ (replace 'install
+ (lambda* _
+ (let* ((lib (string-append #$output "/lib")))
+ (mkdir-p lib)
+ (install-file "libevdi.so" lib)))))))
+ (inputs (list libdrm))
+ (synopsis
+ "@acronym{EVDI, Extensible Virtual Display Interface} user-space library")
+ (description
+ "Libevdi is a library that gives applications easy access to
+@acronym{EVDI, Extensible Virtual Display Interface} devices provided by the
+@code{evdi} driver package. ")
+ (license license:lgpl2.1)))
+
(define-public ec
(package
(name "ec")
@@ -1602,7 +1636,7 @@ registers of the @acronym{EC, Embedded Controller} supported by the
(define-public lkrg
(package
(name "lkrg")
- (version "0.9.3")
+ (version "0.9.7")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -1611,7 +1645,7 @@ registers of the @acronym{EC, Embedded Controller} supported by the
(file-name (git-file-name name version))
(sha256
(base32
- "0yirb7n4mqv8cn0gziz1m7ymq00dhhy79j59jdgrx00b8rj57cfw"))))
+ "0k0z9caj48nqjwk3bapgfcdzi1lkizxcjj4r1dvkvwsk38mbk1c4"))))
(build-system linux-module-build-system)
(arguments
(list #:linux linux-libre
@@ -1686,7 +1720,7 @@ graphics card on Optimus laptops.")
(define-public ddcci-driver-linux
(package
(name "ddcci-driver-linux")
- (version "0.4.2")
+ (version "0.4.4")
(source
(origin
(method git-fetch)
@@ -1696,7 +1730,7 @@ graphics card on Optimus laptops.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "1lww3mnqhxqzj0qbxzbwbq93v9zw49myp7p9ib873a5izbq8nadi"))))
+ (base32 "19vi7dk4jv5wm18cznz4lj2fb1c7m7j3ig62x4a6qy9djxf9z472"))))
(build-system linux-module-build-system)
(arguments
(list #:tests? #f ; no tests
@@ -2064,19 +2098,25 @@ deviation, and minimum and maximum values. It can show a nice histogram too.")
(base32 "12z5786dnf37n8wvv73wdcqp3nvsqzhwdk3ajna0mag4yz1fqdyw"))))
(build-system gnu-build-system)
(arguments
- `(,@(if (%current-target-system)
- '(#:configure-flags
- (list
- "ac_cv_func_malloc_0_nonnull=yes"
- "ac_cv_func_realloc_0_nonnull=yes"))
- '())))
+ (list
+ #:configure-flags
+ (if (%current-target-system)
+ #~(list "ac_cv_func_malloc_0_nonnull=yes"
+ "ac_cv_func_realloc_0_nonnull=yes")
+ #~'())))
(inputs (list ncurses))
(home-page "https://gitlab.com/psmisc/psmisc")
(synopsis "Small utilities that use the proc file system")
(description
- "This PSmisc package is a set of some small useful utilities that
-use the proc file system. We're not about changing the world, but
-providing the system administrator with some help in common tasks.")
+ "psmisc is a set of small utilities that use the proc file system.
+@itemize @bullet
+@item @command{fuser} identifies processes using files or sockets;
+@item @command{killall} kills processes by name;
+@item @command{prtstat} prints statistics of a process;
+@item @command{pslog} prints the log file(s) of a process;
+@item @command{pstree} shows the currently running processes as a tree;
+@item @command{peekfd} shows the data travelling over a file descriptor.
+@end itemize")
(license license:gpl2+)))
(define-public util-linux
@@ -7116,7 +7156,7 @@ the @code{mce-inject} module loaded if it exists.")
(define-public mcelog
(package
(name "mcelog")
- (version "191")
+ (version "195")
(source
(origin
(method git-fetch)
@@ -7125,7 +7165,7 @@ the @code{mce-inject} module loaded if it exists.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "0vx0lziw6g20vh42ngs66fiq2bm714llx5xx6f0m1hbjcihi1afy"))
+ (base32 "1bg2bj8flybd8kzmmaaslisc6lc1fs9nbv09im6r32dq48skx5aj"))
(modules '((guix build utils)))
(snippet
`(begin
@@ -7797,14 +7837,14 @@ re-use code and to avoid re-inventing the wheel.")
(define-public libnftnl
(package
(name "libnftnl")
- (version "1.2.4")
+ (version "1.2.6")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://netfilter.org/libnftnl/"
- "libnftnl-" version ".tar.bz2"))
+ "libnftnl-" version ".tar.xz"))
(sha256
- (base32 "0zs7c8swlirxnbhl8q1b0p8g3jrzns7fyxsrglz71zfdwhxj7zn0"))))
+ (base32 "1x3pqxclpxcw8x5qx0vyi7znf9xwlkqsfd9sy4cxlir1v4nfmsnf"))))
(build-system gnu-build-system)
(native-inputs
(list pkg-config))
@@ -7843,7 +7883,7 @@ used by nftables.")
(define-public nftables
(package
(name "nftables")
- (version "1.0.6")
+ (version "1.0.8")
(source
(origin
(method url-fetch)
@@ -7852,7 +7892,7 @@ used by nftables.")
(string-append "https://www.nftables.org/projects/nftables"
"/files/nftables-" version ".tar.xz")))
(sha256
- (base32 "0k2y03dz77b0inqlmh5yg8qaifl0walzvhldwiq7d642vl6l61r4"))))
+ (base32 "0l1xpwr9qfbl3bxa97v8s2lbibiz0xma9q0qi34xp0hswh6p8wwk"))))
(build-system gnu-build-system)
(arguments `(#:configure-flags
'("--disable-static"
@@ -8354,14 +8394,14 @@ available in the kernel Linux.")
(define-public cpuid
(package
(name "cpuid")
- (version "20221201")
+ (version "20230614")
(source (origin
(method url-fetch)
(uri (string-append "http://www.etallen.com/cpuid/cpuid-"
version ".src.tar.gz"))
(sha256
(base32
- "0vlg5zc0dayyn9bzyb25fcaxid9svrsjjza11afplrhh50wdrzh8"))))
+ "1s54qc1j10d765r05kw9pzwzaxq2b0nndq2ifwq7cq62xx2k1j5i"))))
(build-system gnu-build-system)
(arguments
(list #:make-flags
@@ -9571,7 +9611,7 @@ modification of BPF objects on the system.")
(define-public bpftrace
(package
(name "bpftrace")
- (version "0.18.0")
+ (version "0.18.1")
(source
(origin
(method git-fetch)
@@ -9580,7 +9620,7 @@ modification of BPF objects on the system.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "0n0mm5vlaildilq5nmjymmq8ijif1lcyfin76wcmhzwfriq4n87r"))
+ (base32 "0j8ba2j98d3j8lilgx3z2n162r26ryg7zw5ldwd9m36xnjp40347"))
(patches (search-patches "bpftrace-disable-bfd-disasm.patch"))))
(build-system cmake-build-system)
(native-inputs
@@ -9975,42 +10015,6 @@ system.")
libraries are found or why they cannot be located.")
(license license:expat)))
-(define-public libevdi
- (package
- (name "libevdi")
- (version "1.12.0")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/DisplayLink/evdi")
- (commit "bdc258b25df4d00f222fde0e3c5003bf88ef17b5")))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "1yi7mbyvxm9lsx6i1xbwp2bihwgzhwxkydk1kbngw5a5kw9azpws"))))
- (build-system gnu-build-system)
- (inputs (list libdrm))
- (arguments
- (list #:tests? #f ;no test suite
- #:make-flags #~'("CC=gcc")
- #:phases #~(modify-phases %standard-phases
- (delete 'configure)
- (add-after 'unpack 'chdir
- (lambda _
- (chdir "library")))
- (replace 'install
- (lambda* _
- (let* ((lib (string-append #$output "/lib")))
- (mkdir-p lib)
- (install-file "libevdi.so" lib)))))))
- (home-page "https://github.com/DisplayLink/evdi")
- (synopsis "User-space EVDI library")
- (description
- "Libevdi is a library that gives applications easy access to
-@acronym{EVDI, Extensible Virtual Display Interface} devices on
-various operating systems.")
- (license license:lgpl2.1)))
-
(define-public touchegg
(package
(name "touchegg")
diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm
index 1d88654962..2751af4a85 100644
--- a/gnu/packages/lisp-xyz.scm
+++ b/gnu/packages/lisp-xyz.scm
@@ -1281,27 +1281,40 @@ timeouts.")
(define-public sbcl-bordeaux-threads
(package
(name "sbcl-bordeaux-threads")
- (version "0.8.8")
+ (version "0.9.2")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/sionescu/bordeaux-threads")
(commit (string-append "v" version))))
(sha256
- (base32 "19i443fz3488v1pbbr9x24y8h8vlyhny9vj6c9jk5prm702awrp6"))
- (file-name
- (git-file-name "bordeaux-threads" version))))
- (inputs (list sbcl-alexandria))
+ (base32 "0d9sd7pm91yhln95z8nclhn6n4l5b2cp3pxpggpmpv7rsq84ssmh"))
+ (file-name (git-file-name "cl-bordeaux-threads" version))))
+ (inputs (list sbcl-alexandria
+ sbcl-global-vars
+ sbcl-trivial-features
+ sbcl-trivial-garbage))
(native-inputs (list sbcl-fiveam))
(build-system asdf-build-system/sbcl)
(arguments
(list
#:phases
#~(modify-phases %standard-phases
+ (add-after 'unpack 'silence-deprecation-warning
+ (lambda _
+ ;; The deprecation warning for APIv1 makes the build of some
+ ;; of the dependents of bordeaux-threads fail because they
+ ;; interpret it as an error instead of a simple indication.
+ ;; Let's silence this warning for now.
+ (substitute* (cons* "apiv1/default-implementations.lisp"
+ (find-files "apiv1" "impl-.*\\.lisp"))
+ (("\\(warn \"Bordeaux-Threads APIv1 is deprecated\\. Please migrate to APIv2\\.\"\\)")
+ ""))))
(add-after 'unpack 'adjust-test-sleep
(lambda _
;; 0.001 is too short for some slower machines.
- (substitute* "test/bordeaux-threads-test.lisp"
+ (substitute* '("test/tests-v1.lisp"
+ "test/tests-v2.lisp")
(("sleep 0\\.001") "sleep 0.002")))))))
(synopsis "Portable shared-state concurrency library for Common Lisp")
(description "BORDEAUX-THREADS is a proposed standard for a minimal
@@ -22181,58 +22194,67 @@ fit together as required by any particular game.")
(sbcl-package->cl-source-package sbcl-trial))
(define-public sbcl-virality
- (package
- (name "sbcl-virality")
- (version "0.3.0")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/bufferswap/ViralityEngine")
- (commit (string-append "v" version))))
- (file-name (git-file-name "cl-virality" version))
- (sha256
- (base32 "0hvjcvyd628jh4if6swk1wrfb9qdlnpk9ax1y3jarr8ms7ghfcdb"))))
- (build-system asdf-build-system/sbcl)
- (arguments
- `(#:asd-systems '("virality"
- "vorigin"
- "vorigin.test"
- "vshadow"
- "vumbra"
- "vutils")
- #:phases (modify-phases %standard-phases
- (add-after 'unpack 'delete-examples
- (lambda _
- ;; Don't install the big "examples" directory.
- (delete-file-recursively "examples"))))))
- (inputs
- (list sbcl-3b-bmfont
- sbcl-babel
- sbcl-cl-cpus
- sbcl-cl-graph
- sbcl-cl-opengl
- sbcl-cl-ppcre
- sbcl-cl-slug
- sbcl-closer-mop
- sbcl-fast-io
- sbcl-global-vars
- sbcl-glsl-packing
- sbcl-jsown
- sbcl-lparallel
- sbcl-pngload
- sbcl-printv
- sbcl-queues
- sbcl-sdl2
- sbcl-serapeum
- sbcl-split-sequence
- sbcl-static-vectors
- sbcl-trivial-features
- sbcl-varjo))
- (home-page "https://github.com/bufferswap/ViralityEngine")
- (synopsis "Component-based game engine written in Common Lisp")
- (description
- "Virality Engine provides a system and workflow that helps describe the
+ (let ((commit "cdc19cca9b028f0c30d14ed8b3e51359dd46069a")
+ (revision "1"))
+ (package
+ (name "sbcl-virality")
+ (version (git-version "0.3.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/bufferswap/ViralityEngine")
+ (commit commit)))
+ (file-name (git-file-name "cl-virality" version))
+ (sha256
+ (base32 "1s25aapkqcr8fxi0i9wjw0n4jax7r4a9d9wflpr3sqz2vgrg2lz6"))))
+ (build-system asdf-build-system/sbcl)
+ (arguments
+ `(#:asd-systems '("virality"
+ "vorigin"
+ "vorigin.test"
+ "vshadow"
+ "vumbra"
+ "vutils")
+ #:phases (modify-phases %standard-phases
+ (add-after 'unpack 'delete-examples
+ (lambda _
+ ;; Don't install the big "examples" directory.
+ (delete-file-recursively "examples")
+ ;; Remove example asd files that cause issues during
+ ;; the 'copy-source' phase because they have the same
+ ;; names.
+ (for-each
+ delete-file
+ (find-files "."
+ "^xXx-SYSTEM-NAME-xXx\\.asd$")))))))
+ (inputs
+ (list sbcl-3b-bmfont
+ sbcl-babel
+ sbcl-cl-cpus
+ sbcl-cl-graph
+ sbcl-cl-opengl
+ sbcl-cl-ppcre
+ sbcl-cl-slug
+ sbcl-closer-mop
+ sbcl-fast-io
+ sbcl-global-vars
+ sbcl-glsl-packing
+ sbcl-jsown
+ sbcl-lparallel
+ sbcl-pngload
+ sbcl-printv
+ sbcl-queues
+ sbcl-sdl2
+ sbcl-serapeum
+ sbcl-split-sequence
+ sbcl-static-vectors
+ sbcl-trivial-features
+ sbcl-varjo))
+ (home-page "https://github.com/bufferswap/ViralityEngine")
+ (synopsis "Component-based game engine written in Common Lisp")
+ (description
+ "Virality Engine provides a system and workflow that helps describe the
elements needed to write 2D or 3D games. It was designed with several domain
specific languages that make it easier to describe, manipulate, and use assets
commonly found in game making. Such assets include (but are not limited to)
@@ -22246,7 +22268,7 @@ can be used with them. Components are added to Actors which represent game
concepts like players, scenery, effects, etc. We define a component protocol
invoked by Virality Engine to move your components to the next state and
render them each frame.")
- (license license:expat)))
+ (license license:expat))))
(define-public cl-virality
(sbcl-package->cl-source-package sbcl-virality))
@@ -26528,7 +26550,7 @@ in a native template application).")
(define-public sbcl-nkeymaps
(package
(name "sbcl-nkeymaps")
- (version "1.0.0")
+ (version "1.1.0")
(source
(origin
(method git-fetch)
@@ -26537,11 +26559,12 @@ in a native template application).")
(commit version)))
(file-name (git-file-name "cl-nkeymaps" version))
(sha256
- (base32 "1f7s9g5s9riyyrbj8lyvzlvymdbh9x9sknxmjzfrkbz3iqlpanc3"))))
+ (base32 "08q3bmb3i7mjpm83msp1qgpifpzf019ggikbxwc2dk04i3c2w0vv"))))
(build-system asdf-build-system/sbcl)
(inputs
(list sbcl-alexandria
sbcl-fset
+ sbcl-cl-str
sbcl-trivial-package-local-nicknames))
(native-inputs
(list sbcl-lisp-unit2))
@@ -26602,7 +26625,7 @@ instead of #'FOO.
(define-public sbcl-njson
(package
(name "sbcl-njson")
- (version "1.2.0")
+ (version "1.2.1")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -26611,7 +26634,7 @@ instead of #'FOO.
(file-name (git-file-name "cl-njson" version))
(sha256
(base32
- "1zsf7sm88wjrd4da5bvpxi8fvsx01cv51p8820fnj062x6hlhg38"))))
+ "0p3zvn3jfzcdzpvikdaw3g14wfsklq0msw0rjaxin3aa7vmqpyqk"))))
(build-system asdf-build-system/sbcl)
(inputs (list sbcl-cl-json sbcl-jzon))
(native-inputs (list sbcl-lisp-unit2))
diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm
index 6f425a6e4a..c54a9b4b3a 100644
--- a/gnu/packages/lisp.scm
+++ b/gnu/packages/lisp.scm
@@ -17,7 +17,7 @@
;;; Copyright © 2019-2023 Guillaume Le Vaillant <glv@posteo.net>
;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2020 Zhu Zihao <all_but_last@163.com>
-;;; Copyright © 2021 Sharlatan Hellseher <sharlatanus@gmail.com>
+;;; Copyright © 2021, 2023 Sharlatan Hellseher <sharlatanus@gmail.com>
;;; Copyright © 2021 Paul A. Patience <paul@apatience.com>
;;; Copyright © 2021 Charles Jackson <charles.b.jackson@protonmail.com>
;;; Copyright © 2022 Joeke de Graaf <joeke@posteo.net>
@@ -25,6 +25,7 @@
;;; Copyright © 2022 ( <paren@disroot.org>
;;; Copyright © 2023 Zheng Junjie <873216071@qq.com>
;;; Copyright © 2023 Yovan Naumovski <yovan@gorski.stream>
+;;; Copyright © 2023 Andrew Kravchuk <awkravchuk@gmail.com.
;;;
;;; This file is part of GNU Guix.
;;;
@@ -266,7 +267,7 @@ interface to the Tk widget system.")
(define-public ecl
(package
(name "ecl")
- (version "21.2.1")
+ (version "23.9.9")
(source
(origin
(method url-fetch)
@@ -274,7 +275,7 @@ interface to the Tk widget system.")
"https://ecl.common-lisp.dev/static/files/release/"
name "-" version ".tgz"))
(sha256
- (base32 "000906nnq25177bgsfndiw3iqqgrjc9spk10hzk653sbz3f7anmi"))))
+ (base32 "107q6gmxlsya4yv38r1x1axrgyyfgdrfkkz97zfp64bcrasdl6y5"))))
(build-system gnu-build-system)
;; src/configure uses 'which' to confirm the existence of 'gzip'.
(native-inputs
@@ -346,6 +347,7 @@ interface to the Tk widget system.")
(files '("etc")))))
(home-page "https://ecl.common-lisp.dev/")
(synopsis "Embeddable Common Lisp")
+ (supported-systems (delete "i586-gnu" %supported-systems))
(description "ECL is an implementation of the Common Lisp language as
defined by the ANSI X3J13 specification. Its most relevant features are: a
bytecode compiler and interpreter, being able to compile Common Lisp with any
@@ -380,6 +382,10 @@ supporting ASDF, Sockets, Gray streams, MOP, and other useful components.")
(%current-target-system)))
'("CFLAGS=-falign-functions=4")
'())
+ ,@(if (target-x86-64?)
+ '("--enable-portability"
+ "--with-threads=POSIX_THREADS")
+ '())
"--with-dynamic-ffi"
"--with-dynamic-modules"
"--with-ffcall"
@@ -433,17 +439,15 @@ an interpreter, a compiler, a debugger, and much more.")
(define-public sbcl
(package
(name "sbcl")
- (version "2.3.5")
+ (version "2.3.7")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/sbcl/sbcl/" version "/sbcl-"
version "-source.tar.bz2"))
(sha256
- (base32 "11ji5n65l31249r0v7hm0wc0yk2ila0y746nj36xn1cxrwh0gjc9"))
+ (base32 "1xwr1pnwd3xj375ainlad7mm479rk2mrks8dc6d92cash3xl90b9"))
(modules '((guix build utils)))
- ;; backport from upstream.
- (patches (search-patches "sbcl-riscv-Make-contribs-build-again.patch"))
(snippet
'(begin
;; Don't force ARMv5.
@@ -668,6 +672,7 @@ an interpreter, a compiler, a debugger, and much more.")
(variable "XDG_CONFIG_DIRS")
(files '("etc")))))
(home-page "https://www.sbcl.org/")
+ (supported-systems (delete "i586-gnu" %supported-systems))
(synopsis "Common Lisp implementation")
(description "Steel Bank Common Lisp (SBCL) is a high performance Common
Lisp compiler. In addition to the compiler and runtime system for ANSI Common
diff --git a/gnu/packages/logging.scm b/gnu/packages/logging.scm
index dbaf9fa7aa..c204a013b4 100644
--- a/gnu/packages/logging.scm
+++ b/gnu/packages/logging.scm
@@ -37,6 +37,7 @@
#:use-module (gnu packages autotools)
#:use-module (gnu packages bison)
#:use-module (gnu packages c)
+ #:use-module (gnu packages check)
#:use-module (gnu packages compression)
#:use-module (gnu packages curl)
#:use-module (gnu packages cyrus-sasl)
@@ -212,7 +213,7 @@ output in multiple windows in a terminal.")
(define-public spdlog
(package
(name "spdlog")
- (version "1.11.0")
+ (version "1.12.0")
(source
(origin
(method git-fetch)
@@ -222,7 +223,7 @@ output in multiple windows in a terminal.")
(file-name (git-file-name name version))
(patches (search-patches "spdlog-fix-tests.patch"))
(sha256
- (base32 "0i3a1cqrg1sz0w50g7zz9x73rf838igqri12q8ijh4rzpq0qq3ch"))))
+ (base32 "0yyncv6wjs5rqm76rkqyxpfbsingk1dq5zfcqhy1a7fpw8xdl53k"))))
(build-system cmake-build-system)
;; TODO run benchmark. Currently not possible, as adding
;; (gnu packages benchmark) forms a dependency cycle
@@ -231,6 +232,7 @@ output in multiple windows in a terminal.")
(list "-DSPDLOG_BUILD_BENCH=OFF"
"-DSPDLOG_BUILD_SHARED=ON"
"-DSPDLOG_BUILD_TESTS=ON")))
+ (native-inputs (list catch2-3.3))
(home-page "https://github.com/gabime/spdlog")
(synopsis "Fast C++ logging library")
(description "Spdlog is a very fast header-only/compiled C++ logging
diff --git a/gnu/packages/lua.scm b/gnu/packages/lua.scm
index 3b58952911..65cab6511c 100644
--- a/gnu/packages/lua.scm
+++ b/gnu/packages/lua.scm
@@ -119,13 +119,13 @@ for configuration, scripting, and rapid prototyping.")
(define-public lua-5.4
(package (inherit lua)
- (version "5.4.3")
+ (version "5.4.6")
(source (origin
(method url-fetch)
(uri (string-append "https://www.lua.org/ftp/lua-"
version ".tar.gz"))
(sha256
- (base32 "1yxvjvnbg4nyrdv10bq42gz6dr66pyan28lgzfygqfwy2rv24qgq"))
+ (base32 "125dncwz8syhxk034m4fpahq7vsprfnwdqfxlffbb83arfws2pkx"))
(patches (search-patches "lua-5.4-pkgconfig.patch"
"lua-5.4-liblua-so.patch"))))))
diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm
index fd0be8d500..abba41626d 100644
--- a/gnu/packages/machine-learning.scm
+++ b/gnu/packages/machine-learning.scm
@@ -2060,6 +2060,31 @@ physics-informed learning. It includes implementations for the PINN
MFNN (multifidelity neural network) algorithms.")
(license license:lgpl2.1+)))
+(define-public python-jaxtyping
+ (package
+ (name "python-jaxtyping")
+ (version "0.2.21")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "jaxtyping" version))
+ (sha256
+ (base32
+ "19qmsnbn4wv2jl99lpn622qs49mrfxmx8s9pr5y8izzgdjq1fvii"))))
+ (build-system pyproject-build-system)
+ ;; Tests require JAX, but JAX can't be packaged because it uses the Bazel
+ ;; build system.
+ (arguments (list #:tests? #f))
+ (native-inputs (list python-hatchling))
+ (propagated-inputs (list python-numpy python-typeguard
+ python-typing-extensions))
+ (home-page "https://github.com/google/jaxtyping")
+ (synopsis
+ "Type annotations and runtime checking for JAX arrays and others")
+ (description "@code{jaxtyping} provides type annotations and runtime
+checking for shape and dtype of JAX arrays, PyTorch, NumPy, TensorFlow, and
+PyTrees.")
+ (license license:expat)))
+
;; There have been no proper releases yet.
(define-public kaldi
(let ((commit "be22248e3a166d9ec52c78dac945f471e7c3a8aa")
@@ -2972,7 +2997,7 @@ advanced research.")
(define-public tensorflow-lite
(package
(name "tensorflow-lite")
- (version "2.12.1")
+ (version "2.13.0")
(source
(origin
(method git-fetch)
@@ -2982,7 +3007,8 @@ advanced research.")
(file-name (git-file-name name version))
(sha256
(base32
- "0jkgljdagdqllnxygl35r5bh3f9qmbczymfj357gm9krh59g2kmd"))))
+ "07g6vlrs0aayrg2mfdl15gxg5dy103wx2xlqkran15dib40nkbj6"))
+ (patches (search-patches "tensorflow-lite-unbundle.patch"))))
(build-system cmake-build-system)
(arguments
(list
@@ -3025,6 +3051,7 @@ advanced research.")
"-DTFLITE_ENABLE_XNNPACK=OFF"
;; Don't fetch the sources. We have these already
+ "-Dgemmlowp_POPULATED=TRUE"
"-Degl_headers_POPULATED=TRUE"
"-Dfp16_headers_POPULATED=TRUE"
"-Dopencl_headers_POPULATED=TRUE"
@@ -3037,7 +3064,7 @@ advanced research.")
"-DFFT2D_SOURCE_DIR=/tmp/fft2d"
"-DFARMHASH_SOURCE_DIR=/tmp/farmhash"
- "-Dgemmlowp_SOURCE_DIR=/tmp/gemmlowp")
+ (string-append "-Dgemmlowp_ROOT=" #$(this-package-input "gemmlowp")))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'chdir
@@ -3067,11 +3094,7 @@ advanced research.")
(mkdir-p "/tmp/fft2d")
(with-directory-excursion "/tmp/fft2d"
(invoke "tar" "--strip-components=1"
- "-xf" (assoc-ref inputs "fft2d-src")))
-
- (copy-recursively (assoc-ref inputs "gemmlowp-src")
- "/tmp/gemmlowp/")))
-
+ "-xf" (assoc-ref inputs "fft2d-src")))))
(add-after 'build 'build-shared-library
(lambda* (#:key configure-flags #:allow-other-keys)
(mkdir-p "c")
@@ -3101,7 +3124,7 @@ advanced research.")
("eigen" ,eigen)
("fp16" ,fp16)
("flatbuffers-shared" ,flatbuffers-next-shared)
- ;;("gemmlowp" ,gemmlowp) ; TODO
+ ("gemmlowp" ,gemmlowp)
("mesa-headers" ,mesa-headers)
("neon2sse" ,neon2sse)
("nsync" ,nsync)
@@ -3117,19 +3140,6 @@ advanced research.")
(native-inputs
`(("pkg-config" ,pkg-config)
("googletest" ,googletest)
- ("gemmlowp-src"
- ;; The commit hash is taken from
- ;; "tensorflow/lite/tools/cmake/modules/gemmlowp.cmake".
- ,(let ((commit "fda83bdc38b118cc6b56753bd540caa49e570745"))
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/google/gemmlowp")
- (commit commit)))
- (file-name (git-file-name "gemmlowp" (string-take commit 8)))
- (sha256
- (base32
- "1sbp8kmr2azwlvfbzryy1frxi99jhsh1nc93bdbxdf8zdgpv0kxl")))))
("farmhash-src"
,(let ((commit "816a4ae622e964763ca0862d9dbd19324a1eaf45"))
(origin
@@ -3151,7 +3161,7 @@ advanced research.")
(sha256
(base32
"1jfflzi74fag9z4qmgwvp90aif4dpbr1657izmxlgvf4hy8fk9xd"))))))
- (home-page "https://tensorflow.org")
+ (home-page "https://www.tensorflow.org")
(synopsis "Machine learning framework")
(description
"TensorFlow is a flexible platform for building and training machine
@@ -4546,6 +4556,63 @@ and Numpy.")
inference.")
(license license:asl2.0)))
+(define-public python-linear-operator
+ (package
+ (name "python-linear-operator")
+ (version "0.5.2")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "linear_operator" version))
+ (sha256
+ (base32
+ "03drb4hn9nn8jrqd9vbalihhahgpdm956hbs05bix7svradhknaw"))))
+ (build-system pyproject-build-system)
+ (propagated-inputs (list python-jaxtyping
+ python-pytorch
+ python-scipy
+ python-typeguard))
+ (native-inputs (list python-flake8
+ python-flake8-print
+ python-pytest
+ python-setuptools-scm
+ python-twine))
+ (home-page "https://github.com/cornellius-gp/linear_operator/")
+ (synopsis "Linear operator implementation")
+ (description "LinearOperator is a PyTorch package for abstracting away the
+linear algebra routines needed for structured matrices (or operators).")
+ (license license:expat)))
+
+(define-public python-gpytorch
+ (package
+ (name "python-gpytorch")
+ (version "1.11")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "gpytorch" version))
+ (sha256
+ (base32
+ "0q17bml53vixk3cwj3p893809927hz81fprwsmxpxqv5i4mvgyvj"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list #:test-flags
+ ;; The error message in test_t_matmul_matrix suggests the error may
+ ;; be due to a bug in gpytorch. test_deprecated_methods fails with
+ ;; an AssertionError.
+ #~(list "-k" (string-append "not test_deprecated_methods"
+ " and not test_t_matmul_matrix"))))
+ (propagated-inputs (list python-linear-operator python-scikit-learn))
+ (native-inputs (list python-coverage
+ python-flake8
+ python-flake8-print
+ python-nbval
+ python-pytest
+ python-twine))
+ (home-page "https://gpytorch.ai")
+ (synopsis "Implementation of Gaussian Processes in PyTorch")
+ (description
+ "GPyTorch is a Gaussian process library implemented using PyTorch.")
+ (license license:expat)))
+
(define-public vosk-api
(let* ((openfst openfst-for-vosk)
(kaldi kaldi-for-vosk))
diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
index ecaab1c7cd..93cd801a95 100644
--- a/gnu/packages/mail.scm
+++ b/gnu/packages/mail.scm
@@ -52,6 +52,7 @@
;;; Copyright © 2022 jgart <jgart@dismail.de>
;;; Copyright © 2022 ( <paren@disroot.org>
;;; Copyright © 2023 Timo Wilken <guix@twilken.net>
+;;; Copyright © 2023 Arjan Adriaanse <arjan@adriaan.se>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -600,7 +601,7 @@ aliasing facilities to work just as they would on normal mail.")
(define-public mutt
(package
(name "mutt")
- (version "2.2.10")
+ (version "2.2.12")
(source (origin
(method url-fetch)
(uri (list
@@ -610,7 +611,7 @@ aliasing facilities to work just as they would on normal mail.")
version ".tar.gz")))
(sha256
(base32
- "121xrns9b0n5cdjb7nv5a6idjjk58pp7pdclgdphjy9g88i3yxsd"))
+ "0f6f32xlfp36axj5in8b0fcc9m05la27zxqbzpvmd3jbyq9g6fh4"))
(patches (search-patches "mutt-store-references.patch"))))
(build-system gnu-build-system)
(inputs
@@ -1202,14 +1203,14 @@ security functionality including PGP, S/MIME, SSH, and SSL.")
(define-public mu
(package
(name "mu")
- (version "1.10.5")
+ (version "1.10.7")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/djcb/mu/releases/download/v"
version "/mu-" version ".tar.xz"))
(sha256
- (base32 "0bfclmffcqpb7hsgzvg7ailnnrcpvfv4ljcq7ds0z66n37f97xhs"))))
+ (base32 "089w1m6sd0nk9l9j40d357fjym8kxmz7kwh3bclk58jxa6xckapa"))))
(build-system meson-build-system)
(native-inputs
(list pkg-config
@@ -1368,7 +1369,10 @@ invoking @command{notifymuch} from the post-new hook.")
(uri (string-append "https://notmuchmail.org/releases/notmuch-"
version ".tar.xz"))
(sha256
- (base32 "1xl64xh0ijfkx265lcj9cqv1wkzha8gsn9jn4fw4xgvqigr6sxhf"))))
+ (base32 "1xl64xh0ijfkx265lcj9cqv1wkzha8gsn9jn4fw4xgvqigr6sxhf"))
+ (patches
+ ;; Output for some tests varies slightly in Emacs 29.
+ (search-patches "notmuch-emacs-test-output.patch"))))
(build-system gnu-build-system)
(arguments
(list
@@ -1989,7 +1993,7 @@ facilities for checking incoming mail.")
(package
(name "dovecot")
;; Also update dovecot-pigeonhole when updating to a new minor version.
- (version "2.3.20")
+ (version "2.3.21")
(source
(origin
(method url-fetch)
@@ -1997,7 +2001,7 @@ facilities for checking incoming mail.")
(version-major+minor version) "/"
"dovecot-" version ".tar.gz"))
(sha256
- (base32 "0ll546dldhxqk8yr2jnfq0rag7vp9d9hz7gf6pgsnj41jvmk5a6a"))
+ (base32 "0bah6rn5ihczai8q50p6pqxwj73j21smib89ycp7q8qwly9i1c85"))
(patches
(search-patches "dovecot-opensslv3.patch"))))
(build-system gnu-build-system)
@@ -2059,7 +2063,7 @@ It supports mbox/Maildir and its own dbox/mdbox formats.")
(let ((dovecot-version (version-major+minor (package-version dovecot))))
(package
(name "dovecot-pigeonhole")
- (version "0.5.20")
+ (version "0.5.21")
(source
(origin
(method url-fetch)
@@ -2067,7 +2071,7 @@ It supports mbox/Maildir and its own dbox/mdbox formats.")
"https://pigeonhole.dovecot.org/releases/" dovecot-version "/"
"dovecot-" dovecot-version "-pigeonhole-" version ".tar.gz"))
(sha256
- (base32 "163wc5spzvy9pcpsbz3adl22h8f1krp21fh9mql16b7af14bscmf"))
+ (base32 "09zd7n6ljqaj3i3m6r1hn1vb1cjhy64040vji82i4rq7b4k1v9qw"))
(modules '((guix build utils)))
(snippet
'(begin
diff --git a/gnu/packages/markup.scm b/gnu/packages/markup.scm
index cdd9891352..6cb54d0d8f 100644
--- a/gnu/packages/markup.scm
+++ b/gnu/packages/markup.scm
@@ -253,13 +253,13 @@ implementation.
(define-public python-cmarkgfm
(package
(name "python-cmarkgfm")
- (version "0.8.0")
+ (version "2022.10.27")
(source (origin
(method url-fetch)
(uri (pypi-uri "cmarkgfm" version))
(sha256
(base32
- "1jxk9cdir4q1bpjla7b7y1qfjmr7mkd0f802b2sb88njk079p1gy"))
+ "16875bazqd7p7qiky343w0fzasqziyvf72nipyh1r47a2rvsrnck"))
(modules '((guix build utils)))
(snippet
'(begin
@@ -270,13 +270,6 @@ implementation.
(arguments
(list #:phases
#~(modify-phases %standard-phases
- (add-after 'unpack 'relax-requirements
- (lambda _
- ;; Don't depend on bleeding-edge CFFI, as it is
- ;; apparently only needed for Python >= 3.10.
- (substitute* "setup.py"
- (("cffi>=1\\.15\\.0")
- "cffi>=1.0"))))
(add-after 'unpack 'copy-cmark-gfm
(lambda _
;; This package needs the cmark-gfm source files
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index 34bced2c8b..45ca49e04f 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -48,7 +48,7 @@
;;; Copyright © 2021, 2022 Paul A. Patience <paul@apatience.com>
;;; Copyright © 2021 Ivan Gankevich <i.gankevich@spbu.ru>
;;; Copyright © 2021 Jean-Baptiste Volatier <jbv@pm.me>
-;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net>
+;;; Copyright © 2021, 2023 Guillaume Le Vaillant <glv@posteo.net>
;;; Copyright © 2021 Pierre-Antoine Bouttier <pierre-antoine.bouttier@univ-grenoble-alpes.fr>
;;; Copyright © 2022 Zhu Zihao <all_but_last@163.com>
;;; Copyright © 2022 Sharlatan Hellseher <sharlatanus@gmail.com>
@@ -4313,102 +4313,99 @@ to BMP, JPEG or PNG image formats.")
(define-public maxima
(package
(name "maxima")
- (version "5.46.0")
+ (version "5.47.0")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/maxima/Maxima-source/"
version "-source/" name "-" version ".tar.gz"))
(sha256
- (base32
- "01wbm8jj43p7gpdj4h55aij0b44bjydn4bwb7q1wjrfs91mz143k"))
+ (base32 "0yhgsi7s22bpblrmrj60x0jsjdz98b5hjdcq7b0fhlzx4hdh414i"))
(patches (search-patches "maxima-defsystem-mkdir.patch"))))
(build-system gnu-build-system)
(inputs
- `(("bash" ,bash-minimal)
- ("gnuplot" ,gnuplot) ;for plots
- ("sbcl" ,sbcl)
- ("sed" ,sed)
- ("tk" ,tk))) ;Tcl/Tk is used by 'xmaxima'
+ (list bash-minimal
+ gnuplot ;for plots
+ sbcl
+ sed
+ tk)) ;Tcl/Tk is used by 'xmaxima'
(native-inputs
(list texinfo perl python))
(arguments
- `(#:configure-flags
- ,#~(list "--enable-sbcl"
- (string-append "--with-sbcl=" #$sbcl "/bin/sbcl")
- (string-append "--with-posix-shell=" #$bash-minimal "/bin/sh")
- (string-append "--with-wish=" #$tk "/bin/wish"
- #$(version-major+minor (package-version tk))))
- ;; By default Maxima attempts to write temporary files to
- ;; '/tmp/nix-build-maxima-*', which won't exist at run time.
- ;; Work around that.
- #:make-flags (list "TMPDIR=/tmp")
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'patch-paths
- (lambda* (#:key inputs #:allow-other-keys)
- (let* ((sed (search-input-file inputs "/bin/sed"))
- (coreutils (assoc-ref inputs "coreutils"))
- (dirname (string-append coreutils "/bin/dirname"))
- (head (string-append coreutils "/bin/head"))
- (perl (search-input-file inputs "/bin/perl"))
- (python (search-input-file inputs "/bin/python3")))
- (substitute* "src/maxima.in"
- (("sed ") (string-append sed " "))
- (("dirname") dirname)
- (("head") head))
- (substitute* "doc/info/Makefile.in"
- (("/usr/bin/env perl") perl))
- (substitute* "doc/info/build_html.sh.in"
- (("python") python))
- #t)))
- (add-before 'check 'pre-check
- (lambda _
- (chmod "src/maxima" #o555)
- #t))
- (replace 'check
- (lambda _
- ;; This is derived from the testing code in the "debian/rules" file
- ;; of Debian's Maxima package.
- ;; If Maxima can successfully run this, the binary to be installed
- ;; should be fine.
- (invoke "sh" "-c"
- (string-append
- "./maxima-local "
- "--lisp=sbcl "
- "--batch-string=\"run_testsuite();\" "
- "| grep -q \"No unexpected errors found\""))))
- ;; Make sure the doc and emacs files are found in the
- ;; standard location. Also configure maxima to find gnuplot
- ;; without having it on the PATH.
- (add-after 'install 'post-install
- (lambda* (#:key outputs inputs #:allow-other-keys)
- (let* ((gnuplot (assoc-ref inputs "gnuplot"))
- (out (assoc-ref outputs "out"))
- (datadir (string-append out "/share/maxima/" ,version))
- (binutils (dirname (search-input-file inputs "/bin/as"))))
- (with-directory-excursion out
- (mkdir-p "share/emacs")
- (mkdir-p "share/doc")
- (symlink
- (string-append datadir "/doc/")
- (string-append out "/share/doc/maxima"))
- (with-atomic-file-replacement
- (string-append datadir "/share/maxima-init.lisp")
- (lambda (in out)
- (format out "~a ~s~a~%"
- "(setf $gnuplot_command "
- (string-append gnuplot "/bin/gnuplot") ")")
- (dump-port in out))))
- ;; Ensure that Maxima will have access to the GNU binutils
- ;; components at runtime.
- (wrap-program (string-append out "/bin/maxima")
- `("PATH" prefix (,binutils))))
- #t))
- ;; The Maxima command ‘describe’ allows picking the relevant portions
- ;; from Maxima’s Texinfo docs. However it does not support reading
- ;; gzipped info files.
- (delete 'compress-documentation))))
+ (list
+ #:configure-flags
+ #~(list "--enable-sbcl"
+ (string-append "--with-sbcl=" #$sbcl "/bin/sbcl")
+ (string-append "--with-posix-shell=" #$bash-minimal "/bin/sh")
+ (string-append "--with-wish=" #$tk "/bin/wish"
+ #$(version-major+minor (package-version tk))))
+ ;; By default Maxima attempts to write temporary files to
+ ;; '/tmp/nix-build-maxima-*', which won't exist at run time.
+ ;; Work around that.
+ #:make-flags #~(list "TMPDIR=/tmp")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'patch-paths
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let* ((sed (search-input-file inputs "/bin/sed"))
+ (coreutils (assoc-ref inputs "coreutils"))
+ (dirname (string-append coreutils "/bin/dirname"))
+ (head (string-append coreutils "/bin/head"))
+ (perl (search-input-file inputs "/bin/perl"))
+ (python (search-input-file inputs "/bin/python3")))
+ (substitute* "src/maxima.in"
+ (("sed ") (string-append sed " "))
+ (("dirname") dirname)
+ (("head") head))
+ (substitute* "doc/info/Makefile.in"
+ (("/usr/bin/env perl") perl))
+ (substitute* "doc/info/build_html.sh.in"
+ (("python") python)))))
+ (add-before 'check 'pre-check
+ (lambda _
+ (chmod "src/maxima" #o555)))
+ (replace 'check
+ (lambda _
+ ;; This is derived from the testing code in the "debian/rules" file
+ ;; of Debian's Maxima package.
+ ;; If Maxima can successfully run this, the binary to be installed
+ ;; should be fine.
+ (invoke "sh" "-c"
+ (string-append
+ "./maxima-local "
+ "--lisp=sbcl "
+ "--batch-string=\"run_testsuite();\" "
+ "| grep -q \"No unexpected errors found\""))))
+ ;; Make sure the doc and emacs files are found in the
+ ;; standard location. Also configure maxima to find gnuplot
+ ;; without having it on the PATH.
+ (add-after 'install 'post-install
+ (lambda* (#:key outputs inputs #:allow-other-keys)
+ (let* ((gnuplot (assoc-ref inputs "gnuplot"))
+ (out (assoc-ref outputs "out"))
+ (datadir (string-append out "/share/maxima/" #$version))
+ (binutils (dirname (search-input-file inputs "/bin/as"))))
+ (with-directory-excursion out
+ (mkdir-p "share/emacs")
+ (mkdir-p "share/doc")
+ (symlink
+ (string-append datadir "/doc/")
+ (string-append out "/share/doc/maxima"))
+ (with-atomic-file-replacement
+ (string-append datadir "/share/maxima-init.lisp")
+ (lambda (in out)
+ (format out "~a ~s~a~%"
+ "(setf $gnuplot_command "
+ (string-append gnuplot "/bin/gnuplot") ")")
+ (dump-port in out))))
+ ;; Ensure that Maxima will have access to the GNU binutils
+ ;; components at runtime.
+ (wrap-program (string-append out "/bin/maxima")
+ `("PATH" prefix (#$binutils))))))
+ ;; The Maxima command ‘describe’ allows picking the relevant portions
+ ;; from Maxima’s Texinfo docs. However it does not support reading
+ ;; gzipped info files.
+ (delete 'compress-documentation))))
(home-page "https://maxima.sourceforge.io")
(synopsis "Numeric and symbolic expression manipulation")
(description "Maxima is a system for the manipulation of symbolic and
diff --git a/gnu/packages/matrix.scm b/gnu/packages/matrix.scm
index 6107dfc979..32ae62fcb4 100644
--- a/gnu/packages/matrix.scm
+++ b/gnu/packages/matrix.scm
@@ -171,6 +171,13 @@ homeserver and generally help bootstrap the ecosystem.")
(arguments
`(#:phases
(modify-phases %standard-phases
+ (add-after 'unpack 'relax-requirements
+ (lambda _
+ (substitute* "pyproject.toml"
+ ;; Remove upper bounds of cachetool pin.
+ (("cachetools (.*version = )\"\\^4" _ match)
+ (string-append "cachetools " match
+ "\">=4")))))
(add-before 'check 'install-tests
(lambda* (#:key inputs outputs #:allow-other-keys)
(copy-recursively (string-append
diff --git a/gnu/packages/mes.scm b/gnu/packages/mes.scm
index 4176977375..a7924d943d 100644
--- a/gnu/packages/mes.scm
+++ b/gnu/packages/mes.scm
@@ -24,15 +24,10 @@
(define-module (gnu packages mes)
#:use-module (gnu packages)
#:use-module (gnu packages base)
- #:use-module (gnu packages bash)
- #:use-module (gnu packages bootstrap)
- #:use-module (gnu packages compression)
#:use-module (gnu packages cross-base)
- #:use-module (gnu packages gcc)
#:use-module (gnu packages graphviz)
#:use-module (gnu packages guile)
#:use-module (gnu packages man)
- #:use-module (gnu packages package-management)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages texinfo)
diff --git a/gnu/packages/mingw.scm b/gnu/packages/mingw.scm
index 4eeefe1490..0ac6f0e767 100644
--- a/gnu/packages/mingw.scm
+++ b/gnu/packages/mingw.scm
@@ -22,16 +22,10 @@
(define-module (gnu packages mingw)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (gnu packages)
- #:use-module (gnu packages base)
#:use-module (gnu packages cross-base)
- #:use-module (gnu packages gcc)
- #:use-module (gnu packages compression)
- #:use-module (gnu packages multiprecision)
#:use-module (guix build-system gnu)
#:use-module (guix packages)
#:use-module (guix download)
- #:use-module (guix utils)
- #:use-module (ice-9 match)
#:export (make-mingw-w64))
(define* (make-mingw-w64 machine
diff --git a/gnu/packages/monitoring.scm b/gnu/packages/monitoring.scm
index 3238f11fb4..e77ae19194 100644
--- a/gnu/packages/monitoring.scm
+++ b/gnu/packages/monitoring.scm
@@ -454,14 +454,14 @@ and persisting them to disk using the Whisper time-series library.")
(define-public graphite-web
(package
(name "graphite-web")
- (version "1.1.7")
+ (version "1.1.10")
(source
(origin
(method url-fetch)
(uri (pypi-uri "graphite-web" version))
(sha256
(base32
- "1l5a5rry9cakqxamvlx4xq63jifmncb6815bg9vy7fg1zyd3pjxk"))))
+ "0nnk3kwn0b6bq9xnmv9bac6hpcbdgpgwf283c1ck5nm80panh61z"))))
(build-system python-build-system)
(arguments
`(#:tests? #f ;XXX: not in PyPI release & requires database
@@ -471,22 +471,20 @@ and persisting them to disk using the Whisper time-series library.")
(lambda _
(substitute* "setup.py"
;; Allow newer versions of django-tagging.
- (("django-tagging==")
- "django-tagging>="))
- #t))
+ (("django-tagging==") "django-tagging>=")
+ ;; And Django.
+ (("Django>=1\\.8,<3\\.1") "Django>=1.8,<4"))))
;; Don't install to /opt
(add-after 'unpack 'do-not-install-to-/opt
(lambda _ (setenv "GRAPHITE_NO_PREFIX" "1") #t)))))
(propagated-inputs
(list python-cairocffi
- python-pytz
- python-whisper
- python-django-2.2
+ python-django-3.2
python-django-tagging
- python-scandir
- python-urllib3
python-pyparsing
- python-txamqp))
+ python-pytz
+ python-six
+ python-urllib3))
(home-page "https://graphiteapp.org/")
(synopsis "Scalable realtime graphing system")
(description "Graphite is a scalable real-time graphing system that does
diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
index 3f17a054ca..a26719aec2 100644
--- a/gnu/packages/music.scm
+++ b/gnu/packages/music.scm
@@ -2371,7 +2371,7 @@ perform creative live mixes with digital music files.")
(define-public synthv1
(package
(name "synthv1")
- (version "0.9.31")
+ (version "0.9.32")
(source (origin
(method url-fetch)
(uri
@@ -2379,7 +2379,7 @@ perform creative live mixes with digital music files.")
"/synthv1-" version ".tar.gz"))
(sha256
(base32
- "06yfiwnxdawyby63zqm1jv4ihi4fxzabpkba7v4d8lgwvhxa014k"))))
+ "1i76d4w2anccyp70vylxxrmqgf1i3znl98ag82wz8lxb5sh34i4x"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f)) ; there are no tests
@@ -2403,7 +2403,7 @@ oscillators and stereo effects.")
(define-public drumkv1
(package
(name "drumkv1")
- (version "0.9.31")
+ (version "0.9.32")
(source (origin
(method url-fetch)
(uri
@@ -2411,7 +2411,7 @@ oscillators and stereo effects.")
"/drumkv1-" version ".tar.gz"))
(sha256
(base32
- "0cw0lqxd4igkb25vlivbi0hamn33d26nl96mzm59cda158r0jayl"))))
+ "15csm09wjgzdkvy2wqq1jzq7b1m8zzchl5s8fb4ir5rg395jkxai"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f)) ; there are no tests
@@ -2436,7 +2436,7 @@ effects.")
(define-public samplv1
(package
(name "samplv1")
- (version "0.9.31")
+ (version "0.9.32")
(source (origin
(method url-fetch)
(uri
@@ -2444,7 +2444,7 @@ effects.")
"/samplv1-" version ".tar.gz"))
(sha256
(base32
- "1jqblmb24vbnpm4a4wlvasz45h3zy00rrpf850yxaplyf0qb8klx"))))
+ "17w5m5sk8fcnnph1njz9sz031kk0aid8mhs64myc2jvpvwm5snlb"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f)) ; there are no tests
@@ -2469,7 +2469,7 @@ effects.")
(define-public padthv1
(package
(name "padthv1")
- (version "0.9.31")
+ (version "0.9.32")
(source (origin
(method url-fetch)
(uri
@@ -2477,7 +2477,7 @@ effects.")
"/padthv1-" version ".tar.gz"))
(sha256
(base32
- "1iqmjdxihil039c8g9kywd5dx3rd47ph2fs6f6kcyfwj9jz4aprh"))))
+ "0qpdyczgqblf3sxjkvxn2g8qyx1hm0pmiqhncncrijbaalazsp7m"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f)) ; there are no tests
@@ -3482,14 +3482,14 @@ from the command line.")
(define-public qtractor
(package
(name "qtractor")
- (version "0.9.34")
+ (version "0.9.35")
(source (origin
(method url-fetch)
(uri (string-append "https://downloads.sourceforge.net/qtractor/"
"qtractor-" version ".tar.gz"))
(sha256
(base32
- "0w6g51jhj9c72j6qjjkjhiq0vwklb6q4cr3xgj4mzp0iw279hbjz"))))
+ "1v3w8x9dfqldfa8gjxxszzclnhqlgyanpr7b4dhva68qyxmp4m7v"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f)) ; no "check" target
@@ -5517,7 +5517,7 @@ for the DSSI Soft Synth Interface. A brief list of features:
(define-public libdiscid
(package
(name "libdiscid")
- (version "0.6.2")
+ (version "0.6.4")
(source
(origin
(method url-fetch)
@@ -5525,8 +5525,7 @@ for the DSSI Soft Synth Interface. A brief list of features:
"http://ftp.musicbrainz.org/pub/musicbrainz/libdiscid/libdiscid-"
version ".tar.gz"))
(sha256
- (base32
- "1f9irlj3dpb5gyfdnb1m4skbjvx4d4hwiz2152f83m0d9jn47r7r"))))
+ (base32 "10mj1hwv1598nsi7jw5di0pfcwk36g4rr6kl7gi45m7ak8f8ypnx"))))
(arguments `(#:test-target "check"))
(build-system cmake-build-system)
(home-page "https://musicbrainz.org/doc/libdiscid")
diff --git a/gnu/packages/musl.scm b/gnu/packages/musl.scm
index d61d6b2461..dfd0e12186 100644
--- a/gnu/packages/musl.scm
+++ b/gnu/packages/musl.scm
@@ -28,14 +28,14 @@
(define-public musl
(package
(name "musl")
- (version "1.2.3")
+ (version "1.2.4")
(source (origin
(method url-fetch)
(uri (string-append "https://www.musl-libc.org/releases/"
"musl-" version ".tar.gz"))
(sha256
(base32
- "196lrzw0qy5axiz9p5ay50q2mls8hbfckr4rw0klc7jjc9h0nnvx"))))
+ "0fgh2hhsbaksx7my6yiva4jqixi6hxwxx20ivb0afwjk7piyldbs"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; musl has no tests
diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
index 1eb464673d..c1cab1fe0d 100644
--- a/gnu/packages/networking.scm
+++ b/gnu/packages/networking.scm
@@ -286,6 +286,44 @@ strict standards compliance. The code does, however, fairly closely follow
the RFC.")
(license (list license:gpl2 license:gpl3))))
+(define-public netperf
+ (let ((version "2.7.0")
+ (revision "1")
+ (commit "3bc455b23f901dae377ca0a558e1e32aa56b31c4"))
+ (package
+ (name "netperf")
+ (version (git-version version revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/HewlettPackard/netperf")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1msbhbvf39r1a0c9b9myla5i6235fvnp7r6021fl8b5svxjbb0dk"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:configure-flags
+ ;; Without -fcommon the build fails on newer gcc.
+ ;; See: https://gcc.gnu.org/gcc-10/porting_to.html
+ (list "CFLAGS=-fcommon"
+ ;; --enable-demo is needed for flent (not yet packaged).
+ "--enable-demo")))
+ (native-inputs
+ (list autoconf
+ automake))
+ (home-page "https://hewlettpackard.github.io/netperf/")
+ (synopsis "Benchmarking tool to measure network performance")
+ (description
+ "Netperf is a benchmark that can be used to measure the performance of
+many different types of networking. It provides tests for both unidirectional
+throughput, and end-to-end latency. The environments currently measureable
+by netperf include: TCP and UDP via BSD Sockets for both IPv4 and IPv6, DLPI,
+Unix Domain Sockets, SCTP for both IPv4 and IPv6.")
+ (license license:expat))))
+
(define-public lcsync
(package
(name "lcsync")
@@ -1194,7 +1232,7 @@ or server shell scripts with network connections.")
(define-public mbuffer
(package
(name "mbuffer")
- (version "20220418")
+ (version "20230301")
(source (origin
(method url-fetch)
(uri (string-append
@@ -1202,7 +1240,7 @@ or server shell scripts with network connections.")
version ".tgz"))
(sha256
(base32
- "1iq0lcl350r7qja7yyv911aay26d0dd8n0h33mfl84gzypwh2n3f"))))
+ "009d4m48yjidb91vdnrfv84nnd76n0i57g607llan3y0vq4n5xsk"))))
(build-system gnu-build-system)
(native-inputs
(list which))
@@ -1928,15 +1966,16 @@ transmission protocol (SCTP) in a Go application.")
(define-public httping
(package
(name "httping")
- (version "2.5")
+ (version "2.9")
(source
(origin
- (method url-fetch)
- (uri (string-append "https://www.vanheusden.com/httping/httping-"
- version ".tgz"))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/folkertvanheusden/HTTPing")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
(sha256
- (base32
- "1y7sbgkhgadmd93x1zafqc4yp26ssiv16ni5bbi9vmvvdl55m29y"))))
+ (base32 "1gbpirzih0zr93fm71scqjji9wwkfp64q8z36857blsngdfm6k38"))))
(build-system gnu-build-system)
(arguments
(list #:make-flags
@@ -2654,7 +2693,7 @@ that block port 22.")
(define-public iperf
(package
(name "iperf")
- (version "3.14")
+ (version "3.15")
(source
(origin
(method git-fetch)
@@ -2663,7 +2702,7 @@ that block port 22.")
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "0xy7q508yrraa8q3bxdsc2fwacc6qm7l6p44a07jp7ki8bwdcs8z"))))
+ (base32 "10fzz3j2kx36yhqd0mvwlawvhdbcm0qc41i3f6jf6a5whm70177q"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags
@@ -3426,14 +3465,14 @@ Features:
(define-public net-snmp
(package
(name "net-snmp")
- (version "5.9.3")
+ (version "5.9.4")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/net-snmp/net-snmp/"
version "/net-snmp-" version ".tar.gz"))
(sha256
(base32
- "02pgl89s8qll5zhdp61rbn6vpl084gx55bjb1cqg3wqvgsdz55r0"))
+ "0i05bds30jazb2wq0hn3mh1zmmnnl9hkkd5y2iq3qkp7j49y0kcb"))
(modules '((guix build utils)))
(snippet
'(begin
@@ -4252,14 +4291,14 @@ cables.")
(define-public lldpd
(package
(name "lldpd")
- (version "1.0.16")
+ (version "1.0.17")
(source
(origin
(method url-fetch)
(uri (string-append "https://media.luffy.cx/files/lldpd/lldpd-"
version ".tar.gz"))
(sha256
- (base32 "1ab5hkgi2iwqpfw6xy2wxjhqmz6pnkynfkg85zm7r9kv1ijr3cz3"))
+ (base32 "1ki7c7ffys42s2wy5c94qriicgwx0wl9bm83xxkclasx2izifhwk"))
(modules '((guix build utils)))
(snippet
'(begin
@@ -4524,7 +4563,7 @@ Further information on the usage could be found on the Wikibooks page
(define-public putty
(package
(name "putty")
- (version "0.77")
+ (version "0.79")
(source
(origin
(method url-fetch)
@@ -4533,7 +4572,7 @@ Further information on the usage could be found on the Wikibooks page
(string-append "http://www.putty.be/" version
"/putty-" version ".tar.gz")))
(sha256
- (base32 "1rgabc447a5aa9h16krpg3x78vh5jf4l6hkbqzr4bz9qabs7d6j1"))))
+ (base32 "1n7h1vprayfgjr21ccsv77g71k8dk10n69y99azqx4xvdxkci322"))))
(build-system cmake-build-system)
(arguments
`(#:phases
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 8ff755aea9..8543505dbb 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -219,7 +219,7 @@ This package produces a native @command{ocamlc} and a bytecode @command{ocamllex
(arguments
`(#:configure-flags '("--enable-ocamltest")
#:test-target "tests"
- #:make-flags '("world.opt")
+ #:make-flags '("defaultentry")
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch-/bin/sh-references
@@ -5324,82 +5324,86 @@ necessary set of rewriters.")
(license license:expat)))
(define-public bap
- (package
- (name "bap")
- (version "2.5.0-alpha")
- (home-page "https://github.com/BinaryAnalysisPlatform/bap")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url home-page)
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "1fw9pp0xnssc08qqfkcafffap4f46hw7zmk80gif5yc4nazga8w5"))))
- (build-system ocaml-build-system)
- (arguments
- (list
- #:use-make? #t
- #:phases
- #~(modify-phases %standard-phases
- (add-before 'configure 'fix-ncurses
- (lambda _
- (substitute* "oasis/llvm"
- (("-lcurses") "-lncurses"))
- #t))
- (replace 'configure
- (lambda* (#:key outputs inputs #:allow-other-keys)
- (for-each make-file-writable (find-files "." "."))
- ;; Package name changed
- (substitute* "oasis/elf-loader"
- (("bitstring.ppx") "ppx_bitstring"))
- ;; We don't have a monolithic llvm
- (substitute* "oasis/llvm.setup.ml.in"
- (("llvm_static = \"true\"") "true"))
- (invoke "./configure" "--prefix"
- (assoc-ref outputs "out")
- "--libdir"
- (string-append
+ (let (;; Let pin one commit because -alpha is subject to change.
+ ;; The last stable release v2.5.0 is from July 2022.
+ (revision "0")
+ (commit "f995d28a4a34abb4cef8e0b3bd3c41cd710ccf1a"))
+ (package
+ (name "bap")
+ (version (git-version "2.6.0-alpha" revision commit))
+ (home-page "https://github.com/BinaryAnalysisPlatform/bap")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url home-page)
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1zfkc8nagf8kvxbypalbhf6gs0c7i48zx53hlpak2ipjwhvm5im5"))))
+ (build-system ocaml-build-system)
+ (arguments
+ (list
+ #:use-make? #t
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'configure 'fix-ncurses
+ (lambda _
+ (substitute* "oasis/llvm"
+ (("-lcurses") "-lncurses"))
+ #t))
+ (replace 'configure
+ (lambda* (#:key outputs inputs #:allow-other-keys)
+ (for-each make-file-writable (find-files "." "."))
+ ;; Package name changed
+ (substitute* "oasis/elf-loader"
+ (("bitstring.ppx") "ppx_bitstring"))
+ ;; We don't have a monolithic llvm
+ (substitute* "oasis/llvm.setup.ml.in"
+ (("llvm_static = \"true\"") "true"))
+ (invoke "./configure" "--prefix"
(assoc-ref outputs "out")
- "/lib/ocaml/site-lib")
- (string-append "--with-llvm-version=" #$(package-version llvm))
- "--with-llvm-config=llvm-config"
- "--disable-ghidra"
- "--disable-llvm-static"
- "--enable-llvm"
- "--enable-everything"))))))
- (native-inputs (list clang ocaml-oasis ocaml-ounit))
- (propagated-inputs
- (list
- camlzip
- ocaml-bitstring
- ocaml-cmdliner
- ocaml-core-kernel
- ocaml-ezjsonm
- ocaml-fileutils
- ocaml-frontc
- ocaml-graph
- ocaml-linenoise
- ocaml-ocurl
- ocaml-piqi
- ocaml-ppx-bap
- ocaml-ppx-bitstring
- ocaml-re
- ocaml-uri
- ocaml-utop
- ocaml-uuidm
- ocaml-yojson
- ocaml-z3
- ocaml-zarith))
- (inputs
- (list gmp llvm ncurses))
- (synopsis "Binary Analysis Platform")
- (description "Binary Analysis Platform is a framework for writing program
+ "--libdir"
+ (string-append
+ (assoc-ref outputs "out")
+ "/lib/ocaml/site-lib")
+ (string-append "--with-llvm-version=" #$(package-version llvm))
+ "--with-llvm-config=llvm-config"
+ "--disable-ghidra"
+ "--disable-llvm-static"
+ "--enable-llvm"
+ "--enable-everything"))))))
+ (native-inputs (list clang ocaml-oasis ocaml-ounit))
+ (propagated-inputs
+ (list
+ camlzip
+ ocaml-bitstring
+ ocaml-cmdliner
+ ocaml-core-kernel
+ ocaml-ezjsonm
+ ocaml-fileutils
+ ocaml-frontc
+ ocaml-graph
+ ocaml-linenoise
+ ocaml-ocurl
+ ocaml-piqi
+ ocaml-ppx-bap
+ ocaml-ppx-bitstring
+ ocaml-re
+ ocaml-uri
+ ocaml-utop
+ ocaml-uuidm
+ ocaml-yojson
+ ocaml-z3
+ ocaml-zarith))
+ (inputs
+ (list gmp llvm ncurses))
+ (synopsis "Binary Analysis Platform")
+ (description "Binary Analysis Platform is a framework for writing program
analysis tools, that target binary files. The framework consists of a plethora
of libraries, plugins, and frontends. The libraries provide code reusability,
the plugins facilitate extensibility, and the frontends serve as entry points.")
- (license license:expat)))
+ (license license:expat))))
(define-public ocaml-camomile
(package
diff --git a/gnu/packages/opencl.scm b/gnu/packages/opencl.scm
index 85b063b136..036834f567 100644
--- a/gnu/packages/opencl.scm
+++ b/gnu/packages/opencl.scm
@@ -161,9 +161,6 @@ implementation. The ICD Loader is responsible for:
This package contains the Khronos official OpenCL ICD Loader.")
(license license:asl2.0)))
-(define-public ocl-icd
- (deprecated-package "ocl-icd" opencl-icd-loader))
-
(define-public clinfo
(package
(name "clinfo")
@@ -197,6 +194,31 @@ possible (known) properties of the OpenCL platform and devices available on
the system.")
(license license:cc0)))
+(define-public ocl-icd
+ (package
+ (name "ocl-icd")
+ (version "2.3.2")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/OCL-dev/ocl-icd")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0y0lnxb6zlhfb5vxxib5n1vvxa4b23qc0j3lsih6yjz9j37mj7wz"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ (list autoconf automake libtool ruby))
+ (home-page "https://github.com/OCL-dev/ocl-icd")
+ (synopsis "Generic OpenCL @acronym{ICD, Installable Client Driver} loader")
+ (description
+ "This package provides an OpenCL @acronym{ICD, Installable Client Driver}
+loader. It maintains a YAML database of all known and guessed function pointers
+from vendor-specific drivers. It also delivers a skeleton of bindings to
+incorporate inside an OpenCL implementation to give it ICD functionalities.")
+ (license license:bsd-2)))
+
(define-public beignet
(package
(name "beignet")
@@ -230,6 +252,7 @@ the system.")
("libxext" ,libxext)
("mesa-utils" ,mesa-utils)
("ncurses" ,ncurses)
+ ("ocl-icd" ,ocl-icd)
("opencl-icd-loader" ,opencl-icd-loader)
("opencl-headers" ,opencl-headers)
("xextproto" ,xextproto)
diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm
index e899817093..cbda40f78b 100644
--- a/gnu/packages/package-management.scm
+++ b/gnu/packages/package-management.scm
@@ -962,8 +962,8 @@ transactions from C or Python.")
(license license:gpl2+)))
(define-public bffe
- (let ((commit "634d3444c094dd594bdf2b15b9a71055462ae676")
- (revision "1"))
+ (let ((commit "722c37ec8a23835edfc85cba3d89868592a2ed2d")
+ (revision "2"))
(package
(name "bffe")
(version (git-version "0" revision commit))
@@ -974,7 +974,7 @@ transactions from C or Python.")
(commit commit)))
(sha256
(base32
- "0z13hyaq6bs2j3hnr7ys2vsyx2554zy69ka21savywx0ci3hhfk3"))
+ "05i4awyirp440pk4vwa0sf46gi801zv839qm1i2z7jipm1xfwaxx"))
(file-name (string-append name "-" version "-checkout"))))
(build-system gnu-build-system)
(native-inputs
@@ -1501,8 +1501,8 @@ environments.")
"0k9zkdyyzir3fvlbcfcqy17k28b51i20rpbjwlx2i1mwd2pw9cxc")))))))
(define-public guix-build-coordinator
- (let ((commit "cbded42c284cca4ecaaebbf0a666cf89efc465a7")
- (revision "88"))
+ (let ((commit "9c42dcb726fc925606b12695e195ae1dc7e28cc3")
+ (revision "89"))
(package
(name "guix-build-coordinator")
(version (git-version "0" revision commit))
@@ -1513,7 +1513,7 @@ environments.")
(commit commit)))
(sha256
(base32
- "1z2wdf5h4dxq9g7a6j7nvmrsqcibrfm8nmkakqgz7ipcxyk0vzjx"))
+ "18m368rgmaiscmr1jlz77qkfw5fp4m8szgh90l6wbi9w68yfmr4n"))
(file-name (string-append name "-" version "-checkout"))))
(build-system gnu-build-system)
(arguments
diff --git a/gnu/packages/password-utils.scm b/gnu/packages/password-utils.scm
index 753a29dcca..be85898c41 100644
--- a/gnu/packages/password-utils.scm
+++ b/gnu/packages/password-utils.scm
@@ -145,7 +145,7 @@ human.")
(define-public keepassxc
(package
(name "keepassxc")
- (version "2.7.5")
+ (version "2.7.6")
(source
(origin
(method url-fetch)
@@ -153,7 +153,7 @@ human.")
"/releases/download/" version "/keepassxc-"
version "-src.tar.xz"))
(sha256
- (base32 "03002fncllr658mgl5s6an5wnh0a333qnkxad6aw85hqj004iqpd"))))
+ (base32 "0w6nh2lnzfqcxasfsppmh4q309p1flzgfiv25hahzsd8kx879055"))))
(build-system cmake-build-system)
(arguments
(list
diff --git a/gnu/packages/patches/alure-dumb-2.patch b/gnu/packages/patches/alure-dumb-2.patch
new file mode 100644
index 0000000000..60d18f8570
--- /dev/null
+++ b/gnu/packages/patches/alure-dumb-2.patch
@@ -0,0 +1,30 @@
+Source: https://gitlab.archlinux.org/archlinux/packaging/packages/alure/-/blob/main/dumb-2.patch
+
+diff -Naur a/src/codec_dumb.cpp b/src/codec_dumb.cpp
+--- a/src/codec_dumb.cpp 2011-07-29 09:37:48.000000000 +0100
++++ b/src/codec_dumb.cpp 2020-05-10 15:59:48.502632496 +0100
+@@ -272,7 +272,11 @@
+
+ private:
+ // DUMBFILE iostream callbacks
++#if DUMB_VERSION >= 2*10000
++ static int skip(void *user_data, dumb_off_t offset)
++#else
+ static int skip(void *user_data, long offset)
++#endif
+ {
+ std::istream *stream = static_cast<dumbStream*>(user_data)->fstream;
+ stream->clear();
+@@ -282,7 +286,11 @@
+ return -1;
+ }
+
++#if DUMB_VERSION >= 2*10000
++ static dumb_ssize_t read(char *ptr, size_t size, void *user_data)
++#else
+ static long read(char *ptr, long size, void *user_data)
++#endif
+ {
+ std::istream *stream = static_cast<dumbStream*>(user_data)->fstream;
+ stream->clear();
+
diff --git a/gnu/packages/patches/emacs-all-the-icons-remove-duplicate-rs.patch b/gnu/packages/patches/emacs-all-the-icons-remove-duplicate-rs.patch
new file mode 100644
index 0000000000..2c6b14e0aa
--- /dev/null
+++ b/gnu/packages/patches/emacs-all-the-icons-remove-duplicate-rs.patch
@@ -0,0 +1,21 @@
+From 24b8d5b63e347bd4cdcf79bf897fc0097fa20fc7 Mon Sep 17 00:00:00 2001
+From: Michael Wernthaler <michael.wernthaler@posteo.de>
+Date: Thu, 22 Jul 2021 11:27:31 +0200
+Subject: [PATCH] Fixed icon for .rs-files
+
+---
+ all-the-icons.el | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/all-the-icons.el b/all-the-icons.el
+index e1f4cb7695..3399906cfb 100644
+--- a/all-the-icons.el
++++ b/all-the-icons.el
+@@ -194,7 +194,6 @@
+ ("r" all-the-icons-fileicon "R" :face all-the-icons-lblue)
+ ("rd" all-the-icons-fileicon "R" :face all-the-icons-lblue)
+ ("rdx" all-the-icons-fileicon "R" :face all-the-icons-lblue)
+- ("rs" all-the-icons-fileicon "R" :face all-the-icons-lblue)
+ ("rsx" all-the-icons-fileicon "R" :face all-the-icons-lblue)
+ ;; There seems to be a a bug with this font icon which does not
+ ;; let you propertise it without it reverting to being a lower
diff --git a/gnu/packages/patches/emacs-haskell-mode-no-redefine-builtin.patch b/gnu/packages/patches/emacs-haskell-mode-no-redefine-builtin.patch
new file mode 100644
index 0000000000..65ace2ee5e
--- /dev/null
+++ b/gnu/packages/patches/emacs-haskell-mode-no-redefine-builtin.patch
@@ -0,0 +1,75 @@
+From faa95a784d2c74c72e70367a5d531df6dd61aeab Mon Sep 17 00:00:00 2001
+From: Steve Purcell <steve@sanityinc.com>
+Date: Sun, 6 Aug 2023 16:41:48 +0200
+Subject: [PATCH] Don't redefine built-in function
+
+Fixes #1817
+---
+ tests/haskell-indent-tests.el | 14 ++++++++------
+ tests/haskell-indentation-tests.el | 14 ++++++++------
+ 2 files changed, 16 insertions(+), 12 deletions(-)
+
+diff --git a/tests/haskell-indent-tests.el b/tests/haskell-indent-tests.el
+index 7196405b8..9a3de4ad3 100644
+--- a/tests/haskell-indent-tests.el
++++ b/tests/haskell-indent-tests.el
+@@ -40,11 +40,13 @@
+ ;; (haskell-indent-put-region-in-literate (point-min) (point-max) -1)
+ ;; (buffer-substring-no-properties (point-min) (point-max))))))
+
+-(defsubst string-trim-left (string)
+- "Remove leading whitespace from STRING."
+- (if (string-match "\\`[ \t\n\r]+" string)
+- (replace-match "" t t string)
+- string))
++(if (fboundp 'string-trim-left)
++ (defalias 'haskell--string-trim-left 'string-trim-left)
++ (defun haskell--string-trim-left (string &optional regexp)
++ "Remove leading whitespace from STRING."
++ (if (string-match (concat "\\`\\(?:" (or regexp "[ \t\n\r]+") "\\)") string)
++ (substring string (match-end 0))
++ string)))
+
+ (defun haskell-indent-format-info (info)
+ (if (cdr info)
+@@ -128,7 +130,7 @@ macro quotes them for you."
+ :expected-result
+ ,(if allow-failure :failed :passed)
+ (haskell-indent-check
+- ,(string-trim-left source)
++ ,(haskell--string-trim-left source)
+ ,@(mapcar (lambda (x)
+ (list 'quote x))
+ test-cases))))))
+diff --git a/tests/haskell-indentation-tests.el b/tests/haskell-indentation-tests.el
+index 4889b76a7..cd783a4f4 100644
+--- a/tests/haskell-indentation-tests.el
++++ b/tests/haskell-indentation-tests.el
+@@ -33,11 +33,13 @@
+
+ ;;; Code:
+
+-(defsubst string-trim-left (string)
+- "Remove leading whitespace from STRING."
+- (if (string-match "\\`[ \t\n\r]+" string)
+- (replace-match "" t t string)
+- string))
++(if (fboundp 'string-trim-left)
++ (defalias 'haskell--string-trim-left 'string-trim-left)
++ (defun haskell--string-trim-left (string &optional regexp)
++ "Remove leading whitespace from STRING."
++ (if (string-match (concat "\\`\\(?:" (or regexp "[ \t\n\r]+") "\\)") string)
++ (substring string (match-end 0))
++ string)))
+
+ (defun haskell-indentation-check (source &rest test-cases)
+ "Check if `haskell-indentation-find-indentations' returns expected results.
+@@ -115,7 +117,7 @@ macro quotes them for you."
+ :expected-result
+ ,(if allow-failure :failed :passed)
+ (haskell-indentation-check
+- ,(string-trim-left source)
++ ,(haskell--string-trim-left source)
+ ,@(mapcar (lambda (x)
+ (list 'quote x))
+ test-cases))))))
diff --git a/gnu/packages/patches/emacs-helpful-fix-tests.patch b/gnu/packages/patches/emacs-helpful-fix-tests.patch
new file mode 100644
index 0000000000..61ed0671a4
--- /dev/null
+++ b/gnu/packages/patches/emacs-helpful-fix-tests.patch
@@ -0,0 +1,28 @@
+From 233e254bbe44f70ca899a506b3706af489228fda Mon Sep 17 00:00:00 2001
+From: aagon <aymeric.agon@hotmail.fr>
+Date: Thu, 10 Aug 2023 20:03:52 +0200
+Subject: [PATCH] Repair helpful--display-implementations test for emacs 29.1
+
+---
+ test/helpful-unit-test.el | 8 ++++++--
+ 1 file changed, 6 insertions(+), 2 deletions(-)
+
+diff --git a/test/helpful-unit-test.el b/test/helpful-unit-test.el
+index 0f5177b..0716b0d 100644
+--- a/test/helpful-unit-test.el
++++ b/test/helpful-unit-test.el
+@@ -1089,8 +1089,12 @@ find the source code."
+ (require 'xref)
+ (helpful-function 'xref-location-marker)
+ (should (s-contains-p "Implementations" (buffer-string)))
+- (should (s-contains-p "((l xref-file-location))" (buffer-string)))
+- (should (s-contains-p "((l xref-buffer-location))" (buffer-string))))
++ (should (if (version< emacs-version "29.1")
++ (s-contains-p "((l xref-file-location))" (buffer-string))
++ (s-contains-p "(xref-location-marker (L xref-file-location))" (buffer-string))))
++ (should (if (version< emacs-version "29.1")
++ (s-contains-p "((l xref-buffer-location))" (buffer-string))
++ (s-contains-p "(xref-location-marker (L xref-buffer-location))" (buffer-string)))))
+
+ (defun helpful--boring-advice (orig-fn &rest args)
+ (apply orig-fn args))
diff --git a/gnu/packages/patches/emacs-source-date-epoch.patch b/gnu/packages/patches/emacs-source-date-epoch.patch
deleted file mode 100644
index 77ea7ac15c..0000000000
--- a/gnu/packages/patches/emacs-source-date-epoch.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-Honor SOURCE_DATE_EPOCH variable to avoid non-determinism in generated
-"autoloads" files.
-
---- a/lisp/emacs-lisp/autoload.el
-+++ b/lisp/emacs-lisp/autoload.el
-@@ -419,8 +419,12 @@
- ;; nil t))
- ;; (match-end 2))))
- (insert generate-autoload-section-header)
-- (prin1 `(autoloads ,autoloads ,load-name ,file ,time)
-- outbuf)
-+ (let* ((env (getenv "SOURCE_DATE_EPOCH"))
-+ (time (if env
-+ (seconds-to-time (string-to-number env))
-+ time)))
-+ (prin1 `(autoloads ,autoloads ,load-name ,file ,time)
-+ outbuf))
- (terpri outbuf)
- ;; Break that line at spaces, to avoid very long lines.
- ;; Make each sub-line into a comment.
diff --git a/gnu/packages/patches/emacs-yasnippet-fix-empty-snippet-next.patch b/gnu/packages/patches/emacs-yasnippet-fix-empty-snippet-next.patch
new file mode 100644
index 0000000000..1faea2b456
--- /dev/null
+++ b/gnu/packages/patches/emacs-yasnippet-fix-empty-snippet-next.patch
@@ -0,0 +1,59 @@
+From 925292484162bc35c4258e72c36462bb13a5c69a Mon Sep 17 00:00:00 2001
+From: Liliana Marie Prikler <liliana.prikler@gmail.com>
+Date: Sat, 19 Aug 2023 08:38:17 +0200
+Subject: [PATCH] Guard against empty snippet in yas-next-field.
+
+---
+ yasnippet.el | 29 +++++++++++++++--------------
+ 1 file changed, 15 insertions(+), 14 deletions(-)
+
+diff --git a/yasnippet.el b/yasnippet.el
+index e0b5537..41d86dd 100644
+--- a/yasnippet.el
++++ b/yasnippet.el
+@@ -136,6 +136,7 @@
+ (declare-function cl-progv-after "cl-extra") ; Needed for 23.4.
+ (require 'easymenu)
+ (require 'help-mode)
++(require 'subr-x)
+
+ (defvar yas--editing-template)
+ (defvar yas--guessed-modes)
+@@ -3386,20 +3387,20 @@ Otherwise delegate to `yas-next-field'."
+ If there's none, exit the snippet."
+ (interactive)
+ (unless arg (setq arg 1))
+- (let* ((active-field (overlay-get yas--active-field-overlay 'yas--field))
+- (snippet (car (yas-active-snippets (yas--field-start active-field)
+- (yas--field-end active-field))))
+- (target-field (yas--find-next-field arg snippet active-field)))
+- (yas--letenv (yas--snippet-expand-env snippet)
+- ;; Apply transform to active field.
+- (when active-field
+- (let ((yas-moving-away-p t))
+- (when (yas--field-update-display active-field)
+- (yas--update-mirrors snippet))))
+- ;; Now actually move...
+- (if target-field
+- (yas--move-to-field snippet target-field)
+- (yas-exit-snippet snippet)))))
++ (and-let* ((active-field (overlay-get yas--active-field-overlay 'yas--field))
++ (snippet (car (yas-active-snippets (yas--field-start active-field)
++ (yas--field-end active-field)))))
++ (let ((target-field (yas--find-next-field arg snippet active-field)))
++ (yas--letenv (yas--snippet-expand-env snippet)
++ ;; Apply transform to active field.
++ (when active-field
++ (let ((yas-moving-away-p t))
++ (when (yas--field-update-display active-field)
++ (yas--update-mirrors snippet))))
++ ;; Now actually move...
++ (if target-field
++ (yas--move-to-field snippet target-field)
++ (yas-exit-snippet snippet))))))
+
+ (defun yas--place-overlays (snippet field)
+ "Correctly place overlays for SNIPPET's FIELD."
+--
+2.41.0
+
diff --git a/gnu/packages/patches/emacs-yasnippet-fix-tests.patch b/gnu/packages/patches/emacs-yasnippet-fix-tests.patch
index c70cc75d92..5995b0afa4 100644
--- a/gnu/packages/patches/emacs-yasnippet-fix-tests.patch
+++ b/gnu/packages/patches/emacs-yasnippet-fix-tests.patch
@@ -10,6 +10,11 @@ Content-Transfer-Encoding: 8bit
- A test that was temporarily broken passes again.
- The default for ‘org-adapt-indentation’ has changed.
- buffer-list may be called with arguments when native-comp is enabled.
+
+2023-08-19 Liliana Marie Prikler <liliana.prikler@gmail.com>
+
+ * delete-numberless-inner-snippet-issue-562: Correct value in
+ looking-at.
---
yasnippet-tests.el | 45 ++++++++++++++++++++++++++++-----------------
1 file changed, 28 insertions(+), 17 deletions(-)
@@ -26,6 +31,15 @@ index f7ca2bb..7618ab7 100644
;; Author: João Távora <joaot@siscog.pt>
;; Keywords: emulations, convenience
+@@ -289,7 +289,7 @@ attention to case differences."
+ (should (looking-at "testblable"))
+ (ert-simulate-command '(yas-next-field-or-maybe-expand))
+ (ert-simulate-command '(yas-skip-and-clear-field))
+- (should (looking-at "ble"))
++ (should (looking-at "blable"))
+ (should (null (yas-active-snippets)))))
+
+ (ert-deftest delete-nested-simple-field-issue-824 ()
@@ -556,16 +556,19 @@ XXXXX ------------------------"))))
(yas-mock-insert "foo bar")
(ert-simulate-command '(yas-next-field))
diff --git a/gnu/packages/patches/enblend-enfuse-reproducible.patch b/gnu/packages/patches/enblend-enfuse-reproducible.patch
new file mode 100644
index 0000000000..8bd6a3aeda
--- /dev/null
+++ b/gnu/packages/patches/enblend-enfuse-reproducible.patch
@@ -0,0 +1,44 @@
+# HG changeset patch
+# User Bernhard M. Wiedemann <bwiedemann@suse.de>
+# Date 1502609999 -7200
+# Sun Aug 13 09:39:59 2017 +0200
+# Node ID a98e00eed893f62dd8349fc2894abca3aff4b33a
+# Parent 41ce01b7d413b3654211da0147857e7d6a1495de
+Facilitate reproducible builds
+by allowing to externally hold constant the build date and time.
+See
+ https://reproducible-builds.org/specs/source-date-epoch/
+
+Backport asap.
+
+diff -r 41ce01b7d413 -r a98e00eed893 NEWS
+--- a/NEWS Sun Aug 13 09:39:56 2017 +0200
++++ b/NEWS Sun Aug 13 09:39:59 2017 +0200
+@@ -48,6 +48,12 @@
+ https://github.com/akrzemi1/Optional
+ where only "optional.hpp" is needed.
+
++- The environment variable SOURCE_DATE_EPOCH overrides the build
++ timestamp as recorded by the signatures. See
++ https://reproducible-builds.org/specs/source-date-epoch/
++ for details.
++
++
+
+ * Version 4.2 "Compressor Road"
+
+diff -r 41ce01b7d413 -r a98e00eed893 src/DefaultSig.pm
+--- a/src/DefaultSig.pm Sun Aug 13 09:39:56 2017 +0200
++++ b/src/DefaultSig.pm Sun Aug 13 09:39:59 2017 +0200
+@@ -109,9 +109,10 @@
+ sub update_date_and_time {
+ my $self = shift;
+
++ my $now = $ENV{SOURCE_DATE_EPOCH} || time;
+ my ($second, $minute, $hour,
+ $day_of_month, $month, $year,
+- $day_of_week) = $self->is_using_gmt() ? gmtime : localtime;
++ $day_of_week) = $self->is_using_gmt() ? gmtime($now) : localtime($now);
+
+ $self->{DATE} = $self->format_date($day_of_month, $month, $year + 1900, $day_of_week,
+ $self->weekdays->[$day_of_week],
diff --git a/gnu/packages/patches/evdi-fix-build-with-linux-6.2.patch b/gnu/packages/patches/evdi-fix-build-with-linux-6.2.patch
deleted file mode 100644
index 0c53cd2ef7..0000000000
--- a/gnu/packages/patches/evdi-fix-build-with-linux-6.2.patch
+++ /dev/null
@@ -1,72 +0,0 @@
-Fix the build with Linux 6.2:
-
-https://github.com/DisplayLink/evdi/issues/402
-
-Patch copied from upstream pull request:
-
-https://github.com/DisplayLink/evdi/pull/401
-
-From a90ecd5f0f09e976e4b8784fa16b92804138b1bd Mon Sep 17 00:00:00 2001
-From: listout <listout@protonmail.com>
-Date: Wed, 22 Feb 2023 13:09:40 +0530
-Subject: [PATCH] Original patch was suggested by Crashdummyy.
-
-Since commit 9877d8f6bc374912b08dfe862cddbb78b395a5ef
-feild fbdev has been renamed to info in struct drm_fb_helper.
-
-Fixes: https://github.com/DisplayLink/evdi/issues/402
-Fixes: https://github.com/DisplayLink/evdi/issues/394
-Fixes: https://github.com/DisplayLink/evdi/issues/384
-Signed-off-by: listout <listout@protonmail.com>
----
- module/evdi_fb.c | 16 ++++++++++++++++
- 1 file changed, 16 insertions(+)
-
-diff --git a/module/evdi_fb.c b/module/evdi_fb.c
-index 6b367fe8..f5de81f1 100644
---- a/module/evdi_fb.c
-+++ b/module/evdi_fb.c
-@@ -405,7 +405,11 @@ static int evdifb_create(struct drm_fb_helper *helper,
- fb = &efbdev->efb.base;
-
- efbdev->helper.fb = fb;
-+#if KERNEL_VERSION(6, 2, 0) <= LINUX_VERSION_CODE
-+ efbdev->helper.info = info;
-+#else
- efbdev->helper.fbdev = info;
-+#endif
-
- strcpy(info->fix.id, "evdidrmfb");
-
-@@ -459,8 +463,13 @@ static void evdi_fbdev_destroy(__always_unused struct drm_device *dev,
- {
- struct fb_info *info;
-
-+#if KERNEL_VERSION(6, 2, 0) <= LINUX_VERSION_CODE
-+ if (efbdev->helper.info) {
-+ info = efbdev->helper.info;
-+#else
- if (efbdev->helper.fbdev) {
- info = efbdev->helper.fbdev;
-+#endif
- unregister_framebuffer(info);
- if (info->cmap.len)
- fb_dealloc_cmap(&info->cmap);
-@@ -537,10 +546,17 @@ void evdi_fbdev_unplug(struct drm_device *dev)
- return;
-
- efbdev = evdi->fbdev;
-+#if KERNEL_VERSION(6, 2, 0) <= LINUX_VERSION_CODE
-+ if (efbdev->helper.info) {
-+ struct fb_info *info;
-+
-+ info = efbdev->helper.info;
-+#else
- if (efbdev->helper.fbdev) {
- struct fb_info *info;
-
- info = efbdev->helper.fbdev;
-+#endif
- #if KERNEL_VERSION(5, 6, 0) <= LINUX_VERSION_CODE || defined(EL8)
- unregister_framebuffer(info);
- #else
diff --git a/gnu/packages/patches/gnome-dictionary-meson-i18n.patch b/gnu/packages/patches/gnome-dictionary-meson-i18n.patch
new file mode 100644
index 0000000000..fea45af69a
--- /dev/null
+++ b/gnu/packages/patches/gnome-dictionary-meson-i18n.patch
@@ -0,0 +1,52 @@
+From 71933f6586475b36c70ef325373fe6d50c7a034f Mon Sep 17 00:00:00 2001
+From: Jan Beich <jbeich@FreeBSD.org>
+Date: Mon, 24 Jan 2022 11:13:54 +0000
+Subject: [PATCH] meson: drop unused argument for i18n.merge_file()
+
+Ignored in Meson < 0.60.0, deprecated since 0.60.1 and fatal since 0.61.0.
+
+data/appdata/meson.build:3:5: ERROR: Function does not take positional arguments.
+data/meson.build:6:5: ERROR: Function does not take positional arguments.
+data/meson.build:49:5: ERROR: Function does not take positional arguments.
+---
+ data/appdata/meson.build | 2 +-
+ data/meson.build | 4 ++--
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/data/appdata/meson.build b/data/appdata/meson.build
+index 1dc4ed7..e44a58e 100644
+--- a/data/appdata/meson.build
++++ b/data/appdata/meson.build
+@@ -1,6 +1,6 @@
+ appdata_conf = configuration_data()
+ appdata_conf.set('application_id', application_id)
+-i18n.merge_file('appdata',
++appdata_file = i18n.merge_file(
+ input: configure_file(
+ input: 'org.gnome.Dictionary.appdata.xml.in.in',
+ output: 'org.gnome.Dictionary.appdata.xml.in',
+diff --git a/data/meson.build b/data/meson.build
+index 660e6b8..7ec7251 100644
+--- a/data/meson.build
++++ b/data/meson.build
+@@ -3,7 +3,7 @@ subdir('appdata')
+ desktop_conf = configuration_data()
+ desktop_conf.set('icon', application_id)
+ desktop_conf.set('application_id', application_id)
+-i18n.merge_file('desktop',
++desktop_file = i18n.merge_file(
+ input: configure_file(
+ input: 'org.gnome.Dictionary.desktop.in.in',
+ output: 'org.gnome.Dictionary.desktop.in',
+@@ -45,7 +45,7 @@ sources = [
+ ]
+
+ foreach s: sources
+- i18n.merge_file('sources',
++ i18n.merge_file(
+ input: '@0@.in'.format(s),
+ output: s,
+ install: true,
+--
+2.41.0
+
diff --git a/gnu/packages/patches/notmuch-emacs-test-output.patch b/gnu/packages/patches/notmuch-emacs-test-output.patch
new file mode 100644
index 0000000000..3c6d472d6b
--- /dev/null
+++ b/gnu/packages/patches/notmuch-emacs-test-output.patch
@@ -0,0 +1,89 @@
+From e9e779ead4d703ad423e46c23abd0c9afd7d5ed2 Mon Sep 17 00:00:00 2001
+From: Arjan Adriaanse <arjan@adriaan.se>
+Date: Tue, 15 Aug 2023 00:00:05 +0200
+Subject: [PATCH] test: fix expected output for Emacs 29
+
+---
+ test/T453-emacs-reply.sh | 1 -
+ test/T454-emacs-dont-reply-names.sh | 9 +++------
+ .../notmuch-reply-duplicate-4 | 1 -
+ 3 files changed, 3 insertions(+), 8 deletions(-)
+
+diff --git a/test/T453-emacs-reply.sh b/test/T453-emacs-reply.sh
+index 0a27d066..de400b85 100755
+--- a/test/T453-emacs-reply.sh
++++ b/test/T453-emacs-reply.sh
+@@ -17,7 +17,6 @@ cat <<EOF > EXPECTED
+ From: Notmuch Test Suite <test_suite@notmuchmail.org>
+ To: Antoine Beaupré <anarcat@orangeseeds.org>
+ Subject: Re: bug: "no top level messages" crash on Zen email loops
+-In-Reply-To: <874llc2bkp.fsf@curie.anarc.at>
+ Fcc: MAIL_DIR/sent
+ --text follows this line--
+ Antoine Beaupré <anarcat@orangeseeds.org> writes:
+diff --git a/test/T454-emacs-dont-reply-names.sh b/test/T454-emacs-dont-reply-names.sh
+index 3a770177..9ed4f18b 100755
+--- a/test/T454-emacs-dont-reply-names.sh
++++ b/test/T454-emacs-dont-reply-names.sh
+@@ -17,13 +17,12 @@ test_emacs '(let ((message-dont-reply-to-names "notmuchmail\\|noreply\\|harvard"
+ (test-visible-output "OUTPUT-FULL.raw"))'
+
+ notmuch_dir_sanitize < OUTPUT-FULL.raw > OUTPUT-FULL
+-head -6 OUTPUT-FULL > OUTPUT
++head -5 OUTPUT-FULL > OUTPUT
+
+ cat <<EOF > EXPECTED
+ From: Notmuch Test Suite <test_suite@notmuchmail.org>
+ To: Mikhail Gusarov <dottedmag@dottedmag.net>
+ Subject: Re: [notmuch] Working with Maildir storage?
+-In-Reply-To: <20091117203301.GV3165@dottiness.seas.harvard.edu>
+ Fcc: MAIL_DIR/sent
+ --text follows this line--
+ EOF
+@@ -38,14 +37,13 @@ test_emacs '(let ((message-dont-reply-to-names
+ (test-visible-output "OUTPUT-FULL-PRED.raw"))'
+
+ notmuch_dir_sanitize < OUTPUT-FULL-PRED.raw > OUTPUT-FULL-PRED
+-head -7 OUTPUT-FULL-PRED > OUTPUT-PRED
++head -6 OUTPUT-FULL-PRED > OUTPUT-PRED
+
+ cat <<EOF > EXPECTED-PRED
+ From: Notmuch Test Suite <test_suite@notmuchmail.org>
+ To: Lars Kellogg-Stedman <lars@seas.harvard.edu>
+ Cc: notmuch@notmuchmail.org
+ Subject: Re: [notmuch] Working with Maildir storage?
+-In-Reply-To: <20091117203301.GV3165@dottiness.seas.harvard.edu>
+ Fcc: MAIL_DIR/sent
+ --text follows this line--
+ EOF
+@@ -59,14 +57,13 @@ test_emacs '(let ((message-dont-reply-to-names nil))
+ (test-visible-output "OUTPUT-FULL-NIL.raw"))'
+
+ notmuch_dir_sanitize < OUTPUT-FULL-NIL.raw > OUTPUT-FULL-NIL
+-head -7 OUTPUT-FULL-NIL > OUTPUT-NIL
++head -6 OUTPUT-FULL-NIL > OUTPUT-NIL
+
+ cat <<EOF > EXPECTED-NIL
+ From: Notmuch Test Suite <test_suite@notmuchmail.org>
+ To: Lars Kellogg-Stedman <lars@seas.harvard.edu>, Mikhail Gusarov <dottedmag@dottedmag.net>
+ Cc: notmuch@notmuchmail.org
+ Subject: Re: [notmuch] Working with Maildir storage?
+-In-Reply-To: <20091117203301.GV3165@dottiness.seas.harvard.edu>
+ Fcc: MAIL_DIR/sent
+ --text follows this line--
+ EOF
+diff --git a/test/emacs-reply.expected-output/notmuch-reply-duplicate-4 b/test/emacs-reply.expected-output/notmuch-reply-duplicate-4
+index 836f77b1..44b8c7a6 100644
+--- a/test/emacs-reply.expected-output/notmuch-reply-duplicate-4
++++ b/test/emacs-reply.expected-output/notmuch-reply-duplicate-4
+@@ -1,7 +1,6 @@
+ From: Notmuch Test Suite <test_suite@notmuchmail.org>
+ To: Sean Whitton <spwhitton@spwhitton.name>, 916811@bugs.debian.org, 916805@bugs.debian.org, 916807@bugs.debian.org, 916808@bugs.debian.org, 916809@bugs.debian.org, 916811@bugs.debian.org, 916867@bugs.debian.org, 916869@bugs.debian.org, 916872@bugs.debian.org, 916875@bugs.debian.org, 916876@bugs.debian.org
+ Subject: Re: [Pkg-emacsen-addons] Bug#916811: Increase severity to 'serious'
+-In-Reply-To: <87r2ecrr6x.fsf@zephyr.silentflame.com>
+ Fcc: MAIL_DIR/sent
+ --text follows this line--
+ Sean Whitton <spwhitton@spwhitton.name> writes:
+--
+2.41.0
+
diff --git a/gnu/packages/patches/openjdk-21-fix-rpath.patch b/gnu/packages/patches/openjdk-21-fix-rpath.patch
new file mode 100644
index 0000000000..62e2a50a52
--- /dev/null
+++ b/gnu/packages/patches/openjdk-21-fix-rpath.patch
@@ -0,0 +1,16 @@
+Author: Danny Milosavljevic <dannym@scratchpost.org>
+Date: 2023-09-20
+
+diff -ru openjdk-21/make/modules/jdk.internal.le/Lib.gmk.orig openjdk-21.drv-4/source/make/modules/jdk.internal.le/Lib.gmk
+--- openjdk-21/make/modules/jdk.internal.le/Lib.gmk.orig 1970-01-01 01:00:01.000000000 +0100
++++ openjdk-21/make/modules/jdk.internal.le/Lib.gmk 2023-09-20 21:42:04.626821839 +0200
+@@ -34,7 +34,8 @@
+ TOOLCHAIN := TOOLCHAIN_LINK_CXX, \
+ OPTIMIZATION := LOW, \
+ CFLAGS := $(CXXFLAGS_JDKLIB), \
+- LDFLAGS := $(LDFLAGS_JDKLIB), \
++ LDFLAGS := $(LDFLAGS_JDKLIB) \
++ $(call SET_SHARED_LIBRARY_ORIGIN), \
+ LIBS_unix := $(JDKLIB_LIBS) $(LIBCXX), \
+ LIBS_windows := $(JDKLIB_LIBS) user32.lib, \
+ ))
diff --git a/gnu/packages/patches/sbcl-riscv-Make-contribs-build-again.patch b/gnu/packages/patches/sbcl-riscv-Make-contribs-build-again.patch
deleted file mode 100644
index 85b96e1b20..0000000000
--- a/gnu/packages/patches/sbcl-riscv-Make-contribs-build-again.patch
+++ /dev/null
@@ -1,71 +0,0 @@
-From 8704f528f227f587d0e06dfd2f807aeca7a69a71 Mon Sep 17 00:00:00 2001
-From: Charles Zhang <charleszhang99@yahoo.com>
-Date: Thu, 1 Jun 2023 16:39:26 +0200
-Subject: [PATCH] riscv: Make contribs build again.
-
-The issue was that the LINKAGE_TEMP_REG being NL3 was a C argument
-register, so of course that caused clashing on C call-out, causing
-problems with run-program. Going back to NL7 didn't work either
-because it wasn't getting saved before entry into the trampoline. The
-code here used to have NL7 before the trampoline code was gutted and
-then restored, so I'm wondering how this ever worked before, because
-it definitely did. Pick LIP as the TEMP_REG now because not only does
-it get saved, it's also the least likely thing to get disturbed by
-clobbering.
-
-Fixes #lp2002930.
-
-Also remove assembly routine printing because it doesn't need to be
-part of the build script (unlike the other files in output/ which
-can't trivially be recovered from a built image), and because not all
-disassembler printers have been written on riscv yet.
----
- NEWS | 3 +++
- make-target-2-load.lisp | 4 ----
- src/runtime/riscv-arch.c | 2 +-
- 3 files changed, 4 insertions(+), 5 deletions(-)
-
-diff --git a/NEWS b/NEWS
-index 17537ff92..5c0f7777b 100644
---- a/NEWS
-+++ b/NEWS
-@@ -1,5 +1,8 @@
- ;;;; -*- coding: utf-8; fill-column: 78 -*-
-
-+changes relative to sbcl-2.3.5:
-+ * bug fix: riscv can build contribs again.
-+
- changes in sbcl-2.3.5 relative to sbcl-2.3.4:
- * enhancement: Unicode support has been updated to support version 15.0.0 of
- the Unicode standard, including addition of characters and their collation
-diff --git a/make-target-2-load.lisp b/make-target-2-load.lisp
-index 885ebda74..b9a1a1e36 100644
---- a/make-target-2-load.lisp
-+++ b/make-target-2-load.lisp
-@@ -6,10 +6,6 @@
- (defvar *compile-files-p* nil)
- (load (merge-pathnames "src/cold/warm.lisp" *load-pathname*))
-
--(with-open-file (stream "output/asm-routines.txt" :direction :output
-- :if-does-not-exist :create :if-exists :supersede)
-- (sb-c:dis sb-fasl:*assembler-routines* stream))
--
- ;; sb-xref-for-internals is actively harmful to tree-shaking.
- ;; Remove some symbols to make the hide-packages test pass.
- #+sb-xref-for-internals
-diff --git a/src/runtime/riscv-arch.c b/src/runtime/riscv-arch.c
-index 6c1994829..062623899 100644
---- a/src/runtime/riscv-arch.c
-+++ b/src/runtime/riscv-arch.c
-@@ -159,7 +159,7 @@ arch_install_interrupt_handlers(void)
- * Linkage entry size is 8 or 20, because we need 2 instructions for the 32-bit case and we need 3 instructions and an 8 byte address in the 64-bit case.
- */
-
--#define LINKAGE_TEMP_REG reg_NL3
-+#define LINKAGE_TEMP_REG reg_LIP // Lisp needs to save before entry.
-
- void arch_write_linkage_table_entry(int index, void *target_addr, int datap)
- {
---
-2.40.1
-
diff --git a/gnu/packages/patches/tensorflow-lite-unbundle.patch b/gnu/packages/patches/tensorflow-lite-unbundle.patch
new file mode 100644
index 0000000000..efd7d5bbc6
--- /dev/null
+++ b/gnu/packages/patches/tensorflow-lite-unbundle.patch
@@ -0,0 +1,27 @@
+Disable local CMake build code for bundled 3rdparty components.
+
+diff --git a/tensorflow/lite/CMakeLists.txt b/tensorflow/lite/CMakeLists.txt
+index 0476170e075..90abea00e8c 100644
+--- a/tensorflow/lite/CMakeLists.txt
++++ b/tensorflow/lite/CMakeLists.txt
+@@ -564,7 +564,7 @@ set(_ALL_TFLITE_HDRS ${_ALL_TFLITE_SRCS})
+ list(FILTER _ALL_TFLITE_HDRS INCLUDE REGEX ".*\\.h$")
+ target_include_directories(tensorflow-lite
+ PUBLIC $<BUILD_INTERFACE:${TENSORFLOW_SOURCE_DIR}> $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>
+- ${CMAKE_BINARY_DIR}/gemmlowp
++ ${gemmlowp_ROOT}/include/gemmlowp
+ )
+ target_link_libraries(tensorflow-lite
+ PUBLIC
+diff --git a/tensorflow/lite/tools/cmake/modules/Findgemmlowp.cmake b/tensorflow/lite/tools/cmake/modules/Findgemmlowp.cmake
+index 70331ad0a69..a9bd8a0f3bd 100644
+--- a/tensorflow/lite/tools/cmake/modules/Findgemmlowp.cmake
++++ b/tensorflow/lite/tools/cmake/modules/Findgemmlowp.cmake
+@@ -18,7 +18,6 @@
+ include(gemmlowp)
+ if(gemmlowp_POPULATED)
+ set(GEMMLOWP_FOUND TRUE)
+- get_target_property(GEMMLOWP_INCLUDE_DIRS gemmlowp INTERFACE_DIRECTORIES)
+ set(GEMMLOWP_LIBRARIES
+ gemmlowp
+ gemmlowp_fixedpoint
diff --git a/gnu/packages/patches/tipp10-disable-downloader.patch b/gnu/packages/patches/tipp10-disable-downloader.patch
deleted file mode 100644
index 4917a927f9..0000000000
--- a/gnu/packages/patches/tipp10-disable-downloader.patch
+++ /dev/null
@@ -1,165 +0,0 @@
-https://salsa.debian.org/debian/tipp10/-/raw/debian/2.1.0-5/debian/patches/disable_downloaders.patch
-
-Author: Reiner Herrmann <reiner@reiner-h.de>
-Description: Disable downloaders
- This makes porting to Qt5 much easier, as QHttp is no longer available.
- But the functionality was not enabled anyway or is no longer useful.
- .
- - checkversion.h/.cpp:
- At startup (while loading settings), Tipp10 "phones home" to do an
- update check (www.tipp10.com/update/version.tipp10v210).
- For a packaged software and one that is no longer being developed,
- this does not make much sense.
- - updatedialog.h/.cpp:
- Can download newer sqlite database (www.tipp10.com/update/sql.tipp10v210.utf),
- but this file is no longer available on the server (404).
- The update action has also not been enabled in the menu, so the update
- functionality was currently not active:
- widget/mainwindow.cpp:143: //fileMenu->addAction(updateAction);
- - downloaddialog.h/.cpp:
- Allows downloading lessons from user-specified location.
- But the action (widget/startwidget.cpp -> lessonDownload) has not been part
- of any menu, so it was also not in use.
-
---- a/tipp10.pro
-+++ b/tipp10.pro
-@@ -15,7 +15,6 @@
- INCLUDEPATH += .
- CONFIG += qt
- QT += sql
--QT += network
- RC_FILE += tipp10.rc
- RESOURCES += tipp10.qrc
- HEADERS += def/defines.h \
-@@ -36,15 +35,12 @@
- widget/settingspages.h \
- widget/lessondialog.h \
- widget/regexpdialog.h \
-- widget/downloaddialog.h \
- widget/lessonprintdialog.h \
- widget/lessonresult.h \
-- widget/updatedialog.h \
- widget/helpbrowser.h \
- widget/companylogo.h \
- widget/errormessage.h \
- widget/txtmessagedialog.h \
-- widget/checkversion.h \
- sql/connection.h \
- sql/lessontablesql.h \
- sql/chartablesql.h \
-@@ -70,15 +66,12 @@
- widget/settingspages.cpp \
- widget/lessondialog.cpp \
- widget/regexpdialog.cpp \
-- widget/downloaddialog.cpp \
- widget/lessonprintdialog.cpp \
- widget/lessonresult.cpp \
-- widget/updatedialog.cpp \
- widget/helpbrowser.cpp \
- widget/companylogo.cpp \
- widget/errormessage.cpp \
- widget/txtmessagedialog.cpp \
-- widget/checkversion.cpp \
- sql/lessontablesql.cpp \
- sql/chartablesql.cpp \
- sql/trainingsql.cpp \
---- a/widget/mainwindow.cpp
-+++ b/widget/mainwindow.cpp
-@@ -41,11 +41,9 @@
-
- #include "mainwindow.h"
- #include "settingsdialog.h"
--#include "updatedialog.h"
- #include "def/defines.h"
- #include "def/errordefines.h"
- #include "errormessage.h"
--#include "checkversion.h"
-
- MainWindow::MainWindow() {
- trainingStarted = false;
-@@ -214,8 +212,8 @@
- }
-
- void MainWindow::showUpdate() {
-- UpdateDialog updateDialog(this);
-- updateDialog.exec();
-+ //UpdateDialog updateDialog(this);
-+ //updateDialog.exec();
- // Fill lesson list after online update
- startWidget->fillLessonList(false);
- }
-@@ -486,6 +484,7 @@
- settings.endGroup();
-
- settings.beginGroup("general");
-+#if 0
- if (settings.value("check_new_version", true).toBool()) {
-
- QDate lastVersionCheck = settings.value("last_version_check").toDate();
-@@ -499,6 +498,7 @@
- }
- settings.setValue("last_version_check", today);
- }
-+#endif
- settings.endGroup();
- }
-
---- a/widget/settingspages.cpp
-+++ b/widget/settingspages.cpp
-@@ -581,7 +581,7 @@
-
- // Layout of group box vertical
- QVBoxLayout *layout = new QVBoxLayout;
-- layout->addWidget(checkNewVersion);
-+ //layout->addWidget(checkNewVersion);
- layout->addSpacing(1);
- layout->addWidget(checkNativeStyle);
- layout->setMargin(16);
-@@ -610,7 +610,6 @@
- checkIntelligence->setChecked(settings.value("check_toggle_intelligence", true).toBool());
- checkLimitLesson->setChecked(settings.value("check_limit_lesson", true).toBool());
- checkLessonPublish->setChecked(settings.value("check_lesson_publish", true).toBool());
-- checkNewVersion->setChecked(settings.value("check_new_version", true).toBool());
- checkNativeStyle->setChecked(settings.value("check_native_style", false).toBool());
- settings.endGroup();
- }
-@@ -636,7 +635,6 @@
- settings.setValue("check_limit_lesson", checkLimitLesson->isChecked());
- settings.setValue("check_lesson_publish", checkLessonPublish->isChecked());
- settings.setValue("check_native_style", checkNativeStyle->isChecked());
-- settings.setValue("check_new_version", checkNewVersion->isChecked());
- settings.endGroup();
-
- return requireRestart;
---- a/widget/startwidget.cpp
-+++ b/widget/startwidget.cpp
-@@ -43,12 +43,10 @@
-
- #include "startwidget.h"
- #include "sql/startsql.h"
--#include "updatedialog.h"
- #include "def/defines.h"
- #include "def/errordefines.h"
- #include "errormessage.h"
- #include "lessondialog.h"
--#include "downloaddialog.h"
- #include "illustrationdialog.h"
- #include "txtmessagedialog.h"
-
-@@ -1048,7 +1046,7 @@
- }
-
- void StartWidget::clickDownloadLesson() {
--
-+#if 0
- QStringList lessonData;
-
- DownloadDialog downloadDialog(&lessonData, this);
-@@ -1083,6 +1081,7 @@
- }
- }
- }
-+#endif
- }
-
- void StartWidget::clickEditLesson() {
diff --git a/gnu/packages/patches/tipp10-fix-compiling.patch b/gnu/packages/patches/tipp10-fix-compiling.patch
deleted file mode 100644
index 3a34a98b22..0000000000
--- a/gnu/packages/patches/tipp10-fix-compiling.patch
+++ /dev/null
@@ -1,212 +0,0 @@
-Description: Debian patches to make tipp10 compile
-Author: Christoph Martin <chrism@debian.org>
-Last-Update: 2016-07-20
-
-https://sources.debian.net/data/main/t/tipp10/2.1.0-2/debian/patches/0001-FixCompiling
-
---- a/widget/tickerboard.cpp
-+++ b/widget/tickerboard.cpp
-@@ -97,7 +97,8 @@ void TickerBoard::startTicker(bool wasPa
-
- if (tickerSpeed == 50) {
- scrollOffset = 290;
-- scroll(-290, 0, QRect::QRect(10, 15, 590, 35)); //contentsRect());
-+ const QRect qr = QRect(10, 15, 590, 35);
-+ scroll(-290, 0, qr); //contentsRect());
- }
-
- startFlag = true;
-@@ -153,7 +154,8 @@ void TickerBoard::changeChar() {
- scrollOffset = 0;
- } else {
- scrollOffset = 290;
-- scroll(-290, 0, QRect::QRect(10, 15, 590, 35)); //contentsRect());
-+ const QRect qr = QRect(10, 15, 590, 35);
-+ scroll(-290, 0, qr); //contentsRect());
- }
- splitLesson();
- }
-@@ -242,7 +244,8 @@ void TickerBoard::progress() {
-
- // Move ticker 1 pixel to left
- scrollOffset++;
-- scroll(-1, 0, QRect::QRect(10, 15, 590, 35)); //contentsRect());
-+ const QRect qr = QRect(10, 15, 590, 35);
-+ scroll(-1, 0, qr); //contentsRect());
-
- if ((lessonOffset - scrollOffset) <= 30) {
- setSpeed(tickerSpeed);
-@@ -265,14 +268,16 @@ void TickerBoard::progress() {
- // 160 pixels overage (because the user must see at least the next word)
- if ((lessonOffset - scrollOffset) > 200) {
- scrollOffset += (lessonOffset - scrollOffset) - 200;
-- scroll(-((lessonOffset - scrollOffset) - 200), 0, QRect::QRect(10, 15, 590, 35)); //contentsRect());
-+ const QRect qr = QRect(10, 15, 590, 35);
-+ scroll(-((lessonOffset - scrollOffset) - 200), 0, qr); //contentsRect());
- }
- } else {
- // If the user types faster than the ticker, move ticker faster after
- // 160 pixels overage (because the user must see at least the next word)
- if ((lessonOffset - scrollOffset) > 280) {
- scrollOffset += 570;
-- scroll(-570, 0, QRect::QRect(10, 15, 590, 35)); //contentsRect());
-+ const QRect qr = QRect(10, 15, 590, 35);
-+ scroll(-570, 0, qr); //contentsRect());
- }
-
- }
---- a/widget/settingspages.cpp
-+++ b/widget/settingspages.cpp
-@@ -501,7 +501,7 @@ void DatabasePage::writeSettings() {
- QSettings settings;
- #endif
- settings.beginGroup("database");
-- settings.setValue("pathpro", lineDatabasePath->text() + "/" + QString::QString(APP_USER_DB));
-+ settings.setValue("pathpro", lineDatabasePath->text() + "/" + QString(APP_USER_DB));
- settings.endGroup();
- }
-
---- a/widget/lessondialog.cpp
-+++ b/widget/lessondialog.cpp
-@@ -89,7 +89,7 @@ void LessonDialog::updateContent() {
- *lessonData = lineLessonContent->toPlainText().split("\n", QString::SkipEmptyParts);
- // Delete empty lines
- for (int i = 0; i < lessonData->size(); i++) {
-- if (QString::QString(lessonData->at(i).toLocal8Bit().constData()).simplified() == "") {
-+ if (QString(lessonData->at(i).toLocal8Bit().constData()).simplified() == "") {
- lessonData->removeAt(i);
- }
- }
-@@ -259,7 +259,7 @@ void LessonDialog::clickSave() {
- contentList = lineLessonContent->toPlainText().split("\n", QString::SkipEmptyParts);
- // Delete empty lines
- for (i = 0; i < contentList.size(); i++) {
-- if (QString::QString(contentList.at(i).toLocal8Bit().constData()).simplified() == "") {
-+ if (QString(contentList.at(i).toLocal8Bit().constData()).simplified() == "") {
- contentList.removeAt(i);
- }
- }
---- a/sql/chartablesql.cpp
-+++ b/sql/chartablesql.cpp
-@@ -57,7 +57,7 @@ QVariant CharSqlModel::data(const QModel
- // Read the unicode value
- unicode = value.toInt();
- // Convert unicode to a char
-- unicodeToChar = QString::QString(QChar(unicode)); //"\'" + QString::QString(QChar(unicode)) + "\'";
-+ unicodeToChar = QString(QChar(unicode)); //"\'" + QString::QString(QChar(unicode)) + "\'";
- return unicodeToChar;
- } else {
- // Last column (error weight)
---- a/sql/startsql.cpp
-+++ b/sql/startsql.cpp
-@@ -344,7 +344,7 @@ bool StartSql::updateOwnLesson(QString l
- for (i = 0; i < content.size(); i++) {
- //simplifiedContent = QString::QString(
- // content.at(i)).replace(QChar(0x27), "''", Qt::CaseSensitive).simplified();
-- simplifiedContent = trim(QString::QString(
-+ simplifiedContent = trim(QString(
- content.at(i)).replace(QChar(0x27), "''", Qt::CaseSensitive));
-
- if (!query.exec("INSERT INTO own_content VALUES(NULL,'" +
---- a/def/defines.h
-+++ b/def/defines.h
-@@ -27,9 +27,9 @@ Foundation, Inc., 51 Franklin Street, Fi
- #define DEFINES_H
-
- // OS constants
--#define APP_WIN true
-+#define APP_WIN false
- #define APP_MAC false
--#define APP_X11 false
-+#define APP_X11 true
- #define APP_PORTABLE false //at least one of the 3 OS must be true too!
-
- // Languages
-@@ -47,6 +47,7 @@ Foundation, Inc., 51 Franklin Street, Fi
- #define APP_URL "http://www.tipp10.com"
- #define APP_DB "tipp10v2.template"
- #define APP_USER_DB "tipp10v2.db"
-+#define APP_SHARE_DIR "/usr/share/tipp10"
-
- // Update constants
- #define UPDATE_URL "www.tipp10.com"
---- a/tipp10.pro
-+++ b/tipp10.pro
-@@ -88,3 +88,15 @@ SOURCES += main.cpp \
- sql/startsql.cpp \
- games/abcrainwidget.cpp \
- games/charball.cpp
-+
-+target.path = /usr/bin/
-+INSTALLS += target
-+share.path = /usr/share/tipp10/
-+share.files = release/* *wav
-+INSTALLS += share
-+desktop.path = /usr/share/applications/
-+desktop.files = tipp10.desktop
-+INSTALLS += desktop
-+pixmap.path = /usr/share/pixmaps/
-+pixmap.files = tipp10.png
-+INSTALLS += pixmap
---- a/sql/connection.h
-+++ b/sql/connection.h
-@@ -179,11 +179,13 @@ static bool createConnection() {
- CANCEL_NO, "Betroffener Pfad:\n" + dbPath);*/
- // Try to create new databae in user path
- // Exist a database in the program dir?
-- if (QFile::exists(QCoreApplication::applicationDirPath() + "/" + dbNameTemplate)) {
-+ // if (QFile::exists(QCoreApplication::applicationDirPath() + "/" + dbNameTemplate)) {
-+ if (QFile::exists(QString(APP_SHARE_DIR) + "/" + dbNameTemplate)) {
- //if (QFile::exists(":/" + dbNameTemplate)) {
- // A database exist in the program dir
- // -> copy database to user home dir
-- QFile file(QCoreApplication::applicationDirPath() + "/" + dbNameTemplate);
-+ // QFile file(QCoreApplication::applicationDirPath() + "/" + dbNameTemplate);
-+ QFile file(QString(APP_SHARE_DIR) + "/" + dbNameTemplate);
- //QFile file(":/" + dbNameTemplate);
- if (file.copy(dbPath)) {
- QFile::setPermissions(dbPath, QFile::permissions(dbPath) | QFile::WriteUser);
-@@ -229,7 +231,8 @@ static bool createConnection() {
- // Exist a database in user's home dir?
- if (!QFile::exists(dbPath)) {
- // Exist a database template in the program dir?
-- dbPath = QCoreApplication::applicationDirPath() + "/" + dbNameTemplate;
-+ // dbPath = QCoreApplication::applicationDirPath() + "/" + dbNameTemplate;
-+ dbPath = QString(APP_SHARE_DIR) + "/" + dbNameTemplate;
- //dbPath = ":/" + dbNameTemplate;
- if (QFile::exists(dbPath)) {
- // A database template exist in the program dir
---- a/widget/helpbrowser.cpp
-+++ b/widget/helpbrowser.cpp
-@@ -52,13 +52,15 @@ HelpBrowser::HelpBrowser(QString link, Q
- textBrowser->setOpenExternalLinks(true);
-
- textBrowser->setSource(QString("file:///") +
-- QCoreApplication::applicationDirPath() +
-+ // QCoreApplication::applicationDirPath() +
-+ APP_SHARE_DIR +
- QString("/help/") + language + QString("/index.html"));
-
- if (link != "") {
-
- textBrowser->setSource(QString("file:///") +
-- QCoreApplication::applicationDirPath() +
-+ // QCoreApplication::applicationDirPath() +
-+ APP_SHARE_DIR +
- QString("/help/") + language + QString("/content/") + link);
-
- }
---- a/tipp10.desktop
-+++ b/tipp10.desktop
-@@ -1,10 +1,10 @@
- [Desktop Entry]
--Encoding=UTF-8
- Name=TIPP10
- Comment=Touch Typing Tutor
- Comment[de]=10-Finger-Schreibtrainer
- Exec=tipp10
- Icon=tipp10.png
- Terminal=false
- Type=Application
- Categories=Education;
-+Keywords=learning;touchtyping
diff --git a/gnu/packages/patches/tipp10-qt5.patch b/gnu/packages/patches/tipp10-qt5.patch
deleted file mode 100644
index 34ad5cd708..0000000000
--- a/gnu/packages/patches/tipp10-qt5.patch
+++ /dev/null
@@ -1,69 +0,0 @@
-https://salsa.debian.org/debian/tipp10/-/raw/debian/2.1.0-5/debian/patches/qt5.patch
-
-Author: Reiner Herrmann <reiner@reiner-h.de>
-Description: Port to Qt5
-Bug-Debian: https://bugs.debian.org/875207
-
---- a/tipp10.pro
-+++ b/tipp10.pro
-@@ -14,6 +14,7 @@
- DEPENDPATH += .
- INCLUDEPATH += .
- CONFIG += qt
-+QT += widgets multimedia printsupport
- QT += sql
- RC_FILE += tipp10.rc
- RESOURCES += tipp10.qrc
---- a/main.cpp
-+++ b/main.cpp
-@@ -24,7 +24,6 @@
- ****************************************************************/
-
- #include <QApplication>
--#include <QPlastiqueStyle>
- #include <QString>
- #include <QSettings>
- #include <QCoreApplication>
-@@ -212,7 +211,7 @@
-
- // Set windows style
- if (!useNativeStyle) {
-- app.setStyle("plastique");
-+ app.setStyle("fusion");
- }
-
- // Translation
---- a/games/abcrainwidget.cpp
-+++ b/games/abcrainwidget.cpp
-@@ -235,8 +235,7 @@
- charballs.last()->wind = (qrand() % 8) + 2;
- charballs.last()->rad = 0;
-
-- chartext.append(new QGraphicsTextItem(QString(characterTemp),
-- charballs.last(), scene));
-+ chartext.append(new QGraphicsTextItem(QString(characterTemp), charballs.last()));
- chartext.last()->setFont(QFont("Courier", 16, 100));
- chartext.last()->setPos(-(chartext.last()->boundingRect().width() / 2), -(chartext.last()->boundingRect().height() / 2));
-
---- a/sql/chartablesql.cpp
-+++ b/sql/chartablesql.cpp
-@@ -137,7 +137,7 @@
- sortColumn(4);
-
- headerview->setStretchLastSection(true);
-- headerview->setResizeMode(QHeaderView::Interactive);
-+ headerview->setSectionResizeMode(QHeaderView::Interactive);
- headerview->setSortIndicatorShown(true);
-
- // Resize the columns
---- a/sql/lessontablesql.cpp
-+++ b/sql/lessontablesql.cpp
-@@ -202,7 +202,7 @@
- sortColumn(-1);
-
- headerview->setStretchLastSection(true);
-- headerview->setResizeMode(QHeaderView::Interactive);
-+ headerview->setSectionResizeMode(QHeaderView::Interactive);
- headerview->setSortIndicatorShown(true);
-
- // Resize the columns
diff --git a/gnu/packages/patches/tipp10-remove-license-code.patch b/gnu/packages/patches/tipp10-remove-license-code.patch
deleted file mode 100644
index 4b7487e726..0000000000
--- a/gnu/packages/patches/tipp10-remove-license-code.patch
+++ /dev/null
@@ -1,332 +0,0 @@
-Description: Remove license dialog and license key checking
-
-https://sources.debian.net/data/main/t/tipp10/2.1.0-2/debian/patches/0002-RemoveLicenseCode
-
---- a/main.cpp
-+++ b/main.cpp
-@@ -33,7 +33,6 @@ Foundation, Inc., 51 Franklin Street, Fi
- #include "def/defines.h"
- #include "sql/connection.h"
- #include "widget/mainwindow.h"
--#include "widget/licensedialog.h"
- #include "widget/illustrationdialog.h"
-
- int main(int argc, char *argv[]) {
-@@ -59,7 +58,7 @@ int main(int argc, char *argv[]) {
- QSettings settings;
- #endif
-
-- // Read/write language, license key and show illustration flag
-+ // Read/write language and show illustration flag
- settings.beginGroup("general");
- QString languageGui = settings.value("language_gui",
- QLocale::system().name()).toString();
-@@ -101,7 +100,6 @@ int main(int argc, char *argv[]) {
- QString languageLesson = settings.value("language_lesson",
- "").toString();
-
-- QString licenseKey = settings.value("licensekey", "").toString();
- bool showIllustration = settings.value("check_illustration", true).toBool();
- bool useNativeStyle = settings.value("check_native_style", false).toBool();
- settings.endGroup();
---- a/tipp10.pro
-+++ b/tipp10.pro
-@@ -43,7 +43,6 @@ HEADERS += def/defines.h \
- widget/helpbrowser.h \
- widget/companylogo.h \
- widget/errormessage.h \
-- widget/licensedialog.h \
- widget/txtmessagedialog.h \
- widget/checkversion.h \
- sql/connection.h \
-@@ -78,7 +77,6 @@ SOURCES += main.cpp \
- widget/helpbrowser.cpp \
- widget/companylogo.cpp \
- widget/errormessage.cpp \
-- widget/licensedialog.cpp \
- widget/txtmessagedialog.cpp \
- widget/checkversion.cpp \
- sql/lessontablesql.cpp \
---- a/widget/licensedialog.cpp
-+++ /dev/null
-@@ -1,168 +0,0 @@
--/*
--Copyright (c) 2006-2009, Tom Thielicke IT Solutions
--
--This program 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 2
--of the License.
--
--This program 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 this program; if not, write to the Free Software
--Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
--02110-1301, USA.
--*/
--
--/****************************************************************
--**
--** Implementation of the LicenseDialog class
--** File name: licensedialog.cpp
--**
--****************************************************************/
--
--#include <QHBoxLayout>
--#include <QVBoxLayout>
--#include <QMessageBox>
--#include <QSettings>
--#include <QCoreApplication>
--
--#include "licensedialog.h"
--#include "def/defines.h"
--
--LicenseDialog::LicenseDialog(QWidget *parent) : QDialog(parent) {
--
-- setWindowFlags(windowFlags() ^ Qt::WindowContextHelpButtonHint);
--
-- setWindowTitle(tr("Lizenznummer"));
-- setWindowIcon(QIcon(":/img/" + QString(ICON_FILENAME)));
--
-- // Create texbox
-- createLineEdit();
--
-- // Create buttons
-- createButtons();
--
-- // Set the layout of all widgets created above
-- createLayout();
--
-- lineLicensing->setFocus();
--}
--
--void LicenseDialog::createButtons() {
-- //Buttons
-- buttonOk = new QPushButton(this);
-- buttonDemo = new QPushButton(this);
--
-- buttonOk->setText(tr("&Ok"));
-- buttonDemo->setText(tr("&Demo starten"));
-- buttonDemo->setToolTip(tr("Im Demo-Modus koennen pro Lektion nur\n"
-- "10 Schriftzeichen eingegeben werden"));
--
-- buttonOk->setDefault(true);
-- // Widget connections
-- connect(buttonOk, SIGNAL(clicked()), this, SLOT(clickOk()));
-- connect(buttonDemo, SIGNAL(clicked()), this, SLOT(clickDemo()));
--}
--
--void LicenseDialog::createLineEdit() {
--
-- lineLicensing = new QLineEdit();
-- lineLicensing->setInputMask(">NNNNNNNNNNNNNN");
--
-- labelLicensing = new QLabel(tr("Bitte geben Sie Ihre Lizenznummer "
-- "(ohne Leerzeichen) ein, "
-- "die Sie im Arbeitsbuch (Schulbuch) auf Seite 3 finden:"));
--
-- labelLicensing->setWordWrap(true);
--}
--
--void LicenseDialog::createLayout() {
-- // Button layout horizontal
-- QHBoxLayout *buttonLayoutHorizontal = new QHBoxLayout;
-- buttonLayoutHorizontal->addStretch(1);
-- buttonLayoutHorizontal->addWidget(buttonDemo);
-- buttonLayoutHorizontal->addWidget(buttonOk);
-- // Full layout of all widgets vertical
-- QVBoxLayout *mainLayout = new QVBoxLayout;
-- mainLayout->addSpacing(1);
-- mainLayout->addWidget(labelLicensing);
-- mainLayout->addSpacing(1);
-- mainLayout->addWidget(lineLicensing);
-- mainLayout->addSpacing(1);
-- mainLayout->addLayout(buttonLayoutHorizontal);
-- mainLayout->setMargin(15);
-- mainLayout->setSpacing(15);
-- // Pass layout to parent widget (this)
-- this->setLayout(mainLayout);
--}
--
--void LicenseDialog::clickOk() {
--
-- // Check license key
-- if (!checkLicenseKey(lineLicensing->text())) {
--
-- // License key is wrong
--
-- // Message to the user
-- QMessageBox::information(0, APP_NAME,
-- tr("Die eingegebene Lizenznummer ist leider nicht "
-- "korrekt.\nBitte ueberpruefen Sie die Schreibweise."));
--
-- lineLicensing->setFocus();
--
-- } else {
--
-- // License key is ok
-- writeSettings();
-- accept();
-- }
--}
--
--void LicenseDialog::clickDemo() {
-- accept();
--}
--
--bool LicenseDialog::checkLicenseKey(QString licenseKey) {
-- if (licenseKey.size() == 14 &&
-- licenseKey[0].isLetter() &&
-- licenseKey[1].isLetter() &&
-- (licenseKey.mid(2, 2) == "39" ||
-- licenseKey.mid(2, 2) == "41" ||
-- licenseKey.mid(2, 2) == "43" ||
-- licenseKey.mid(2, 2) == "49" ||
-- licenseKey.mid(2, 2) == "99") &&
-- licenseKey[4].isDigit() &&
-- licenseKey[5].isDigit() &&
-- licenseKey[6].isDigit() &&
-- licenseKey[7].isLetter() &&
-- licenseKey[8].isDigit() &&
-- licenseKey[9].isDigit() &&
-- licenseKey[10].isDigit() &&
-- licenseKey[11].isDigit() &&
-- licenseKey[12].isLetter() &&
-- licenseKey[13].isLetter()) {
--
-- return true;
-- }
-- return false;
--}
--
--void LicenseDialog::writeSettings() {
-- // Saves settings of the startwiget
-- // (uses the default constructor of QSettings, passing
-- // the application and company name see main function)
-- #if APP_PORTABLE
-- QSettings settings(QCoreApplication::applicationDirPath() +
-- "/portable/settings.ini", QSettings::IniFormat);
-- #else
-- QSettings settings;
-- #endif
--
-- settings.beginGroup("general");
-- settings.setValue("licensekey", lineLicensing->text());
-- settings.endGroup();
--}
---- a/widget/licensedialog.h
-+++ /dev/null
-@@ -1,85 +0,0 @@
--/*
--Copyright (c) 2006-2009, Tom Thielicke IT Solutions
--
--This program 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 2
--of the License.
--
--This program 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 this program; if not, write to the Free Software
--Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
--02110-1301, USA.
--*/
--
--/****************************************************************
--**
--** Definition of the LicenseDialog class
--** File name: licensedialog.h
--**
--****************************************************************/
--
--#ifndef LICENSEDIALOG_H
--#define LICENSEDIALOG_H
--
--#include <QDialog>
--#include <QWidget>
--#include <QPushButton>
--#include <QLabel>
--#include <QLineEdit>
--#include <QString>
--
--//! The LicenseDialog class provides a license input widget.
--/*!
-- The LicenseDialog class shows a dialog to enter a license key.
--
-- @author Tom Thielicke, s712715
-- @version 0.0.1
-- @date 09.09.2008
--*/
--class LicenseDialog : public QDialog {
-- Q_OBJECT
--
-- public:
--
-- //! Constructor, creates two table objects and provide it in two tabs.
-- LicenseDialog(QWidget *parent = 0);
--
-- bool checkLicenseKey(QString licenseKey);
--
-- public slots:
--
-- private slots:
--
-- //! Start button pressed
-- void clickOk();
--
-- //! Demo button pressed
-- void clickDemo();
--
-- private:
--
-- //! Creates a cancel and a ok button.
-- void createButtons();
--
-- //! Creates a textbox.
-- void createLineEdit();
--
-- //! Creates the layout of the complete class.
-- void createLayout();
--
-- //! Writes user settings
-- void writeSettings();
--
-- QPushButton *buttonOk;
-- QPushButton *buttonDemo;
-- QLabel *labelLicensing;
-- QLineEdit *lineLicensing;
--};
--
--#endif //LICENSEDIALOG_H
---- a/widget/mainwindow.cpp
-+++ b/widget/mainwindow.cpp
-@@ -116,11 +116,6 @@ void MainWindow::closeEvent(QCloseEvent
- }
- }
-
--bool MainWindow::checkLicenseKey(QString licenseKey) {
--
-- return false;
--}
--
- void MainWindow::createMenu() {
- //Mac-Version:
- //-----------
---- a/widget/mainwindow.h
-+++ b/widget/mainwindow.h
-@@ -39,7 +39,6 @@ Foundation, Inc., 51 Franklin Street, Fi
- #include "trainingwidget.h"
- #include "evaluationwidget.h"
- #include "illustrationdialog.h"
--#include "licensedialog.h"
- #include "games/abcrainwidget.h"
- #include "helpbrowser.h"
-
diff --git a/gnu/packages/patches/tor-remove-defensive-assert.patch b/gnu/packages/patches/tor-remove-defensive-assert.patch
deleted file mode 100644
index 7207ec867a..0000000000
--- a/gnu/packages/patches/tor-remove-defensive-assert.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-This patch removes a call to `tor_assert_nonfatal_unreached()` in
-`relay_key_is_unavailable_()` that is only called when Tor is compiled
-without relay support.
-
-Unfortunately, the non-fatal assertion causes a BUG log
-message to appear for clients when they start up without relay support
-for each CPU worker we spawn. This makes it spotting issues during
-bootstrap harder particularly for our iOS developers.
-
-Since the call sites to `get_master_identity_key()` handles `NULL`
-values already, we do not think this will be an issue later on.
-
-Reported by Benjamin Erhart (@tla) from Guardian Project.
-
-Fixes tpo/core/tor#40848.
-
-diff --git a/src/feature/relay/routerkeys.h b/src/feature/relay/routerkeys.h
-index 7b6d80773c..b97615a9c9 100644
---- a/src/feature/relay/routerkeys.h
-+++ b/src/feature/relay/routerkeys.h
-@@ -53,7 +53,6 @@ void routerkeys_free_all(void);
- static inline void *
- relay_key_is_unavailable_(void)
- {
-- tor_assert_nonfatal_unreached();
- return NULL;
- }
- #define relay_key_is_unavailable(type) \
diff --git a/gnu/packages/photo.scm b/gnu/packages/photo.scm
index b290e2b29a..78ae61c799 100644
--- a/gnu/packages/photo.scm
+++ b/gnu/packages/photo.scm
@@ -11,6 +11,7 @@
;;; Copyright © 2020. 2021, 2022 Vinicius Monego <monego@posteo.net>
;;; Copyright © 2022, 2023 John Kehayias <john.kehayias@protonmail.com>
;;; Copyright © 2022 Sharlatan Hellseher <sharlatanus@gmail.com>
+;;; Copyright © 2023 Bruno Victal <mirai@makinata.eu>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -60,6 +61,7 @@
#:use-module (gnu packages gnome)
#:use-module (gnu packages glib)
#:use-module (gnu packages graphics)
+ #:use-module (gnu packages graphviz)
#:use-module (gnu packages gstreamer)
#:use-module (gnu packages gtk)
#:use-module (gnu packages image)
@@ -70,8 +72,10 @@
#:use-module (gnu packages libusb)
#:use-module (gnu packages llvm)
#:use-module (gnu packages lua)
+ #:use-module (gnu packages m4)
#:use-module (gnu packages man)
#:use-module (gnu packages maths)
+ #:use-module (gnu packages ocaml)
#:use-module (gnu packages opencl)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
@@ -89,7 +93,6 @@
#:use-module (gnu packages video)
#:use-module (gnu packages web)
#:use-module (gnu packages wxwidgets)
- #:use-module (gnu packages xfig)
#:use-module (gnu packages xorg)
#:use-module (gnu packages xml)
#:use-module ((srfi srfi-1) #:hide (zip))
@@ -370,20 +373,51 @@ overlapping images, as well as some command line tools.")
name "-" version ".tar.gz"))
(sha256
(base32
- "0j5x011ilalb47ssah50ag0a4phgh1b0wdgxdbbp1gcyjcjf60w7"))))
+ "0j5x011ilalb47ssah50ag0a4phgh1b0wdgxdbbp1gcyjcjf60w7"))
+ (patches
+ ;; TODO: Remove when updating.
+ ;; Fixed upstream with a98e00eed893f62dd8349fc2894abca3aff4b33a.
+ (search-patches "enblend-enfuse-reproducible.patch"))
+ (modules '((guix build utils)))
+ (snippet
+ ;; TODO: Remove when updating.
+ ;; Fixed upstream with 81e25afe71146aaaf5058c604034f35d57e3be9d.
+ #~(substitute* "src/minimizer.cc"
+ (("^#include <gsl/gsl_errno\\.h>" all)
+ (string-append all "\n#include <limits>"))))))
(build-system gnu-build-system)
(native-inputs
(list pkg-config
perl
perl-timedate
+ help2man
;; For building the documentation.
gnuplot
- help2man
- imagemagick
- libxml2
- (texlive-updmap.cfg)
- tidy-html
- transfig))
+ graphviz-minimal ; for 'dot'
+ font-ghostscript
+ imagemagick/stable
+ librsvg
+ m4
+ perl-readonly
+ texlive-texloganalyser
+ (texlive-updmap.cfg
+ (list texlive-bold-extra
+ texlive-cm-mf-extra-bold
+ texlive-comment
+ texlive-float
+ texlive-enumitem
+ texlive-mdwtools
+ texlive-hyphenat
+ texlive-index
+ texlive-listings
+ texlive-microtype
+ texlive-etoolbox ;used but not propagated by microtype
+ texlive-nag
+ texlive-ragged2e
+ texlive-shorttoc
+ texlive-bigfoot
+ texlive-xstring))
+ hevea))
(inputs
(list boost
gsl
@@ -395,16 +429,51 @@ overlapping images, as well as some command line tools.")
vigra
zlib))
(arguments
- (list #:configure-flags
- #~(list "--enable-openmp")
- #:phases
- #~(modify-phases %standard-phases
- (add-after 'unpack 'add-missing-include
- (lambda _
- (substitute* "src/minimizer.h"
- ;; Fix error: ‘numeric_limits’ is not a member of ‘std’.
- (("#include <vector>" line)
- (string-append line "\n#include <limits>"))))))))
+ (list
+ #:configure-flags #~(list "--enable-openmp")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'build 'fontconfig-cache
+ (lambda _
+ (setenv "XDG_CACHE_HOME" (mkdtemp "/tmp/cache-XXXXXX"))))
+ ;; XXX: There's some extreme sillyness when building the
+ ;; documentation. It gets rebuilt thrice, during build, check and
+ ;; install, possibly due to the effects of the invocation of
+ ;; UPDATED_ON in doc/Makefile.
+ ;; Reported: <URL:https://bugs.launchpad.net/enblend/+bug/2036319>
+ (add-after 'configure 'exclude-doc-from-check
+ (lambda _
+ (substitute* "doc/Makefile"
+ (("^(check:).+$" _ rule)
+ (string-append rule "\n")))))
+ ;; XXX: Skip building the docs since they're rebuilt again
+ ;; during install.
+ (replace 'build
+ (lambda args
+ (with-directory-excursion "src"
+ (apply (assoc-ref %standard-phases 'build) args))))
+ ;; XXX: Save another doc rebuild when installing.
+ (replace 'install
+ ;; Intercept and insert a make-flag for this phase only.
+ (lambda* (#:key make-flags #:allow-other-keys)
+ (apply invoke "make" "install"
+ (cons "MAYBE_DOC=" make-flags))))
+ ;; XXX: 'make install' doesn't install the docs.
+ (add-after 'install 'install-doc
+ (lambda* (#:key make-flags #:allow-other-keys)
+ ;; Install examples first, for which the 'install' rule works.
+ (with-directory-excursion "doc/examples"
+ (apply invoke "make" "install" make-flags))
+ ;; The docs have to be installed with specific rules.
+ (with-directory-excursion "doc"
+ (apply invoke "make"
+ "install-ps-local"
+ "install-html-local"
+ "install-dvi-local"
+ ;; Do not overwhelm the console by printing the source
+ ;; to stdout.
+ (cons "V=0" make-flags))))))))
+ (outputs '("out" "doc"))
(home-page "https://enblend.sourceforge.net/")
(synopsis "Tools for combining and blending images")
(description
diff --git a/gnu/packages/python-check.scm b/gnu/packages/python-check.scm
index 3a718954c5..0ccae07093 100644
--- a/gnu/packages/python-check.scm
+++ b/gnu/packages/python-check.scm
@@ -2023,6 +2023,31 @@ valid Python syntax that are likely to be commented out code.")
behavior-driven development (TDD and BDD).")
(license license:expat)))
+(define-public python-slotscheck
+ (package
+ (name "python-slotscheck")
+ (version "0.17.0")
+ (home-page "https://github.com/ariebovenberg/slotscheck")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference (url home-page)
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0k5jjabd219ndlssfqcdb5sn891ffrxzw84l5r8pirzy74i7znr4"))))
+ (build-system pyproject-build-system)
+ (native-inputs
+ (list python-poetry-core
+ python-pydantic
+ python-pytest
+ python-pytest-mock))
+ (propagated-inputs (list python-click python-tomli))
+ (synopsis "Ensure @code{__slots__} are working properly")
+ (description
+ "@code{slotscheck} is a tool to validate Python class @code{__slots__}.")
+ (license license:expat)))
+
(define-public python-stestr
(package
(name "python-stestr")
diff --git a/gnu/packages/python-compression.scm b/gnu/packages/python-compression.scm
index 000d42524d..bc96bc05d3 100644
--- a/gnu/packages/python-compression.scm
+++ b/gnu/packages/python-compression.scm
@@ -5,7 +5,7 @@
;;; Copyright © 2017 Julien Lepiller <julien@lepiller.eu>
;;; Copyright © 2018-2020, 2022 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr>
-;;; Copyright © 2020, 2022 Marius Bakke <marius@gnu.org>
+;;; Copyright © 2020, 2022, 2023 Marius Bakke <marius@gnu.org>
;;; Copyright © 2021 Brendan Tildesley <mail@brendan.scot>
;;;
;;; This file is part of GNU Guix.
@@ -207,6 +207,26 @@ compression algorithm.")
and decompression by implementing Python bindings for the ISA-L library.")
(license license:expat)))
+(define-public python-pylsqpack
+ (package
+ (name "python-pylsqpack")
+ (version "0.3.17")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "pylsqpack" version))
+ (sha256
+ (base32
+ "1qiwmavmxy6ba89mrdkzk52hqrd4awnp4yca395pxp2np66pf81g"))))
+ ;; FIXME: Unbundle ls-qpack and xxhash!
+ (build-system pyproject-build-system)
+ (home-page "https://github.com/aiortc/pylsqpack")
+ (synopsis "Python bindings for @code{ls-qpack}")
+ (description
+ "@code{pylsqpack} is a wrapper around the @code{ls-qpack} library.
+It provides Python Decoder and Encoder objects to read or write HTTP/3
+headers compressed with QPACK.")
+ (license license:expat)))
+
(define-public python-pyppmd
(package
(name "python-pyppmd")
diff --git a/gnu/packages/python-crypto.scm b/gnu/packages/python-crypto.scm
index e6483996fd..e5ca69429d 100644
--- a/gnu/packages/python-crypto.scm
+++ b/gnu/packages/python-crypto.scm
@@ -2,7 +2,7 @@
;;; Copyright © 2015 Eric Dvorsak <eric@dvorsak.fr>
;;; Copyright © 2015-2021, 2023 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2015, 2016, 2017, 2019 Leo Famulari <leo@famulari.name>
-;;; Copyright © 2016, 2017, 2020, 2022 Marius Bakke <marius@gnu.org>
+;;; Copyright © 2016, 2017, 2020, 2022, 2023 Marius Bakke <marius@gnu.org>
;;; Copyright © 2017 Ben Sturmfels <ben@sturm.com.au>
;;; Copyright © 2016 Sou Bunnbu <iyzsong@gmail.com>
;;; Copyright © 2015 Cyril Roelandt <tipecaml@gmail.com>
@@ -441,6 +441,16 @@ blake3, a cryptographic hash function.")
(base32
"1yxqfb5131wahjyw9pxz03bq476rcfx62s6k53xx4cqbzzgdaqkq"))))
(build-system python-build-system)
+ (arguments
+ (list #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'adjust-test
+ (lambda _
+ ;; Newer PyOpenSSL no longer separates extensions with
+ ;; newline (this can be removed for >1.3.0).
+ (substitute* "test/test_certauth.py"
+ (("7334\\\\n, DNS")
+ "7334, DNS")))))))
(propagated-inputs
(list python-pyopenssl python-tldextract))
(native-inputs
@@ -1139,25 +1149,32 @@ none of them have everything that I'd like, so here's one more. It uses
(define-public python-libnacl
(package
(name "python-libnacl")
- (version "1.7.2")
+ (version "2.1.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "libnacl" version))
(sha256
(base32
- "0srx7i264v4dq9and8y6gpzzhrg8jpxs5iy9ggw4plimfj0rjfdm"))))
- (build-system python-build-system)
+ "0q18j8kfibhi5qckakhf0b0psf8nkll91nfp3yqxkri9vykqshgk"))))
+ (build-system pyproject-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'locate-libsodium
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "libnacl/__init__.py"
- (("/usr/local/lib/libsodium.so")
- (search-input-file inputs "/lib/libsodium.so"))))))))
+ (("ctypes\\.util\\.find_library\\('sodium'\\)")
+ (string-append "'"
+ (search-input-file inputs "/lib/libsodium.so")
+ "'")))))
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke "python" "-m" "unittest" "discover"
+ "--start-directory" "tests" "-v")))))))
(native-inputs
- (list python-pyhamcrest))
+ (list python-poetry-core))
(inputs
(list libsodium))
(home-page "https://libnacl.readthedocs.org/")
diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
index 12f0ce6208..9939a994b6 100644
--- a/gnu/packages/python-web.scm
+++ b/gnu/packages/python-web.scm
@@ -4,7 +4,7 @@
;;; Copyright © 2017 Christopher Baines <mail@cbaines.net>
;;; Copyright © 2016, 2017 Danny Milosavljevic <dannym+a@scratchpost.org>
;;; Copyright © 2013, 2014, 2015, 2016, 2020 Andreas Enge <andreas@enge.fr>
-;;; Copyright © 2016, 2017, 2019-2022 Marius Bakke <marius@gnu.org>
+;;; Copyright © 2016, 2017, 2019-2023 Marius Bakke <marius@gnu.org>
;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2017, 2021 Roel Janssen <roel@gnu.org>
;;; Copyright © 2016, 2017, 2020 Julien Lepiller <julien@lepiller.eu>
@@ -109,6 +109,7 @@
#:use-module (gnu packages python)
#:use-module (gnu packages python-build)
#:use-module (gnu packages python-check)
+ #:use-module (gnu packages python-compression)
#:use-module (gnu packages python-crypto)
#:use-module (gnu packages python-science)
#:use-module (gnu packages python-xyz)
@@ -479,6 +480,28 @@ asynchronous DNS resolutions with a synchronous looking interface by
using @url{https://github.com/saghul/pycares,pycares}.")
(license license:expat)))
+(define-public python-aioquic
+ (package
+ (name "python-aioquic")
+ (version "0.9.21")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "aioquic" version))
+ (sha256
+ (base32
+ "1xbfa4gmlmyj6bihdl5p4mr7nd6z79rfi92wcqkmcy4f643frivr"))))
+ (build-system pyproject-build-system)
+ (native-inputs (list python-pytest))
+ (inputs (list openssl))
+ (propagated-inputs
+ (list python-certifi python-pylsqpack python-pyopenssl))
+ (home-page "https://github.com/aiortc/aioquic")
+ (synopsis "QUIC and HTTP3 implementation in Python")
+ (description
+ "@code{aioquic} is a library for the QUIC network protocol in Python.
+It features a minimal TLS 1.3 implementation, a QUIC stack and an HTTP/3 stack.")
+ (license license:bsd-3)))
+
(define-public python-aiorpcx
(package
(name "python-aiorpcx")
@@ -548,12 +571,12 @@ stream is an enhanced asynchronous iterable.")
(define-public python-asgiref
(package
(name "python-asgiref")
- (version "3.4.1")
+ (version "3.7.2")
(source (origin
(method url-fetch)
(uri (pypi-uri "asgiref" version))
(sha256
- (base32 "1saqgpgbdvb8awzm0f0640j0im55hkrfzvcw683cgqw4ni3apwaf"))))
+ (base32 "1vdgj8mikd2j6ijlhf7b4n2nxkvq72r1c0hj8mdvl6d8jfmf634y"))))
(build-system python-build-system)
(arguments
'(#:phases
@@ -563,7 +586,9 @@ stream is an enhanced asynchronous iterable.")
(when tests?
(invoke "pytest" "-vv")))))))
(native-inputs
- (list python-pytest python-pytest-asyncio))
+ (list python-mypy python-pytest python-pytest-asyncio))
+ (propagated-inputs
+ (list python-typing-extensions))
(home-page "https://github.com/django/asgiref/")
(synopsis "ASGI specs, helper code, and adapters")
(description
@@ -653,6 +678,30 @@ allows mocking or testing ASGI applications without having to spin up an
ASGI server.")
(license license:expat)))
+(define-public python-a2wsgi
+ (package
+ (name "python-a2wsgi")
+ (version "1.7.0")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "a2wsgi" version))
+ (sha256
+ (base32
+ "1cmsbgfg0vp8pwqz8nmkbmdi0axis1yl34qb280h5ssh08ngc1m9"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list #:build-backend "pdm.backend"
+ ;; Tests have a circular dependency on uvicorn.
+ #:tests? #f))
+ (native-inputs
+ (list python-pdm-backend))
+ (home-page "https://github.com/abersheeran/a2wsgi")
+ (synopsis "Convert WSGI to ASGI or vice versa")
+ (description
+ "This program converts a WSGI program to an ASGI program or the other
+way around. It depends only on the Python standard library.")
+ (license license:asl2.0)))
+
(define-public python-css-html-js-minify
(package
(name "python-css-html-js-minify")
@@ -1250,6 +1299,25 @@ JSON Web Algorithms (JWA) - collectively can be used to encrypt and/or sign
content using a variety of algorithms.")
(license license:expat)))
+(define-public python-jwcrypto
+ (package
+ (name "python-jwcrypto")
+ (version "1.5.0")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "jwcrypto" version))
+ (sha256
+ (base32
+ "138bh6x1yy0qpk63bxa7mxnd97gfdm1fkpwm8wrdz3g3z0fca79c"))))
+ (build-system pyproject-build-system)
+ (propagated-inputs (list python-cryptography python-deprecated))
+ (home-page "https://github.com/latchset/jwcrypto")
+ (synopsis "Implementation of JOSE Web standards")
+ (description
+ "WCrypto is an implementation of the @dfn{Javascript Object Signing and
+Encryption} (JOSE) Web Standards.")
+ (license license:lgpl3+)))
+
(define-public python-pyscss
(package
(name "python-pyscss")
@@ -1682,6 +1750,26 @@ C, yielding parse times that can be a thirtieth of the html5lib parse times.")
;; indicate ASL2.0, including the LICENSE file for the whole project.
(license (list license:asl2.0 license:gpl3))))
+(define-public python-html5tagger
+ (package
+ (name "python-html5tagger")
+ (version "1.3.0")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "html5tagger" version))
+ (sha256
+ (base32
+ "1acd1a4f66gi4plqnsml7cf33qp83mxsnmnqpdwkpj7597xkvyl4"))))
+ (build-system pyproject-build-system)
+ (native-inputs
+ (list python-setuptools-scm))
+ (home-page "https://github.com/sanic-org/html5tagger")
+ (synopsis "Create HTML documents from Python")
+ (description
+ "@code{html5tagger} provides a simplified HTML5 syntax that can
+be written directly in Python without templates.")
+ (license license:unlicense)))
+
(define-public python-minio
(package
(name "python-minio")
@@ -5223,15 +5311,24 @@ ecosystem.")
(define-public python-hyperlink
(package
(name "python-hyperlink")
- (version "19.0.0")
+ (version "21.0.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "hyperlink" version))
(sha256
(base32
- "0m2nhi0j8wmgfscf974wd5v1xfq8mah286hil6npy1ys0m3y7222"))))
- (build-system python-build-system)
+ "0sx50lkivsfjxx9zr4yh7l9gll2l9kvl0v0w8w4wk2x5v9bzjyj2"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'check 'pretend-to-be-CI
+ (lambda _
+ ;; Pretend to be a CI system to skip flaky tests.
+ (setenv "CI" "true"))))))
+ (native-inputs
+ (list python-pytest))
(propagated-inputs
(list python-idna))
(home-page "https://github.com/python-hyper/hyperlink")
@@ -5696,7 +5793,7 @@ and fairly speedy.")
(define-public python-uvicorn
(package
(name "python-uvicorn")
- (version "0.17.6")
+ (version "0.23.2")
(source
(origin
;; PyPI tarball has no tests.
@@ -5706,23 +5803,21 @@ and fairly speedy.")
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "0npwls02nhna2lyw2nksxij16l9agf12c9f42pvxb5yrpi9l16c8"))))
- (build-system python-build-system)
+ (base32 "1qa4cwifss9cnasfr0ffn76rvh7wcfjkl6nw99yz43rjmdpj3h7p"))))
+ (build-system pyproject-build-system)
(arguments
- `(#:phases
- (modify-phases %standard-phases
- (replace 'check
- (lambda* (#:key tests? #:allow-other-keys)
- (when tests?
- (invoke "pytest" "-vv" "-o" "asyncio_mode=auto"
- "-k"
- (string-append
- ;; These error or fail due to networking.
- "not test_keepalive "
- "and not test_bind_unix_socket_works_with_"
- "reload_or_workers "))))))))
- (native-inputs
- (list python-httpx-bootstrap
+ (list #:test-flags
+ #~(list "-o" "asyncio_mode=auto"
+ "-k"
+ (string-join
+ ;; These error or fail due to networking.
+ '("not test_keepalive"
+ "not test_bind_unix_socket_works_with_reload_or_workers")
+ " and "))))
+ (native-inputs
+ (list python-a2wsgi
+ python-hatchling
+ python-httpx-bootstrap
python-pytest
python-pytest-asyncio
python-pytest-mock
@@ -5730,8 +5825,7 @@ and fairly speedy.")
python-trustme
python-wsproto))
(propagated-inputs
- (list python-asgiref
- python-click
+ (list python-click
python-dotenv
python-h11
python-httptools
@@ -6023,7 +6117,7 @@ Some things HTTP Core does do:
(define-public python-httpx
(package
(name "python-httpx")
- (version "0.24.0")
+ (version "0.24.1")
(source
(origin
;; PyPI tarball does not contain tests.
@@ -6033,7 +6127,7 @@ Some things HTTP Core does do:
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "1b35ywrbdk8kcsfvr39gvfp7bvx00scqfigi8b19a1czhacsmc3q"))))
+ (base32 "121cnzp5jq638wrvfmxa9q0rwank7q6v5fi1lnih50fd5219yvm8"))))
(build-system pyproject-build-system)
(arguments
(list
@@ -6211,7 +6305,7 @@ files.")
(define-public python-websockets
(package
(name "python-websockets")
- (version "10.3")
+ (version "11.0.3")
(source
(origin
(method git-fetch)
@@ -6221,7 +6315,7 @@ files.")
(file-name (git-file-name name version))
(sha256
(base32
- "1vk7g5z977mi89hamwiqawpmibwvv9ghrf3pqva1waxmyc7gyjb5"))))
+ "1hn1qzpk1fvhi5j5nz4xlvzwkj9y16c9gryrb4n4dza84qi1pna5"))))
(build-system python-build-system)
(arguments
(list #:phases
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 2230310a03..bebcfb50e9 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -26,7 +26,7 @@
;;; Copyright © 2016, 2017 Nikita <nikita@n0.is>
;;; Copyright © 2016 Dylan Jeffers <sapientech@sapientech@openmailbox.org>
;;; Copyright © 2016 David Craven <david@craven.ch>
-;;; Copyright © 2016-2022 Marius Bakke <marius@gnu.org>
+;;; Copyright © 2016-2023 Marius Bakke <marius@gnu.org>
;;; Copyright © 2016, 2017, 2021, 2022 Stefan Reichör <stefan@xsteve.at>
;;; Copyright © 2016, 2017, 2019 Alex Vong <alexvong1995@gmail.com>
;;; Copyright © 2016–2018, 2021–2023 Arun Isaac <arunisaac@systemreboot.net>
@@ -51,7 +51,7 @@
;;; Copyright © 2016, 2018 Tomáš Čech <sleep_walker@gnu.org>
;;; Copyright © 2018-2023 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2018 Oleg Pykhalov <go.wigust@gmail.com>
-;;; Copyright © 2018, 2019, 2021 Clément Lassieur <clement@lassieur.org>
+;;; Copyright © 2018, 2019, 2021, 2023 Clément Lassieur <clement@lassieur.org>
;;; Copyright © 2018, 2019, 2020, 2021, 2022, 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2018 Luther Thompson <lutheroto@gmail.com>
;;; Copyright © 2018 Vagrant Cascadian <vagrant@debian.org>
@@ -582,6 +582,14 @@ and variables you'll need already imported and created.
(base32
"12v8l5i35vjbpvh5i4lw29ys6vpr3z7pysyrx33hxaq09zr015mx"))))
(build-system pyproject-build-system)
+ (arguments
+ (list
+ #:phases
+ '(modify-phases %standard-phases
+ (add-after 'unpack 'remove-invalid-syntax
+ (lambda _
+ (substitute* "setup.py"
+ ((".\\*\"") "\"")))))))
(propagated-inputs (list python-numpy python-scipy))
(home-page "https://github.com/joachimwolff/fit_nbinom")
(synopsis "Negative binomial maximum likelihood estimator")
@@ -734,13 +742,13 @@ from a docstring rather than the other way around.")
(define-public python-cachetools
(package
(name "python-cachetools")
- (version "4.2.2")
+ (version "5.3.1")
(source (origin
(method url-fetch)
(uri (pypi-uri "cachetools" version))
(sha256
(base32
- "1zqc098gk6y614lxwqd9z2gm8lldgvrpid133pnlm4m048gfvdb1"))))
+ "0azn5c4nkwpq7s5wjzs605if9nxjzblghjnlihm767sfkcnkzs6w"))))
(build-system python-build-system)
(home-page "https://github.com/tkem/cachetools/")
(synopsis "Extensible memoizing collections and decorators")
@@ -2568,8 +2576,7 @@ Python's built-in @code{re} module with compatible interfaces.")
(base32
"0ngzlvb5j8gqs2nxlp2b0jhzii792h66wsn694qm8kqixr225n0q"))))
(build-system python-build-system)
- (home-page
- "https://github.com/benediktschmitt/py-filelock")
+ (home-page "https://github.com/tox-dev/py-filelock")
(synopsis "Platform independent file lock")
(description "@code{filelock} contains a single module implementing
a platform independent file lock in Python, which provides a simple way of
@@ -5618,38 +5625,35 @@ logging and tracing of the execution.")
(define-public python-daemon
(package
(name "python-daemon")
- (version "2.3.0")
+ (version "3.0.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "python-daemon" version))
(sha256
(base32
- "1bxfn2bq56sd4w0nm9mqy8y0905m7fc8vmhnjxlrf49vcbqr7adx"))))
+ "1rfsnij687hk97ppzs2q6mwmxgr632nh672ajd0gzsppf8ilamvc"))))
(build-system python-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-before 'check 'adjust-tests
(lambda _
- ;; Drop use of testtools.helpers.safe_hasattr which has
- ;; been removed in favor of hasattr.
- (substitute* "test/test_metadata.py"
- (("testtools\\.helpers\\.safe_hasattr")
- "hasattr"))
;; FIXME: Determine why test fails
(substitute* "test/test_daemon.py"
(("test_detaches_process_context")
- "skip_test_detaches_process_context")))))))
+ "skip_test_detaches_process_context"))
+ (substitute* "test/scaffold.py"
+ (("test_exception_instance")
+ "skip_test_exception_instance")
+ (("test_exception_types")
+ "skip_test_exception_types")))))))
(propagated-inputs
- (list python-lockfile))
+ (list python-lockfile python-packaging python-setuptools))
(native-inputs
- (list python-coverage
- python-testtools
+ (list python-docutils
python-testscenarios
- python-twine
- python-mock
- python-docutils))
+ python-testtools))
(home-page "https://pagure.io/python-daemon/")
(synopsis "Python library for making a Unix daemon process")
(description "Python-daemon is a library that assists a Python program to
@@ -6148,7 +6152,7 @@ software version simply.")
(define-public python-deprecated
(package
(name "python-deprecated")
- (version "1.2.13")
+ (version "1.2.14")
(source
(origin
(method git-fetch)
@@ -6158,19 +6162,12 @@ software version simply.")
(file-name (git-file-name name version))
(sha256
(base32
- "0v4ys9xr8lski2r98da99spsj6hjlnnqgnhhmyhrm66myiix885c"))))
- (build-system python-build-system)
- (arguments
- `(#:phases (modify-phases %standard-phases
- (replace 'check
- (lambda* (#:key tests? #:allow-other-keys)
- (when tests?
- (invoke "pytest")))))))
+ "0knjsacv0r4gyz6ngjn3ih6352yz05r63ll73y2cg162bzcak48z"))))
+ (build-system pyproject-build-system)
(propagated-inputs
(list python-wrapt))
(native-inputs
- (list python-bumpversion python-pytest python-pytest-cov
- python-sphinx python-tox))
+ (list python-bumpversion python-pytest))
(home-page "https://github.com/tantale/deprecated")
(synopsis "Python decorator to deprecate classes, functions or methods")
(description "The @code{deprecated} decorator provides a convenient way to deprecate
@@ -8505,45 +8502,68 @@ by pycodestyle.")
(license (license:non-copyleft
"https://github.com/hhatto/autopep8/blob/master/LICENSE"))))
+(define-public python-dirty-equals
+ (package
+ (name "python-dirty-equals")
+ (version "0.7.0")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/samuelcolvin/dirty-equals")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1hw044d6q0ij8hrrbp6wbdb49xbyjd22viansy817hpmd0yf85ja"))))
+ (build-system pyproject-build-system)
+ (arguments
+ ;; This test requires pytest-examples, which in turn requires
+ ;; python-ruff, which is difficult to package because it is
+ ;; written in Rust (TODO: Enable when Ruff is in Guix!).
+ (list #:test-flags #~'("--ignore" "tests/test_docs.py")))
+ (native-inputs
+ (list python-hatchling
+ python-pydantic
+ python-pytest))
+ (propagated-inputs (list python-pytz))
+ (home-page "https://dirty-equals.helpmanual.io/")
+ (synopsis "Do dirty (but useful) things with equals")
+ (description
+ "@code{dirty-equals} is a Python library that (mis)uses the
+@code{__eq__} method to make code (generally unit tests) more declarative
+and therefore easier to read and write.")
+ (license license:expat)))
+
(define-public python-distlib
(package
(name "python-distlib")
- (version "0.3.5")
+ (version "0.3.7")
(source
(origin
(method url-fetch)
(uri (pypi-uri "distlib" version))
(sha256
(base32
- "1zmjraasgqkz0gfv4mc4w4fj4k2fxj62h1pf5dgb5qqbqwvmgxx7"))))
- (build-system python-build-system)
+ "1a27f5p93j9i1l3324qgahs3g8ai91fmx783jpyyla506i5ybbwx"))))
+ (build-system pyproject-build-system)
(arguments
(list
#:phases
#~(modify-phases %standard-phases
- (replace 'build
- (lambda _
- ;; ZIP does not support timestamps before 1980.
- (setenv "SOURCE_DATE_EPOCH" "315532800")
- (invoke "python" "-m" "build" "--wheel" "--no-isolation" ".")))
(add-before 'build 'no-/bin/sh
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let ((/bin/sh (search-input-file inputs "bin/sh")))
+ (substitute* '("distlib/scripts.py" "tests/test_scripts.py")
+ (("/bin/sh") /bin/sh)))))
+ (add-before 'check 'prepare-test-environment
(lambda _
- (substitute* '("distlib/scripts.py" "tests/test_scripts.py")
- (("/bin/sh") (which "sh")))))
- (replace 'check
- (lambda* (#:key tests? #:allow-other-keys)
(setenv "HOME" "/tmp")
;; NOTE: Any value works, the variable just has to be present.
- (setenv "SKIP_ONLINE" "1")
- (when tests?
- (invoke "pytest" "-vv"))))
- (replace 'install
- (lambda _
- (let ((whl (car (find-files "dist" "\\.whl$"))))
- (invoke "pip" "--no-cache-dir" "--no-input"
- "install" "--no-deps" "--prefix" #$output whl)))))))
+ (setenv "SKIP_ONLINE" "1"))))))
(native-inputs
- (list python-pypa-build python-pytest))
+ (list python-pytest))
+ (inputs
+ (list bash-minimal))
(home-page "https://github.com/pypa/distlib")
(synopsis "Distribution utilities")
(description "Distlib is a library which implements low-level functions that
@@ -15088,13 +15108,13 @@ systems, as a command line tool, and as a Python library.")
(define-public python-bleach
(package
(name "python-bleach")
- (version "5.0.1")
+ (version "6.0.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "bleach" version))
(sha256
- (base32 "0p089853pkwzf1j2zjlmw67pwbkk0whpzfx9dbrd56zb8xf2a0qd"))
+ (base32 "054lp46iymchq3np0nar3k2h4da3wq4rzw652kdxh1syb70qa6hs"))
(snippet
#~(begin
(use-modules (guix build utils))
@@ -15102,7 +15122,7 @@ systems, as a command line tool, and as a Python library.")
(("bleach\\._vendor\\.html5lib") "html5lib"))
(delete-file-recursively "bleach/_vendor/html5lib")))))
(build-system pyproject-build-system)
- (propagated-inputs (list python-html5lib python-tinycss2 python-webencodings))
+ (propagated-inputs (list python-html5lib python-tinycss2))
(native-inputs (list python-pytest))
(home-page "https://github.com/mozilla/bleach")
(synopsis "Whitelist-based HTML-sanitizing tool")
@@ -17311,6 +17331,27 @@ It is maintained by the Celery project, and used by kombu as a pure python
alternative when librabbitmq is not available.")
(license license:lgpl2.1+)))
+(define-public python-benchmark-4dn
+ (package
+ (name "python-benchmark-4dn")
+ (version "0.5.23")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "Benchmark-4dn" version))
+ (sha256
+ (base32
+ "0z3vxrkap59sk394ynvp0457mdvb201idcswlrpgjscnrp2h4ypi"))))
+ (properties '(("upstream-name" . "Benchmark-4dn")))
+ (build-system pyproject-build-system)
+ (native-inputs
+ (list python-poetry-core))
+ (home-page "https://github.com/SooLee/Benchmark/")
+ (synopsis "Benchmark functions for CWL workflows")
+ (description
+ "This package provides benchmark functions that return total space, memory,
+CPUs required per given input size, and parameters for CWL workflows.")
+ (license license:expat)))
+
(define-public python-beniget
(package
(name "python-beniget")
@@ -19256,6 +19297,30 @@ in Python. It allows you to declare the libraries your project depends on and
it will manage (install/update) them for you.")
(license license:expat)))
+(define-public python-pyproject-hooks
+ (package
+ (name "python-pyproject-hooks")
+ (version "1.0.0")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "pyproject_hooks" version))
+ (sha256
+ (base32
+ "1xaf4sharvacqlav6w3b38nc4j0rzg0p4axi7zamanbzp6cb4wgj"))))
+ (build-system pyproject-build-system)
+ (native-inputs
+ (list python-flit-core
+ python-testpath
+ python-pytest))
+ (propagated-inputs (list python-tomli))
+ (home-page "https://github.com/pypa/pyproject-hooks")
+ (synopsis "Low-level library for calling @file{pyproject.toml} backends")
+ (description
+ "@code{pyproject-hooks} is a low-level library for calling build backends
+in @file{pyproject.toml}-based projects. It provides basic functionality to
+write tooling that generates distribution files from Python projects.")
+ (license license:expat)))
+
(define-public python-lark-parser
(package
(name "python-lark-parser")
@@ -21381,14 +21446,14 @@ system.")
(define-public python-incremental
(package
(name "python-incremental")
- (version "17.5.0")
+ (version "22.10.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "incremental" version))
(sha256
(base32
- "1cylxdz1cnkm5g3pklna3h2n0i0rks95ir1pnpxfnvpkmab1cxbv"))))
+ "1l0b9k158n04cmcccdq9phdy20h08lpis922dy71iq7pw2sywbwi"))))
(build-system python-build-system)
(home-page "https://github.com/hawkowl/incremental")
(synopsis "Library for versioning Python projects")
@@ -22619,23 +22684,23 @@ manipulation, or @code{stdout}.")
(define-public python-flex
(package
(name "python-flex")
- (version "6.10.0")
+ (version "6.14.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "flex" version))
(sha256
(base32
- "00pamnwla3khk8nyla7y28dq9jnh69swd7f4jfsl7sn1izs8n8zk"))))
+ "1sr91f5sqywj4040jm3cq4333fp8hbmmr7v6v05a3h0sgyixcbi9"))))
(build-system python-build-system)
(propagated-inputs
(list python-click
- python-iso8601
python-jsonpointer
python-pyyaml
python-requests
python-rfc3987
python-six
+ python-strict-rfc3339
python-validate-email))
(home-page "https://github.com/pipermerriam/flex")
(synopsis "Validates Swagger schemata")
@@ -22986,55 +23051,59 @@ library.")
"This is the Cython-coded accelerator module for PyOpenGL.")))
(define-public python-glcontext
- (package
- (name "python-glcontext")
- (version "2.4.0")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/moderngl/glcontext")
- (commit version)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "0zzpwyqg19y600n09xz07cxk4jimh9vjraszda7g7ipijq6iasac"))))
- (build-system pyproject-build-system)
- (arguments
- (list #:phases #~(modify-phases %standard-phases
- (add-before 'build 'fix-lib-paths
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (let ((mesa (assoc-ref inputs "mesa"))
- (libx11 (assoc-ref inputs "libx11")))
- (substitute* '("glcontext/x11.cpp"
- "glcontext/egl.cpp")
- (("\"libGL.so\"")
- (string-append "\"" mesa "/lib/libGL.so\""))
- (("\"libEGL.so\"")
- (string-append "\"" mesa "/lib/libEGL.so\""))
- (("\"libX11.so\"")
- (string-append "\"" libx11 "/lib/libX11.so\"")))
- (substitute* '("glcontext/__init__.py")
- (("find_library\\('GL'\\)")
- (string-append "'" mesa "/lib/libGL.so'"))
- (("find_library\\('EGL'\\)")
- (string-append "'" mesa "/lib/libEGL.so'"))
- (("find_library\\(\"X11\"\\)")
- (string-append "'" libx11 "/lib/libX11.so'"))))))
- (replace 'check
- (lambda* (#:key inputs outputs tests?
- #:allow-other-keys)
- (when tests?
- (system "Xvfb :1 &")
- (setenv "DISPLAY" ":1")
- (add-installed-pythonpath inputs outputs)
- (invoke "pytest" "tests")))))))
- (inputs (list libx11 mesa))
- (native-inputs (list xorg-server-for-tests python-pytest python-psutil))
- (home-page "https://github.com/moderngl/glcontext")
- (synopsis "Portable OpenGL Context for ModernGL")
- (description "Python-glcontext is a library providing an OpenGL
+ (let (;; Upstream is known for abusing mutable tag, hence pinpoint the
+ ;; relevant commit.
+ (revision "1")
+ (commit "0af21b7c8a8cc0e76f4d9aff6a4f156f43d37333"))
+ (package
+ (name "python-glcontext")
+ (version (git-version "2.4.0" revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/moderngl/glcontext")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "03xpw776pvv8c5n58049yczlkgcqdh9vfcpjlghh3p6cal3yiq8a"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list #:phases #~(modify-phases %standard-phases
+ (add-before 'build 'fix-lib-paths
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let ((mesa (assoc-ref inputs "mesa"))
+ (libx11 (assoc-ref inputs "libx11")))
+ (substitute* '("glcontext/x11.cpp"
+ "glcontext/egl.cpp")
+ (("\"libGL.so\"")
+ (string-append "\"" mesa "/lib/libGL.so\""))
+ (("\"libEGL.so\"")
+ (string-append "\"" mesa "/lib/libEGL.so\""))
+ (("\"libX11.so\"")
+ (string-append "\"" libx11 "/lib/libX11.so\"")))
+ (substitute* '("glcontext/__init__.py")
+ (("find_library\\('GL'\\)")
+ (string-append "'" mesa "/lib/libGL.so'"))
+ (("find_library\\('EGL'\\)")
+ (string-append "'" mesa "/lib/libEGL.so'"))
+ (("find_library\\(\"X11\"\\)")
+ (string-append "'" libx11 "/lib/libX11.so'"))))))
+ (replace 'check
+ (lambda* (#:key inputs outputs tests?
+ #:allow-other-keys)
+ (when tests?
+ (system "Xvfb :1 &")
+ (setenv "DISPLAY" ":1")
+ (add-installed-pythonpath inputs outputs)
+ (invoke "pytest" "tests")))))))
+ (inputs (list libx11 mesa))
+ (native-inputs (list xorg-server-for-tests python-pytest python-psutil))
+ (home-page "https://github.com/moderngl/glcontext")
+ (synopsis "Portable OpenGL Context for ModernGL")
+ (description "Python-glcontext is a library providing an OpenGL
implementation for ModernGL on multiple platforms.")
- (license license:expat)))
+ (license license:expat))))
(define-public python-rencode
(package
@@ -23178,16 +23247,16 @@ design and layout.")
(define-public python-pkginfo
(package
(name "python-pkginfo")
- (version "1.8.3")
+ (version "1.9.6")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pkginfo" version))
(sha256
- (base32 "0z46w559hrl79gf7navgzimj21ma821wka27jh58fvyqilqs8kd8"))))
- (build-system python-build-system)
+ (base32 "0inh57664sx2vlbd3913dsc9nz21ysb9vk591qpkg90qhxp8kmcg"))))
+ (build-system pyproject-build-system)
(native-inputs
- (list python-wheel))
+ (list python-pytest))
(home-page "https://code.launchpad.net/~tseaver/pkginfo/trunk")
(synopsis "Query metadatdata from sdists, bdists, and installed packages")
(description
@@ -23278,6 +23347,26 @@ stack traces of Python programs. It exactly mimics the behavior of the Python
interpreter when it prints a stack trace.")
(license license:psfl)))
+(define-public python-tracerite
+ (package
+ (name "python-tracerite")
+ (version "1.1.0")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "tracerite" version))
+ (sha256
+ (base32
+ "0jwy5wwl0rcsgnx7hhq4z7ji3lx271sar4v2a1rmyh5vsj7sn784"))))
+ (build-system pyproject-build-system)
+ (native-inputs (list python-setuptools-scm))
+ (propagated-inputs (list python-html5tagger))
+ (home-page "https://github.com/sanic-org/tracerite")
+ (synopsis "Human-readable HTML tracebacks")
+ (description
+ "@code{tracerite} converts Python tracebacks into useful error messages
+in human-readable HTML format.")
+ (license license:unlicense)))
+
(define-public python-ratelimiter
(package
(name "python-ratelimiter")
@@ -23993,6 +24082,40 @@ standard library. It provides two additional tokens @code{ESCAPED_NL} and
and @code{tokens_to_src} to roundtrip.")
(license license:expat)))
+(define-public python-towncrier
+ (package
+ (name "python-towncrier")
+ (version "23.6.0")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "towncrier" version))
+ (sha256
+ (base32
+ "1hbhzxcn30qlnab1rnk2bf09jfy5bpxzfdp6zfn8sz3jnidbsagw"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list #:test-flags
+ ;; TODO: Why is this failing?
+ #~'("-k" "not test_version")))
+ (propagated-inputs
+ (list python-click
+ python-click-default-group
+ python-incremental
+ python-jinja2
+ python-tomli))
+ (native-inputs
+ (list git-minimal/pinned ;tests create git repositories
+ python-hatchling
+ python-packaging
+ python-pytest
+ python-twisted))
+ (home-page "https://towncrier.readthedocs.io/en/stable/")
+ (synopsis "Manage release notes")
+ (description
+ "@code{towncrier} is a utility to produce useful, summarized news
+files (also known as changelogs) for a project.")
+ (license license:expat)))
+
(define-public python-future-fstrings
(package
(name "python-future-fstrings")
@@ -24125,8 +24248,10 @@ based on the CPython 2.7 and 3.7 parsers.")
;; XXX: These fail when installed as a library:
;; https://github.com/agronholm/typeguard/issues/176
"not usefixtures and not test_cached_module")))))))
- (native-inputs
- (list python-mypy python-pytest python-typing-extensions))
+ (native-inputs (list python-mypy
+ python-pytest
+ python-setuptools-scm
+ python-typing-extensions))
(home-page "https://github.com/agronholm/typeguard")
(synopsis "Run-time type checker for Python")
(description
@@ -26383,17 +26508,17 @@ and dates in \"human readable\" forms. For example, it would display
(define-public python-txaio
(package
(name "python-txaio")
- (version "18.8.1")
+ (version "23.1.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "txaio" version))
(sha256
(base32
- "1zmpdph6zddgrnkkcykh6qk5s46l7s5mzfqrh82m4b5iffn61qv7"))))
- (build-system python-build-system)
- (propagated-inputs
- (list python-twisted python-six))
+ "017p9x0bssf7g9slmf30ddh1baawsmxas4nivx334pkfjxp23agr"))))
+ (build-system pyproject-build-system)
+ (native-inputs
+ (list python-pytest python-twisted))
(home-page "https://github.com/crossbario/txaio")
(synopsis "Compatibility layer between Python asyncio and Twisted")
(description "Txaio provides a compatibility layer between the Python
@@ -28884,14 +29009,14 @@ at import time.")
(define-public python-bashlex
(package
(name "python-bashlex")
- (version "0.14")
+ (version "0.18")
(source
(origin
(method url-fetch)
(uri (pypi-uri "bashlex" version))
(sha256
(base32
- "1z9g96fgsfpdwawp4sb5x6hbdhmda7kgmcrqlf9xx4bs1f8f14js"))))
+ "1vln4zszzdqkypiir2hxsvkhgbf816005lbgqcw66rymqq0kmc2v"))))
(build-system python-build-system)
(arguments
`(#:phases
@@ -31345,23 +31470,20 @@ compatible with a wide range of versions of the Stripe API.")
(define-public python-platformdirs
(package
(name "python-platformdirs")
- (version "2.4.1")
+ (version "3.10.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "platformdirs" version))
(sha256
- (base32 "1njz0h4iky8iglrb85cd07hpa3lp1a2dfr934dj65hxwzvfk61j4"))))
- (build-system python-build-system)
- (arguments
- '(#:phases (modify-phases %standard-phases
- (replace 'check
- (lambda* (#:key tests? #:allow-other-keys)
- (when tests?
- (invoke "pytest" "-vv")))))))
+ (base32 "0vbzyw1k6wvg8gv9cg99ds5pri007c6rqx9668d6kk6pnbd9cmml"))))
+ (build-system pyproject-build-system)
(native-inputs
- (list python-appdirs python-pytest python-pytest-mock
- python-setuptools-scm))
+ (list python-appdirs
+ python-hatchling
+ python-hatch-vcs
+ python-pytest
+ python-pytest-mock))
(home-page "https://github.com/platformdirs/platformdirs")
(synopsis "Determine the appropriate platform-specific directories")
(description "When writing applications, finding the right location to
diff --git a/gnu/packages/rpm.scm b/gnu/packages/rpm.scm
index b7802e3ecd..2c0d971377 100644
--- a/gnu/packages/rpm.scm
+++ b/gnu/packages/rpm.scm
@@ -44,7 +44,7 @@
(define-public drpm
(package
(name "drpm")
- (version "0.5.1")
+ (version "0.5.2")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -53,7 +53,7 @@
(file-name (git-file-name name version))
(sha256
(base32
- "0czg69crs2idnd8zsr7p01cd02f981gb5hq15m3qkwd25zxxd1l0"))))
+ "0jnbj5c9yf46bpbkq6gax4lfpq54c3xjyl0sa8psya7c1kzn44fx"))))
(build-system cmake-build-system)
(native-inputs
(list cmocka pkg-config))
diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm
index 5cfdeffa81..38db41549a 100644
--- a/gnu/packages/rust.scm
+++ b/gnu/packages/rust.scm
@@ -544,6 +544,7 @@ ar = \"" binutils "/bin/ar" "\"
(search-path-specification
(variable "LIBRARY_PATH")
(files '("lib" "lib64")))))
+ (supported-systems (delete "i586-gnu" %supported-systems))
(synopsis "Compiler for the Rust programming language")
(description "Rust is a systems programming language that provides memory
safety and thread safety guarantees.")
diff --git a/gnu/packages/search.scm b/gnu/packages/search.scm
index 3e3e8e00c6..5e86d1a76c 100644
--- a/gnu/packages/search.scm
+++ b/gnu/packages/search.scm
@@ -390,7 +390,7 @@ queries. A subset of VQL (Verity Query Language) is supported.")
(define-public fsearch
(package
(name "fsearch")
- (version "0.2.2")
+ (version "0.2.3")
(source
(origin
(method git-fetch)
@@ -399,7 +399,7 @@ queries. A subset of VQL (Verity Query Language) is supported.")
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "126sg0fa96vxwinih120riqhj42jlxs2h1bp373r6ml7jwkvlyyn"))))
+ (base32 "12vj1ymvg561594vdq852ianbkgnvrq585qp5jrrv2kq307jh5sl"))))
(build-system meson-build-system)
(native-inputs
(list autoconf
@@ -568,14 +568,14 @@ conflict with slocate compatibility.")
(define-public plocate
(package
(name "plocate")
- (version "1.1.18")
+ (version "1.1.19")
(source
(origin
(method url-fetch)
(uri (string-append "https://plocate.sesse.net/download/"
"plocate-" version ".tar.gz"))
(sha256
- (base32 "0b71chcnl0xymwpcg8ixsnh64017cj5irz04rq0rnwbh1c2mg5lk"))))
+ (base32 "0rb15sifsmcm756bifs3y8wj282vp0zzagg6kkvbjyczibpchnyr"))))
(build-system meson-build-system)
(arguments
`(#:configure-flags
diff --git a/gnu/packages/security-token.scm b/gnu/packages/security-token.scm
index b03c3b8080..a1fc058db8 100644
--- a/gnu/packages/security-token.scm
+++ b/gnu/packages/security-token.scm
@@ -130,7 +130,7 @@ readers and is needed to communicate with such devices through the
(define-public eid-mw
(package
(name "eid-mw")
- (version "5.1.10")
+ (version "5.1.11")
(source
(origin
(method git-fetch)
@@ -139,7 +139,7 @@ readers and is needed to communicate with such devices through the
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "14nx0hdpv0w5wwsg3894g8pzxlzgp9ryd38k4djhcsyarvzfwynr"))))
+ (base32 "09mhpwvqsr3pd2by3jm5jzjhyfx0f80bii35zd81vbzy85z26igg"))))
(build-system glib-or-gtk-build-system)
(native-inputs
(list autoconf
diff --git a/gnu/packages/serialization.scm b/gnu/packages/serialization.scm
index c17d417d5e..d0b4bd2735 100644
--- a/gnu/packages/serialization.scm
+++ b/gnu/packages/serialization.scm
@@ -52,8 +52,6 @@
#:use-module (gnu packages boost)
#:use-module (gnu packages check)
#:use-module (gnu packages compression)
- #:use-module (gnu packages cmake)
- #:use-module (gnu packages cpp)
#:use-module (gnu packages databases)
#:use-module (gnu packages documentation)
#:use-module (gnu packages gcc)
@@ -64,8 +62,7 @@
#:use-module (gnu packages python-build)
#:use-module (gnu packages python-check)
#:use-module (gnu packages python-science)
- #:use-module (gnu packages python-xyz)
- #:use-module (gnu packages perl))
+ #:use-module (gnu packages python-xyz))
(define-public avro-cpp-1.9
(package
diff --git a/gnu/packages/shellutils.scm b/gnu/packages/shellutils.scm
index abcb7c2f2a..671848fd27 100644
--- a/gnu/packages/shellutils.scm
+++ b/gnu/packages/shellutils.scm
@@ -104,7 +104,7 @@ chart.")
(define-public boxes
(package
(name "boxes")
- (version "2.2.0")
+ (version "2.2.1")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -113,7 +113,7 @@ chart.")
(file-name (git-file-name name version))
(sha256
(base32
- "0vv2gaav1m4z2xdk0k3ragmv4kcnzv7p3v97lkjl1wbfmk5nhz07"))))
+ "1blni7kjskg6y9ycvhwq3srfvh891xhfnjbh5h2zl0pb5szpllqi"))))
(build-system gnu-build-system)
(arguments
`(#:test-target "test"
@@ -685,7 +685,7 @@ city, state, zip, or area code, it will check out.")
(define-public conflict
(package
(name "conflict")
- (version "20210108")
+ (version "20221002")
(source (origin
(method url-fetch)
(uri (string-append
@@ -693,7 +693,7 @@ city, state, zip, or area code, it will check out.")
version ".tgz"))
(sha256
(base32
- "0mls4climvp7v9hnc3zh01mh270kqcj797ng0xslwb027lipis4h"))))
+ "1z6z61yiss9m45m3agqs92l569r55w9nsqaap56kh568mcy3y64c"))))
(build-system gnu-build-system)
(arguments
`(#:phases
diff --git a/gnu/packages/sphinx.scm b/gnu/packages/sphinx.scm
index 173accd768..a7c437d6b4 100644
--- a/gnu/packages/sphinx.scm
+++ b/gnu/packages/sphinx.scm
@@ -3,7 +3,7 @@
;;; Copyright © 2015, 2017, 2019, 2020, 2021, 2023 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015, 2016, 2017 Leo Famulari <leo@famulari.name>
;;; Copyright © 2016 Hartmut Goebel <h.goebel@crazy-compilers.com>
-;;; Copyright © 2016-2019, 2022 Marius Bakke <marius@gnu.org>
+;;; Copyright © 2016-2019, 2022, 2023 Marius Bakke <marius@gnu.org>
;;; Copyright © 2017 Danny Milosavljevic <dannym+a@scratchpost.org>
;;; Copyright © 2017, 2018, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017 Frederick M. Muriithi <fredmanglis@gmail.com>
@@ -204,6 +204,24 @@ sources.")
Apple help books.")
(license license:bsd-2)))
+(define-public python-sphinx-basic-ng
+ (package
+ (name "python-sphinx-basic-ng")
+ (version "1.0.0b2")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "sphinx_basic_ng" version))
+ (sha256
+ (base32
+ "1jaihs22d8jfvk1fnv5j7hcza89hxj979ib0b4mh130cr53mmicy"))))
+ (build-system pyproject-build-system)
+ (propagated-inputs (list python-sphinx))
+ (home-page "https://github.com/pradyunsg/sphinx-basic-ng")
+ (synopsis "Modernised skeleton for Sphinx themes")
+ (description
+ "This package provides a modern skeleton for Sphinx themes.")
+ (license license:expat)))
+
(define-public python-sphinx-click
(package
(name "python-sphinx-click")
@@ -1068,19 +1086,17 @@ widgets, and supports thebelab for live code execution with minimal effort.")
(define-public python-sphinxcontrib-autoprogram
(package
(name "python-sphinxcontrib-autoprogram")
- (version "0.1.7")
+ (version "0.1.8")
(source
(origin
(method url-fetch)
(uri (pypi-uri "sphinxcontrib-autoprogram" version))
(sha256
(base32
- "06hzim0d3fd72kf30fyjbbm5n8ibyybic0kf62gm79qp50zjwr5w"))))
+ "02pi450qml429disph075jyqwjrawrhbsjfkqvjf10yjp6fp4sas"))))
(build-system python-build-system)
(propagated-inputs
- (list python-six))
- (native-inputs
- (list python-sphinx))
+ (list python-six python-sphinx))
(home-page "https://github.com/sphinx-contrib/autoprogram")
(synopsis "Documenting CLI programs")
(description
diff --git a/gnu/packages/sync.scm b/gnu/packages/sync.scm
index 8235332cb0..c4410c67fd 100644
--- a/gnu/packages/sync.scm
+++ b/gnu/packages/sync.scm
@@ -50,7 +50,6 @@
#:use-module (gnu packages freedesktop)
#:use-module (gnu packages glib)
#:use-module (gnu packages gnome)
- #:use-module (gnu packages golang)
#:use-module (gnu packages graphviz)
#:use-module (gnu packages image)
#:use-module (gnu packages kde-frameworks)
@@ -62,7 +61,6 @@
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
- #:use-module (gnu packages python-xyz)
#:use-module (gnu packages qt)
#:use-module (gnu packages readline)
#:use-module (gnu packages rsync)
diff --git a/gnu/packages/syncthing.scm b/gnu/packages/syncthing.scm
index fd30360006..5570aa9361 100644
--- a/gnu/packages/syncthing.scm
+++ b/gnu/packages/syncthing.scm
@@ -38,9 +38,7 @@
#:use-module (gnu packages golang)
#:use-module (gnu packages gtk)
#:use-module (gnu packages linux)
- #:use-module (gnu packages python)
#:use-module (gnu packages python-crypto)
- #:use-module (gnu packages python-xyz)
#:use-module (gnu packages time))
(define-public syncthing
diff --git a/gnu/packages/task-management.scm b/gnu/packages/task-management.scm
index e4dd488cb6..f9221f8483 100644
--- a/gnu/packages/task-management.scm
+++ b/gnu/packages/task-management.scm
@@ -271,7 +271,7 @@ time to a logfile.")
(define-public dstask
(package
(name "dstask")
- (version "0.25")
+ (version "0.26")
(source
(origin
(method git-fetch)
@@ -280,7 +280,7 @@ time to a logfile.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "1m83zc2zqvpcbjng92jvlnk0biw4krv12wjvjas66jbbk3sjghcy"))))
+ (base32 "10q0524gfc76k0v9cy0j60cbgmmwkpnkbvl6w0pn1j5y690514f5"))))
(build-system go-build-system)
(arguments
`(#:import-path "github.com/naggie/dstask"
diff --git a/gnu/packages/telephony.scm b/gnu/packages/telephony.scm
index aa65c4eaad..42158784ca 100644
--- a/gnu/packages/telephony.scm
+++ b/gnu/packages/telephony.scm
@@ -44,7 +44,6 @@
#:use-module (guix gexp)
#:use-module (gnu packages)
#:use-module (gnu packages admin)
- #:use-module (gnu packages aidc)
#:use-module (gnu packages algebra)
#:use-module (gnu packages autotools)
#:use-module (gnu packages avahi)
@@ -52,23 +51,17 @@
#:use-module (gnu packages base)
#:use-module (gnu packages boost)
#:use-module (gnu packages check)
- #:use-module (gnu packages compression)
#:use-module (gnu packages cpp)
- #:use-module (gnu packages crypto)
#:use-module (gnu packages databases)
#:use-module (gnu packages sqlite)
#:use-module (gnu packages docbook)
#:use-module (gnu packages documentation)
#:use-module (gnu packages file)
#:use-module (gnu packages protobuf)
- #:use-module (gnu packages gettext)
#:use-module (gnu packages gl)
#:use-module (gnu packages glib)
- #:use-module (gnu packages gnome)
#:use-module (gnu packages gnupg)
- #:use-module (gnu packages gtk)
#:use-module (gnu packages image)
- #:use-module (gnu packages libcanberra)
#:use-module (gnu packages libusb)
#:use-module (gnu packages linphone)
#:use-module (gnu packages linux)
@@ -77,7 +70,6 @@
#:use-module (gnu packages ncurses)
#:use-module (gnu packages netpbm)
#:use-module (gnu packages networking)
- #:use-module (gnu packages pcre)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages pulseaudio)
@@ -85,12 +77,8 @@
#:use-module (gnu packages qt)
#:use-module (gnu packages samba)
#:use-module (gnu packages security-token)
- #:use-module (gnu packages serialization)
#:use-module (gnu packages speech)
#:use-module (gnu packages tls)
- #:use-module (gnu packages upnp)
- #:use-module (gnu packages video)
- #:use-module (gnu packages webkit)
#:use-module (gnu packages xiph)
#:use-module (gnu packages xorg)
#:use-module (gnu packages xml)
diff --git a/gnu/packages/terminals.scm b/gnu/packages/terminals.scm
index a67ec97859..add4cedc26 100644
--- a/gnu/packages/terminals.scm
+++ b/gnu/packages/terminals.scm
@@ -103,7 +103,6 @@
#:use-module (gnu packages protobuf)
#:use-module (gnu packages python)
#:use-module (gnu packages python-check)
- #:use-module (gnu packages python-web)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages qt)
#:use-module (gnu packages serialization)
@@ -833,7 +832,7 @@ eye-candy, customizable, and reasonably lightweight.")
(define-public foot
(package
(name "foot")
- (version "1.15.2")
+ (version "1.15.3")
(home-page "https://codeberg.org/dnkl/foot")
(source (origin
(method git-fetch)
@@ -841,7 +840,7 @@ eye-candy, customizable, and reasonably lightweight.")
(file-name (git-file-name name version))
(sha256
(base32
- "1iz9l01fpryc335pb0c3qi67fmmfplizv5pbc9s578mxl5j9dxg4"))))
+ "1a224i2i7qk170kf2rzyxqcv3lnx9f548lwa37jgjr7i339x4zwf"))))
(build-system meson-build-system)
(arguments
`(;; Using a "release" build is recommended both for performance, and
diff --git a/gnu/packages/tor.scm b/gnu/packages/tor.scm
index 44e62b63cc..1eb62a950e 100644
--- a/gnu/packages/tor.scm
+++ b/gnu/packages/tor.scm
@@ -1,7 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013, 2014, 2015, 2021 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
-;;; Copyright © 2016, 2017, 2018, 2020, 2021, 2022 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2016-2018, 2020-2023 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016, 2017 Nikita <nikita@n0.is>
;;; Copyright © 2017–2021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017, 2018, 2019, 2021, 2023 Eric Bavier <bavier@posteo.net>
@@ -63,15 +63,14 @@
(define-public tor
(package
(name "tor")
- (version "0.4.8.5")
+ (version "0.4.8.6")
(source (origin
(method url-fetch)
(uri (string-append "https://dist.torproject.org/tor-"
version ".tar.gz"))
(sha256
(base32
- "06g1awb4piqvgxa97pyswxgjzkpj8rx3iy2jbiaygvi99b8wymv9"))
- (patches (search-patches "tor-remove-defensive-assert.patch"))))
+ "122h6l3nh8xrpzkmn4alsbz30jw8nxivwnhgnp97qv7nr9gqjbam"))))
(build-system gnu-build-system)
(arguments
(list #:configure-flags
diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm
index 86dcea908c..9716a6f27a 100644
--- a/gnu/packages/version-control.scm
+++ b/gnu/packages/version-control.scm
@@ -48,6 +48,7 @@
;;; Copyright © 2022 Dhruvin Gandhi <contact@dhruvin.dev>
;;; Copyright © 2015, 2022 David Thompson <davet@gnu.org>
;;; Copyright © 2023 Nicolas Graves <ngraves@ngraves.fr>
+;;; Copyright © 2023 Kjartan Oli Agustsson <kjartanoli@disroot.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -79,6 +80,7 @@
#:use-module (guix build-system go)
#:use-module (guix build-system perl)
#:use-module (guix build-system python)
+ #:use-module (guix build-system qt)
#:use-module (guix build-system trivial)
#:use-module (gnu packages apr)
#:use-module (gnu packages autotools)
@@ -115,7 +117,7 @@
#:use-module (gnu packages ncurses)
#:use-module (gnu packages ssh)
#:use-module (gnu packages web)
- #:use-module (gnu packages openstack)
+ #:use-module (gnu packages patchutils)
#:use-module (gnu packages pcre)
#:use-module (gnu packages perl)
#:use-module (gnu packages perl-check)
@@ -128,7 +130,6 @@
#:use-module (gnu packages python-web)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages readline)
- #:use-module (gnu packages rsync)
#:use-module (gnu packages ruby)
#:use-module (gnu packages sqlite)
#:use-module (gnu packages texinfo)
@@ -1297,7 +1298,7 @@ and additionally allows you to access the Git repository more directly using
either a pure Python implementation, or the faster, but more resource intensive
@command{git} command implementation.")
(license license:bsd-3)))
-
+
(define-public savane
(package
(name "savane")
@@ -3554,6 +3555,40 @@ has tools for tagging, merging, checking in/out, and other user operations.
TkDiff is included for browsing and merging your changes.")
(license license:gpl2+)))
+(define-public qgit
+ (package
+ (name "qgit")
+ (version "2.10")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/tibirna/qgit")
+ (commit (string-append "qgit-" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "10j5xll7ai1rb2ybyblbgqm762bqspffpf33fdr61qdchnp2gkf4"))))
+ (build-system qt-build-system)
+ (arguments
+ (list #:tests? #f)) ;no tests
+ (propagated-inputs
+ (list git))
+ (home-page "https://github.com/tibirna/qgit")
+ (synopsis "Graphical front-end for git")
+ (description
+ "Qgit is a graphical front-end for git, with features to:
+@itemize
+@item view revisions, diffs, files history, files annotation and archive tree,
+@item commit changes visually cherry picking modified files,
+@item apply or save patch series from selected commits, drag and drop commits,
+@item associate commands sequences, scripts and anything else executable to a
+ custom action,
+@item push/pop commits,
+@item apply/save/create patches
+@item and cherry pick single modified files.
+@end itemize")
+ (license license:gpl3+)))
+
(define-public git-filter-repo
(package
(name "git-filter-repo")
@@ -3689,3 +3724,34 @@ create and manage trackers, tickets
interact with GraphQL APIs directly
@end table")
(license license:agpl3)))
+
+(define-public commit-patch
+ (package
+ (name "commit-patch")
+ (version "2.6.2")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://github.com/caldwell/commit-patch/releases/download/"
+ version "/commit-patch-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0v11vjyisk243zi0ym90bnqb229j7iaqx1lwqdkszxzn1yxwq4ck"))))
+ (build-system copy-build-system)
+ (arguments
+ (list #:phases #~(modify-phases %standard-phases
+ (add-after 'unpack 'fix-paths
+ (lambda* (#:key inputs #:allow-other-keys)
+ (patch-shebang "commit-patch"))))
+ #:install-plan ''(("commit-patch" "bin/")
+ ("commit-patch-buffer.el"
+ "share/emacs/site-lisp/"))))
+ (inputs (list perl))
+ (propagated-inputs (list patchutils))
+ (synopsis "Commit parts of changes to VCS repositories")
+ (description
+ "commit-patch is a utility that lets you check in select portions of a
+file into Darcs, Git, Mercurial, Bazaar, Subversion, or CVS repositories. It
+comes as a command line app and also an Emacs interface.")
+ (home-page "https://porkrind.org/commit-patch/")
+ (license license:gpl2+)))
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index e8cee27382..c2f5b52042 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -117,10 +117,8 @@
#:use-module (gnu packages bash)
#:use-module (gnu packages bison)
#:use-module (gnu packages boost)
- #:use-module (gnu packages build-tools)
#:use-module (gnu packages cdrom)
#:use-module (gnu packages check)
- #:use-module (gnu packages cmake)
#:use-module (gnu packages compression)
#:use-module (gnu packages cpp)
#:use-module (gnu packages crates-io)
@@ -131,7 +129,6 @@
#:use-module (gnu packages dns)
#:use-module (gnu packages docbook)
#:use-module (gnu packages documentation)
- #:use-module (gnu packages elf)
#:use-module (gnu packages file)
#:use-module (gnu packages flex)
#:use-module (gnu packages fonts)
@@ -157,9 +154,7 @@
#:use-module (gnu packages libidn)
#:use-module (gnu packages libusb)
#:use-module (gnu packages linux)
- #:use-module (gnu packages llvm)
#:use-module (gnu packages lua)
- #:use-module (gnu packages m4)
#:use-module (gnu packages man)
#:use-module (gnu packages markup)
#:use-module (gnu packages maths)
@@ -188,7 +183,6 @@
#:use-module (gnu packages python-web)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages qt)
- #:use-module (gnu packages rdesktop)
#:use-module (gnu packages re2c)
#:use-module (gnu packages ruby)
#:use-module (gnu packages rust-apps)
@@ -208,7 +202,6 @@
#:use-module (gnu packages version-control)
#:use-module (gnu packages vulkan)
#:use-module (gnu packages web)
- #:use-module (gnu packages webkit)
#:use-module (gnu packages wget)
#:use-module (gnu packages wxwidgets)
#:use-module (gnu packages xdisorg)
diff --git a/gnu/packages/w3m.scm b/gnu/packages/w3m.scm
index 498bf0f111..f87cab998b 100644
--- a/gnu/packages/w3m.scm
+++ b/gnu/packages/w3m.scm
@@ -61,7 +61,8 @@
'(#:tests? #f ; no check target
;; Use $EDITOR instead of a hard-coded value.
#:configure-flags (list "--with-editor="
- "--with-imagelib=imlib2")
+ "--with-imagelib=imlib2"
+ "--enable-image=fb,x11")
#:phases
(modify-phases %standard-phases
(add-before 'configure 'fix-perl
@@ -77,9 +78,7 @@
openssl
zlib))
(native-inputs
- `(("gettext" ,gettext-minimal)
- ("perl" ,perl)
- ("pkg-config" ,pkg-config)))
+ (list gettext-minimal perl pkg-config))
(home-page "https://w3m.sourceforge.net/")
(synopsis "Text-mode web browser")
(description
diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
index 1b4eafeab8..38982d9c39 100644
--- a/gnu/packages/web.scm
+++ b/gnu/packages/web.scm
@@ -63,6 +63,7 @@
;;; Copyright © 2022 Bruno Victal <mirai@makinata.eu>
;;; Copyright © 2023 David Thompson <dthompson2@worcester.edu>
;;; Copyright © 2023 Christopher Howard <christopher@librehacker.com>
+;;; Copyright © 2023 Felix Lechner <felix.lechner@lease-up.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -98,6 +99,7 @@
#:use-module (guix build-system go)
#:use-module (guix build-system meson)
#:use-module (guix build-system perl)
+ #:use-module (guix build-system pyproject)
#:use-module (guix build-system python)
#:use-module (guix build-system scons)
#:use-module (guix build-system trivial)
@@ -1709,6 +1711,42 @@ other systems that want to manipulate WebAssembly files.")
(description "WASM3 is a fast WebAssembly interpreter.")
(license license:expat)))
+(define-public wasm-micro-runtime
+ (package
+ (name "wasm-micro-runtime")
+ (version "1.2.3")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/bytecodealliance/wasm-micro-runtime")
+ (commit (string-append "WAMR-" version))))
+ (file-name (git-file-name "WAMR" version))
+ (sha256
+ (base32
+ "1s7r8vfxixf737jp12cf7as68fd63lrmqdxj7fiqdla2wk89ly3f"))))
+ (build-system cmake-build-system)
+ (arguments
+ (list
+ ;; Running the tests is difficult. The test script in
+ ;; tests/wamr-test-suites insists on downloading and building wabt (even
+ ;; if we provide it) and it has a hard time accepting a separately
+ ;; provided clone of the https://github.com/WebAssembly/spec repository.
+ ;; Future releases provide unit tests which may be easier to run.
+ #:tests? #false
+ #:phases
+ '(modify-phases %standard-phases
+ (add-after 'unpack 'chdir
+ (lambda _
+ (chdir "product-mini/platforms/linux"))))))
+ (home-page "https://bytecodealliance.github.io/wamr.dev")
+ (synopsis "WebAssembly Micro Runtime")
+ (description "WebAssembly Micro Runtime (WAMR) is a lightweight standalone
+WebAssembly (Wasm) runtime with small footprint, high performance and highly
+configurable features for applications cross from embedded, IoT, edge to
+Trusted Execution Environment (TEE), smart contract, cloud native and other
+features.")
+ (license license:asl2.0)))
+
(define-public websocketpp
(package
(name "websocketpp")
@@ -1947,7 +1985,7 @@ of people.")
(define-public websockify
(package
(name "websockify")
- (version "0.8.0")
+ (version "0.11.0")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -1956,15 +1994,16 @@ of people.")
(file-name (git-file-name name version))
(sha256
(base32
- "0pcic8qs0gdwrfjgfaf893jyddaw97wcjm2mmvwn0xyhmy8mbmw1"))))
- (build-system python-build-system)
- (arguments
- `(#:tests? #f)) ; FIXME: 2 out of 6 tests fail with "ImportError: No module
- ; named 'stubout'". The tests can be run by replacing the check phase with
- ; the command "python setup.py nosetests --verbosity=3".
- (native-inputs (list ; Required for tests:
- python-mox3 python-nose))
- (propagated-inputs (list python-numpy))
+ "0ysqylpyv17s52634wn3vrwf7y9b5ig7fdfv8vwj1272lvv68qgk"))))
+ (build-system pyproject-build-system)
+ (native-inputs (list python-nose2))
+ (inputs
+ (list python-jwcrypto
+ python-numpy
+ python-redis
+ python-requests
+ ;; TODO: Remove simplejson for versions > 0.11.0.
+ python-simplejson))
(home-page "https://github.com/novnc/websockify")
(synopsis "WebSockets support for any application/server")
(description "Websockify translates WebSockets traffic to normal socket
@@ -4807,6 +4846,31 @@ http://opensearch.a9.com} compatible search engines.")
their web site.")
(home-page "https://metacpan.org/release/WWW-RobotRules")))
+(define-public python-lambda-4dn
+ (package
+ (name "python-lambda-4dn")
+ (version "0.12.3")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "python-lambda-4dn" version))
+ (sha256
+ (base32
+ "1p5i8wsi8q5fpq63i7n7ri1w1lnh4gpn17f88vhkbh14aah5wxj1"))))
+ (properties '(("upstream-name" . "python-lambda-4dn")))
+ (build-system pyproject-build-system)
+ (propagated-inputs
+ (list python-boto3 python-botocore python-docutils
+ python-six))
+ (home-page "https://github.com/4dn-dcic/python-lambda")
+ (synopsis
+ "Toolkit for developing and deploying Python code in AWS Lambda")
+ (description
+ "This is a toolset for developing and deploying serverless Python code in
+AWS Lambda. This is a fork of Nick Ficano's Python-lambda package. It is
+frozen for the needs of projects at the 4D Nucleome Data Coordination and
+Integration Center (4DN-DCIC).")
+ (license (list license:isc license:expat))))
+
(define-public python-feedparser
(package
(name "python-feedparser")
@@ -4837,6 +4901,36 @@ CDF, Atom 0.3, and Atom 1.0 feeds.")
(license (list license:bsd-2 ; source code
license:freebsd-doc)))) ; documentation
+(define-public python-tibanna
+ (package
+ (name "python-tibanna")
+ (version "4.0.0")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "tibanna" version))
+ (sha256
+ (base32
+ "185jr5b1dfgh82xcjal0y9wbzds37s0yhx0hp8awlvw26v72awv2"))))
+ (build-system pyproject-build-system)
+ (arguments
+ ;; Tests require AWS credentials and access to the internet.
+ (list #:tests? #false))
+ (propagated-inputs
+ (list python-benchmark-4dn
+ python-boto3 python-botocore
+ python-lambda-4dn python-tomlkit))
+ (native-inputs
+ (list python-poetry-core
+ python-pytest
+ python-pytest-cov
+ python-pytest-mock))
+ (home-page "https://github.com/4dn-dcic/tibanna")
+ (synopsis "Tibanna runs portable workflows on the AWS Cloud")
+ (description
+ "Tibanna runs portable pipelines (in CWL/WDL and Snakemake) on the AWS
+Cloud.")
+ (license license:expat)))
+
(define-public guix-data-service
(let ((commit "1c7539418743e0dfe3a9cad22c414fd732daef8f")
(revision "42"))
diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm
index 9ef60ec668..e26a032267 100644
--- a/gnu/packages/wm.scm
+++ b/gnu/packages/wm.scm
@@ -131,9 +131,7 @@
#:use-module (gnu packages lisp-xyz)
#:use-module (gnu packages logging)
#:use-module (gnu packages lua)
- #:use-module (gnu packages m4)
#:use-module (gnu packages man)
- #:use-module (gnu packages maths)
#:use-module (gnu packages mpd)
#:use-module (gnu packages pciutils)
#:use-module (gnu packages music)
@@ -153,7 +151,6 @@
#:use-module (gnu packages texinfo)
#:use-module (gnu packages textutils)
#:use-module (gnu packages time)
- #:use-module (gnu packages video)
#:use-module (gnu packages web)
#:use-module (gnu packages xdisorg)
#:use-module (gnu packages xml)
diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm
index ee6e00f518..f86608497d 100644
--- a/gnu/packages/xdisorg.scm
+++ b/gnu/packages/xdisorg.scm
@@ -2751,7 +2751,7 @@ Wayland and @code{wlroots} by leveraging @command{grim} and @command{slurp}.")
(define-public wl-clipboard
(package
(name "wl-clipboard")
- (version "2.2.0")
+ (version "2.2.1")
(source
(origin
(method git-fetch)
@@ -2760,7 +2760,7 @@ Wayland and @code{wlroots} by leveraging @command{grim} and @command{slurp}.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "0r45k6fk9k26qs88s2sjlgjjamhj2jqghdivlh2xjqknws63d29g"))))
+ (base32 "09l6dv3qsqscbr98vxi4wg4rkx0wlhnsc40n21mx3ds6balmg105"))))
(build-system meson-build-system)
(arguments
(list #:configure-flags
diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm
index 08cbd8d757..cd1335661b 100644
--- a/gnu/packages/xorg.scm
+++ b/gnu/packages/xorg.scm
@@ -5912,7 +5912,7 @@ to answer a question. Xmessage can also exit after a specified time.")
(define-public xterm
(package
(name "xterm")
- (version "377")
+ (version "384")
(source
(origin
(method url-fetch)
@@ -5922,7 +5922,7 @@ to answer a question. Xmessage can also exit after a specified time.")
(string-append "ftp://ftp.invisible-island.net/xterm/"
"xterm-" version ".tgz")))
(sha256
- (base32 "1clhm4c8d7vmz0dn6qz2c6g68wxl8f2ba8a7c1zdk3jxlkkqy46v"))
+ (base32 "0wy3rdj5smis44nsy6iccx3gsyzlqw0rcjjb7h605bnf803qgvri"))
(patches
(search-patches "xterm-370-explicit-xcursor.patch"))))
(build-system gnu-build-system)
diff --git a/gnu/services/networking.scm b/gnu/services/networking.scm
index e2f6e6c0ca..f4aff2d979 100644
--- a/gnu/services/networking.scm
+++ b/gnu/services/networking.scm
@@ -89,6 +89,7 @@
dhcp-client-configuration?
dhcp-client-configuration-package
dhcp-client-configuration-interfaces
+ dhcp-client-configuration-shepherd-provision
dhcp-client-configuration-shepherd-requirement
dhcpd-service-type
@@ -303,6 +304,8 @@
(default isc-dhcp))
(shepherd-requirement dhcp-client-configuration-shepherd-requirement
(default '()))
+ (shepherd-provision dhcp-client-configuration-shepherd-provision
+ (default '(networking)))
(interfaces dhcp-client-configuration-interfaces
(default 'all))) ;'all | list of strings
@@ -310,19 +313,19 @@
(match-lambda
((? dhcp-client-configuration? config)
(let ((package (dhcp-client-configuration-package config))
- (shepherd-requirement (dhcp-client-configuration-shepherd-requirement config))
+ (requirement (dhcp-client-configuration-shepherd-requirement config))
+ (provision (dhcp-client-configuration-shepherd-provision config))
(interfaces (dhcp-client-configuration-interfaces config))
(pid-file "/var/run/dhclient.pid"))
(list (shepherd-service
(documentation "Set up networking via DHCP.")
- (requirement `(user-processes udev ,@shepherd-requirement))
+ (requirement `(user-processes udev ,@requirement))
+ (provision provision)
;; XXX: Running with '-nw' ("no wait") avoids blocking for a minute when
;; networking is unavailable, but also means that the interface is not up
;; yet when 'start' completes. To wait for the interface to be ready, one
;; should instead monitor udev events.
- (provision '(networking))
-
(start #~(lambda _
(define dhclient
(string-append #$package "/sbin/dhclient"))
@@ -1841,6 +1844,7 @@ table inet filter {
(let ((nft (file-append package "/sbin/nft")))
(shepherd-service
(documentation "Packet filtering and classification")
+ (actions (list (shepherd-configuration-action ruleset)))
(provision '(nftables))
(start #~(lambda _
(invoke #$nft "--file" #$ruleset)))
diff --git a/gnu/services/syncthing.scm b/gnu/services/syncthing.scm
index 2f7c822827..9bb623186b 100644
--- a/gnu/services/syncthing.scm
+++ b/gnu/services/syncthing.scm
@@ -63,7 +63,7 @@
(list (string->symbol
(string-append "syncthing-" user)))))
(documentation "Run syncthing.")
- (requirement (if home-service? '() '(loopback)))
+ (requirement (if home-service? '() '(loopback user-processes)))
(start #~(make-forkexec-constructor
(append (list (string-append #$syncthing "/bin/syncthing")
"--no-browser"
diff --git a/gnu/services/virtualization.scm b/gnu/services/virtualization.scm
index eef7ffd1c7..e1a206e0eb 100644
--- a/gnu/services/virtualization.scm
+++ b/gnu/services/virtualization.scm
@@ -1163,7 +1163,9 @@ is added to the OS specified in CONFIG."
(provisions '(hurd-vm childhurd)))
(define vm-command
- #~(append (list #$(file-append qemu "/bin/qemu-system-i386")
+ ;; XXX: Use the x86_64 emulator instead of the i386 one to work around
+ ;; "Bad ram pointer" issues: <https://issues.guix.gnu.org/66053>.
+ #~(append (list #$(file-append qemu "/bin/qemu-system-x86_64")
"-m" (number->string #$memory-size)
#$@net-options
#$@options
diff --git a/gnu/system/file-systems.scm b/gnu/system/file-systems.scm
index 95b757a698..529f1536de 100644
--- a/gnu/system/file-systems.scm
+++ b/gnu/system/file-systems.scm
@@ -85,6 +85,7 @@
%elogind-file-systems
%base-file-systems
+ %base-live-file-systems
%container-file-systems
<file-system-mapping>
@@ -495,6 +496,26 @@ TARGET in the other system."
%efivars-file-system
%immutable-store))
+(define %base-live-file-systems
+ ;; This is the bare minimum to use live file-systems.
+ ;; Used in installation-os.
+ (list (file-system
+ (mount-point "/")
+ (device (file-system-label "Guix_image"))
+ (type "ext4"))
+
+ ;; Make /tmp a tmpfs instead of keeping the overlayfs. This
+ ;; originally was used for unionfs because FUSE creates
+ ;; '.fuse_hiddenXYZ' files for each open file, and this confuses
+ ;; Guix's test suite, for instance (see
+ ;; <http://bugs.gnu.org/23056>). We keep this for overlayfs to be
+ ;; on the safe side.
+ (file-system
+ (mount-point "/tmp")
+ (device "none")
+ (type "tmpfs")
+ (check? #f))))
+
;; File systems for Linux containers differ from %base-file-systems in that
;; they impose additional restrictions such as no-exec or need different
;; options to function properly.
diff --git a/gnu/system/hurd.scm b/gnu/system/hurd.scm
index 22dafae622..3b138bef65 100644
--- a/gnu/system/hurd.scm
+++ b/gnu/system/hurd.scm
@@ -26,6 +26,7 @@
#:use-module (gnu packages admin)
#:use-module (gnu packages base)
#:use-module (gnu packages bash)
+ #:use-module (gnu packages certs)
#:use-module (gnu packages compression)
#:use-module (gnu packages cross-base)
#:use-module (gnu packages file)
@@ -34,6 +35,7 @@
#:use-module (gnu packages guile-xyz)
#:use-module (gnu packages hurd)
#:use-module (gnu packages less)
+ #:use-module (gnu packages linux)
#:use-module (gnu packages texinfo)
#:use-module (gnu services)
#:use-module (gnu services base)
@@ -71,7 +73,7 @@
(list shepherd-0.8 hurd netdde bash coreutils file findutils grep sed
diffutils patch gawk tar gzip bzip2 xz lzip
guile-3.0-latest guile-colorized guile-readline
- net-base inetutils less shadow sudo which
+ net-base nss-certs inetutils less procps shadow sudo which
info-reader))
(define %base-services/hurd
@@ -127,6 +129,7 @@
(file-systems '())
(packages %base-packages/hurd)
(timezone "GNUrope")
+ (locale-libcs (list glibc/hurd))
(name-service-switch #f)
(essential-services (hurd-default-essential-services this-operating-system))
(setuid-programs %setuid-programs/hurd)))
diff --git a/gnu/system/image.scm b/gnu/system/image.scm
index 5b8da2f896..fa4cab0b03 100644
--- a/gnu/system/image.scm
+++ b/gnu/system/image.scm
@@ -77,6 +77,7 @@
root-partition
mbr-disk-image
+ mbr-hybrid-disk-image
efi-disk-image
iso9660-image
docker-image
@@ -86,6 +87,7 @@
image-with-os
mbr-raw-image-type
+ mbr-hybrid-raw-image-type
efi-raw-image-type
efi32-raw-image-type
qcow2-image-type
@@ -156,6 +158,13 @@ parent image record."
(inherit root-partition)
(offset root-offset))))))
+(define mbr-hybrid-disk-image
+ (image-without-os
+ (format 'disk-image)
+ (partition-table-type 'mbr)
+ (partitions
+ (list esp-partition root-partition))))
+
(define efi-disk-image
(image-without-os
(format 'disk-image)
@@ -217,6 +226,11 @@ set to the given OS."
(name 'mbr-raw)
(constructor (cut image-with-os mbr-disk-image <>))))
+(define mbr-hybrid-raw-image-type
+ (image-type
+ (name 'mbr-hybrid-raw)
+ (constructor (cut image-with-os mbr-hybrid-disk-image <>))))
+
(define efi-raw-image-type
(image-type
(name 'efi-raw)
@@ -516,6 +530,13 @@ used in the image."
(image-partition-table-type image)))
(else "")))
+ (when (and (gpt-image? image)
+ (not
+ (memq (bootloader-name bootloader) '(grub-efi grub-efi32))))
+ (raise
+ (formatted-message
+ (G_ "EFI bootloader required with GPT partitioning"))))
+
(let* ((format (image-format image))
(image-type (format->image-type format))
(image-type-options (genimage-type-options image-type image))
diff --git a/gnu/system/install.scm b/gnu/system/install.scm
index 7a68c19606..28161de153 100644
--- a/gnu/system/install.scm
+++ b/gnu/system/install.scm
@@ -517,22 +517,7 @@ Access documentation at any time by pressing Alt-F2.\x1b[0m
(file-systems
;; Note: the disk image build code overrides this root file system with
;; the appropriate one.
- (cons* (file-system
- (mount-point "/")
- (device (file-system-label "Guix_image"))
- (type "ext4"))
-
- ;; Make /tmp a tmpfs instead of keeping the overlayfs. This
- ;; originally was used for unionfs because FUSE creates
- ;; '.fuse_hiddenXYZ' files for each open file, and this confuses
- ;; Guix's test suite, for instance (see
- ;; <http://bugs.gnu.org/23056>). We keep this for overlayfs to be
- ;; on the safe side.
- (file-system
- (mount-point "/tmp")
- (device "none")
- (type "tmpfs")
- (check? #f))
+ (append %base-live-file-systems
;; XXX: This should be %BASE-FILE-SYSTEMS but we don't need
;; elogind's cgroup file systems.
diff --git a/gnu/system/locale.scm b/gnu/system/locale.scm
index 6895b209dc..bc572baeb9 100644
--- a/gnu/system/locale.scm
+++ b/gnu/system/locale.scm
@@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014-2017, 2019-2021, 2023 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2018 Mark H Weaver <mhw@netris.org>
+;;; Copyright © 2023 Janneke Nieuwenhuizen <jannek@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -147,7 +148,9 @@ data format changes between libc versions."
(define %default-locale-libcs
;; The libcs for which we build locales by default.
- (list glibc-2.33 glibc))
+ (if (system-hurd?)
+ (list glibc/hurd)
+ (list glibc-2.33 glibc)))
(define %default-locale-definitions
;; Arbitrary set of locales that are built by default. They are here mostly
diff --git a/gnu/tests/virtualization.scm b/gnu/tests/virtualization.scm
index effdeb4cfa..73c8099b79 100644
--- a/gnu/tests/virtualization.scm
+++ b/gnu/tests/virtualization.scm
@@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2017 Christopher Baines <mail@cbaines.net>
-;;; Copyright © 2020-2022 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2020-2023 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2021 Pierre Langlois <pierre.langlois@gmx.com>
;;; Copyright © 2022 Marius Bakke <marius@gnu.org>
@@ -301,7 +301,9 @@
(test-assert "service running"
(marionette-eval
'(begin
- (use-modules (gnu services herd))
+ (use-modules (gnu services herd)
+ (ice-9 match))
+
(match (start-service 'childhurd)
(#f #f)
(('service response-parts ...)
@@ -316,7 +318,8 @@
;; to the host won't work because QEMU listens on 127.0.0.1.
(marionette-eval
'(begin
- (use-modules (ice-9 match))
+ (use-modules (ice-9 match)
+ (ice-9 textual-ports))
(let loop ((n 60))
(if (zero? n)
diff --git a/guix/build/emacs-utils.scm b/guix/build/emacs-utils.scm
index 850b1f5f2a..8e12b5b6d4 100644
--- a/guix/build/emacs-utils.scm
+++ b/guix/build/emacs-utils.scm
@@ -40,6 +40,7 @@
emacs-byte-compile-directory
emacs-compile-directory
emacs-header-parse
+ ert-number-tests
as-display
emacs-substitute-sexps
@@ -138,7 +139,7 @@ If native code is not supported, compile to bytecode instead."
(files (directory-files-recursively ,dir "\\.el$")))
(mapc
(lambda (file)
- (let (byte-to-native-output-file
+ (let (byte-to-native-output-buffer-file
;; First entry is the eln-cache of the homeless shelter,
;; second entry is the install directory.
(eln-dir (and (native-comp-available-p)
@@ -147,13 +148,9 @@ If native code is not supported, compile to bytecode instead."
(native-compile file
(comp-el-to-eln-filename file eln-dir))
(byte-compile-file file))
- ;; Sadly, we can't use pcase because quasiquote works different in
- ;; Emacs. See `batch-byte+native-compile' in comp.el for the
- ;; actual shape of byte-to-native-output-file.
- (unless (null byte-to-native-output-file)
- (rename-file (car byte-to-native-output-file)
- (cdr byte-to-native-output-file)
- t))))
+ ;; After native compilation, write the bytecode file.
+ (unless (null byte-to-native-output-buffer-file)
+ (comp-write-bytecode-file nil))))
files))
#:dynamic? #t))
@@ -183,6 +180,19 @@ If native code is not supported, compile to bytecode instead."
(insert " ")
(insert ,(format #f "~s" replacement))))))
+(define (ert-number-tests file test-name)
+ "Add a numerically increasing suffix to tests of the same name.
+This fixes test errors of the pattern \"Test TEST_NAME redefined\"."
+ (emacs-batch-edit-file file
+ `(let ((i 0))
+ (while (re-search-forward ,(string-append "ert-deftest " test-name)
+ nil t)
+ (goto-char (match-beginning 0))
+ (kill-region (match-beginning 0) (match-end 0))
+ (insert (format "ert-deftest %s-%d" ,test-name i))
+ (setq i (+ i 1)))
+ (basic-save-buffer))))
+
(define-syntax emacs-substitute-sexps
(syntax-rules ()
"Substitute the S-expression immediately following the first occurrence of
diff --git a/guix/git.scm b/guix/git.scm
index 1cb87a4560..1b3355109e 100644
--- a/guix/git.scm
+++ b/guix/git.scm
@@ -5,6 +5,7 @@
;;; Copyright © 2021 Marius Bakke <marius@gnu.org>
;;; Copyright © 2022 Maxime Devos <maximedevos@telenet.be>
;;; Copyright © 2023 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2023 Simon Tournier <zimon.toutoune@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -360,21 +361,16 @@ dynamic extent of EXP."
(define (reference-available? repository ref)
"Return true if REF, a reference such as '(commit . \"cabba9e\"), is
definitely available in REPOSITORY, false otherwise."
- ;; Note: this must not rely on 'resolve-reference', as that procedure always
- ;; resolves the references for branch names such as master. The semantic we
- ;; want here is that unless the reference is exact (e.g. a commit), the
- ;; reference should not be considered available, as it could have changed on
- ;; the remote.
(match ref
- ((or ('commit . commit)
- ('tag-or-commit . (? commit-id? commit)))
- (let ((len (string-length commit))
- (oid (string->oid commit)))
- (false-if-git-not-found
- (->bool (if (< len 40)
- (object-lookup-prefix repository oid len OBJ-COMMIT)
- (commit-lookup repository oid))))))
+ (('commit . (? commit-id? commit))
+ (let ((oid (string->oid commit)))
+ (->bool (commit-lookup repository oid))))
+ ((or ('tag . str)
+ ('tag-or-commit . str))
+ (false-if-git-not-found
+ (->bool (resolve-reference repository ref))))
(_
+ ;; For the others REF as branch or symref, the REF cannot be available
#f)))
(define (clone-from-swh url tag-or-commit output)
diff --git a/guix/scripts/system.scm b/guix/scripts/system.scm
index ec331809ef..547387d5e1 100644
--- a/guix/scripts/system.scm
+++ b/guix/scripts/system.scm
@@ -1169,7 +1169,7 @@ Some ACTIONS support additional ARGS.\n"))
(debug . 0)
(verbosity . #f) ;default
(validate-reconfigure . ,ensure-forward-reconfigure)
- (image-type . mbr-raw)
+ (image-type . mbr-hybrid-raw)
(image-size . guess)
(install-bootloader? . #t)
(label . #f)
diff --git a/guix/self.scm b/guix/self.scm
index 81a36e007f..b8b9b9fe37 100644
--- a/guix/self.scm
+++ b/guix/self.scm
@@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2017-2023 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2020 Martin Becze <mjbecze@riseup.net>
+;;; Copyright © 2023 Janneke Nieuwenhuizen <janneke@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -1210,7 +1211,8 @@ containing MODULE-FILES and possibly other files as well."
'((guix build compile)
(guix build utils)))
#~(begin
- (use-modules (srfi srfi-26)
+ (use-modules (srfi srfi-1)
+ (srfi srfi-26)
(ice-9 match)
(ice-9 format)
(ice-9 threads)
@@ -1243,13 +1245,23 @@ containing MODULE-FILES and possibly other files as well."
(* 100. (/ completed total)) total)
(force-output))
- (define (process-directory directory files output)
- ;; Hide compilation warnings.
- (parameterize ((current-warning-port (%make-void-port "w")))
- (compile-files directory #$output files
- #:workers (parallel-job-count)
- #:report-load report-load
- #:report-compilation report-compilation)))
+ (define* (process-directory directory files output #:key (size 25))
+ (let ((chunks (unfold
+ (lambda (seed) (< (length seed) size)) ;p
+ (cute take <> size) ;f
+ (cute drop <> size) ;g
+ files ;seed
+ list))) ;tail
+ (for-each
+ (lambda (chunk)
+ ;; Hide compilation warnings.
+ (parameterize ((current-warning-port (%make-void-port "w")))
+ (compile-files directory output chunk
+ #:workers (parallel-job-count)
+ #:report-load report-load
+ #:report-compilation report-compilation)
+ (gc)))
+ chunks)))
(setvbuf (current-output-port) 'line)
(setvbuf (current-error-port) 'line)
@@ -1277,7 +1289,8 @@ containing MODULE-FILES and possibly other files as well."
(mkdir #$output)
(chdir #+module-tree)
- (process-directory "." '#+module-files #$output)
+ (let ((size (if (equal? #$name "guix-packages-base") 10 25)))
+ (process-directory "." '#+module-files #$output #:size size))
(newline))))
(computed-file name build
diff --git a/guix/transformations.scm b/guix/transformations.scm
index ede914456f..9cba6bedab 100644
--- a/guix/transformations.scm
+++ b/guix/transformations.scm
@@ -529,8 +529,9 @@ system that builds code for MICRO-ARCHITECTURE; otherwise raise an error."
;; leading to an obscure build error, check whether the compiler is known
;; to support MICRO-ARCHITECTURE. If not, bail out.
(let* ((lowered (apply lower args))
- (architecture (match (string-tokenize (bag-system lowered)
- %not-hyphen)
+ (target (or (bag-target lowered)
+ (bag-system lowered)))
+ (architecture (match (string-tokenize target %not-hyphen)
((arch _ ...) arch)))
(compiler (any (match-lambda
((label (? package? p) . _)
diff --git a/manifest.scm b/manifest.scm
new file mode 100644
index 0000000000..bcd94b68c5
--- /dev/null
+++ b/manifest.scm
@@ -0,0 +1,30 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2022 Janneke Nieuwenhuizen <janneke@gnu.org>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
+
+;; GNU Guix development manifest. To create development environment, run
+;;
+;; guix shell
+;;
+;; or something like
+;;
+;; guix shell --pure git git:send-email openssh
+
+(use-modules (guix profiles)
+ (gnu packages package-management))
+
+(package->development-manifest guix)
diff --git a/tests/packages.scm b/tests/packages.scm
index 2b4f9f8e90..a623628447 100644
--- a/tests/packages.scm
+++ b/tests/packages.scm
@@ -494,7 +494,7 @@
(member "boo" keys))))
(test-equal "package-transitive-supported-systems, implicit inputs"
- %supported-systems
+ (filter target-linux? %supported-systems)
;; Here GNU-BUILD-SYSTEM adds implicit inputs that build only on
;; %SUPPORTED-SYSTEMS. Thus the others must be ignored.