summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.mailmap2
-rw-r--r--Makefile.am1
-rw-r--r--doc/guix.texi54
-rw-r--r--doc/htmlxref.cnf19
-rw-r--r--gnu/bootloader/grub.scm7
-rw-r--r--gnu/home/services/sound.scm11
-rw-r--r--gnu/local.mk4
-rw-r--r--gnu/packages/admin.scm11
-rw-r--r--gnu/packages/audio.scm26
-rw-r--r--gnu/packages/backup.scm15
-rw-r--r--gnu/packages/base.scm18
-rw-r--r--gnu/packages/bash.scm17
-rw-r--r--gnu/packages/bdw-gc.scm17
-rw-r--r--gnu/packages/bioinformatics.scm140
-rw-r--r--gnu/packages/bootstrap.scm4
-rw-r--r--gnu/packages/cmake.scm41
-rw-r--r--gnu/packages/compton.scm19
-rw-r--r--gnu/packages/containers.scm14
-rw-r--r--gnu/packages/cran.scm327
-rw-r--r--gnu/packages/cross-base.scm9
-rw-r--r--gnu/packages/databases.scm4
-rw-r--r--gnu/packages/dbm.scm17
-rw-r--r--gnu/packages/diffoscope.scm4
-rw-r--r--gnu/packages/disk.scm6
-rw-r--r--gnu/packages/elf.scm17
-rw-r--r--gnu/packages/elixir.scm4
-rw-r--r--gnu/packages/emacs-xyz.scm580
-rw-r--r--gnu/packages/emulators.scm662
-rw-r--r--gnu/packages/engineering.scm18
-rw-r--r--gnu/packages/erlang-xyz.scm42
-rw-r--r--gnu/packages/erlang.scm8
-rw-r--r--gnu/packages/finance.scm42
-rw-r--r--gnu/packages/fonts.scm14
-rw-r--r--gnu/packages/fpga.scm31
-rw-r--r--gnu/packages/freedesktop.scm10
-rw-r--r--gnu/packages/games.scm54
-rw-r--r--gnu/packages/gcc.scm19
-rw-r--r--gnu/packages/gnome.scm83
-rw-r--r--gnu/packages/gnupg.scm14
-rw-r--r--gnu/packages/guile-xyz.scm24
-rw-r--r--gnu/packages/image-viewers.scm49
-rw-r--r--gnu/packages/kde-games.scm155
-rw-r--r--gnu/packages/kde-internet.scm85
-rw-r--r--gnu/packages/kde-multimedia.scm4
-rw-r--r--gnu/packages/kde-office.scm111
-rw-r--r--gnu/packages/kde-utils.scm4
-rw-r--r--gnu/packages/kde.scm79
-rw-r--r--gnu/packages/librewolf.scm57
-rw-r--r--gnu/packages/libusb.scm6
-rw-r--r--gnu/packages/linux.scm65
-rw-r--r--gnu/packages/lisp-xyz.scm59
-rw-r--r--gnu/packages/llvm.scm209
-rw-r--r--gnu/packages/machine-learning.scm110
-rw-r--r--gnu/packages/mail.scm15
-rw-r--r--gnu/packages/make-bootstrap.scm8
-rw-r--r--gnu/packages/maths.scm217
-rw-r--r--gnu/packages/messaging.scm6
-rw-r--r--gnu/packages/mtools.scm4
-rw-r--r--gnu/packages/music.scm3
-rw-r--r--gnu/packages/networking.scm24
-rw-r--r--gnu/packages/ntp.scm16
-rw-r--r--gnu/packages/package-management.scm6
-rw-r--r--gnu/packages/parallel.scm4
-rw-r--r--gnu/packages/patches/ark-skip-xar-test.patch7
-rw-r--r--gnu/packages/patches/dolphin-emu-data.patch15
-rw-r--r--gnu/packages/patches/libretro-dolphin-emu-data.patch17
-rw-r--r--gnu/packages/patches/retroarch-improved-search-paths.patch210
-rw-r--r--gnu/packages/pcre.scm6
-rw-r--r--gnu/packages/prolog.scm4
-rw-r--r--gnu/packages/python-crypto.scm60
-rw-r--r--gnu/packages/python-graphics.scm3
-rw-r--r--gnu/packages/python-web.scm128
-rw-r--r--gnu/packages/python-xyz.scm164
-rw-r--r--gnu/packages/radio.scm19
-rw-r--r--gnu/packages/readline.scm59
-rw-r--r--gnu/packages/sdl.scm8
-rw-r--r--gnu/packages/search.scm4
-rw-r--r--gnu/packages/serialization.scm18
-rw-r--r--gnu/packages/sphinx.scm48
-rw-r--r--gnu/packages/syncthing.scm161
-rw-r--r--gnu/packages/text-editors.scm26
-rw-r--r--gnu/packages/tls.scm5
-rw-r--r--gnu/packages/video.scm5
-rw-r--r--gnu/packages/vim.scm11
-rw-r--r--gnu/packages/vulkan.scm4
-rw-r--r--gnu/packages/web-browsers.scm34
-rw-r--r--gnu/packages/web.scm6
-rw-r--r--gnu/packages/xml.scm16
-rw-r--r--gnu/services/backup.scm122
-rw-r--r--gnu/services/desktop.scm74
-rw-r--r--guix/build-system/go.scm1
-rw-r--r--guix/build-system/meson.scm1
-rw-r--r--guix/docker.scm25
-rw-r--r--guix/import/crate.scm55
-rw-r--r--guix/platforms/loongarch.scm30
-rw-r--r--guix/scripts/pack.scm13
-rw-r--r--guix/upstream.scm3
-rw-r--r--guix/utils.scm7
-rw-r--r--tests/crate.scm6
-rw-r--r--tests/lint.scm22
-rw-r--r--tests/pack.scm57
101 files changed, 3740 insertions, 1419 deletions
diff --git a/.mailmap b/.mailmap
index ae27c682ad..4c79996c8a 100644
--- a/.mailmap
+++ b/.mailmap
@@ -95,3 +95,5 @@ Tomas Volf <~@wolfsden.cz> <wolf@wolfsden.cz>
Tomáš Čech <sleep_walker@gnu.org> <sleep_walker@suse.cz>
Vincent Legoll <vincent.legoll@gmail.com> <vincent.legoll@idgrilles.fr>
Zheng Junjie <873216071@qq.com> Z572 <873216071@qq.com>
+Zheng Junjie <873216071@qq.com> Zheng Junjie <zhengjunjie@iscas.ac.cn>
+Zheng Junjie <873216071@qq.com> Zheng junjie <873216071@qq.com> \ No newline at end of file
diff --git a/Makefile.am b/Makefile.am
index f911d432dd..f759803b8b 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -140,6 +140,7 @@ MODULES = \
guix/platform.scm \
guix/platforms/arm.scm \
guix/platforms/avr.scm \
+ guix/platforms/loongarch.scm \
guix/platforms/mips.scm \
guix/platforms/or1k.scm \
guix/platforms/powerpc.scm \
diff --git a/doc/guix.texi b/doc/guix.texi
index 0015d739bb..9a53bdcd37 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -111,12 +111,12 @@ Copyright @copyright{} 2022 (@*
Copyright @copyright{} 2022 John Kehayias@*
Copyright @copyright{} 2022⁠–⁠2023 Bruno Victal@*
Copyright @copyright{} 2022 Ivan Vilata-i-Balaguer@*
-Copyright @copyright{} 2023-2024 Giacomo Leidi@*
+Copyright @copyright{} 2023-2025 Giacomo Leidi@*
Copyright @copyright{} 2022 Antero Mejr@*
Copyright @copyright{} 2023 Karl Hallsby@*
Copyright @copyright{} 2023 Nathaniel Nicandro@*
Copyright @copyright{} 2023 Tanguy Le Carrour@*
-Copyright @copyright{} 2023, 2024 Zheng Junjie@*
+Copyright @copyright{} 2023-2024 Zheng Junjie@*
Copyright @copyright{} 2023 Brian Cully@*
Copyright @copyright{} 2023 Felix Lechner@*
Copyright @copyright{} 2023 Foundation Devices, Inc.@*
@@ -17044,6 +17044,7 @@ The available targets are:
- i586-pc-gnu
- i686-linux-gnu
- i686-w64-mingw32
+ - loongarch64-linux-gnu
- mips64el-linux-gnu
- or1k-elf
- powerpc-linux-gnu
@@ -42709,19 +42710,16 @@ following configuration:
"/etc/guix/signing-key.sec"))))))))))
@end lisp
-Each @code{restic-backup-job} translates to an mcron job which sets the
+Each @code{restic-backup-job} translates to a Shepherd timer which sets the
@env{RESTIC_PASSWORD} environment variable by reading the first line of
@code{password-file} and runs @command{restic backup}, creating backups
using rclone of all the files listed in the @code{files} field.
-The @code{restic-backup-service-type} installs as well @code{restic-guix}
-to the system profile, a @code{restic} utility wrapper that allows for easier
-interaction with the Guix configured backup jobs. For example the following
-could be used to instantaneusly trigger a backup for the above shown
-configuration, without waiting for the scheduled job:
+The @code{restic-backup-service-type} provides the ability to instantaneously
+trigger a backup with the @code{trigger} Shepherd action:
@example
-restic-guix backup remote-ftp
+sudo herd trigger remote-ftp
@end example
@c %start of fragment
@@ -42752,6 +42750,23 @@ The restic package to be used for the current job.
@item @code{user} (default: @code{"root"}) (type: string)
The user used for running the current job.
+@item @code{group} (default: @code{"root"}) (type: string)
+The group used for running the current job.
+
+@item @code{log-file} (type: maybe-string)
+The file system path to the log file for this job. By default the file will
+have be @file{/var/log/restic-backup/@var{job-name}.log}, where @var{job-name} is the
+name defined in the @code{name} field.
+
+@item @code{max-duration} (type: maybe-number)
+The maximum duration in seconds that a job may last. Past
+@code{max-duration} seconds, the job is forcefully terminated.
+
+@item @code{wait-for-termination?} (default: @code{#f}) (type: boolean)
+Wait until the job has finished before considering executing it again;
+otherwise, perform it strictly on every occurrence of event, at the risk of
+having multiple instances running concurrently.
+
@item @code{repository} (type: string)
The restic repository target of this job.
@@ -42764,9 +42779,12 @@ that will be used to set the @env{RESTIC_PASSWORD} environment variable
for the current job.
@item @code{schedule} (type: gexp-or-string)
-A string or a gexp that will be passed as time specification in the
-mcron job specification (@pxref{Syntax, mcron job specifications,,
-mcron,GNU@tie{}mcron}).
+A string or a gexp representing the frequency of the backup. Gexp must
+evaluate to @code{calendar-event} records or to strings. Strings must contain
+Vixie cron date lines.
+
+@item @code{requirement} (default: @code{'()}) (type: list-of-symbols)
+The list of Shepherd services that this backup job depends upon.
@item @code{files} (default: @code{'()}) (type: list-of-lowerables)
The list of files or directories to be backed up. It must be a list of
@@ -46645,8 +46663,9 @@ dotfiles/
@end example
For an informal specification please refer to the Stow manual
-(@pxref{Top,,, stow, Introduction}). This tree structure is installed following
-GNU Stow's logic to the home directory upon @command{guix home reconfigure}.
+(@pxref{Introduction,,, stow, The GNU Stow Manual}). This tree structure
+is installed following GNU Stow's logic to the home directory upon
+@command{guix home reconfigure}.
A suitable configuration with a @code{'plain} layout could be:
@@ -48150,6 +48169,9 @@ The WirePlumber package to use.
@item @code{enable-pulseaudio?} (default: @code{#t}) (type: boolean)
When true, enable PipeWire's PulseAudio emulation support, allowing
PulseAudio clients to use PipeWire transparently.
+
+@item @code{extra-content} (default: @code{""}) (type: string)
+Extra content to add to the end of @file{~/.config/alsa/asoundrc}.
@end table
@end deftp
@@ -49354,6 +49376,10 @@ Platform targeting ARM v7 CPU running GNU/Linux.
Platform targeting ARM v8 CPU running GNU/Linux.
@end defvar
+@defvar loongarch64-linux
+Platform targeting loongarch 64-bit CPU running GNU/Linux.
+@end defvar
+
@defvar mips64-linux
Platform targeting MIPS little-endian 64-bit CPU running GNU/Linux.
@end defvar
diff --git a/doc/htmlxref.cnf b/doc/htmlxref.cnf
index dc819a92ad..34e1745e51 100644
--- a/doc/htmlxref.cnf
+++ b/doc/htmlxref.cnf
@@ -1,10 +1,11 @@
# htmlxref.cnf - reference file for free Texinfo manuals on the web.
# Modified by Ludovic Courtès <ludo@gnu.org> for the GNU Guix manual.
+# Further modified by Tomas Volf <~@wolfsden.cz>.
-htmlxrefversion=2024-06-02.15; # UTC
+htmlxrefversion=2025-01-22.18; # UTC
# Copyright 2010-2020, 2022 Free Software Foundation, Inc.
-#
+#
# Copying and distribution of this file, with or without modification,
# are permitted in any medium without royalty provided the copyright
# notice and this notice are preserved.
@@ -23,10 +24,10 @@ htmlxrefversion=2024-06-02.15; # UTC
# - follow the naming convention for nodes described at
# http://www.gnu.org/software/texinfo/manual/texinfo/html_node/HTML-Xref.html
# This is what makeinfo and texi2html implement.
-#
+#
# Unless the above criteria are met, it's not possible to generate
# reliable cross-manual references.
-#
+#
# For information on automatically generating all the useful formats for
# a manual to put on the web, see
# http://www.gnu.org/prep/maintain/html_node/Manuals-on-Web-Pages.html.
@@ -664,6 +665,9 @@ sqltutor node ${GS}/sqltutor/manual/html_node/
src-highlite mono ${GS}/src-highlite/source-highlight.html
+stow mono ${GS}/stow/manual/stow.html
+stow node ${GS}/stow/manual/html_node/
+
swbis mono ${GS}/swbis/manual.html
tar mono ${GS}/tar/manual/tar.html
@@ -714,9 +718,14 @@ latex2e mono ${T}/latex2e.html
tlbuild mono ${T}/tlbuild.html
web2c mono ${T}/web2c.html
+ELPA = https://elpa.gnu.org
+ELPA_DOC = ${ELPA}/packages/doc
+
+debbugs-ug mono ${ELPA_DOC}/debbugs-ug.html
+
# Local Variables:
-# eval: (add-hook 'write-file-hooks 'time-stamp)
+# eval: (add-hook 'write-file-functions 'time-stamp)
# time-stamp-start: "htmlxrefversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
# time-stamp-time-zone: "UTC"
diff --git a/gnu/bootloader/grub.scm b/gnu/bootloader/grub.scm
index c2462d5d03..e136482c54 100644
--- a/gnu/bootloader/grub.scm
+++ b/gnu/bootloader/grub.scm
@@ -140,7 +140,12 @@ Otherwise the picture in IMAGE is just copied."
(svg->png #+image #$output
#:width #$width
#:height #$height))
- (copy-file #+image #$output))))))
+ (copy-file #+image #$output))))
+ ;; Work around a bug in grafts where different versions of
+ ;; guile-cairo are loaded from (gnu build svg).
+ ;; As seen in https://issues.guix.gnu.org/47115#23 and
+ ;; in https://issues.guix.gnu.org/75510.
+ #:options '(#:graft? #f)))
(define* (grub-background-image config)
"Return the GRUB background image defined in CONFIG or #f if none was found.
diff --git a/gnu/home/services/sound.scm b/gnu/home/services/sound.scm
index 313a57305b..5366c0634f 100644
--- a/gnu/home/services/sound.scm
+++ b/gnu/home/services/sound.scm
@@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2023 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2023 Brian Cully <bjc@spork.org>
+;;; Copyright © 2024 Janneke Nieuwenhuizen <janneke@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -49,7 +50,10 @@
(enable-pulseaudio?
(boolean #t)
"When true, enable PipeWire's PulseAudio emulation support, allowing
-PulseAudio clients to use PipeWire transparently."))
+PulseAudio clients to use PipeWire transparently.")
+ (extra-content
+ (string "")
+ "Extra content to add to the end of @file{~/.config/alsa/asoundrc}."))
(define (home-pipewire-shepherd-service config)
(shepherd-service
@@ -93,7 +97,7 @@ PulseAudio clients to use PipeWire transparently."))
(define (home-pipewire-asoundrc config)
(match-record config <home-pipewire-configuration>
- (pipewire)
+ (pipewire extra-content)
(mixed-text-file
"asoundrc"
"<" pipewire "/share/alsa/alsa.conf.d/50-pipewire.conf>\n"
@@ -103,7 +107,8 @@ PulseAudio clients to use PipeWire transparently."))
"}\n"
"ctl_type.pipewire {\n"
" lib \"" pipewire "/lib/alsa-lib/libasound_module_ctl_pipewire.so\"\n"
- "}\n")))
+ "}\n"
+ extra-content)))
(define home-pipewire-disable-pulseaudio-auto-start
(plain-file "client.conf" "autospawn = no"))
diff --git a/gnu/local.mk b/gnu/local.mk
index c9ebb8814e..6961b8816c 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -19,7 +19,7 @@
# Copyright © 2018 Amirouche Boubekki <amirouche@hypermove.net>
# Copyright © 2018, 2019, 2020, 2021, 2022, 2024 Oleg Pykhalov <go.wigust@gmail.com>
# Copyright © 2018 Stefan Stefanović <stefanx2ovic@gmail.com>
-# Copyright © 2018, 2020, 2021, 2022, 2023, 2024 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+# Copyright © 2018, 2020-2025 Maxim Cournoyer <maxim.cournoyer@gmail.com>
# Copyright © 2019, 2020, 2021, 2022, 2024 Guillaume Le Vaillant <glv@posteo.net>
# Copyright © 2019, 2020 John Soo <jsoo1@asu.edu>
# Copyright © 2019 Jonathan Brielmaier <jonathan.brielmaier@web.de>
@@ -1183,6 +1183,7 @@ dist_patch_DATA = \
%D%/packages/patches/docbook2x-static-datadir-evaluation.patch \
%D%/packages/patches/doc++-include-directives.patch \
%D%/packages/patches/doc++-segfault-fix.patch \
+ %D%/packages/patches/dolphin-emu-data.patch \
%D%/packages/patches/dovecot-opensslv3.patch \
%D%/packages/patches/dovecot-trees-support-dovecot-2.3.patch \
%D%/packages/patches/dstat-fix-crash-when-specifying-delay.patch \
@@ -1658,6 +1659,7 @@ dist_patch_DATA = \
%D%/packages/patches/libgeotiff-fix-tests-on-i386.patch \
%D%/packages/patches/libguestfs-syms.patch \
%D%/packages/patches/libobjc2-unbundle-robin-map.patch \
+ %D%/packages/patches/libretro-dolphin-emu-data.patch \
%D%/packages/patches/librewolf-use-system-wide-dir.patch \
%D%/packages/patches/libvirt-add-install-prefix.patch \
%D%/packages/patches/libziparchive-add-includes.patch \
diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
index 5f3092f9c8..82de7c360f 100644
--- a/gnu/packages/admin.scm
+++ b/gnu/packages/admin.scm
@@ -31,7 +31,7 @@
;;; Copyright © 2019, 2021, 2022 Guillaume Le Vaillant <glv@posteo.net>
;;; Copyright © 2019, 2020, 2021 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2020 Oleg Pykhalov <go.wigust@gmail.com>
-;;; Copyright © 2020, 2023, 2024 Janneke Nieuwenhuizen <janneke@gnu.org>
+;;; Copyright © 2020, 2023, 2024, 2025 Janneke Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2020, 2021, 2022 Michael Rohleder <mike@rohleder.de>
;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
;;; Copyright © 2020 Morgan Smith <Morgan.J.Smith@outlook.com>
@@ -74,6 +74,7 @@
;;; Copyright © 2024 Ashish SHUKLA <ashish.is@lostca.se>
;;; Copyright © 2024 Ashvith Shetty <ashvithshetty10@gmail.com>
;;; Copyright © 2025 Dariqq <dariqq@posteo.net>
+;;; Copyright © 2024 nik gaffney <nik@fo.am>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -5055,7 +5056,7 @@ Logitech Unifying Receiver.")
(package
(name "lynis")
;; Also update the ‘lynis-sdk’ input to the commit matching this release.
- (version "3.0.9")
+ (version "3.1.1")
(source
(origin
(method git-fetch)
@@ -5064,7 +5065,7 @@ Logitech Unifying Receiver.")
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "1rgiifbzlk9lfjhbgxy6pqza5kxpr5rsr8vj9fcqvqihzdb5izj1"))
+ (base32 "05bh16i916xz9w8p8fz8flzj9ayyzg7wpbi7q61ylrlahhc03nqd"))
(modules '((guix build utils)))
(snippet
'(begin
@@ -5080,10 +5081,10 @@ Logitech Unifying Receiver.")
(method git-fetch)
(uri (git-reference
(url "https://github.com/CISOfy/lynis-sdk")
- (commit "92522b3ec39ad4cdef4756dc303d99741ec7fe20")))
+ (commit "f4f885f1f049f59940487a6ffc2d53806c729d12")))
(file-name (git-file-name "lynis-sdk" version))
(sha256
- (base32 "05qq4395x8f0kyl1ppm74npsf8sb3hhgz0ck4fya91sy6a26b4ja"))))))
+ (base32 "09d98wmvan7nlchm056kls5xm939d1231pwsvlp4q2aznz8cmg42"))))))
(arguments
(list
#:phases
diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index 76b16bc0fd..41d3d0bf47 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -11,7 +11,7 @@
;;; Copyright © 2016–2023 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018, 2020, 2024 Oleg Pykhalov <go.wigust@gmail.com>
;;; Copyright © 2018 okapi <okapi@firemail.cc>
-;;; Copyright © 2018, 2020, 2022, 2023, 2024 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; Copyright © 2018, 2020, 2022-2025 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2018 Clément Lassieur <clement@lassieur.org>
;;; Copyright © 2018 Brett Gilio <brettg@gnu.org>
;;; Copyright © 2018, 2019, 2022 Marius Bakke <marius@gnu.org>
@@ -4409,6 +4409,30 @@ application developers writing sound processing tools that require tempo/pitch
control functionality, or just for playing around with the sound effects.")
(license license:lgpl2.1+)))
+(define-public soundtouch-1/integer-samples
+ (package
+ (inherit soundtouch)
+ (name "soundtouch")
+ (version "1.9.2")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.com/soundtouch/soundtouch.git")
+ (commit (string-append name "-" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1ir961w5gz86cm6yivr1ypi6n2y52vn319gy2gvdkkbbz5wyjkrq"))))
+ (arguments
+ ;; Dolphin expects the samples to be of the integer type.
+ (list #:configure-flags #~(list "--enable-integer-samples")
+ #:phases #~(modify-phases %standard-phases
+ (replace 'bootstrap
+ (lambda _
+ ;; Avoid the bootstrap script, which has a broken
+ ;; shebang.
+ (invoke "autoreconf" "-vif"))))))))
+
(define-public stargate-soundtouch
;; Stargate's fork of soundtouch.
(let ((commit "464f474c0be5d7e0970909dd30593012e4621468")
diff --git a/gnu/packages/backup.scm b/gnu/packages/backup.scm
index 37ae08f8cd..bc449a9591 100644
--- a/gnu/packages/backup.scm
+++ b/gnu/packages/backup.scm
@@ -6,7 +6,7 @@
;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
;;; Copyright © 2017, 2021 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2017 Kei Kebreau <kkebreau@posteo.net>
-;;; Copyright © 2017, 2020, 2021 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2017, 2020, 2021, 2025 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2017 Christine Lemmer-Webber <cwebber@dustycloud.org>
;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 2018 Mark H Weaver <mhw@netris.org>
@@ -1189,6 +1189,14 @@ interactive mode.")
(("= /etc")
(string-append "= $(PREFIX)/etc")))))
(delete 'check)
+ #$@(if (this-package-native-input "ruby-asciidoctor")
+ #~()
+ ;; The 'build phase only builds the manpages.
+ #~((delete 'build)
+ (add-before 'install 'adjust-install-targets
+ (lambda _
+ (substitute* "Makefile"
+ (("install-man ") ""))))))
(add-after 'install 'wrap-scripts
(lambda* (#:key inputs outputs #:allow-other-keys)
(define btrbk (search-input-file outputs "bin/btrbk"))
@@ -1212,7 +1220,10 @@ interactive mode.")
"bin/find"
"bin/mbuffer"
"bin/ssh")))))))))
- (native-inputs (list ruby-asciidoctor))
+ (native-inputs
+ (if (supported-package? ruby-asciidoctor)
+ (list ruby-asciidoctor)
+ '()))
(inputs (list bash-minimal
btrfs-progs
coreutils
diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm
index 4639050623..4c96ffa1a4 100644
--- a/gnu/packages/base.scm
+++ b/gnu/packages/base.scm
@@ -217,7 +217,23 @@ including, for example, recursive directory searching.")
(modules '((guix build utils)))))
(build-system gnu-build-system)
(synopsis "Stream editor")
- (native-inputs (list perl)) ;for tests
+ (native-inputs (append (if (target-loongarch64?)
+ (list config)
+ '())
+ (list perl))) ;for tests
+ (arguments (if (target-loongarch64?)
+ (list #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'update-config-scripts
+ (lambda* (#:key inputs native-inputs #:allow-other-keys)
+ ;; Replace outdated config.guess and config.sub.
+ (for-each (lambda (file)
+ (install-file
+ (search-input-file
+ (or native-inputs inputs)
+ (string-append "/bin/" file)) "./build-aux"))
+ '("config.guess" "config.sub"))))))
+ '()))
(description
"Sed is a non-interactive, text stream editor. It receives a text
input from a file or from standard input and it then applies a series of text
diff --git a/gnu/packages/bash.scm b/gnu/packages/bash.scm
index 642a405985..ef530522ec 100644
--- a/gnu/packages/bash.scm
+++ b/gnu/packages/bash.scm
@@ -28,6 +28,7 @@
(define-module (gnu packages bash)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (gnu packages)
+ #:use-module (gnu packages autotools)
#:use-module (gnu packages base)
#:use-module (gnu packages bootstrap)
#:use-module (gnu packages compression)
@@ -150,6 +151,9 @@ number/base32-hash tuples, directly usable in the 'patch-series' form."
(outputs '("out"
"doc" ;1.7 MiB of HTML and extra files
"include")) ;headers used by extensions
+ (native-inputs (if (target-loongarch64?)
+ (list config)
+ '()))
(inputs (list readline ncurses)) ;TODO: add texinfo
(arguments
`(;; When cross-compiling, `configure' incorrectly guesses that job
@@ -219,7 +223,18 @@ number/base32-hash tuples, directly usable in the 'patch-series' form."
"/Makefile.inc")
(("^INSTALL =.*")
"INSTALL = install -c\n"))
- #t))))))
+ #t)))
+ ,@(if (target-loongarch64?)
+ `((add-after 'unpack 'update-config-scripts
+ (lambda* (#:key inputs native-inputs #:allow-other-keys)
+ ;; Replace outdated config.guess and config.sub.
+ (for-each (lambda (file)
+ (install-file
+ (search-input-file
+ (or native-inputs inputs)
+ (string-append "/bin/" file)) "./support"))
+ '("config.guess" "config.sub")))))
+ '()))))
(native-search-paths
(list (search-path-specification ;new in 4.4
diff --git a/gnu/packages/bdw-gc.scm b/gnu/packages/bdw-gc.scm
index 8eed98d1fd..71103d1c77 100644
--- a/gnu/packages/bdw-gc.scm
+++ b/gnu/packages/bdw-gc.scm
@@ -29,6 +29,7 @@
#:use-module (guix utils)
#:use-module (guix build-system gnu)
#:use-module (gnu packages pkg-config)
+ #:use-module (gnu packages autotools)
#:use-module (gnu packages hurd))
(define-public libgc
@@ -155,6 +156,22 @@ C or C++ programs, though that is not its primary goal.")
"0glzah695wsf6c27hs5wwlw4mnq1vfivdshz1rb8pq7w4mp5dazh"))))
(build-system gnu-build-system)
(outputs '("out" "debug"))
+ (native-inputs (if (target-loongarch64?)
+ (list config)
+ '()))
+ (arguments (if (target-loongarch64?)
+ (list #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'update-config-scripts
+ (lambda* (#:key inputs native-inputs #:allow-other-keys)
+ ;; Replace outdated config.guess and config.sub.
+ (for-each (lambda (file)
+ (install-file
+ (search-input-file
+ (or native-inputs inputs)
+ (string-append "/bin/" file)) "."))
+ '("config.guess" "config.sub"))))))
+ '()))
(synopsis "Accessing hardware atomic memory update operations")
(description
"This C library provides semi-portable access to hardware-provided atomic
diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index f778d71fd2..fc1df4745d 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -1342,6 +1342,33 @@ gene regulations.")
within this package are the 3000 bone marrow cells used for vignettes.")
(license license:gpl3))))
+(define-public r-pizzarr
+ (let ((commit "7b3fd727a4ce7cb0fe8e443b971c5f63e18df991")
+ (revision "1"))
+ (package
+ (name "r-pizzarr")
+ (version (git-version "0.1.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/keller-mark/pizzarr")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0xwb7cl52nzwgh0xiz8cda27qy5q45cqna5k40fngwj4mrbfm383"))))
+ (properties `((upstream-name . "pizzarr")))
+ (build-system r-build-system)
+ (propagated-inputs (list r-jsonlite r-memoise r-qs r-r6 r-stringr))
+ (native-inputs (list r-pbapply r-testthat r-vcr))
+ (home-page "https://github.com/keller-mark/pizzarr")
+ (synopsis "Slice into Zarr arrays in R")
+ (description
+ "This package provides an implementation of chunked, compressed,
+N-dimensional arrays for R, Zarr specification version 2 (2024)
+<doi:10.5281/zenodo.11320255>.")
+ (license license:expat))))
+
(define-public r-rhtslib12
(let ((commit "ee186daf04876969c7f31c16a0e0fda8e7c16a30")
(revision "1"))
@@ -1526,6 +1553,43 @@ tests (SAIGE) and controlling for sample relatedness in region-based assoc
tests in large cohorts and biobanks (SAIGE-GENE+).")
(license license:gpl2+))))
+(define-public r-sigfit
+ (package
+ (name "r-sigfit")
+ (version "2.2.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/kgori/sigfit")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "16r6m8p90rnb4hxl86fz3kbals3626232i8fj0zhhd23p89z3w4v"))))
+ (properties `((upstream-name . "sigfit")))
+ (build-system r-build-system)
+ (native-inputs (list r-codetools))
+ (propagated-inputs (list r-rcpp
+ r-rstan
+ r-rstantools
+ r-coda
+ r-clue
+ r-knitr
+ r-rmarkdown
+ r-bh
+ r-rcppeigen
+ r-stanheaders))
+ (home-page "https://github.com/kgori/sigfit")
+ (synopsis "Flexible Bayesian inference of mutational signatures")
+ (description
+ "This R package lets you estimate signatures of mutational processes and
+their activities on mutation count data. Starting from a set of
+@dfn{single-nucleotide variants} (SNVs), it allows both estimation of the
+exposure of samples to predefined mutational signatures (including whether the
+signatures are present at all), and identification of signatures de novo from
+the mutation counts.")
+ (license license:gpl3)))
+
(define-public r-singlet
(let ((commit "765a6c45081807a1522f0e8983e2417822a36f36")
(revision "1"))
@@ -1687,6 +1751,47 @@ shape. This package provides an @code{htmlwidget} for building streamgraph
visualizations.")
(license license:expat))))
+(define-public r-vitesscer
+ (let ((commit "0096880c1b7b7afb42a26277e34508b4cce815bd")
+ (revision "1"))
+ (package
+ (name "r-vitesscer")
+ (version (git-version "0.99.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/vitessce/vitessceR")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0axragpfl9xz7a10wx7n2j88lcv64kzi4ixkr6s69x3xa2fmlvay"))))
+ (properties `((upstream-name . "vitessceR")))
+ (build-system r-build-system)
+ (propagated-inputs (list r-delayedarray
+ r-future
+ r-htmlwidgets
+ r-httpuv
+ r-jsonlite
+ r-matrix
+ r-mime
+ r-plumber
+ r-r6
+ r-s4vectors
+ r-stringi
+ r-stringr))
+ (native-inputs (list r-knitr r-testthat))
+ (home-page "https://github.com/vitessce/vitessceR")
+ (synopsis "Create interactive Single-cell visualizations")
+ (description
+ "This package provides an R API and @code{htmlwidget} facilitating
+interactive visualization of spatial single-cell data with Vitessce. The R
+API contains classes and functions for loading single-cell data stored in
+compatible on-disk formats. The @code{htmlwidget} is a wrapper around the
+Vitessce JavaScript library and can be used in the Viewer tab of RStudio or
+Shiny apps.")
+ (license license:expat))))
+
(define-public r-wasabi
(let ((commit "8c33cabde8d18c2657cd6e38e7cb834f87cf9846")
(revision "1"))
@@ -3720,7 +3825,8 @@ use-case, we encourage users to compose functions to achieve their goals.")
;;python-scikit-bio ;mutually recursive dependency
python-scipy))
(native-inputs
- (list python-cython python-pytest python-pytest-cov))
+ (list python-cython python-pytest python-pytest-cov
+ python-wheel))
(home-page "https://www.biom-format.org")
(synopsis "Biological Observation Matrix (BIOM) format utilities")
(description
@@ -22184,8 +22290,8 @@ patterns.")
(license license:gpl3))))
(define-public r-voltron
- (let ((commit "9f9415c72e9347f578a166981842d33e43b0466d")
- (revision "1"))
+ (let ((commit "bbd7abb72681ae6dc91cb2f8fe4f3ce3a246f56b")
+ (revision "2"))
(package
(name "r-voltron")
(version (git-version "0.2.0" revision commit))
@@ -22197,14 +22303,29 @@ patterns.")
(commit commit)))
(file-name (git-file-name name version))
(sha256
- (base32 "0bvvpj96ix2ij6034dfrh7za1lvf73qxqsdvbs2wrpc931s18q32"))))
+ (base32 "1h5m2r2hdp73yqsz60wq1sf98dbsqpx155qlxbxnzvhc0l8hjshd"))))
(properties `((upstream-name . "VoltRon")))
(build-system r-build-system)
+ (arguments
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ ;; By default VoltRon will use Basilisk, which uses Conda to set
+ ;; up a Python environment. We override the fallback default
+ ;; here. Users can still override the location of the Python
+ ;; interpreter with the option "voltron.python.path".
+ (add-after 'unpack 'do-not-use-conda
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "R/conversion.R"
+ (("return\\(NULL\\)")
+ (string-append "Sys.setenv(GUIX_PYTHONPATH=\""
+ (getenv "GUIX_PYTHONPATH")
+ "\"); return(\""
+ (search-input-file inputs "/bin/python3")
+ "\")"))))))))
(inputs
(list opencv
- ;; These Python inputs would be fetched by Basilisk via Conda.
- ;; We add these inputs in anticipation of an upstream change to
- ;; allow for a Conda-free use of the package.
+ ;; These Python inputs are used via reticulate.
python
python-numpy
python-pandas
@@ -22217,8 +22338,7 @@ patterns.")
python-tifffile
python-zarr
zlib))
- (propagated-inputs (list r-basilisk
- r-data-table
+ (propagated-inputs (list r-data-table
r-dplyr
r-ebimage
r-ggplot2
@@ -22229,6 +22349,7 @@ patterns.")
r-irlba
r-magick
r-matrix
+ r-pizzarr
r-rann
r-rcdt
r-rcpp
@@ -22236,6 +22357,7 @@ patterns.")
r-rcpparmadillo
r-reshape2
r-reticulate
+ r-rhdf5
r-rjson
r-rlang
r-s4arrays
diff --git a/gnu/packages/bootstrap.scm b/gnu/packages/bootstrap.scm
index db20e71fe0..79ef8a5f41 100644
--- a/gnu/packages/bootstrap.scm
+++ b/gnu/packages/bootstrap.scm
@@ -333,6 +333,10 @@ or false to signal an error."
((string=? system "powerpc64-linux") "/lib/ld64.so.1")
((string=? system "alpha-linux") "/lib/ld-linux.so.2")
+ ;; TODO: Remove it when we support native loongarch64 build.
+ ((string=? system "loongarch64-linux")
+ "/lib/ld-linux-loongarch-lp64d.so.1")
+
;; TODO: Differentiate between x86_64-linux-gnu and x86_64-linux-gnux32.
((string=? system "x86_64-linux-gnux32") "/lib/ld-linux-x32.so.2")
diff --git a/gnu/packages/cmake.scm b/gnu/packages/cmake.scm
index 15b591a015..1ddcfa4d80 100644
--- a/gnu/packages/cmake.scm
+++ b/gnu/packages/cmake.scm
@@ -8,7 +8,7 @@
;;; Copyright © 2017, 2018, 2020, 2021 Marius Bakke <marius@gnu.org>
;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2018, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
-;;; Copyright © 2019, 2020, 2021, 2022, 2024 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; Copyright © 2019-2025 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2019 Pierre-Moana Levesque <pierre.moana.levesque@gmail.com>
;;; Copyright © 2020, 2023 Janneke Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2021 Ricardo Wurmus <rekado@elephly.net>
@@ -45,6 +45,7 @@
#:use-module (guix build-system cmake)
#:use-module (guix build-system copy)
#:use-module (guix build-system emacs)
+ #:use-module (guix build-system python)
#:use-module ((guix search-paths) #:select ($SSL_CERT_DIR $SSL_CERT_FILE))
#:use-module (gnu packages)
#:use-module (gnu packages backup)
@@ -56,6 +57,8 @@
#:use-module (gnu packages file)
#:use-module (gnu packages kde-frameworks)
#:use-module (gnu packages libevent)
+ #:use-module (gnu packages python-build)
+ #:use-module (gnu packages python-xyz)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages rust)
#:use-module (gnu packages serialization)
@@ -444,6 +447,42 @@ and workspaces that can be used in the compiler environment of your choice.")
(search-paths
(package-native-search-paths cmake-minimal))))
+(define-public cmakelang
+ (package
+ (name "cmakelang")
+ (version "0.6.13")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "cmakelang" version))
+ (sha256
+ (base32 "0zz6g1ignqanl4ja9f5nrlk5f3mvv7cp5y9yswjd0m06n23jx603"))))
+ (build-system python-build-system)
+ (arguments (list #:tests? #f ;no test data in pypi archive
+ #:phases #~(modify-phases %standard-phases
+ (add-after 'unpack 'adjust-setup.py
+ (lambda _
+ (substitute* "setup.py"
+ (("cmakelang/doc/README.rst")
+ "README.rst")))))))
+ (inputs (list python-jinja2 python-pyyaml python-six))
+ (home-page "https://github.com/cheshirekow/cmake_format/")
+ (synopsis "Language tools for CMake (format, lint, etc.)")
+ (description "The cmakelang project provides quality assurance (QA) tools
+for CMake:
+@table @command
+@item cmake-annotate
+generate pretty HTML from your listfiles
+@item cmake-format
+format your listfiles nicely
+@item cmake-lint
+check your listfiles for problems
+@item ctest-to
+parse a ctest output tree and translate it into a more structured
+format (either JSON or XML).
+@end table")
+ (license license:gpl3+)))
+
(define-public corrosion
(package
(name "corrosion")
diff --git a/gnu/packages/compton.scm b/gnu/packages/compton.scm
index 00bea9669b..6e8dd5442e 100644
--- a/gnu/packages/compton.scm
+++ b/gnu/packages/compton.scm
@@ -5,6 +5,7 @@
;;; Copyright © 2019 Brett Gilio <brettg@gnu.org>
;;; Copyright © 2022 Jai Vetrivelan <jaivetrivelan@gmail.com>
;;; Copyright © 2023, 2024 John Kehayias <john.kehayias@protonmail.com>
+;;; Copyright © 2025 Efraim Flashner <efraim@flashner.co.il>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -41,7 +42,8 @@
#:use-module (gnu packages textutils)
#:use-module (gnu packages xdisorg)
#:use-module (gnu packages xml)
- #:use-module (gnu packages xorg))
+ #:use-module (gnu packages xorg)
+ #:use-module (gnu packages ruby))
(define-public compton
(let ((upstream-version "0.1_beta2"))
@@ -113,7 +115,7 @@ performance).
(define-public picom
(package
(name "picom")
- (version "11.2")
+ (version "12.5")
(source
(origin
(method git-fetch)
@@ -122,7 +124,7 @@ performance).
(commit (string-append "v" version))))
(sha256
(base32
- "0swmpw6lj0aiwypdfkzsy38jwsm9wfcn7i5klrqfn2klrwinv27f"))
+ "1skkchrlir9si9ljawg0xcgpfnd2macw7ny5vhx5f5zk7b7iphhz"))
(file-name (string-append "picom-" version))))
(build-system meson-build-system)
(inputs
@@ -142,10 +144,17 @@ performance).
xcb-util-image
xprop))
(native-inputs
- (list asciidoc pkg-config xorgproto))
+ (append
+ (list pkg-config xorgproto)
+ (if (supported-package? ruby-asciidoctor)
+ (list ruby-asciidoctor)
+ '())))
(arguments
(list #:build-type "release"
- #:configure-flags #~'("-Dwith_docs=true")
+ #:configure-flags
+ (if (this-package-native-input "ruby-asciidoctor")
+ #~'("-Dwith_docs=true")
+ #~'("-Dwith_docs=false"))
#:phases
#~(modify-phases %standard-phases
;; This file would be patched by 'patch-dot-desktop-files but
diff --git a/gnu/packages/containers.scm b/gnu/packages/containers.scm
index 1f3ad19c5b..b38994ad21 100644
--- a/gnu/packages/containers.scm
+++ b/gnu/packages/containers.scm
@@ -5,7 +5,7 @@
;;; Copyright © 2022 Michael Rohleder <mike@rohleder.de>
;;; Copyright © 2023 Zongyuan Li <zongyuan.li@c0x0o.me>
;;; Copyright © 2023 Ricardo Wurmus <rekado@elephly.net>
-;;; Copyright © 2024 Tomas Volf <~@wolfsden.cz>
+;;; Copyright © 2024, 2025 Tomas Volf <~@wolfsden.cz>
;;; Copyright © 2024 Foundation Devices, Inc. <hello@foundation.xyz>
;;; Copyright © 2024 Jean-Pierre De Jesus DIAZ <jean@foundation.xyz>
;;;
@@ -163,7 +163,7 @@ runtime (like runc or crun) for a single container.")
(define-public distrobox
(package
(name "distrobox")
- (version "1.8.0")
+ (version "1.8.1.1")
(source
(origin
(method git-fetch)
@@ -171,7 +171,7 @@ runtime (like runc or crun) for a single container.")
(url "https://github.com/89luca89/distrobox")
(commit version)))
(sha256
- (base32 "1igd2g19m4slk90zaz8ry49722xbrhwama988pj4m5ll9x715nkv"))
+ (base32 "0w4hg8qa0v01f8sfxgj00q1fb4581lbajkh1dl5vbsvlrm27w67l"))
(file-name (git-file-name name version))))
(build-system copy-build-system)
(arguments
@@ -468,7 +468,7 @@ Its main purpose is to support the key usage by @code{docker-init}:
(define-public podman
(package
(name "podman")
- (version "5.3.1")
+ (version "5.3.2")
(outputs '("out" "docker"))
(properties
`((output-synopsis "docker" "docker alias for podman")))
@@ -479,7 +479,7 @@ Its main purpose is to support the key usage by @code{docker-init}:
(url "https://github.com/containers/podman")
(commit (string-append "v" version))))
(sha256
- (base32 "1315rqsfiwq4i2vvdzb6nkwbvgwimsj7f71ma1svvqhp8kbly04h"))
+ (base32 "100jjj3fjb2mlx6hdj8gm4c1khcfrrf67rvm3r1nz7p007pkx4yg"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(arguments
@@ -626,7 +626,7 @@ being rootless and not requiring any daemon to be running.")
(define-public buildah
(package
(name "buildah")
- (version "1.38.0")
+ (version "1.38.1")
(source
(origin
(method git-fetch)
@@ -634,7 +634,7 @@ being rootless and not requiring any daemon to be running.")
(url "https://github.com/containers/buildah")
(commit (string-append "v" version))))
(sha256
- (base32 "1lnl5v8d5p4g0rm4d90rw4hdh066w7v8r9g1h0v1z533mbgxgry8"))
+ (base32 "10bgdn154b0akmni27vasnpylvwk9anb1gj08g6n004di9chg7ds"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(arguments
diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm
index 936f3cf593..44167a3433 100644
--- a/gnu/packages/cran.scm
+++ b/gnu/packages/cran.scm
@@ -39,6 +39,7 @@
;;; Copyright © 2022 Greg Hogan <code@greghogan.com>
;;; Copyright © 2024 Marco Baggio <guix@mawumag.com>
;;; Copyright © 2024 Spencer King <spencer.king@geneoscopy.com>
+;;; Copyright © 2024 Tor-björn Claesson <tclaesson@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -7033,6 +7034,36 @@ extensive prebuilt widgets make it possible to build beautiful,
responsive, and powerful applications with minimal effort.")
(license license:artistic2.0)))
+(define-public r-shinyauthr
+ (package
+ (name "r-shinyauthr")
+ (version "1.0.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (cran-uri "shinyauthr" version))
+ (sha256
+ (base32 "0apaqjkxpr96kx9indl0pifk5y75gdx5npfcvxfg5k2crpx9vmxk"))))
+ (properties `((upstream-name . "shinyauthr")))
+ (build-system r-build-system)
+ ;; One of the tests requires r-shinytest, which has a big JavaScript
+ ;; problem.
+ (arguments (list #:tests? #false))
+ (native-inputs (list r-testthat))
+ (propagated-inputs (list r-dplyr
+ r-glue
+ r-rlang
+ r-shiny
+ r-shinyjs
+ r-sodium))
+ (home-page "https://github.com/paulc91/shinyauthr")
+ (synopsis "Shiny authentication modules")
+ (description
+ "With this package you can add in-app user authentication to Shiny,
+allowing you to secure publicly hosted apps and build dynamic user interfaces
+from user information.")
+ (license license:expat)))
+
(define-public r-shinydisconnect
(package
(name "r-shinydisconnect")
@@ -7116,6 +7147,28 @@ console). It also provides tools for bundling both the code and results to
the end user.")
(license license:gpl3)))
+(define-public r-shiny-router
+ (package
+ (name "r-shiny-router")
+ (version "0.3.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (cran-uri "shiny.router" version))
+ (sha256
+ (base32 "1zg8cdxmw620i1iv7jrghd768gw7iv52hi6lx79xvnfjz8w4si3x"))))
+ (properties `((upstream-name . "shiny.router")))
+ (build-system r-build-system)
+ (propagated-inputs (list r-glue r-htmltools r-rlang r-shiny))
+ (native-inputs (list r-testthat))
+ (home-page "https://appsilon.github.io/shiny.router/")
+ (synopsis "Basic Routing for Shiny Web Applications")
+ (description
+ "This package provides a simple router for your Shiny apps. The router
+allows you to create dynamic web applications with a real-time User Interface
+and easily share url to pages within your Shiny apps.")
+ (license license:expat)))
+
;; This package includes minified JavaScript files. When upgrading please
;; check that there are no new minified JavaScript files.
(define-public r-shinytree
@@ -7764,6 +7817,30 @@ page dashboard or a multi-page template, where the navigation menu is
contained in the navigation bar.")
(license license:gpl2+)))
+(define-public r-spdl
+ (package
+ (name "r-spdl")
+ (version "0.0.5")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (cran-uri "spdl" version))
+ (sha256
+ (base32 "185qzlwac7acq126xpvcd71nv25zgkrdr8m73gv2sn1zxj78hyid"))))
+ (properties `((upstream-name . "spdl")))
+ (build-system r-build-system)
+ (propagated-inputs (list r-rcppspdlog))
+ (home-page "https://github.com/eddelbuettel/spdl")
+ (synopsis "Easier use of RcppSpdlog functions via wrapper")
+ (description
+ "Logging functions in @code{RcppSpdlog} provide access to the logging
+functionality from the spdlog C++ library. This package offers shorter
+convenience wrappers for the R functions which match the C++ functions, namely
+via, say, @code{spdl::debug()} at the debug level. The actual formatting is
+done by the @code{fmt::format()} function from the fmtlib library (that is
+also @code{std::format()} in C++20 or later).")
+ (license license:gpl2+)))
+
(define-public r-spelling
(package
(name "r-spelling")
@@ -8098,6 +8175,29 @@ coordinates.")
complex non-linear objective function with a very large number of optima.")
(license license:gpl2)))
+(define-public r-geojsonr
+ (package
+ (name "r-geojsonr")
+ (version "1.1.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (cran-uri "geojsonR" version))
+ (sha256
+ (base32 "10li5xj0vx6a86nccwql4inwfbjycvaxqfbjdp4h1p5qxyibnls3"))))
+ (properties `((upstream-name . "geojsonR")))
+ (build-system r-build-system)
+ (propagated-inputs (list r-r6 r-rcpp r-rcpparmadillo))
+ (native-inputs (list r-knitr r-testthat))
+ (home-page "https://github.com/mlampros/geojsonR")
+ (synopsis "GeoJson processing toolkit")
+ (description
+ "This package includes functions for processing @code{GeoJson} objects
+relying on RFC 7946. The geojson encoding is based on json11, a tiny JSON
+library for C++11. Furthermore, the source code is exported in R through the
+Rcpp and @code{RcppArmadillo} packages.")
+ (license license:expat)))
+
(define-public r-geos
(package
(name "r-geos")
@@ -8781,6 +8881,55 @@ and Francois (2011, JSS), and the book by Eddelbuettel (2013, Springer); see
@code{citation(\"Rcpp\")} for details on these last two.")
(license license:gpl2+)))
+(define-public r-rcppcctz
+ (package
+ (name "r-rcppcctz")
+ (version "0.2.13")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (cran-uri "RcppCCTZ" version))
+ (sha256
+ (base32 "1wmbyaj08fbl4g47aq0mfkkvqwpah3d2j94fzc813dijxlsi847l"))))
+ (properties
+ `((upstream-name . "RcppCCTZ")
+ (updater-extra-native-inputs . ("tzdata-for-tests"))))
+ (build-system r-build-system)
+ (propagated-inputs (list r-rcpp))
+ (native-inputs (list r-tinytest tzdata-for-tests))
+ (home-page "https://github.com/eddelbuettel/rcppcctz")
+ (synopsis "Rcpp bindings for the CCTZ library")
+ (description
+ "Rcpp access to the CCTZ timezone library is provided. CCTZ is a C++
+library for translating between absolute and civil times using the rules of a
+time zone. The CCTZ source code is included in this package.")
+ (license (list license:gpl2+
+ license:asl2.0)))) ;for CCTZ
+
+(define-public r-rcppdate
+ (package
+ (name "r-rcppdate")
+ (version "0.0.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (cran-uri "RcppDate" version))
+ (sha256
+ (base32 "1cnhvbgqfcjrwm1rx6bhhj4yf4dipcp6g1hjv1qa86pmxzyjp3dn"))))
+ (properties `((upstream-name . "RcppDate")))
+ (build-system r-build-system)
+ (home-page "https://github.com/eddelbuettel/rcppdate")
+ (synopsis "date C++ header library for date and time functionality")
+ (description
+ "This package provides a header-only C++ library is provided with support
+for dates, time zones, ISO weeks, Julian dates, and Islamic dates.
+@code{date} offers extensive date and time functionality for the C++11, C++14
+and C++17 standards. A slightly modified version has been accepted (along
+with @file{tz.h}) as part of C++20. This package regroups all header files
+from the upstream repository so that other R packages can use them in their
+C++ code.")
+ (license license:gpl2+)))
+
(define-public r-rcppde
(package
(name "r-rcppde")
@@ -8827,6 +8976,33 @@ code using Rcpp or RcppArmadillo. Functions are available that return a
distributions, Armadillo vectors and matrices.")
(license license:gpl2+)))
+(define-public r-rcppint64
+ (package
+ (name "r-rcppint64")
+ (version "0.0.5")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (cran-uri "RcppInt64" version))
+ (sha256
+ (base32 "1h4lshkn3p3c7swygbpmkg0pa80xcp3f9alck5q4bmml61hicwjk"))))
+ (properties `((upstream-name . "RcppInt64")))
+ (build-system r-build-system)
+ (propagated-inputs (list r-rcpp))
+ (native-inputs (list r-tinytest))
+ (home-page "https://github.com/eddelbuettel/rcppint64")
+ (synopsis
+ "Rcpp-based helper functions to pass Int64 values between R and C++")
+ (description
+ "@code{int64} values can be created and accessed via the @code{bit64}
+package and its @code{integer64} class which package the @code{int64}
+representation cleverly into a @code{double}. The @code{nanotime} package
+builds on this to support nanosecond-resolution timestamps. This package
+helps conversions between R and C++ via several helper functions provided via
+a single header file. A complete example client package is included as an
+illustration.")
+ (license license:gpl2+)))
+
(define-public r-rcppml
(package
(name "r-rcppml")
@@ -10238,6 +10414,32 @@ experiments\" (2011), Annals of Applied Statistics, Vol. 5, No. 3, 1752-1779,
by Li, Brown, Huang, and Bickel")
(license license:gpl2+)))
+(define-public r-imola
+ (package
+ (name "r-imola")
+ (version "0.5.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (cran-uri "imola" version))
+ (sha256
+ (base32 "087zdzn1vkyvqrdlwnackr6jyacrhg69q4b77s8z477kplickw8x"))))
+ (properties `((upstream-name . "imola")))
+ (build-system r-build-system)
+ (propagated-inputs (list r-glue
+ r-htmltools
+ r-magrittr
+ r-shiny
+ r-stringi
+ r-yaml))
+ (native-inputs (list r-knitr))
+ (home-page "https://github.com/pedrocoutinhosilva/imola")
+ (synopsis "CSS layouts (grid and flexbox) for R/Shiny")
+ (description
+ "This package allows users to create CSS grid and flexbox layouts for
+R/Shiny without needing to write custom CSS.")
+ (license license:expat)))
+
(define-public r-inext
(package
(name "r-inext")
@@ -13600,6 +13802,28 @@ units, plus unit conversions based on the data from @acronym{NIST, National
Institute of Standards and Technology}, USA.")
(license license:gpl3+)))
+(define-public r-numero
+ (package
+ (name "r-numero")
+ (version "1.9.7")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (cran-uri "Numero" version))
+ (sha256
+ (base32 "04pf6x7qmgkfyj98c23maxcvlwwwfw6jas7l72xp0713lyndjl15"))))
+ (properties `((upstream-name . "Numero")))
+ (build-system r-build-system)
+ (propagated-inputs (list r-rcpp))
+ (native-inputs (list r-knitr r-rmarkdown))
+ (home-page "https://cran.r-project.org/package=Numero")
+ (synopsis "Statistical framework to define subgroups in complex datasets")
+ (description
+ "The package includes the necessary functions to construct a
+self-organizing map of data, to evaluate the statistical signifcance of the
+observed data patterns, and to visualize the results.")
+ (license license:gpl2+)))
+
(define-public r-stabs
(package
(name "r-stabs")
@@ -38153,6 +38377,52 @@ range of object-specific analytical and tree-visualization functions found
across a wide array of bioinformatic R packages.")
(license license:gpl3)))
+(define-public r-phytools
+ (package
+ (name "r-phytools")
+ (version "2.4-4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (cran-uri "phytools" version))
+ (sha256
+ (base32 "1i25dlikdx9av5653ra2709sjm9fc3fsis1yfsb7zagivi408ph9"))))
+ (properties `((upstream-name . "phytools")))
+ (build-system r-build-system)
+ (propagated-inputs (list r-ape
+ r-clustergeneration
+ r-coda
+ r-combinat
+ r-deoptim
+ r-doparallel
+ r-expm
+ r-foreach
+ r-maps
+ r-mass
+ r-mnormt
+ r-nlme
+ r-numderiv
+ r-optimparallel
+ r-phangorn
+ r-scatterplot3d))
+ (home-page "https://github.com/liamrevell/phytools")
+ (synopsis "Phylogenetic tools for comparative biology")
+ (description
+ "This package offers extensive tools for phylogenetic analysis. It
+focuses on phylogenetic comparative biology but also includes methods for
+visualizing, analyzing, manipulating, reading, writing, and inferring
+phylogenetic trees. Functions for comparative biology include ancestral state
+reconstruction, model fitting, and phylogeny and trait data simulation. A
+broad range of plotting methods includes mapping trait evolution on trees,
+projecting trees into phenotype space or geographic maps, and visualizing
+correlated speciation between trees. Additional functions allow for reading,
+writing, analyzing, inferring, simulating, and manipulating phylogenetic trees
+and comparative data. Examples include computing consensus trees, simulating
+trees and data under various models, and attaching species or clades to a tree
+either randomly or non-randomly. This package provides numerous tools for
+tree manipulations and analyses that are valuable for phylogenetic research.")
+ (license license:gpl2+)))
+
(define-public r-kmer
(package
(name "r-kmer")
@@ -39313,6 +39583,63 @@ book @emph{Nondetects and Data Analysis: Statistics for Censored
Environmental Data}.")
(license license:gpl2+)))
+(define-public r-nanoarrow
+ (package
+ (name "r-nanoarrow")
+ (version "0.6.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (cran-uri "nanoarrow" version))
+ (sha256
+ (base32 "0wad6dvc7f4z9ll0v5mvqlvk2waf2wfhpnd3sckxsjfpg2s1an6b"))))
+ (properties `((upstream-name . "nanoarrow")))
+ (build-system r-build-system)
+ (native-inputs (list r-arrow
+ r-bit64
+ r-blob
+ r-hms
+ r-jsonlite
+ r-testthat
+ r-tibble
+ r-vctrs
+ r-withr))
+ (home-page "https://arrow.apache.org/nanoarrow/latest/r/")
+ (synopsis "Interface to the nanoarrow C library")
+ (description
+ "This package provides an R interface to the @code{nanoarrow} C library
+and the Apache Arrow application binary interface. Functions to import and
+export @code{ArrowArray}, @code{ArrowSchema}, and @code{ArrowArrayStream} C
+structures to and from R objects are provided alongside helpers to facilitate
+zero-copy data transfer among R bindings to libraries implementing the Arrow C
+data interface.")
+ (license license:asl2.0)))
+
+(define-public r-nanotime
+ (package
+ (name "r-nanotime")
+ (version "0.3.11")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (cran-uri "nanotime" version))
+ (sha256
+ (base32 "19q8xklkdp8jsq1hjj78wzr0q00fy8z5p2skyz2xlzvam3555pnb"))))
+ (properties
+ `((upstream-name . "nanotime")
+ (updater-extra-native-inputs . ("tzdata-for-tests"))))
+ (build-system r-build-system)
+ (propagated-inputs (list r-bit64 r-rcpp r-rcppcctz r-rcppdate r-zoo))
+ (native-inputs (list r-tinytest tzdata-for-tests))
+ (home-page "https://github.com/eddelbuettel/nanotime")
+ (synopsis "Nanosecond-resolution time support for R")
+ (description
+ "Full 64-bit resolution date and time functionality with nanosecond
+granularity is provided, with easy transition to and from the standard POSIXct
+type. Three additional classes offer interval, period and duration
+functionality for nanosecond-resolution timestamps.")
+ (license license:gpl2+)))
+
(define-public r-naturalsort
(package
(name "r-naturalsort")
diff --git a/gnu/packages/cross-base.scm b/gnu/packages/cross-base.scm
index ad3616eaba..a4e9c2a9cb 100644
--- a/gnu/packages/cross-base.scm
+++ b/gnu/packages/cross-base.scm
@@ -418,7 +418,10 @@ target that libc."
(define* (cross-kernel-headers/deprecated target
#:optional
- (linux-headers linux-libre-headers)
+ (linux-headers
+ (if (target-loongarch64? target)
+ linux-libre-headers-5.19.17
+ linux-libre-headers))
(xgcc (cross-gcc target))
(xbinutils (cross-binutils target)))
(warning (G_ "'cross-kernel-headers' must be used with keyword arguments~%"))
@@ -493,7 +496,9 @@ the base compiler. Use XBINUTILS as the associated cross-Binutils."
(define* (cross-kernel-headers* target
#:key
- (linux-headers linux-libre-headers)
+ (linux-headers (if (target-loongarch64? target)
+ linux-libre-headers-5.19.17
+ linux-libre-headers))
(xgcc (cross-gcc target))
(xbinutils (cross-binutils target)))
"Return headers depending on TARGET."
diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm
index be6571ed2d..95a9c1fa6c 100644
--- a/gnu/packages/databases.scm
+++ b/gnu/packages/databases.scm
@@ -4003,7 +4003,7 @@ text search extension.")
(define-public python-sqlite-utils
(package
(name "python-sqlite-utils")
- (version "3.32.1")
+ (version "3.38")
(source (origin
(method git-fetch) ;for tests
(uri (git-reference
@@ -4012,7 +4012,7 @@ text search extension.")
(file-name (git-file-name name version))
(sha256
(base32
- "1qf9zwn9gdkx8825klicwkw8zj5wpidd8csdhjxvybq56nkgnrpm"))))
+ "1rai8rbw5drxppypyl3r8j9gr12278h3snkj7l280zkskbxxh7hf"))))
(build-system pyproject-build-system)
(arguments
(list #:phases #~(modify-phases %standard-phases
diff --git a/gnu/packages/dbm.scm b/gnu/packages/dbm.scm
index 7c36d30a34..433d469ae8 100644
--- a/gnu/packages/dbm.scm
+++ b/gnu/packages/dbm.scm
@@ -189,7 +189,22 @@ SQL, Key/Value, XML/XQuery or Java Object storage for their data model.")
(base32
"1kfapds42j1sjq6wl7fygipw5904wpbfa5kwppj3mwgz44fhicbl"))))
(arguments `(#:configure-flags '("--enable-libgdbm-compat"
- "--disable-static")))
+ "--disable-static")
+ ,@(if (target-loongarch64?)
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'update-config
+ (lambda* (#:key native-inputs inputs #:allow-other-keys)
+ (for-each (lambda (file)
+ (install-file
+ (search-input-file
+ (or native-inputs inputs)
+ (string-append "/bin/" file)) "build-aux"))
+ '("config.guess" "config.sub"))))))
+ '())))
+ (native-inputs (if (target-loongarch64?)
+ (list config)
+ '()))
(build-system gnu-build-system)
(home-page "https://www.gnu.org.ua/software/gdbm")
(synopsis
diff --git a/gnu/packages/diffoscope.scm b/gnu/packages/diffoscope.scm
index c08c5351ce..6743bdd529 100644
--- a/gnu/packages/diffoscope.scm
+++ b/gnu/packages/diffoscope.scm
@@ -77,7 +77,7 @@
(define-public diffoscope
(package
(name "diffoscope")
- (version "284")
+ (version "285")
(source
(origin
(method git-fetch)
@@ -86,7 +86,7 @@
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "1nl5njb4harq4f3xks0fj92nwxkpfzywpkrakh7jy2l9ngic1vb2"))))
+ (base32 "06fz3ypmb9j9hi0z826iinp22qdsn9lp0rkz6840r6gfychfffhm"))))
(build-system python-build-system)
(arguments
(list
diff --git a/gnu/packages/disk.scm b/gnu/packages/disk.scm
index a3f57ee2a1..3616faf61c 100644
--- a/gnu/packages/disk.scm
+++ b/gnu/packages/disk.scm
@@ -1212,7 +1212,11 @@ to create devices with respective mappings for the ATARAID sets discovered.")
(false-if-exception
(search-input-file inputs
(string-append "sbin/" program)))
- program)))))))))
+ (begin
+ (format (current-warning-port)
+ "warning: program ~s left unpatched~%"
+ program)
+ program))))))))))
(native-inputs
(list gobject-introspection
pkg-config
diff --git a/gnu/packages/elf.scm b/gnu/packages/elf.scm
index a32339b600..74bc62a300 100644
--- a/gnu/packages/elf.scm
+++ b/gnu/packages/elf.scm
@@ -120,6 +120,17 @@
(("run-strip-strmerge.sh") "")
(("run-elflint-self.sh") "")))))
#~())
+ #$@(if (target-loongarch64?)
+ `((add-after 'unpack 'update-config-scripts
+ (lambda* (#:key inputs native-inputs #:allow-other-keys)
+ ;; Replace outdated config.guess and config.sub.
+ (for-each (lambda (file)
+ (install-file
+ (search-input-file
+ (or native-inputs inputs)
+ (string-append "/bin/" file)) "./config"))
+ '("config.guess" "config.sub")))))
+ '())
#$@(if (system-hurd?)
#~((add-after 'unpack 'skip-tests
(lambda _
@@ -151,8 +162,10 @@
(search-patch
"elfutils-libdwfl-string-overflow.patch"))))))
#~()))))
-
- (native-inputs (list m4))
+ (native-inputs (append (if (target-loongarch64?)
+ (list config)
+ (list))
+ (list m4)))
(inputs (list xz zlib))
(home-page "https://sourceware.org/elfutils/")
(synopsis "Collection of utilities and libraries to handle ELF files and
diff --git a/gnu/packages/elixir.scm b/gnu/packages/elixir.scm
index 0b2f736aa7..30dedbfc85 100644
--- a/gnu/packages/elixir.scm
+++ b/gnu/packages/elixir.scm
@@ -41,7 +41,7 @@
(define-public elixir
(package
(name "elixir")
- (version "1.18.1")
+ (version "1.18.2")
(source
(origin
(method git-fetch)
@@ -50,7 +50,7 @@
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "1bzg3m4dbhvrxv7f20q77j3648j0fkpnmajh4yfz53wj5ail14yc"))
+ (base32 "128jbl90scf7acs4x2b73sfypiy4ckvm9ba72xf113440ql58n7h"))
(patches (search-patches "elixir-path-length.patch"))))
(build-system gnu-build-system)
(arguments
diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 36cad3a7df..29905b985d 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -141,7 +141,7 @@
;;; Copyright © 2024 Ilya Chernyshov <ichernyshovvv@gmail.com>
;;; Copyright © 2024 Wilko Meyer <w@wmeyer.eu>
;;; Copyright © 2024 Noé Lopez <noelopez@free.fr>
-;;; Copyright © 2024 gemmaro <gemmaro.dev@gmail.com>
+;;; Copyright © 2024, 2025 gemmaro <gemmaro.dev@gmail.com>
;;; Copyright © 2024 Daniel Szmulewicz <daniel.szmulewicz@gmail.com>
;;; Copyright © 2024 Ashish SHUKLA <ashish.is@lostca.se>
;;; Copyright © 2024 Artyom V. Poptsov <poptsov.artyom@gmail.com>
@@ -151,6 +151,7 @@
;;; Copyright © 2024 aurtzy <aurtzy@gmail.com>
;;; Copyright © 2024 Olivier Rojon <o.rojon@posteo.net>
;;; Copyright © 2024 Divya Ranjan Pattanaik <divya@subvertising.org>
+;;; Copyright © 2025 Remco van 't Veer <remco@remworks.net>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -616,7 +617,7 @@ summarizing text using an LLM.")
(define-public emacs-chatgpt-shell
(package
(name "emacs-chatgpt-shell")
- (version "2.9.1")
+ (version "2.12.2")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -625,7 +626,7 @@ summarizing text using an LLM.")
(file-name (git-file-name name version))
(sha256
(base32
- "103s9w2i7f2hxxr00s10d42z5hqzdczpfpmhf2va0sf8s19y4jm8"))))
+ "1wvfqgzhhqq2n0nvx5cqbn74bh79pzxmhlss4fxdx487y86rs8w7"))))
(build-system emacs-build-system)
(arguments
(list #:phases
@@ -1337,7 +1338,7 @@ is based off of Slim mode.")
(define-public emacs-show-font
(package
(name "emacs-show-font")
- (version "0.1.2")
+ (version "0.2.0")
(source
(origin
(method git-fetch)
@@ -1346,7 +1347,7 @@ is based off of Slim mode.")
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "0kbkbvqhdqpsmci0756w2j7igxdj0qfzy823mvc5lb6yj8gwq9dl"))))
+ (base32 "0bvd1jw5x623zh0ga8hvq7mdmijlvlwk478adlvg1k1a6s371wss"))))
(build-system emacs-build-system)
(home-page "https://github.com/protesilaos/show-font")
(synopsis "Show font features in a buffer")
@@ -1770,7 +1771,7 @@ libgit2 bindings for Emacs, intended to boost the performance of Magit.")
(define-public emacs-llama
(package
(name "emacs-llama")
- (version "0.4.0")
+ (version "0.5.0")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -1779,13 +1780,14 @@ libgit2 bindings for Emacs, intended to boost the performance of Magit.")
(file-name (git-file-name name version))
(sha256
(base32
- "1km89ks7xg89sjqxiri9lxj58hc17z13z7mzcq3y66yv1dfrrziz"))))
+ "1zb3iqb1nks2y9i1033x4pa0kb7nb4jqwrcrkqrsq3w612213hkd"))))
(build-system emacs-build-system)
(arguments
(list #:tests? #true
#:test-command #~(list "emacs" "-Q" "--batch"
"-l" "llama.el"
"-f" "ert-run-tests-batch-and-exit")))
+ (propagated-inputs (list emacs-compat))
(home-page "https://github.com/tarsius/llama")
(synopsis "Compact syntax for short lambda")
(description
@@ -1796,7 +1798,7 @@ syntax for short lambda.")
(define-public emacs-llm
(package
(name "emacs-llm")
- (version "0.20.0")
+ (version "0.22.0")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -1805,7 +1807,7 @@ syntax for short lambda.")
(file-name (git-file-name name version))
(sha256
(base32
- "1cjifshb8h5zz63v47n99kwaxj5axgmi3iy5m8zcz9xyab8ac2yx"))))
+ "08s7q6gfkb2bf1hvszj2wlqsrrnpiyzrsk7mpx4p7bymjy1r0qdz"))))
(build-system emacs-build-system)
(propagated-inputs (list emacs-plz
emacs-plz-event-source
@@ -1821,7 +1823,7 @@ before interacting with non-free LLMs.")
(define-public emacs-magit
(package
(name "emacs-magit")
- (version "4.1.3")
+ (version "4.2.0")
(source
(origin
(method git-fetch)
@@ -1830,7 +1832,7 @@ before interacting with non-free LLMs.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "0nggfqywxdnnzaw4vqn1m6h8qklyp7cwbaxxsnkr5pjcwn5nz69v"))))
+ (base32 "0zmrd6xlrvlr0i1a75xwlknmyx4hvpfxaqjkl61n12gd8598ji1j"))))
(build-system emacs-build-system)
(arguments
(list
@@ -2175,7 +2177,7 @@ bottom, or top, of the buffer, or to a trash file.")
(define-public emacs-minions
(package
(name "emacs-minions")
- (version "1.0.2")
+ (version "1.0.3")
(source
(origin
(method git-fetch)
@@ -2184,7 +2186,7 @@ bottom, or top, of the buffer, or to a trash file.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "10pxhsl9yr1nkbkhhvz5iq1q2dbcl315b6q02v23wmns66a9akya"))))
+ (base32 "1rinshdxln1wvzf7by8gq9wiqgcqy406k5jl1f86jd17b3wv5bxx"))))
(build-system emacs-build-system)
(propagated-inputs
(list emacs-compat emacs-dash))
@@ -2229,7 +2231,7 @@ displayed at the bottom or at the top.")
(define-public emacs-moody
(package
(name "emacs-moody")
- (version "1.1.1")
+ (version "1.1.2")
(source
(origin
(method git-fetch)
@@ -2238,7 +2240,7 @@ displayed at the bottom or at the top.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "1dgamndly8lbjwzb4435v99izabdir9fbx31sm9bh1c5yqdka6cp"))))
+ (base32 "1byphhdp41cn2qs91la6fvgzrwgbyx4yaajknvwz8qxzgl2c4aq2"))))
(build-system emacs-build-system)
(propagated-inputs
(list emacs-compat))
@@ -3477,13 +3479,13 @@ and ease-of-key score. Most frequently used commands have most easy keys.")
(define-public emacs-xr
(package
(name "emacs-xr")
- (version "2.0")
+ (version "2.1")
(source
(origin
(method url-fetch)
(uri (string-append "https://elpa.gnu.org/packages/xr-" version ".tar"))
(sha256
- (base32 "1y5pcrph6v8q06mipv3l49qhw55yvvb1nnq0817bzm25k0s3z70v"))))
+ (base32 "1yssl7av2rpanzmm93iw74acnb3pbrnh0b51kr64wcj6hwb26cy2"))))
(build-system emacs-build-system)
(home-page "https://elpa.gnu.org/packages/xr.html")
(synopsis "Convert string regexp to rx notation")
@@ -3706,14 +3708,14 @@ project root.")
(define-public emacs-relint
(package
(name "emacs-relint")
- (version "2.0")
+ (version "2.1")
(source
(origin
(method url-fetch)
(uri (string-append "https://elpa.gnu.org/packages/"
"relint-" version ".tar"))
(sha256
- (base32 "0r89b5yk5lp92k4gnr0sx6ccilqzpv6kd5csqhxydk0xmqh8rsff"))))
+ (base32 "0ikml87y0k85qd92m3l1gkzjd9ng3mhjfk19w15ln0w801351cq0"))))
(build-system emacs-build-system)
(propagated-inputs (list emacs-xr))
(home-page "https://github.com/mattiase/relint")
@@ -3905,14 +3907,14 @@ podcasts) in Emacs.")
(define emacs-emms-print-metadata
(package
(name "emacs-emms-print-metadata")
- (version "20.2")
+ (version "21")
(source
(origin
(method url-fetch)
(uri (string-append "https://elpa.gnu.org/packages/"
"emms-" version ".tar"))
(sha256
- (base32 "0amc956amyfsjlq5aqc7nk2cs2ph2zcpci5wkms6w973wx67z2j6"))))
+ (base32 "188rij39qqaya7hk0p05ygcw5vlha7qd6pm4ws6nfw7g0nv1rbcc"))))
(build-system gnu-build-system)
(arguments
(list
@@ -4052,7 +4054,7 @@ Selectrum.")
(define-public emacs-empv
(package
(name "emacs-empv")
- (version "4.5.0")
+ (version "4.9.0")
(source
(origin
(method git-fetch)
@@ -4062,7 +4064,7 @@ Selectrum.")
(file-name (git-file-name name version))
(sha256
(base32
- "1qwbxhdcl2vvdf0sjgl1iafh47rgbabzmjjwg6jq32p7q64pw6dr"))))
+ "16xplsbiv1ybaws3n7xlysyqgx78haa9m260r4z8w5zfvl0h0lxz"))))
(build-system emacs-build-system)
(arguments
(list
@@ -4222,7 +4224,7 @@ code completion and project management support.")
(define-public emacs-auto-compile
(package
(name "emacs-auto-compile")
- (version "2.0.3")
+ (version "2.0.4")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -4231,7 +4233,7 @@ code completion and project management support.")
(file-name (git-file-name name version))
(sha256
(base32
- "1pgc4m73yxz0hivf6cclqiwmjmg9hs3ncggk7wa10p8scd39ky2p"))))
+ "0cd42xigvw7fy2qy5kn0xlc97sp03w8ja6qjs2y22h29xva6fwsl"))))
(build-system emacs-build-system)
(propagated-inputs (list emacs-compat emacs-packed))
(home-page "https://github.com/emacscollective/auto-compile")
@@ -4553,36 +4555,34 @@ programs such as @code{vi}, @code{top}, @code{htop} or even @code{emacs
(license license:gpl3+)))
(define-public emacs-mistty
- (let ((revision "0")
- (commit "6284c0f6529bcce57d183e20765052c603846115"))
- (package
- (name "emacs-mistty")
- (version (git-version "1.1" revision commit))
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/szermatt/mistty")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32 "1159dy63dq7kyh06q9kfvq6x4bx59w9g1slq2m3xvx2ngaiydf97"))))
- (build-system emacs-build-system)
- (arguments
- (list
- #:phases #~(modify-phases %standard-phases
- (add-before 'patch-el-files 'replace-bash-path
- (lambda* (#:key inputs #:allow-other-keys)
- (substitute* "mistty-term.el"
- (("/bin/bash")
- (search-input-file inputs "bin/bash"))))))))
- (inputs (list bash))
- (home-page "https://github.com/szermatt/mistty")
- (synopsis "Emacs terminal major mode based on Term")
- (description
- "This package defines a major mode that runs a shell inside of
+ (package
+ (name "emacs-mistty")
+ (version "1.3")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/szermatt/mistty")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0wyhv6skml0p9lajhmfbwc8wm3r1107kgwyvh31dyi9m4zhc52zh"))))
+ (build-system emacs-build-system)
+ (arguments
+ (list
+ #:phases #~(modify-phases %standard-phases
+ (add-before 'patch-el-files 'replace-bash-path
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "mistty-term.el"
+ (("/bin/bash")
+ (search-input-file inputs "bin/bash"))))))))
+ (inputs (list bash))
+ (home-page "https://github.com/szermatt/mistty")
+ (synopsis "Emacs terminal major mode based on Term")
+ (description
+ "This package defines a major mode that runs a shell inside of
a buffer, similarly to Comint mode. It is built on top of Term.")
- (license license:gpl3+))))
+ (license license:gpl3+)))
(define-public emacs-counsel-bbdb
(package
@@ -5574,7 +5574,7 @@ that the binary uses instead of the actual binary contents.")
(define-public emacs-ellama
(package
(name "emacs-ellama")
- (version "0.13.0")
+ (version "0.13.3")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -5582,7 +5582,7 @@ that the binary uses instead of the actual binary contents.")
(commit version)))
(file-name (git-file-name name version))
(sha256 (base32
- "1abjp70q9ms6kdd1rs4zcrqzz0hfy7a5bizgl0ddrx7r0sfk9r06"))))
+ "0rih610qirrh3nn5lwnvqyvnmlkdqfrhsdjm6nqks1yia020sdgx"))))
(build-system emacs-build-system)
(propagated-inputs (list emacs-compat emacs-dash emacs-llm emacs-spinner))
(home-page "https://github.com/s-kostyaev/ellama")
@@ -5677,25 +5677,23 @@ calculated based on how well you remembered the contents of the card.")
(license license:gpl3+))))
(define-public emacs-font-lock-studio
- (let ((commit "12c35967b31233e06946c70627aa3152dacfe261")
- (revision "1"))
- (package
- (name "emacs-font-lock-studio")
- (version (git-version "0.0.7" revision commit))
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/Lindydancer/font-lock-studio")
- (commit "12c35967b31233e06946c70627aa3152dacfe261")))
- (file-name (git-file-name name version))
- (sha256
- (base32 "0q0s6f5vi3sfifj7vq2nnsmgyyivp1sd3idk32858md5ri71qif0"))))
- (build-system emacs-build-system)
- (home-page "https://github.com/Lindydancer/font-lock-studio")
- (synopsis "Interactive debugger for Font Lock keywords")
- (description
- "Font Lock Studio is an interactive debugger for Emacs syntax highlighting
+ (package
+ (name "emacs-font-lock-studio")
+ (version "0.0.9")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/Lindydancer/font-lock-studio")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0ssa62qm3zv0l9adz0bpi4iaixbi788ihh1qy5n41h6jzcjig4k4"))))
+ (build-system emacs-build-system)
+ (home-page "https://github.com/Lindydancer/font-lock-studio")
+ (synopsis "Interactive debugger for Font Lock keywords")
+ (description
+ "Font Lock Studio is an interactive debugger for Emacs syntax highlighting
rules, also called Font Lock keywords. It can @emph{single-step} Font Lock
keywords -- matchers, highlights, and anchored rules, to see what happens when
a buffer is fontified. Breakpoints can be set on or inside rules. When
@@ -5703,7 +5701,7 @@ inside a rule, matches are visualized using a palette of background colors.
The explainer can describe a rule in plain-text English. Finally, tight
integration with Edebug allows stepping into Lisp expressions that are part of
the Font Lock keywords.")
- (license license:gpl3+))))
+ (license license:gpl3+)))
(define-public emacs-fontaine
(package
@@ -7777,10 +7775,10 @@ column by drawing a thin line down the length of the editing window.")
(license license:gpl3+)))
(define-public emacs-greader
- (let ((commit "0379b8a704692d6dbd728afdd982317803052e32")) ;version bump
+ (let ((commit "d58c1ee051afe384e23455b7c8b72ee1eae4850f")) ;version bump
(package
(name "emacs-greader")
- (version "0.12.3")
+ (version "0.12.5")
(source
(origin
(uri (git-reference
@@ -7789,7 +7787,7 @@ column by drawing a thin line down the length of the editing window.")
(method git-fetch)
(file-name (git-file-name name version))
(sha256
- (base32 "0jg45w3w5qr2x7ga3z68ihs2g1fid6bl5dvvs10yh1rkpc6mjbd0"))))
+ (base32 "1wh9xbz4az4b90m2r2ffmrvwlv2ig75bxycmkqghaz4hhx2gkvaz"))))
(build-system emacs-build-system)
(arguments
(list
@@ -8371,14 +8369,14 @@ configuration, cache, and other data.")
(define-public emacs-standard-themes
(package
(name "emacs-standard-themes")
- (version "2.1.0")
+ (version "2.2.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://elpa.gnu.org/packages/standard-themes-"
version ".tar"))
(sha256
- (base32 "0x7fphd36kwg4vfwix5rq7260xl6x6cjfwsq11rj4af30sm4hlfn"))))
+ (base32 "0qdld75vcfhsn2l0xips52vrlp5q7ss3973hd722h2gp1wddn5f7"))))
(build-system emacs-build-system)
(home-page "https://github.com/protesilaos/standard-themes")
(synopsis "Like the default Emacs theme but more consistent")
@@ -9259,7 +9257,7 @@ the speedbar window.")
(define-public emacs-shell-maker
(package
(name "emacs-shell-maker")
- (version "0.74.1")
+ (version "0.76.2")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -9268,7 +9266,7 @@ the speedbar window.")
(file-name (git-file-name name version))
(sha256
(base32
- "06prky3c8hfvbnb705qa436vznq05zjicdz870l7m2760h6803iz"))))
+ "0df0mxaz2g4fzdlhxygifmsjnxw7n8v1ghz1pnlhad0anpwdsdv9"))))
(build-system emacs-build-system)
(home-page "https://github.com/xenodium/shell-maker")
(synopsis "Create Emacs shells")
@@ -9278,7 +9276,7 @@ the speedbar window.")
(define-public emacs-shell-switcher
(package
(name "emacs-shell-switcher")
- (version "1.0.1")
+ (version "1.1.0")
(source
(origin
(method git-fetch)
@@ -9287,7 +9285,7 @@ the speedbar window.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "0ia7sdip4hl27avckv3qpqgm3k4ynvp3xxq1cy53bqfzzx0gcria"))))
+ (base32 "0py95c6i7bffidwkwld1j1h2isyq7psna2kz81jigzz0wi885pjr"))))
(build-system emacs-build-system)
(home-page "https://github.com/DamienCassou/shell-switcher")
(synopsis "Provide fast switching between shell buffers")
@@ -9379,6 +9377,30 @@ a file).")
package namespace prefix is ​​hidden by a colon.")
(license license:gpl2+)))
+(define-public emacs-nano-theme
+ ;; No named branches.
+ (let ((commit "ffe414c8af9c673caf8b8b05ba89a229cb9ad48b")
+ (revision "0"))
+ (package
+ (name "emacs-nano-theme")
+ (version (git-version "0.3.4" revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/rougier/nano-theme")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0wi5snsakpag7lcdndz10x5fxb0yrnignqdx3v4fm5drbk0d7hkr"))))
+ (build-system emacs-build-system)
+ (home-page "https://github.com/rougier/nano-theme")
+ (synopsis "GNU Emacs / N Λ N O Theme")
+ (description
+ "Nano is a consistent theme for GNU Emacs which is based on Material
+colors and the dark theme is based on Nord colors.")
+ (license license:gpl3+))))
+
(define-public emacs-evil-leader
(package
(name "emacs-evil-leader")
@@ -9685,7 +9707,7 @@ files which are intended to be packages.")
(define-public emacs-el-job
(package
(name "emacs-el-job")
- (version "0.3.18")
+ (version "0.3.21")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -9694,7 +9716,7 @@ files which are intended to be packages.")
(file-name (git-file-name name version))
(sha256
(base32
- "1n9yg804z778cwcdrfvdf087nsy2x2g13kvrf47gg5zdp5wa1fnc"))))
+ "0jxq4j7sc46wp4niakrcfavv3jiba89civ492aj4szlx0wnz08pl"))))
(build-system emacs-build-system)
(arguments
(list #:tests? #true
@@ -9999,14 +10021,14 @@ by a query, so both a link can refer to several mails.")
(define-public emacs-debbugs
(package
(name "emacs-debbugs")
- (version "0.42")
+ (version "0.43")
(source
(origin
(method url-fetch)
(uri (string-append "https://elpa.gnu.org/packages/debbugs-"
version ".tar"))
(sha256
- (base32 "0n0kvkyzggn8q72dpy6c7rsjwn1rjx0r33y5jc080j7sw85xpigg"))))
+ (base32 "1jzdr7bp48incg1bdnq4s1ldnyp6hncz0mydy0bizk3c68chsls5"))))
(build-system emacs-build-system)
(arguments '(#:include '("\\.el$" "\\.wsdl$" "\\.info$")))
(propagated-inputs
@@ -10259,7 +10281,7 @@ correct movement and editing than you would otherwise have.")
(define-public emacs-compat
(package
(name "emacs-compat")
- (version "30.0.1.0")
+ (version "30.0.2.0")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -10268,7 +10290,7 @@ correct movement and editing than you would otherwise have.")
(file-name (git-file-name name version))
(sha256
(base32
- "0nh820w2m139yk2s410hwwzbn2gvaf0qilpq9qd5f9g58swhqw2w"))))
+ "020rn3l2sn0vzfhx30k47jd2cgvsddk0zfbizgb68hbajcxqfsl4"))))
(build-system emacs-build-system)
(home-page "https://elpa.gnu.org/packages/compat.html")
(synopsis "Emacs Lisp compatibility library")
@@ -12817,7 +12839,7 @@ built-in custom themes.")
(define-public emacs-gruvbox-theme
(package
(name "emacs-gruvbox-theme")
- (version "1.30.1")
+ (version "1.30.2")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -12826,7 +12848,7 @@ built-in custom themes.")
(file-name (git-file-name name version))
(sha256
(base32
- "0dgjf86i8179l1nsjyc20chysqmy8yhphpd5lzv2ypx79l4z3jka"))))
+ "1bnmp9nbpsrnxhn6v81533xcb9hx043wf86n5hwj9mpacl5ic33y"))))
(build-system emacs-build-system)
(propagated-inputs
(list emacs-autothemer))
@@ -13250,14 +13272,14 @@ completion using Consult.")
(define-public emacs-consult-denote
(package
(name "emacs-consult-denote")
- (version "0.2.2")
+ (version "0.2.4")
(source
(origin
(method url-fetch)
(uri (string-append "https://elpa.gnu.org/packages/consult-denote-"
version ".tar"))
(sha256
- (base32 "1dpl9aq25j9nbrxa469gl584km93ry2rnkm0ydxljid9w15szpls"))))
+ (base32 "1a5gxrm8qw638hdplvlizwmyvm84ispm5w751vd7ngmcsiaabvmp"))))
(build-system emacs-build-system)
(propagated-inputs (list emacs-consult emacs-denote))
(home-page "https://github.com/protesilaos/consult-denote")
@@ -13344,7 +13366,7 @@ versions utilizing Consult's internal API.")
(define-public emacs-consult-eglot
(package
(name "emacs-consult-eglot")
- (version "0.3.0")
+ (version "0.4.0")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -13352,7 +13374,7 @@ versions utilizing Consult's internal API.")
(commit (string-append "v" version))))
(sha256
(base32
- "0mn9d87m05bhqrw7sscx4a2a5h7gkqyhv06a80ky9vbzlfjfk6hh"))
+ "0y3n161kfa4a791jh70n6k1s6vyv55lr3ly8zz2zww5gxkx8m137"))
(file-name (git-file-name name version))))
(build-system emacs-build-system)
(propagated-inputs (list emacs-consult emacs-eglot))
@@ -13662,7 +13684,7 @@ between symbols.")
(define-public emacs-hl-todo
(package
(name "emacs-hl-todo")
- (version "3.8.1")
+ (version "3.8.2")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -13671,7 +13693,7 @@ between symbols.")
(file-name (git-file-name name version))
(sha256
(base32
- "00x17bcpdp7xa49jf2np77s8rxk6q8wb0rhfwmbg52z5y61gl7f8"))))
+ "0py936brc7kwggzcxi8mdndpgphzrxdd3ig9hbjlccs9ihwq3hi4"))))
(build-system emacs-build-system)
(propagated-inputs
(list emacs-compat))
@@ -14055,26 +14077,28 @@ line program.")
(license license:gpl3+))))
(define-public emacs-ruby-electric
- (package
- (name "emacs-ruby-electric")
- (version "2.3.3")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/ruby/elisp-ruby-electric")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32 "1p0l0fsn0jcgb4raimyc4d1wpfksrfhn0rkwdazadvm6s8baydf7"))))
- (build-system emacs-build-system)
- (home-page "https://github.com/ruby/elisp-ruby-electric")
- (synopsis "Minor mode for electrically editing Ruby code")
- (description
- "Ruby Electric mode accelerates code writing in Ruby by making some keys
+ (let ((revision "0")
+ (commit "c53376da891713e0c49f01aad2ff64d4fbb0b812"))
+ (package
+ (name "emacs-ruby-electric")
+ (version (git-version "2.3.3" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/ruby/elisp-ruby-electric")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "14grv2gwr6lyjlcp8h1frvipyisakkw2q0jpv4h5rd5bzky7m8w0"))))
+ (build-system emacs-build-system)
+ (home-page "https://github.com/ruby/elisp-ruby-electric")
+ (synopsis "Minor mode for electrically editing Ruby code")
+ (description
+ "Ruby Electric mode accelerates code writing in Ruby by making some keys
electric and automatically supplying with closing parentheses and @code{end}
as appropriate.")
- (license license:ruby)))
+ (license license:ruby))))
(define-public emacs-rudel
(package
@@ -16114,7 +16138,7 @@ maximizes flexibility (at the expense of conciseness).")
(define-public emacs-find-file-in-project
(package
(name "emacs-find-file-in-project")
- (version "6.2.1")
+ (version "6.2.2")
(source
(origin
(method git-fetch)
@@ -16123,7 +16147,7 @@ maximizes flexibility (at the expense of conciseness).")
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "1vrr3fwifn3lpajh03rx5rzzgc5dks0p6154y1c7f49wqffds36p"))))
+ (base32 "1aqlzx1aibhkmvqasb7vbawj277rbyrk93v6svqs0m3v6n3g996i"))))
(build-system emacs-build-system)
(arguments
`(#:tests? #t
@@ -16472,6 +16496,30 @@ of its name.")
names, e.g., @samp{#0000ff} is displayed in white with a blue background.")
(license license:gpl3+)))
+(define-public emacs-indent-bars
+ (package
+ (name "emacs-indent-bars")
+ (version "0.8.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://elpa.gnu.org/packages/indent-bars-"
+ version ".tar"))
+ (sha256
+ (base32 "1bhdrykkklsscgiz3p29x8kdkw0kbc4mlpnhxghvphx159clhgym"))))
+ (build-system emacs-build-system)
+ (propagated-inputs (list emacs-compat))
+ (home-page "https://github.com/jdtsmith/indent-bars")
+ (synopsis "Highlight indentation with bars")
+ (description
+ "Indent Bars highlights indentation with configurable vertical graphical
+bars, using stipples. The color and appearance (weight, pattern, position
+within the character, zigzag, etc.) are all configurable. Indent Bars works
+in any mode using fixed tab or space-based indentation. In the terminal (or
+on request) it uses vertical bar characters instead of stipple patterns.
+Optional Treesitter support is also available.")
+ (license license:gpl3+)))
+
(define-public emacs-ryo-modal
;; Package has no release. Version is extracted from "Version:" keyword in
;; main file.
@@ -16549,7 +16597,7 @@ window edge.")
(name "emacs-visual-replace")
;; XXX: when updating version, please ensure substitution in install-info
;; phase is still accurate.
- (version "1.1")
+ (version "1.2")
(source
(origin
(method git-fetch)
@@ -16558,7 +16606,7 @@ window edge.")
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "05s21qhq23mmv8in88qxfbq79h26j14vcw5pc112sjr1a4fl5306"))))
+ (base32 "1bvaw44mkiz6yq1r5hvayfp0iaxqcwbzihdrbizyynm4qjzspca1"))))
(build-system emacs-build-system)
(arguments
(list
@@ -18340,7 +18388,7 @@ federated blogging platform WriteFreely.")
(define-public emacs-org
(package
(name "emacs-org")
- (version "9.7.19")
+ (version "9.7.20")
(source
(origin
(method git-fetch)
@@ -18349,7 +18397,7 @@ federated blogging platform WriteFreely.")
(commit (string-append "release_" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "0qzgxk6427mdsd1yw3z7r0x4wsgkzfq7b4jlsh369zdvn8w4377m"))))
+ (base32 "0sjyg3jj4s84mqkwa0fgfh5cppc080yw0ja9szzk7wcq7adj8czm"))))
(build-system emacs-build-system)
(arguments
(list
@@ -18898,14 +18946,14 @@ editing nginx config files.")
(define-public emacs-stream
(package
(name "emacs-stream")
- (version "2.3.0")
+ (version "2.4.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://elpa.gnu.org/packages/"
"stream-" version ".tar"))
(sha256
- (base32 "1jvk5j0wn2f4dxnyqji85f8cgbpyrxk02mz5dzyw4xlqr0d9zc9n"))))
+ (base32 "16wl1q7wikk0wyzfwjz16azq025dx4wdh1j9q0nadi68ygxi172b"))))
(build-system emacs-build-system)
(home-page "https://elpa.gnu.org/packages/stream.html")
(synopsis "Implementation of streams for Emacs")
@@ -19074,6 +19122,36 @@ Denote files that goes beyond using the standard Dired Emacs command to
view your Denote directory.")
(license license:gpl3+)))
+(define-public emacs-denote-explore
+ (package
+ (name "emacs-denote-explore")
+ (version "3.3")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/pprevos/denote-explore")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0773691jxyv039y407c8dppkky41b3icacavddcv9m8v481763b7"))))
+ (build-system emacs-build-system)
+ (propagated-inputs (list emacs-denote emacs-dash))
+ (home-page "https://github.com/pprevos/denote-explore")
+ (synopsis "Analyse and visualise a collection of Denote notes")
+ (description
+ "The Denote Explore package provides auxiliary functions to
+maintain and explore your collection of Denote files. Denote Explore provides
+four groups of Emacs commands:
+@enumerate
+@item Summary statistics: Count and visualize notes, attachments and keywords.
+@item Random walks: Generate new ideas using Serendipity.
+@item Janitor: Manage your Denote collection.
+@item Visualisations: Visualise your Denote network as a network
+graph. (Optional dependencies GraphViz, D3js, to be acquired separately!)
+@end enumerate")
+ (license license:gpl3+)))
+
(define-public emacs-logos
(package
(name "emacs-logos")
@@ -19162,7 +19240,7 @@ using a convenient notation.")
(let ((commit "c3f4583b0767e7f8c38c83ed29af40af8ba3bdfa")) ;version bump
(package
(name "emacs-beframe")
- (version "1.2.1")
+ (version "1.3.0")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -19171,7 +19249,7 @@ using a convenient notation.")
(file-name (git-file-name name version))
(sha256
(base32
- "1j9v85wxahnm2h828c8dbjm0f81j9pxlf54dgcw443cl0kwcda9c"))))
+ "0vmmvy56ngaf5k6xfb1fglyqayc5zp823clsr8skgzy2xb72zs60"))))
(build-system emacs-build-system)
(arguments
(list
@@ -20892,7 +20970,7 @@ methods from a given list.")
(define-public emacs-mini-echo
(package
(name "emacs-mini-echo")
- (version "0.14.0")
+ (version "0.15.0")
(source
(origin
(method git-fetch)
@@ -20901,7 +20979,7 @@ methods from a given list.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "1yvrwdni4dsqb19rqpb4sy1brx5jg13v2m4l9gqvb2v9mk9al681"))))
+ (base32 "1fgh93xzf4y3fhi7nby0h1vnay78sc2hv06ai5x3j972qz5b0v5v"))))
(build-system emacs-build-system)
(propagated-inputs (list emacs-dash emacs-hide-mode-line))
(home-page "https://github.com/liuyinz/mini-echo.el")
@@ -21026,7 +21104,7 @@ and lambdas.")
(define-public emacs-org2web
(package
(name "emacs-org2web")
- (version "0.9.1")
+ (version "0.9.2")
(source
(origin
(method git-fetch)
@@ -21035,7 +21113,7 @@ and lambdas.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "0wsvfn409a2ivbich8b8zqza78sprirg4bl7igx536ydqclmi0n7"))))
+ (base32 "103fzmadgd93x1y0c6xsdjx70z0jkwpvj0xnkybdancxz4ba8p9l"))))
(build-system emacs-build-system)
(arguments
(list
@@ -21127,7 +21205,7 @@ It should enable you to implement low-level X11 applications.")
(define-public emacs-exwm
(package
(name "emacs-exwm")
- (version "0.32")
+ (version "0.33")
(synopsis "Emacs X window manager")
(source
(origin
@@ -21135,7 +21213,7 @@ It should enable you to implement low-level X11 applications.")
(uri (string-append "https://elpa.gnu.org/packages/"
"exwm-" version ".tar"))
(sha256
- (base32 "0k3c7grgkkpgd0r8b9vsqa5ywhb4vwxr3wfjyfxw8xy0yq7y0jvn"))))
+ (base32 "13wywayvdxpr2z14lri3ggni1wj20r452a0gxnx0cpgif3c1l2sx"))))
(build-system emacs-build-system)
(propagated-inputs
(list emacs-xelb))
@@ -21517,7 +21595,7 @@ Emacs.")
(define-public emacs-eglot
(package
(name "emacs-eglot")
- (version "1.17")
+ (version "1.18")
(source
(origin
(method url-fetch)
@@ -21525,14 +21603,16 @@ Emacs.")
".tar"))
(sha256
(base32
- "1can988d7qdn0dj4wg8adjz1s9j5yin8bcp7ylhq1pr327d5flky"))))
+ "1zqs498yn3i8wn045jgq9nw4pddiyrwwgyq39mndzvgvi1j6a431"))))
(build-system emacs-build-system)
(propagated-inputs
- (list emacs-eldoc
+ (list emacs-compat
+ emacs-eldoc
emacs-external-completion
emacs-jsonrpc
emacs-project
emacs-seq
+ emacs-track-changes
emacs-xref))
(home-page "https://github.com/joaotavora/eglot")
(synopsis "Client for Language Server Protocol (LSP) servers")
@@ -21678,7 +21758,7 @@ variable instead, to remind you of that variable's meaning.")
(define-public emacs-eldoc-box
(package
(name "emacs-eldoc-box")
- (version "1.12.1")
+ (version "1.13.2")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -21687,7 +21767,7 @@ variable instead, to remind you of that variable's meaning.")
(file-name (git-file-name name version))
(sha256
(base32
- "1v163zk8qazz92q2iv9f0sgq2paryx80m94hbl588lhnyk227lsb"))))
+ "1136rgi7qy5kmciqrz88lxvk01fdcpry2srsvv3h2rfqwmiccpl0"))))
(build-system emacs-build-system)
(home-page "https://github.com/casouri/eldoc-box")
(synopsis "Childframe doc for eglot and anything that uses eldoc")
@@ -23400,40 +23480,35 @@ Slack client.")
(license license:gpl3+))))
(define-public emacs-bash-completion
- ;; This commit fixes an issue that would brake the shell process if trying
- ;; to complete a command (see:
- ;; https://github.com/szermatt/emacs-bash-completion/issues/63).
- (let ((commit "b38f9bca0c194ee3a79c19a14db3b38d1262ca8c")
- (revision "1"))
- (package
- (name "emacs-bash-completion")
- (version (git-version "3.1.1" revision commit))
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/szermatt/emacs-bash-completion")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32 "09didsy8l6q083djlf9xqqx4fbsisaq5j7vj8fj4qlwh34pfl94c"))))
- (build-system emacs-build-system)
- (arguments
- (list
- #:phases
- #~(modify-phases %standard-phases
- (add-before 'install 'configure
- (lambda* (#:key inputs #:allow-other-keys)
- (emacs-substitute-variables "bash-completion.el"
- ("bash-completion-prog"
- (search-input-file inputs "/bin/bash"))))))))
- (inputs (list bash))
- (home-page "https://github.com/szermatt/emacs-bash-completion")
- (synopsis "Bash completion for the shell buffer")
- (description
- "Bash Completion defines dynamic completion hooks for Shell mode and
+ (package
+ (name "emacs-bash-completion")
+ (version "3.2")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/szermatt/emacs-bash-completion")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0664dihdfvrbxqxy00fw0skdg454njm673ip54qrgkh38vyv5432"))))
+ (build-system emacs-build-system)
+ (arguments
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'install 'configure
+ (lambda* (#:key inputs #:allow-other-keys)
+ (emacs-substitute-variables "bash-completion.el"
+ ("bash-completion-prog"
+ (search-input-file inputs "/bin/bash"))))))))
+ (inputs (list bash))
+ (home-page "https://github.com/szermatt/emacs-bash-completion")
+ (synopsis "Bash completion for the shell buffer")
+ (description
+ "Bash Completion defines dynamic completion hooks for Shell mode and
@code{shell-command} prompts that are based on Bash completion.")
- (license license:gpl2+))))
+ (license license:gpl2+)))
(define-public emacs-easy-kill
(package
@@ -24612,7 +24687,7 @@ match and total match information in the mode-line in various search modes.")
(define-public emacs-pg
(package
(name "emacs-pg")
- (version "0.45")
+ (version "0.46")
(source (origin
(method git-fetch)
(uri (git-reference (url "https://github.com/emarsden/pg-el")
@@ -24620,7 +24695,7 @@ match and total match information in the mode-line in various search modes.")
(file-name (git-file-name name version))
(sha256
(base32
- "10k166l3zh6wi59il147cal0p50md3dv618wnkg1clax51xk1h44"))))
+ "0i2ckljbfnc1sgjs14zpzppv1i1icidkrhzss3gkl7fj5wqgdqlh"))))
(build-system emacs-build-system)
(propagated-inputs (list emacs-peg))
(home-page "https://github.com/emarsden/pg-el")
@@ -24768,7 +24843,7 @@ match your personal coding style.")
(define-public emacs-epkg
(package
(name "emacs-epkg")
- (version "4.0.2")
+ (version "4.0.3")
(source
(origin
(method git-fetch)
@@ -24777,7 +24852,7 @@ match your personal coding style.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "1kg0jd8067brd4772sd6r0lj7vbf5pxhbj916nd6293a0hc10i58"))))
+ (base32 "0zdlymx44jgrzm68cnh636mpdazihqiakf5m3v1c2rhvh6cb6yg6"))))
(build-system emacs-build-system)
(arguments
`(#:phases
@@ -25506,7 +25581,7 @@ files to be expanded upon opening them.")
(define-public emacs-parsebib
(package
(name "emacs-parsebib")
- (version "6.3")
+ (version "6.4")
(source
(origin
(method git-fetch)
@@ -25515,7 +25590,7 @@ files to be expanded upon opening them.")
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "1rgawqwa7dqfiz74fsj1z6nsmjp7dszrxm9jjc9kgnr8w4s3yb2a"))))
+ (base32 "1mx47gkn3l7hvknksfcl9r36hhm2hlskibvbkxd31sgzhzgjaxdr"))))
(build-system emacs-build-system)
(home-page "https://github.com/joostkremers/parsebib")
(synopsis "Library for parsing @file{.bib} files")
@@ -25526,7 +25601,7 @@ files to be expanded upon opening them.")
(define-public emacs-ebib
(package
(name "emacs-ebib")
- (version "2.48")
+ (version "2.49.1")
(source
(origin
(method git-fetch)
@@ -25535,7 +25610,7 @@ files to be expanded upon opening them.")
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "11rm51lx5nz2drhjb4nm5ls57gz9rqf9wm51qp9r03rlvrr6v85c"))))
+ (base32 "0b2ybyjnw8ig7vjw4x7c1dsvj7d56b7a8nmli7nbsp5ncz6w7jpp"))))
(build-system emacs-build-system)
(propagated-inputs
(list emacs-biblio emacs-compat emacs-ivy emacs-parsebib))
@@ -27319,7 +27394,7 @@ and doesn't require memorisation of commands.
(define-public emacs-logview
(package
(name "emacs-logview")
- (version "0.19")
+ (version "0.19.1.1")
(source
(origin
(method git-fetch)
@@ -27328,7 +27403,7 @@ and doesn't require memorisation of commands.
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "1z9w1rdr1d7j6fw9rb05wjrpdj9zka683xj35cxws7qplk3dlz29"))))
+ (base32 "0qgkmjw5prc5zrsccdmh9wfr1fyk9jfdfnqn6ldsbi7jhbr71366"))))
(propagated-inputs
(list emacs-datetime emacs-extmap))
(build-system emacs-build-system)
@@ -27977,8 +28052,10 @@ keep Parens and Indentation inline with one another.")
(add-after 'unpack 'configure
(lambda* (#:key inputs #:allow-other-keys)
(let ((parinfer-lib
- (dirname
- (search-input-file inputs "lib/libparinfer_rust.so"))))
+ (string-append
+ (dirname
+ (search-input-file inputs "lib/libparinfer_rust.so"))
+ "/")))
;; Specify the absolute file names of the parinfer shared
;; library.
;; (make-file-writable "parinfer-rust-mode.el")
@@ -29816,7 +29893,7 @@ text in neighboring sections.")
(define-public emacs-pandoc-mode
(package
(name "emacs-pandoc-mode")
- (version "2.33")
+ (version "2.34.1")
(source
(origin
(method git-fetch)
@@ -29826,7 +29903,7 @@ text in neighboring sections.")
(file-name (git-file-name name version))
(sha256
(base32
- "13hg9qf64drpz7ak0sz13gj0dblgrfypjszx8iprf6z5kvh33zpk"))))
+ "1kraah7663cr9lsymqff25ad80nlih94y871byd925nhyl908kfl"))))
(build-system emacs-build-system)
(propagated-inputs
(list emacs-dash emacs-hydra))
@@ -30725,10 +30802,10 @@ and comments.")
(license license:gpl3+))))
(define-public emacs-yeetube
- (let ((commit "5c0a3efd2fb5cc25a6a90741ad198e31fdb15640")) ;version bump
+ (let ((commit "b8877e61b58dfabcc30044680d0975b3c6b12052")) ;version bump
(package
(name "emacs-yeetube")
- (version "2.1.7")
+ (version "2.1.8")
(source
(origin
(method git-fetch)
@@ -30737,7 +30814,7 @@ and comments.")
(commit commit)))
(sha256
(base32
- "0a3pm8cz6yl5s2xnbnjvdwm8mf5hyman419xl4fyyfgwy6vrxp70"))
+ "1gii2y4cvw795039kdky1mdmgpfrfm4s48ld7z4gv7bvb0fs9hpq"))
(file-name (git-file-name name version))))
(build-system emacs-build-system)
(arguments
@@ -30842,7 +30919,7 @@ execute its commands and resize images.")
(define-public emacs-synosaurus
(package
(name "emacs-synosaurus")
- (version "0.2.0")
+ (version "0.2.1")
(source
(origin
(method git-fetch)
@@ -30852,7 +30929,7 @@ execute its commands and resize images.")
(file-name (git-file-name name version))
(sha256
(base32
- "14dd6p89pmpf1w3nx4f9mzm4sn2b64nicws436ck7pmp223pwciv"))))
+ "1bkd989712wj5mpk6i3pqp0j19ajnqpw2vcz2r1l0fb91n382d3y"))))
(build-system emacs-build-system)
(propagated-inputs
(list wordnet))
@@ -32634,7 +32711,7 @@ constant expressions.")
(define-public emacs-kubed
(package
(name "emacs-kubed")
- (version "0.4.2")
+ (version "0.4.3")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -32643,7 +32720,7 @@ constant expressions.")
(file-name (git-file-name name version))
(sha256
(base32
- "16a6v9c2ks12shsi76x957cfsq4hpqvrn637g8svs7b0zv9qwzaw"))))
+ "1sff9frllfrzxs7ba5m6dvjvigdcid2ivrl3pqwycvaxnbzzg13s"))))
(build-system emacs-build-system)
(synopsis "Kubernetes control")
(description "This package provides a Kubernetes control interface
@@ -33406,7 +33483,7 @@ as Emacs Lisp.")
(define-public emacs-transient
(package
(name "emacs-transient")
- (version "0.8.1")
+ (version "0.8.2")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -33415,7 +33492,7 @@ as Emacs Lisp.")
(file-name (git-file-name name version))
(sha256
(base32
- "1r6rkgkly3s5rqarlhwqrqm37h139p9bdb9q7grp3zq1gnng7vlx"))))
+ "1jz65hgv4b6k4s3nfzr6js98ghl33f7vk1zyhvh7pxiznsi2s010"))))
(build-system emacs-build-system)
(arguments
`(#:tests? #f ;no test suite
@@ -33445,7 +33522,7 @@ commands (a prefix and a suffix) we prefer to call it just a \"transient\".")
(define-public emacs-forge
(package
(name "emacs-forge")
- (version "0.4.5")
+ (version "0.4.6")
(source
(origin
(method git-fetch)
@@ -33454,7 +33531,7 @@ commands (a prefix and a suffix) we prefer to call it just a \"transient\".")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "0jmq2mzbshz3dh39vwkqnb94li5bnq00rg3cn41wmqv3bvi0734y"))))
+ (base32 "0mh542c9hy401jcvammd89v9ja3zxc16k7zhfflq67x90987mwhp"))))
(build-system emacs-build-system)
(arguments
`(#:tests? #f ;no tests
@@ -33667,7 +33744,7 @@ JavaScript.")
(let ((commit "10ccff7a5cec6fd2f4484c1d55347634e5b46432")) ;version bump
(package
(name "emacs-jsdoc")
- (version "0.3")
+ (version "0.4.0")
(source
(origin
(method git-fetch)
@@ -33675,7 +33752,7 @@ JavaScript.")
(url "https://github.com/isamert/jsdoc.el")
(commit commit)))
(sha256
- (base32 "0cbchri4117wjcnlk3npi4x1sfx248vck1q61cis8drrrz4c8jyp"))
+ (base32 "0j99rax3n905ya0ya42093pl8q7kcb8xx2qz6b918f7d8q0mr44n"))
(file-name (git-file-name name version))))
(build-system emacs-build-system)
(propagated-inputs
@@ -34846,8 +34923,8 @@ to be examined using Ediff.")
(license license:expat)))
(define-public emacs-info-plus
- (let ((commit "29811edf7a71764ac343631facc00268d9483146")
- (revision "3"))
+ (let ((commit "34d54e58b6cbb4f135dc0583ebdce4437b052dce")
+ (revision "4"))
(package
(name "emacs-info-plus")
(version (git-version "0" revision commit))
@@ -34860,7 +34937,7 @@ to be examined using Ediff.")
(file-name (git-file-name name version))
(sha256
(base32
- "0ayq7z6dbf43vczbkjm1l976hxcfrmw45nfywbf1kjpzl3viy4gy"))))
+ "0xkn26a2h47v5y4fgznbflsbh7vz61nz4j9kkshg3lv8wnkbipmv"))))
(build-system emacs-build-system)
(home-page "https://github.com/emacsmirror/info-plus")
(synopsis "Extensions to @file{info.el}")
@@ -35079,14 +35156,14 @@ well as an option for visually flashing evaluated s-expressions.")
(define-public emacs-tramp
(package
(name "emacs-tramp")
- (version "2.7.1.5")
+ (version "2.7.2")
(source
(origin
(method url-fetch)
(uri (string-append "https://elpa.gnu.org/packages/"
"tramp-" version ".tar"))
(sha256
- (base32 "11a2zyk0d1y9bxhdqfzcx4ynazfs6hb3mdgpz5kp9p3lk8l6bz5g"))))
+ (base32 "1m1ar9k5f4yx98m8v0y8rm7hq5dwjafb096gmdg6mz57k1k3y6vl"))))
(build-system emacs-build-system)
(arguments
(list
@@ -36150,25 +36227,27 @@ federated microblogging social network.")
(license license:gpl3+)))
(define-public emacs-fedi
- (package
- (name "emacs-fedi")
- (version "0.2")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://codeberg.org/martianh/fedi.el")
- (commit version)))
- (file-name (git-file-name name version))
- (sha256
- (base32 "0a5zq7axxh3khx6465s7ym9s7v2iw7ky9z486d0zg41k7926bm9d"))))
- (build-system emacs-build-system)
- (propagated-inputs (list emacs-markdown-mode))
- (home-page "https://codeberg.org/martianh/fedi.el")
- (synopsis "Library to make writing clients for APIs easier")
- (description "@code{fedi.el} is an Emacs library used by several fediverse
-frontend packages.")
- (license license:gpl3+)))
+ (let ((commit "8f0afbb5cd264033f10ba58158a5e1f3737b16d4")
+ (revision "0"))
+ (package
+ (name "emacs-fedi")
+ (version (git-version "0.2" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://codeberg.org/martianh/fedi.el")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0lmjqwq0nrimcqs3j9cadl2yz0nvg250vy2l6czg2648x6fdvcc6"))))
+ (build-system emacs-build-system)
+ (propagated-inputs (list emacs-markdown-mode))
+ (home-page "https://codeberg.org/martianh/fedi.el")
+ (synopsis "Library to make writing clients for APIs easier")
+ (description "@code{fedi.el} is an Emacs library used by several
+ fediverse frontend packages.")
+ (license license:gpl3+))))
(define-public emacs-ebdb
(package
@@ -36191,6 +36270,29 @@ a re-write of the Insidious Big Brother Database (BBDB) using Emacs
Lisp's (relatively new) EIEIO object oriented libraries.")
(license license:gpl3+)))
+(define-public emacs-fj
+ (let ((commit "c2684eab1cdd745dbc5af6cd5abacd9822099662")
+ (revision "0"))
+ (package
+ (name "emacs-fj")
+ (version (git-version "0.3" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://codeberg.org/martianh/fj.el")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "05kx1h7r4g7x58k849m4h57a7lmcbhhm40qivn39mxfjx4ckn6n9"))))
+ (build-system emacs-build-system)
+ (propagated-inputs (list emacs-fedi emacs-magit emacs-tp))
+ (home-page "https://codeberg.org/martianh/fj.el")
+ (synopsis "Client for Forgejo instances")
+ (description
+ "Fj contains basic functions for interacting with a Forgejo instance.")
+ (license license:gpl3+))))
+
(define-public emacs-ebdb-i18n-chn
(package
(name "emacs-ebdb-i18n-chn")
@@ -36425,8 +36527,8 @@ Emacs.")
(license license:gpl3+)))
(define-public emacs-ssh-config-mode
- (let ((commit "4c1dfa57d452cb5654453bf186c8ff63e1e71b56")
- (revision "1"))
+ (let ((commit "d0596f5fbeab3d2c3c30eb83527316403bc5b2f7")
+ (revision "2"))
(package
(name "emacs-ssh-config-mode")
(version (git-version "8.0" revision commit))
@@ -36440,7 +36542,7 @@ Emacs.")
(file-name (git-file-name name commit))
(sha256
(base32
- "0crglfdazzckizbwzmgl2rn6j85avfzkr1q7ijxd17rp2anvr9bd"))))
+ "1xs9ixp2bgbn2whjpj7l1n15fklivfh7544sgai61225jprckyak"))))
(build-system emacs-build-system)
(arguments '(#:include '("\\.el$" "\\.txt$")))
(home-page
@@ -38481,7 +38583,7 @@ launching other commands/applications from within Emacs, similar to the
(define-public emacs-no-littering
(package
(name "emacs-no-littering")
- (version "1.7.4")
+ (version "1.7.5")
(source
(origin
(method git-fetch)
@@ -38490,7 +38592,7 @@ launching other commands/applications from within Emacs, similar to the
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "0l88l1np4s5925d6i33l1cas8mk0nwbgbyw7fa1akzj8qv6782sm"))))
+ (base32 "1qr0spndzv03h0lcs2bjajadp9rg7clm506bnwbcqwfqxz9cxnvx"))))
(build-system emacs-build-system)
(propagated-inputs
(list emacs-compat))
@@ -39176,7 +39278,7 @@ personal wiki.")
(define-public emacs-org-node
(package
(name "emacs-org-node")
- (version "1.9.15")
+ (version "1.9.28")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -39185,7 +39287,7 @@ personal wiki.")
(file-name (git-file-name name version))
(sha256
(base32
- "0a064b3d6mmzyyss9w79mx5z6xpniy53272hfz7691sl1k3cb6fn"))))
+ "0zjwmcxgnhrs4a0kj39fphwah0jqyjpprzmpn2pclcc4gbbl9qp9"))))
(build-system emacs-build-system)
(propagated-inputs
(list emacs-dash
@@ -39991,7 +40093,7 @@ web development.")
(define-public emacs-iter2
(package
(name "emacs-iter2")
- (version "1.4")
+ (version "2.0")
(source
(origin
(method git-fetch)
@@ -40000,7 +40102,7 @@ web development.")
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "1k0n35vxcvvy8c2yih24c8gjc4bqd5lawda0zz62c5kgksgn87ri"))))
+ (base32 "17rraqidypxypmvqrh8k0ja57is178q72p6fxj3wlp7mbld1hcp3"))))
(build-system emacs-build-system)
(home-page "https://github.com/doublep/iter2")
(synopsis "Reimplementation of Elisp generators")
@@ -40093,14 +40195,14 @@ provides an easy way to bind keys under a configurable prefix key.")
(define-public emacs-spacious-padding
(package
(name "emacs-spacious-padding")
- (version "0.5.0")
+ (version "0.6.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://elpa.gnu.org/packages/spacious-padding-"
version ".tar"))
(sha256
- (base32 "0x5bsyd6b1d3bzrsrpf9nvw7xj5ch114m2dilq64bg8y2db3452z"))))
+ (base32 "0czx4w6vm56blvc26gymmijvcqhvmrlakqwlks1prckgnkgsvcpx"))))
(build-system emacs-build-system)
(home-page "https://github.com/protesilaos/spacious-padding")
(synopsis "Increase the padding or spacing of frames and windows")
@@ -41307,13 +41409,13 @@ with the ed editor.")
(method git-fetch)
(uri
(git-reference
- (url "https://github.com/remvee/alsamixer-el")
+ (url "https://codeberg.org/rwv/alsamixer-el.git")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0c40vycphv5nf374rp8pnzvi50vlmgab3wrdq92hyprjw76gwxhk"))))
(build-system emacs-build-system)
- (home-page "https://github.com/remvee/alsamixer-el")
+ (home-page "https://codeberg.org/rwv/alsamixer-el")
(synopsis "Emacs interface to amixer")
(description "@code{emacs-alsamixer-el} provides basic commands to control
audio volume via amixer.")
@@ -41611,7 +41713,7 @@ can bind a popon to a specific buffer to only show on that buffer.")
(define-public emacs-consult-lsp
(package
(name "emacs-consult-lsp")
- (version "1.1")
+ (version "2.1")
(source
(origin
(method git-fetch)
@@ -41620,7 +41722,7 @@ can bind a popon to a specific buffer to only show on that buffer.")
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "0bnq8jahcyjsai1y4ngdq08y77m1hn78h3p48czr7sg907nr42yh"))))
+ (base32 "1y0dgpgvw90phqi44dyijnnz3z0rys4bkmbnrkkx2fbd3pyvqs1i"))))
(build-system emacs-build-system)
(propagated-inputs (list emacs-consult emacs-lsp-mode emacs-f))
(home-page "https://github.com/gagbo/consult-lsp/")
@@ -42205,7 +42307,7 @@ in Emacs.")
(define-public emacs-vertico-posframe
(package
(name "emacs-vertico-posframe")
- (version "0.7.8")
+ (version "0.8.0")
(source (origin
(method url-fetch)
(uri (string-append
@@ -42213,7 +42315,7 @@ in Emacs.")
".tar"))
(sha256
(base32
- "08f1fmr0s9kx3f7ivh1isdik04cq87j69wgl5ir0gppa39ip0dqw"))))
+ "0iqy8m1cf819x7ln5sp8b3sh4dk291k9sril35hxsxkiyjal1rqk"))))
(build-system emacs-build-system)
(propagated-inputs (list emacs-posframe emacs-vertico))
(home-page "https://github.com/tumashu/vertico-posframe")
diff --git a/gnu/packages/emulators.scm b/gnu/packages/emulators.scm
index 1331fa1716..f20b6da79b 100644
--- a/gnu/packages/emulators.scm
+++ b/gnu/packages/emulators.scm
@@ -15,7 +15,7 @@
;;; Copyright © 2020 Christopher Howard <christopher@librehacker.com>
;;; Copyright © 2021 Felipe Balbi <balbi@kernel.org>
;;; Copyright © 2021, 2024 Felix Gruber <felgru@posteo.net>
-;;; Copyright © 2021, 2025 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; Copyright © 2021, 2024, 2025 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net>
;;; Copyright © 2023 c4droid <c4droid@foxmail.com>
;;; Copyright © 2023 Yovan Naumovski <yovan@gorski.stream>
@@ -95,9 +95,11 @@
#:use-module (gnu packages ncurses)
#:use-module (gnu packages networking)
#:use-module (gnu packages pkg-config)
+ #:use-module (gnu packages pretty-print)
#:use-module (gnu packages pulseaudio)
#:use-module (gnu packages python)
#:use-module (gnu packages python-build)
+ #:use-module (gnu packages python-xyz)
#:use-module (gnu packages qt)
#:use-module (gnu packages sdl)
#:use-module (gnu packages sphinx)
@@ -289,64 +291,158 @@ console.")
(file-name (git-file-name name version))
(sha256
(base32 "1p8qsxlabgmz3nic0a9ghh9d3lzl5f8i3kmdrrvx6w8kdlp33018"))
- (modules '((guix build utils)))
+ (modules '((guix build utils)
+ (ice-9 regex)))
(snippet
'(begin
;; Remove external stuff we don't need.
(for-each (lambda (dir)
(delete-file-recursively
- (string-append "Externals/" dir)))
- '("LZO" "OpenAL" "Qt" "SFML" "curl" "ffmpeg"
- "gettext" "hidapi" "libpng" "libusb" "mbedtls"
- "miniupnpc" "MoltenVK" "zlib"))
- ;; Clean up source.
+ (string-append "Externals/" dir)))
+ '("LZO" "OpenAL" "Qt" "SFML" "bzip2"
+ ;; XXX: Attempting to use the vulkan-headers package
+ ;; results in "error:
+ ;; ‘VK_PRESENT_MODE_RANGE_SIZE_KHR’ was not declared
+ ;; in this scope".
+ ;;"Vulkan"
+ "cubeb" "curl" "enet"
+ "ffmpeg" "fmt" "gettext"
+ ;; XXX: Attempting to use an unbundled glslang at the
+ ;; exact commit used by Dolphin still results in
+ ;; "error: ‘DefaultTBuiltInResource’ is not a member
+ ;; of ‘glslang’".
+ ;;"glslang"
+ ;; XXX: Googletest cannot currently easily be
+ ;; unbundled, as there are missing linking
+ ;; directives.
+ ;;"gtest"
+ "hidapi" "libpng" "libusb" "mbedtls"
+ "miniupnpc" "minizip" "MoltenVK" "pugixml"
+ "soundtouch"
+ "xxhash" "zlib" "zstd"))
+ ;; Clean up the source.
(for-each delete-file
- (find-files "." ".*\\.(bin|dsy|exe|jar|rar)$"))))))
+ (find-files
+ "."
+ (lambda (file _)
+ (and (string-match "\\.(bin|dsy|exe|jar|rar)$" file)
+ ;; Preserve the important wc24 .bin
+ ;; configuration *data* files.
+ (not (member (basename file)
+ '("misc.bin"
+ "nwc24dl.bin"
+ "nwc24fl.bin"
+ "nwc24fls.bin")))))))
+ ;; Do not attempt to include now-missing directories.
+ (substitute* "CMakeLists.txt"
+ ((".*add_subdirectory.*Externals/enet.*") "")
+ ((".*add_subdirectory.*Externals/soundtouch.*") "")
+ ((".*add_subdirectory.*Externals/xxhash.*") ""))))
+ (patches (search-patches "dolphin-emu-data.patch"))))
(build-system cmake-build-system)
(arguments
- '(#:tests? #f
- #:phases
- (modify-phases %standard-phases
- (add-before 'configure 'generate-fonts&hardcore-libvulkan-path
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (let ((fontfile
- (search-input-file inputs
- "/share/fonts/truetype/wqy-microhei.ttc"))
- (libvulkan
- (search-input-file inputs "/lib/libvulkan.so")))
- (chdir "docs")
- (invoke "bash" "-c" "g++ -O2 $(freetype-config \
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'configure 'remove-unittests-target-post-build-command
+ (lambda _
+ ;; To skip a few problematic tests, CTest will be manually
+ ;; invoked in the post-check phase.
+ (with-directory-excursion "Source/UnitTests"
+ (substitute* "CMakeLists.txt"
+ (("add_custom_command\\(TARGET unittests POST_BUILD.*")
+ "")))))
+ (add-before 'configure 'generate-fonts&hardcore-libvulkan-path
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let ((fontfile
+ (search-input-file inputs
+ "/share/fonts/truetype/wqy-microhei.ttc"))
+ (libvulkan
+ (search-input-file inputs "/lib/libvulkan.so")))
+ (chdir "docs")
+ (invoke "bash" "-c" "g++ -O2 $(freetype-config \
--cflags --libs) gc-font-tool.cpp -o gc-font-tool")
- (invoke "./gc-font-tool" "a" fontfile "font_western.bin")
- (invoke "./gc-font-tool" "s" fontfile "font_japanese.bin")
- (copy-file "font_japanese.bin" "../Data/Sys/GC/font_japanese.bin")
- (copy-file "font_western.bin" "../Data/Sys/GC/font_western.bin")
- (chdir "..")
- (substitute* "Source/Core/VideoBackends/Vulkan/VulkanLoader.cpp"
- (("\"vulkan\", 1") (string-append "\"vulkan\""))
- (("\"vulkan\"") (string-append "\"" libvulkan "\""))
- (("Common::DynamicLibrary::GetVersionedFilename") ""))))))
-
- ;; The FindGTK2 cmake script only checks hardcoded directories for
- ;; glib/gtk headers.
-
- #:configure-flags
- (list (string-append "-DX11_INCLUDE_DIR="
- (assoc-ref %build-inputs "libx11")
- "/include")
- (string-append "-DX11_LIBRARIES="
- (assoc-ref %build-inputs "libx11")
- "/lib/libX11.so")
- "-DX11_FOUND=1")))
+ (invoke "./gc-font-tool" "a" fontfile "font_western.bin")
+ (invoke "./gc-font-tool" "s" fontfile "font_japanese.bin")
+ (copy-file "font_japanese.bin" "../Data/Sys/GC/font_japanese.bin")
+ (copy-file "font_western.bin" "../Data/Sys/GC/font_western.bin")
+ (chdir "..")
+ (substitute* "Source/Core/VideoBackends/Vulkan/VulkanLoader.cpp"
+ (("\"vulkan\", 1") (string-append "\"vulkan\""))
+ (("\"vulkan\"") (string-append "\"" libvulkan "\""))
+ (("Common::DynamicLibrary::GetVersionedFilename") "")))))
+ (add-after 'check 'post-check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (with-directory-excursion "Source/UnitTests"
+ (invoke "ctest" "-V" "--output-on-failure"
+ ;; These tests fail due to libusb failing to
+ ;; init inside the build container.
+ "-E" (string-join
+ '("MMIOTest"
+ "PageFaultTest"
+ "CoreTimingTest"
+ "FileSystemTest"
+ "PowerPCTest"
+ "VertexLoaderTest")
+ "|"))))))
+ (add-before 'install 'build-codeloader.bin
+ (lambda _
+ (with-directory-excursion "../source/docs"
+ ;; The following command-line is adapted from the example in
+ ;; codehandler.s.
+ (invoke "powerpc-linux-gnu-gcc" "-mpowerpc" "-mbig"
+ "codehandler.s" "-nostartfiles" "-nodefaultlibs"
+ "-nostdlib" "-T" "codehandler.ld"
+ "-o" "codehandler.bin")
+ (copy-file "codehandler.bin" "../Data/Sys/codehandler.bin"))))
+ (add-before 'install 'build-dsp_rom.bin
+ (lambda _
+ ;; Ensure dsptool is on PATH.
+ (setenv "PATH" (string-append (getenv "PATH") ":"
+ (getcwd) "/Binaries"))
+ (with-directory-excursion "../source"
+ (invoke "dsptool" "-o" "Data/Sys/GC/dsp_rom.bin"
+ "docs/DSP/free_dsp_rom/dsp_rom.ds"))))
+ (add-before 'install 'build-dsp_coefs.bin
+ (lambda _
+ (with-directory-excursion "../source"
+ (invoke "python3" "docs/DSP/free_dsp_rom/generate_coefs.py")
+ (rename-file "dsp_coef.bin" "Data/Sys/GC/dsp_coef.bin")))))
+ ;; The FindGTK2 cmake script only checks hardcoded directories for
+ ;; glib/gtk headers. Also add some include directories via the CXX
+ ;; flags to let GCC find some headers not actively searched by the
+ ;; build system.
+ #:configure-flags
+ #~(list (string-append "-DCMAKE_CXX_FLAGS="
+ "-I" (search-input-directory
+ %build-inputs "include/soundtouch"))
+ "-DDSPTOOL=ON"
+ (string-append "-DX11_INCLUDE_DIR="
+ #$(this-package-input "libx11")
+ "/include")
+ (string-append "-DX11_LIBRARIES="
+ (search-input-file %build-inputs
+ "lib/libX11.so"))
+ "-DX11_FOUND=1")
+ #:test-target "unittests"))
(native-inputs
- (list gettext-minimal pkg-config))
+ (list (cross-gcc "powerpc-linux-gnu")
+ gettext-minimal
+ pkg-config
+ python-minimal
+ python-numpy))
(inputs
(list alsa-lib
ao
bluez
+ bzip2
+ cubeb
curl
+ enet
eudev
ffmpeg-4
+ fmt-7
font-wqy-microhei
freetype
glew
@@ -364,6 +460,7 @@ console.")
mbedtls-lts
mesa
miniupnpc
+ minizip-ng
openal
pugixml
pulseaudio
@@ -371,9 +468,11 @@ console.")
sdl2
sfml
soil
- soundtouch
+ soundtouch-1/integer-samples
vulkan-loader
- zlib))
+ xxhash
+ zlib
+ `(,zstd "lib")))
(home-page "https://dolphin-emu.org/")
(synopsis "Nintendo Wii and GameCube emulator")
(description
@@ -381,9 +480,61 @@ console.")
GameCube and the Wii. It provides compatibility with all PC controllers,
turbo speed, networked multiplayer, and graphical enhancements.")
(supported-systems '("x86_64-linux" "aarch64-linux"))
- ; dolphin/Data/Sys/GC/font_*.bin: Licensed under ASL2.0.
+ ;; dolphin/Data/Sys/GC/font_*.bin: Licensed under ASL2.0.
(license (list license:gpl2+ license:asl2.0 license:fdl1.2+)))))
+(define-public libretro-dolphin-emu
+ ;; There are no tag or release; use the latest commit.
+ (let ((commit "89a4df725d4eb24537728f7d655cddb1add25c18")
+ (revision "0"))
+ (package
+ (inherit dolphin-emu)
+ (name "libretro-dolphin-emu")
+ (version (git-version "5.0" revision commit))
+ (source (origin
+ (inherit (package-source dolphin-emu))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/libretro/dolphin")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1fvm6hy0ihc0j3sgv88a7ak08c0kyikmmiif827j981fy7zvglvz"))
+ (patches (search-patches "libretro-dolphin-emu-data.patch"))))
+ (arguments
+ (substitute-keyword-arguments (package-arguments dolphin-emu)
+ ((#:configure-flags flags ''())
+ #~(cons "-DLIBRETRO=ON" #$flags))
+ ((#:phases phases '%standard-phases)
+ #~(modify-phases #$phases
+ (add-after 'unpack 'deregister-bundled-sources
+ (lambda _
+ (substitute* "CMakeLists.txt"
+ ((".*add_subdirectory.*Externals/curl.*") "")
+ ((".*add_subdirectory.*Externals/libpng.*") ""))))
+ (replace 'install
+ (lambda _
+ (install-file "dolphin_libretro.so"
+ (string-append #$output "/lib/libretro"))
+ ;; The system data files are also required for the proper
+ ;; functioning of dolphin; without them, it crashes with
+ ;; segmentation faults and cannot save files to the memory
+ ;; card.
+ (let ((sysdir (string-append
+ #$output
+ "/share/libretro/system/dolphin-emu")))
+ (mkdir-p sysdir)
+ (copy-recursively "../source/Data/Sys"
+ (string-append sysdir "/Sys")))))))))
+ (inputs
+ ;; Delete large and extraneous inputs.
+ (modify-inputs (package-inputs dolphin-emu)
+ (delete "ffmpeg"
+ "gtk+"
+ "qtbase")))
+ (synopsis "Libretro port of Dolphin, the Nintendo Wii/GameCube emulator"))))
+
(define-public dosbox
(package
(name "dosbox")
@@ -1630,32 +1781,70 @@ libretro API, based on Mupen64Plus. It incorporates the following projects:
generate the various User Experience (UX) environments.")
(license license:cc-by4.0)))
-(define-public retroarch-core-info
- ;; Use the latest commit, to get recent additions such as bsnes-jg.
- (let ((commit "c0e7b76d02504754de67a1318f93089f1e29f15f")
- (revision "0"))
- (package
- (name "retroarch-core-info")
- (version (git-version "1.19.0" revision commit))
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/libretro/libretro-core-info")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "11xpy3zhy2smp4a70fc0r1b76mvmjyabkaaipifsxm3j25drki5z"))))
- (build-system copy-build-system)
- (arguments
- (list #:install-plan #~'(("." "lib/libretro/"
- #:include-regexp ("\\.info$")))))
- (home-page "https://github.com/libretro/libretro-core-info")
- (synopsis "Libretro core info files")
- (description "This is a versioned snapshot of the files containing
+(define-public libretro-core-info
+ (package
+ (name "libretro-core-info")
+ (version "1.20.0")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/libretro/libretro-core-info")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1rfvp0lkv99jgpfyb9pp6vrh1i1974p3lckh93y1bibdizyxmwjg"))))
+ (build-system copy-build-system)
+ (arguments
+ (list #:install-plan #~'(("." "lib/libretro/"
+ #:include-regexp ("\\.info$")))))
+ (home-page "https://github.com/libretro/libretro-core-info")
+ (synopsis "Libretro core info files")
+ (description "This is a versioned snapshot of the files containing
metadata about each known libretro core. The snapshot is taken from the
@url{https://github.com/libretro/libretro-super, libretro-super} repository.")
- (license license:expat))))
+ (license license:expat)))
+
+(define-public retroarch-core-info
+ (deprecated-package "retroarch-core-info" libretro-core-info))
+
+(define-public libretro-database
+ (package
+ (name "libretro-database")
+ (version "1.20.0")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/libretro/libretro-database")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "086a9grpd1irsdns2zx3hlna72bbrmsfra4r498wi4ia9zf8nb0p"))))
+ (build-system gnu-build-system)
+ (arguments (list #:tests? #f
+ #:make-flags #~(list (string-append "PREFIX=" #$output))))
+ (home-page "https://github.com/libretro/libretro-database/")
+ (synopsis "Cheat codes and content data files for RetroArch")
+ (description "RetroArch incorporates a ROM scanning system to
+automatically produce playlists. Each ROM that is scanned by the playlist
+generator is checked against a database of ROMs that are known to be good
+copies. The various directories contain:
+@table @code
+@item cht
+Cheat codes for various games
+@item cursors
+Methods for querying the playlists
+@item dat
+Customized DAT files, maintained by the libretro team
+@item metadat
+Different metadata and third-party DATs available to the system
+@item rdb
+The compiled RetroArch database files
+@item scripts
+Various scripts that are used to maintain the database files.
+@end table")
+ (license license:cc-by-sa4.0)))
(define-public retroarch-joypad-autoconfig
(package
@@ -2388,173 +2577,183 @@ GLSL (@file{.slang}) shaders for use with RetroArch.")
license:unlicense)))))
(define-public retroarch-minimal
- (let ((commit "48b71d5cf8a070e785e2302d8fe241a7c2180fdd")
- (revision "1"))
- (package
- (name "retroarch-minimal")
- (version "1.19.1")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/libretro/RetroArch")
- (commit commit)))
- (snippet
- #~(begin
- (use-modules (guix build utils)
- (ice-9 ftw)
- (srfi srfi-26))
- ;; XXX: 'delete-all-but' is copied from the turbovnc package.
- (define (delete-all-but directory . preserve)
- (define (directory? x)
- (and=> (stat x #f)
- (compose (cut eq? 'directory <>) stat:type)))
- (with-directory-excursion directory
- (let* ((pred
- (negate (cut member <> (append '("." "..") preserve))))
- (items (scandir "." pred)))
- (for-each (lambda (item)
- (if (directory? item)
- (delete-file-recursively item)
- (delete-file item)))
- items))))
- ;; Remove as much bundled sources as possible, shaving off about
- ;; 65 MiB.
- (delete-all-but "deps"
- "feralgamemode" ;used in platform_unix.c
- "mbedtls" ;further refined below
- "yxml") ;used in rxml.c
- ;; This is an old root certificate used in net_socket_ssl_mbed.c,
- ;; not actually from mbedtls.
- (delete-all-but "deps/mbedtls" "cacert.h")))
- (patches (search-patches "retroarch-improved-search-paths.patch"
- "retroarch-unbundle-spirv-cross.patch"))
- (file-name (git-file-name name version))
- (sha256
- (base32 "13hgg4pxkpwlcmmyp9npr9k9cb94waqiyjpy2jzs8m9rc7xl2ap9"))))
- (build-system gnu-build-system)
- (arguments
- (list
- #:tests? #f ; no tests
- #:phases
- #~(modify-phases %standard-phases
- (replace 'configure
- (lambda* (#:key inputs #:allow-other-keys)
- ;; Hard-code some store file names.
- (substitute* "gfx/common/vulkan_common.c"
- (("libvulkan.so")
- (search-input-file inputs "lib/libvulkan.so")))
- (substitute* "gfx/common/wayland/generate_wayland_protos.sh"
- (("/usr/local/share/wayland-protocols")
- (search-input-directory inputs "share/wayland-protocols")))
+ (package
+ (name "retroarch-minimal")
+ (version "1.20.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/libretro/RetroArch")
+ (commit (string-append "v" version))))
+ (snippet
+ #~(begin
+ (use-modules (guix build utils)
+ (ice-9 ftw)
+ (srfi srfi-26))
+ ;; XXX: 'delete-all-but' is copied from the turbovnc package.
+ (define (delete-all-but directory . preserve)
+ (define (directory? x)
+ (and=> (stat x #f)
+ (compose (cut eq? 'directory <>) stat:type)))
+ (with-directory-excursion directory
+ (let* ((pred
+ (negate (cut member <> (append '("." "..") preserve))))
+ (items (scandir "." pred)))
+ (for-each (lambda (item)
+ (if (directory? item)
+ (delete-file-recursively item)
+ (delete-file item)))
+ items))))
+ ;; Remove as much bundled sources as possible, shaving off about
+ ;; 65 MiB.
+ (delete-all-but "deps"
+ "feralgamemode" ;used in platform_unix.c
+ "mbedtls" ;further refined below
+ "yxml") ;used in rxml.c
+ ;; This is an old root certificate used in net_socket_ssl_mbed.c,
+ ;; not actually from mbedtls.
+ (delete-all-but "deps/mbedtls" "cacert.h")))
+ (patches (search-patches "retroarch-improved-search-paths.patch"
+ "retroarch-unbundle-spirv-cross.patch"))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0yc16j3g2g0if64xqd7qr4dza8rw10x0zypwbl92y735825p87qi"))))
+ (build-system gnu-build-system)
+ (arguments
+ (list
+ #:tests? #f ; no tests
+ #:phases
+ #~(modify-phases %standard-phases
+ (replace 'configure
+ (lambda* (#:key inputs #:allow-other-keys)
+ ;; Hard-code some store file names.
+ (substitute* "gfx/common/vulkan_common.c"
+ (("libvulkan.so")
+ (search-input-file inputs "lib/libvulkan.so")))
+ (substitute* "gfx/common/wayland/generate_wayland_protos.sh"
+ (("/usr/local/share/wayland-protocols")
+ (search-input-directory inputs "share/wayland-protocols")))
- ;; Without HLSL, we can still enable GLSLANG and Vulkan support.
- (substitute* "qb/config.libs.sh"
- (("[$]HAVE_GLSLANG_HLSL") "notcare"))
+ ;; Without HLSL, we can still enable GLSLANG and Vulkan support.
+ (substitute* "qb/config.libs.sh"
+ (("[$]HAVE_GLSLANG_HLSL") "notcare"))
- ;; The configure script does not yet accept the extra arguments
- ;; (like ‘CONFIG_SHELL=’) passed by the default configure phase.
- (invoke
- "./configure"
- #$@(if (string-prefix? "armhf" (or (%current-target-system)
- (%current-system)))
- '("--enable-neon" "--enable-floathard")
- '())
- (string-append "--prefix=" #$output)
- ;; D-Bus support is required for 'suspend screensaver' option
- ;; to work.
- "--enable-dbus"
- ;; Non-free software are available through the core updater,
- ;; disable it. See <https://issues.guix.gnu.org/38360>.
- "--disable-update_cores"
- "--disable-update_core_info"
- "--disable-online_updater"
- ;; The assets are provided via the `retroarch-assets' package.
- "--disable-update_assets"
- "--disable-builtinmbedtls"
- "--disable-builtinbearssl"
- "--disable-builtinzlib"
- "--disable-builtinflac"
- "--disable-builtinglslang"
- "--disable-builtinspirv_cross"
- ;; These are disabled to avoid requiring the bundled
- ;; dependencies.
- "--disable-7zip"
- "--disable-cheevos"
- "--disable-crtswitchres"
- "--disable-discord"
- "--disable-dr_mp3"
- "--disable-ibxm"
- "--disable-stb_font"
- "--disable-stb_image"
- "--disable-stb_vorbis"
- "--disable-xdelta"))))))
- (native-inputs
- (list pkg-config
- wayland-protocols
- which))
- (inputs
- (list alsa-lib
- dbus
- eudev
- ffmpeg
- flac
- fontconfig
- freetype
- glslang
- libxinerama
- libxkbcommon
- libxml2
- libxrandr
- libxv
- mbedtls-lts
- mesa
- openal
- openssl
- pulseaudio
- python
- qtbase-5
- sdl2
- spirv-cross
- spirv-headers
- spirv-tools
- v4l-utils
- vulkan-loader
- wayland
- zlib))
- (native-search-paths
- (list (search-path-specification
- (variable "LIBRETRO_DIRECTORY")
- (separator #f) ;single entry
- (files '("lib/libretro")))
- (search-path-specification
- (variable "LIBRETRO_ASSETS_DIRECTORY")
- (separator #f) ;single entry
- (files '("share/libretro/assets")))
- (search-path-specification
- (variable "LIBRETRO_AUTOCONFIG_DIRECTORY")
- (separator #f) ;single entry
- (files '("share/libretro/autoconfig")))
- (search-path-specification
- (variable "LIBRETRO_VIDEO_FILTER_DIRECTORY")
- (separator #f) ;single entry
- (files '("share/libretro/filters/video")))
- (search-path-specification
- (variable "LIBRETRO_VIDEO_SHADER_DIRECTORY")
- (separator #f) ;single entry
- (files '("share/libretro/shaders")))))
- (home-page "https://www.libretro.com/")
- (synopsis "Reference frontend for the libretro API")
- (description
- "Libretro is a simple but powerful development interface that allows for
+ ;; The configure script does not yet accept the extra arguments
+ ;; (like ‘CONFIG_SHELL=’) passed by the default configure phase.
+ (invoke
+ "./configure"
+ #$@(if (string-prefix? "armhf" (or (%current-target-system)
+ (%current-system)))
+ '("--enable-neon" "--enable-floathard")
+ '())
+ (string-append "--prefix=" #$output)
+ ;; D-Bus support is required for 'suspend screensaver' option
+ ;; to work.
+ "--enable-dbus"
+ ;; Non-free software are available through the core updater,
+ ;; disable it. See <https://issues.guix.gnu.org/38360>.
+ "--disable-update_cores"
+ "--disable-update_core_info"
+ "--disable-online_updater"
+ ;; The assets are provided via the `retroarch-assets' package.
+ "--disable-update_assets"
+ "--disable-builtinmbedtls"
+ "--disable-builtinbearssl"
+ "--disable-builtinzlib"
+ "--disable-builtinflac"
+ "--disable-builtinglslang"
+ "--disable-builtinspirv_cross"
+ ;; These are disabled to avoid requiring the bundled
+ ;; dependencies.
+ "--disable-7zip"
+ "--disable-cheevos"
+ "--disable-crtswitchres"
+ "--disable-discord"
+ "--disable-dr_mp3"
+ "--disable-ibxm"
+ "--disable-stb_font"
+ "--disable-stb_image"
+ "--disable-stb_vorbis"
+ "--disable-xdelta"))))))
+ (native-inputs
+ (list pkg-config
+ wayland-protocols
+ which))
+ (inputs
+ (list alsa-lib
+ dbus
+ eudev
+ ffmpeg
+ flac
+ fontconfig
+ freetype
+ glslang
+ libxinerama
+ libxkbcommon
+ libxml2
+ libxrandr
+ libxv
+ mbedtls-lts
+ mesa
+ openal
+ openssl
+ pulseaudio
+ python
+ qtbase-5
+ sdl2
+ spirv-cross
+ spirv-headers
+ spirv-tools
+ v4l-utils
+ vulkan-loader
+ wayland
+ zlib))
+ (native-search-paths
+ (list (search-path-specification
+ (variable "LIBRETRO_DIRECTORY")
+ (separator #f) ;single entry
+ (files '("lib/libretro")))
+ (search-path-specification
+ (variable "LIBRETRO_ASSETS_DIRECTORY")
+ (separator #f) ;single entry
+ (files '("share/libretro/assets")))
+ (search-path-specification
+ (variable "LIBRETRO_AUTOCONFIG_DIRECTORY")
+ (separator #f) ;single entry
+ (files '("share/libretro/autoconfig")))
+ (search-path-specification
+ (variable "LIBRETRO_CHEATS_DIRECTORY")
+ (separator #f) ;single entry
+ (files '("share/libretro/database/cht")))
+ (search-path-specification
+ (variable "LIBRETRO_DATABASE_DIRECTORY")
+ (separator #f) ;single entry
+ (files '("share/libretro/database/rdb")))
+ (search-path-specification
+ (variable "LIBRETRO_SYSTEM_DIRECTORY")
+ (separator #f) ;single entry
+ (files '("share/libretro/system")))
+ (search-path-specification
+ (variable "LIBRETRO_VIDEO_FILTER_DIRECTORY")
+ (separator #f) ;single entry
+ (files '("share/libretro/filters/video")))
+ (search-path-specification
+ (variable "LIBRETRO_VIDEO_SHADER_DIRECTORY")
+ (separator #f) ;single entry
+ (files '("share/libretro/shaders")))))
+ (home-page "https://www.libretro.com/")
+ (synopsis "Reference frontend for the libretro API")
+ (description
+ "Libretro is a simple but powerful development interface that allows for
the easy creation of emulators, games and multimedia applications that can plug
straight into any libretro-compatible frontend. RetroArch is the official
reference frontend for the libretro API, currently used by most as a modular
multi-system game/emulator system.")
- (license (list license:gpl3+ ;for RetroArch itself
- license:asl2.0 ;SPIRV-Cross
- license:expat ;yxml
- license:bsd-3))))) ;feragamemode
+ (license (list license:gpl3+ ;for RetroArch itself
+ license:asl2.0 ;SPIRV-Cross
+ license:expat ;yxml
+ license:bsd-3)))) ;feragamemode
(define-public retroarch
(package
@@ -2570,7 +2769,8 @@ multi-system game/emulator system.")
;; which is problematic. The environment variables overrides the
;; configuration file values.
retroarch-assets
- retroarch-core-info
+ libretro-core-info
+ libretro-database
retroarch-joypad-autoconfig))))
(define-public wasm4
diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm
index b0c3b5787a..47ba393c47 100644
--- a/gnu/packages/engineering.scm
+++ b/gnu/packages/engineering.scm
@@ -35,7 +35,7 @@
;;; Copyright © 2022 Greg Hogan <code@greghogan.com>
;;; Copyright © 2022, 2024 Artyom V. Poptsov <poptsov.artyom@gmail.com>
;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
-;;; Copyright © 2022, 2023 Felix Gruber <felgru@posteo.net>
+;;; Copyright © 2022, 2023, 2025 Felix Gruber <felgru@posteo.net>
;;; Copyright © 2023 Theofilos Pechlivanis <theofilos.pechlivanis@gmail.com>
;;; Copyright © 2023 Sharlatan Hellseher <sharlatanus@gmail.com>
;;; Copyright © 2023 pinoaffe <pinoaffe@gmail.com>
@@ -1744,6 +1744,14 @@ developed at MIT to model electromagnetic systems.")
(base32
"0i37c9k6q1iglmzp9736rrgsnx7sw8xn3djqbbjw29zsyl3pf62c"))))
(build-system gnu-build-system)
+ (arguments
+ (list #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'patch-shebang
+ (lambda _
+ (substitute* "bootstrap.sh"
+ (("# !/bin/sh")
+ (string-append "#!" (which "sh")))))))))
(native-inputs
(list autoconf
automake
@@ -2709,7 +2717,11 @@ measurement devices and test equipment via GPIB, RS232, Ethernet or USB.")
(sha256
(base32 "139ahp08kci8asmv35bcibbnkfr5s1ff5j84n490s47ibsglk4yi"))))
(build-system pyproject-build-system)
- (native-inputs (list python-pyproj python-pytest unzip))
+ (native-inputs (list python-pyproj
+ python-pytest
+ python-setuptools
+ python-wheel
+ unzip))
(propagated-inputs (list python-deepdiff
python-geojson
python-networkx
@@ -2746,6 +2758,8 @@ Newton-Raphson power flow solvers in the C++ library lightsim2grid, and the
(native-inputs (list python-nbmake
python-pytest
python-pytest-xdist
+ python-setuptools
+ python-wheel
unzip))
(propagated-inputs (list python-matplotlib
python-pandapower
diff --git a/gnu/packages/erlang-xyz.scm b/gnu/packages/erlang-xyz.scm
index 6f1c033aec..624aa289ce 100644
--- a/gnu/packages/erlang-xyz.scm
+++ b/gnu/packages/erlang-xyz.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2024 Igor Goryachev <igor@goryachev.org>
+;;; Copyright © 2024, 2025 Igor Goryachev <igor@goryachev.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -35,13 +35,13 @@
(define-public erlang-luerl
(package
(name "erlang-luerl")
- (version "1.2.0")
+ (version "1.2.3")
(source
(origin
(method url-fetch)
(uri (hexpm-uri "luerl" version))
(sha256
- (base32 "0paj3gr0kn8v9g6wmdnz1f16q0iy1pb83zbqsalzbw2g17vd9bww"))))
+ (base32 "1v9svw2ki9dsaqazkgv23dj158pmx5g6lykqsb8q1lnpll69sjqv"))))
(build-system rebar-build-system)
(synopsis "Implementation of Lua on Erlang")
(description "This package provides implementation of Lua on Erlang.")
@@ -124,13 +124,13 @@ Erlang and Elixir.")
(define-public erlang-p1-acme
(package
(name "erlang-p1-acme")
- (version "1.0.23")
+ (version "1.0.25")
(source
(origin
(method url-fetch)
(uri (hexpm-uri "p1_acme" version))
(sha256
- (base32 "0nfxs3ldgbh7a8r7wxl0gw98r1v50jaj54c0nw8fl8ixdvr9dqcc"))))
+ (base32 "136h8nkfd62xd76p8p4mgdiz8hxdqcg4arayl6c4znsx953mpdd7"))))
(build-system rebar-build-system)
(inputs (list erlang-base64url erlang-idna erlang-jiffy erlang-jose
erlang-yconf))
@@ -183,13 +183,13 @@ Erlang and Elixir.")
(define-public erlang-p1-mysql
(package
(name "erlang-p1-mysql")
- (version "1.0.24")
+ (version "1.0.25")
(source
(origin
(method url-fetch)
(uri (hexpm-uri "p1_mysql" version))
(sha256
- (base32 "0pv5zfpkw6sgmn6jbm5k635xnx8kkcvgynka5ix50zr5cigqcn7h"))))
+ (base32 "0d7438sfzzh57d0fxq165k75khja6krfcglgx2c60wjvx7x7y676"))))
(build-system rebar-build-system)
(synopsis "Pure Erlang MySQL driver")
(description "This package provides pure Erlang @code{MySQL} driver.")
@@ -199,13 +199,13 @@ Erlang and Elixir.")
(define-public erlang-p1-pgsql
(package
(name "erlang-p1-pgsql")
- (version "1.1.27")
+ (version "1.1.29")
(source
(origin
(method url-fetch)
(uri (hexpm-uri "p1_pgsql" version))
(sha256
- (base32 "1fgzchikv31gbyid3qqy9wzwmap1nalwb7fqal77hs6b09v1lkcf"))))
+ (base32 "1h9qigb3qfys46rqpqm6s5a0r7cz38hscgnsjlw3z6bln7l5izx6"))))
(build-system rebar-build-system)
(inputs (list erlang-xmpp))
(synopsis "PostgreSQL driver for Erlang")
@@ -372,13 +372,13 @@ implementation.")
(define-public erlang-fast-tls
(package
(name "erlang-fast-tls")
- (version "1.1.21")
+ (version "1.1.22")
(source
(origin
(method url-fetch)
(uri (hexpm-uri "fast_tls" version))
(sha256
- (base32 "0nsh5597pa1643kj2mmp05anss2r0gq83al0rm45w0ip768l458k"))))
+ (base32 "0ns8wbl5gxprficlm653ql6d51z6fy0fy3r3am3mrcbszfp7jmz6"))))
(build-system rebar-build-system)
(inputs (list erlang-p1-utils openssl))
(native-inputs (list erlang-pc openssl))
@@ -412,13 +412,13 @@ for Erlang/Elixir.")
(define-public erlang-stun
(package
(name "erlang-stun")
- (version "1.2.14")
+ (version "1.2.15")
(source
(origin
(method url-fetch)
(uri (hexpm-uri "stun" version))
(sha256
- (base32 "10qm6wh6smj3ixpy251x5w2b9iv51vhgxvk49vczz3bs3dxq0d71"))))
+ (base32 "1vzdq3mpajv4y7g54nq4dswn44k6rk07ddjqwqn3zlczl90sbn7n"))))
(build-system rebar-build-system)
(inputs (list erlang-fast-tls erlang-p1-utils))
(synopsis "STUN and TURN library for Erlang/Elixir")
@@ -430,13 +430,13 @@ Erlang/Elixir.")
(define-public erlang-fast-xml
(package
(name "erlang-fast-xml")
- (version "1.1.52")
+ (version "1.1.55")
(source
(origin
(method url-fetch)
(uri (hexpm-uri "fast_xml" version))
(sha256
- (base32 "1z8vrpnjx8y9qfqhhj4is8k4lzvjlnzhp6d62r8bdlh61qwr4lbr"))))
+ (base32 "11czr4iqv2m9b5msigwxf26q6ny90qzrawzcrmkzbm8fg0xf5ww3"))))
(build-system rebar-build-system)
(inputs (list erlang-p1-utils))
(native-inputs (list erlang-pc))
@@ -457,13 +457,13 @@ parsing library.")
(define-public erlang-xmpp
(package
(name "erlang-xmpp")
- (version "1.8.3")
+ (version "1.9.1")
(source
(origin
(method url-fetch)
(uri (hexpm-uri "xmpp" version))
(sha256
- (base32 "04gpka0dp03jvgnin1g12ha4yzwy1h44rds3zzf1ia49k9ghcw7d"))))
+ (base32 "1p3m6a8x89j8gsfpxf13hdxh9syd276g1jlhpz4a9hg4yqd47cfj"))))
(build-system rebar-build-system)
(inputs (list erlang-ezlib
erlang-fast-tls
@@ -489,13 +489,13 @@ for Erlang/Elixir.")
(define-public erlang-esip
(package
(name "erlang-esip")
- (version "1.0.54")
+ (version "1.0.56")
(source
(origin
(method url-fetch)
(uri (hexpm-uri "esip" version))
(sha256
- (base32 "1vip49gbz1z6sgrab6021fdlqq7g7712d5znvanwsnbjkn0sz1w1"))))
+ (base32 "07ys2n43fdg3cka6v7lh6633a177yiwmrkcd6vvj7dlkxw66dwwy"))))
(build-system rebar-build-system)
(inputs (list erlang-fast-tls erlang-p1-utils erlang-stun))
(native-inputs (list erlang-pc))
@@ -548,13 +548,13 @@ Erlang/Elixir.")
(define-public erlang-yconf
(package
(name "erlang-yconf")
- (version "1.0.16")
+ (version "1.0.17")
(source
(origin
(method url-fetch)
(uri (hexpm-uri "yconf" version))
(sha256
- (base32 "12bcb0w0nc30bws4lx2ghnz7n755r6nf9a75nb3i31zkfcr82iz9"))))
+ (base32 "098s6if76z37amcqi99m0xq30h5i1znbjmw4ri39li216a994a6x"))))
(build-system rebar-build-system)
(inputs (list erlang-fast-yaml))
(synopsis "YAML configuration processor")
diff --git a/gnu/packages/erlang.scm b/gnu/packages/erlang.scm
index 09cb67b903..b0f86085a7 100644
--- a/gnu/packages/erlang.scm
+++ b/gnu/packages/erlang.scm
@@ -10,7 +10,7 @@
;;; Copyright © 2022 jgart <jgart@dismail.de>
;;; Copyright © 2023 wrobell <wrobell@riseup.net>
;;; Copyright © 2023 Tim Johann <t1m@phrogstar.de>
-;;; Copyright © 2024 Igor Goryachev <igor@goryachev.org>
+;;; Copyright © 2024, 2025 Igor Goryachev <igor@goryachev.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -49,7 +49,7 @@
(define-public erlang
(package
(name "erlang")
- (version "27.2")
+ (version "27.2.1")
(source (origin
(method git-fetch)
;; The tarball from http://erlang.org/download contains many
@@ -61,7 +61,7 @@
(file-name (git-file-name name version))
(sha256
(base32
- "0s9pw7vyjb53mvk4y0kj5zdv8nr30yklvnjs6va4gxn0xm4k7amb"))
+ "17hylbmdd82qqrajfcq961nql9asslc4b57130r6p77ch435a357"))
(patches (search-patches "erlang-man-path.patch"))))
(build-system gnu-build-system)
(native-inputs
@@ -74,7 +74,7 @@
"/OTP-" version "/otp_doc_man_" version ".tar.gz"))
(sha256
(base32
- "12biwwh6yzaf8j8w4qzk9mbzcw567ffmx6i8vx2ry8qd2758mvp6"))))))
+ "13j1z082cimqxad2r6jfbs3bnslfmqvlfi8pj61rahny9qzpixy9"))))))
(inputs
(list ncurses openssl wxwidgets))
(propagated-inputs
diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm
index 68dba4ed1a..b7413063af 100644
--- a/gnu/packages/finance.scm
+++ b/gnu/packages/finance.scm
@@ -149,7 +149,7 @@
;; <https://bitcoincore.org/en/lifecycle/#schedule>.
(package
(name "bitcoin-core")
- (version "28.0")
+ (version "28.1")
(source (origin
(method url-fetch)
(uri
@@ -157,7 +157,7 @@
version "/bitcoin-" version ".tar.gz"))
(sha256
(base32
- "0zzk5w88xzw07xcr18nwq2bbr4wqcvkacy97gyq2wq04wb8y42kh"))))
+ "1fl312ns86syc6871il9l3lzf96nm6jhnj92qyvxkyf78782vbn5"))))
(build-system gnu-build-system)
(native-inputs
(list autoconf
@@ -410,8 +410,8 @@ in ability, and easy to use.")
(define-public emacs-ledger-mode
;; The last release was on Nov 8, 2019 and doesn't build with Emacs 28.
- (let ((commit "11e850395448ee7012dba16bd6df103f5552ebfb")
- (revision "0"))
+ (let ((commit "356d8049ede02c06db4f487d1d6076f74d6098c5")
+ (revision "1"))
(package
(name "emacs-ledger-mode")
(version (git-version "4.0.0" revision commit))
@@ -423,18 +423,19 @@ in ability, and easy to use.")
(commit commit)))
(file-name (git-file-name name version))
(sha256
- (base32 "0hzky36vrlb7kvpyz4gy3zn01zdlmlx0s58w6ggk5djbcvjc2rfx"))))
+ (base32 "1wssagczhils0nx12b2nq2jk2gp9j26jn8nrqdrj255nzl40aia1"))))
(build-system emacs-build-system)
(arguments
(list
- ;; ledger-test.el is needed at runtime (but probably not for a good reason).
- #:exclude #~'()
#:tests? #t
#:phases
#~(modify-phases %standard-phases
+ (add-after 'unpack 'do-not-require-tests-at-runtime
+ (lambda _
+ (substitute* "ledger-mode.el"
+ (("\\(require 'ledger-test\\)") ""))))
(add-after 'unpack 'patch-path
(lambda* (#:key inputs #:allow-other-keys)
- (make-file-writable "ledger-exec.el")
(emacs-substitute-variables "ledger-exec.el"
("ledger-binary-path" (search-input-file inputs "/bin/ledger")))))
(add-after 'build 'build-doc
@@ -447,7 +448,9 @@ in ability, and easy to use.")
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(with-directory-excursion "../source/test"
- (invoke "make" "test-batch"))))))))
+ ;; Test does not respect `ledger-binary-path' and thus fails
+ (delete-file-recursively "report-test.el")
+ (invoke "make" "test"))))))))
(inputs
(list ledger))
(native-inputs
@@ -1051,21 +1054,28 @@ of Bitcoin BIP-0039.")
(define-public python-ledgerblue
(package
(name "python-ledgerblue")
- (version "0.1.44")
+ (version "0.1.54")
(source
(origin
(method url-fetch)
(uri (pypi-uri "ledgerblue" version))
(sha256
(base32
- "0nbfa5i9ww7jsfc8cgy0r229pq2a1vj4xvn8mz0nxl7mx1wykqm4"))))
- (build-system python-build-system)
+ "0ghpvxgih1zarp788qi1xh5xmprv6yhaxglfbix4974i7r4pszqy"))))
+ (build-system pyproject-build-system)
(arguments
`(#:tests? #f)) ; no tests
+ (native-inputs
+ (list python-setuptools python-wheel))
(propagated-inputs
- (list python-ecpy
+ (list python-bleak
+ python-pyelftools
+ python-pycryptodome
+ python-ecpy
python-future
+ python-gnupg
python-hidapi
+ python-nfcpy
python-pillow
python-protobuf
python-pycryptodomex
@@ -2371,7 +2381,7 @@ mining.")
(define-public p2pool
(package
(name "p2pool")
- (version "4.1.1")
+ (version "4.3")
(source
(origin
(method git-fetch)
@@ -2380,7 +2390,7 @@ mining.")
(commit (string-append "v" version))
(recursive? #t)))
(file-name (git-file-name name version))
- (sha256 (base32 "1vcgzip0w4mdnaj49s539nlnkc8mnxw4idzy2935nx83p1p0l6xg"))
+ (sha256 (base32 "1hfdhanbdfjxv2n355m6b9n0ihxgcdlgxgnsqz5f6q59957fcyiw"))
(modules '((guix build utils)))
(snippet
#~(for-each delete-file-recursively
@@ -2393,7 +2403,7 @@ mining.")
"external/src/robin-hood-hashing")))))
(build-system cmake-build-system)
(inputs
- (list cppzmq curl gss libuv rapidjson robin-hood-hashing zeromq))
+ (list cppzmq curl libuv rapidjson robin-hood-hashing zeromq))
(arguments
(list ; FIXME: Linking fails when LTO is activated.
#:configure-flags #~(list "-DWITH_LTO=OFF")
diff --git a/gnu/packages/fonts.scm b/gnu/packages/fonts.scm
index 4dbbca69dc..8da0f6b9ec 100644
--- a/gnu/packages/fonts.scm
+++ b/gnu/packages/fonts.scm
@@ -55,11 +55,12 @@
;;; Copyright © 2023 Nicolas Graves <ngraves@ngraves.fr>
;;; Copyright © 2023 Ahmad Draidi <a.r.draidi@redscript.org>
;;; Copyright © 2023 Arnaud Lechevallier <arnaud.lechevallier@free.fr>
-;;; Copyright © 2023 gemmaro <gemmaro.dev@gmail.com>
+;;; Copyright © 2023, 2024 gemmaro <gemmaro.dev@gmail.com>
;;; Copyright © 2023 Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
;;; Copyright © 2023 chris <chris@bumblehead.com>
;;; Copyright © 2023, 2024 Luis Felipe López Acevedo <sirgazil@zoho.com>
;;; Copyright © 2024 Christina O'Donnell <cdo@mutix.org>
+;;; Copyright © 2025 Ashvith Shetty <ashvithshetty10@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -1054,7 +1055,7 @@ for use at smaller text sizes")))
(define-public font-gnu-unifont
(package
(name "font-gnu-unifont")
- (version "15.1.05")
+ (version "16.0.02")
(source
(origin
(method url-fetch)
@@ -1064,7 +1065,7 @@ for use at smaller text sizes")))
(string-append "mirror://gnu/unifont/unifont-"
version "/unifont-" version ".tar.gz")))
(sha256
- (base32 "1yi33kxlgw7ds99za5bclh537sw8ggl94nrhhq7hwxaq8dgzaxfj"))
+ (base32 "0bd5mf3j7f0wggh9ss3a6rji62qwcfak37q6zb8lq9pjcf3yqa7i"))
(snippet
'(begin
(use-modules (guix build utils))
@@ -1086,7 +1087,12 @@ for use at smaller text sizes")))
(add-after 'unpack 'patch-source
(lambda _
(substitute* (find-files "." "Makefile")
- (("/bin/sh -s") (string-append (which "sh") " -s")))))
+ (("/bin/sh\\b") (which "sh")))
+ ;; Skip thumbnail generation as it requires ImageMagick and the generated
+ ;; thumbnails will not be installed.
+ (substitute* "font/Makefile"
+ (("^(compiled-files:.+)thumbnails(.+)" _ pre post)
+ (string-append pre post)))))
(replace 'install
(lambda* (#:key make-flags outputs #:allow-other-keys)
(let* ((ttf (string-append (assoc-ref outputs "out")
diff --git a/gnu/packages/fpga.scm b/gnu/packages/fpga.scm
index fadf72ba1d..eb26fdaff0 100644
--- a/gnu/packages/fpga.scm
+++ b/gnu/packages/fpga.scm
@@ -10,6 +10,7 @@
;;; Copyright © 2023 Simon South <simon@simonsouth.net>
;;; Copyright © 2024 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2024 Jakob Kirsch <jakob.kirsch@web.de>
+;;; Copyright © 2025 Zheng Junjie <873216071@qq.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -154,7 +155,7 @@ For synthesis, the compiler generates netlists in the desired format.")
(define-public yosys
(package
(name "yosys")
- (version "0.48")
+ (version "0.49")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -162,7 +163,7 @@ For synthesis, the compiler generates netlists in the desired format.")
(commit (string-append "v" version))))
(sha256
(base32
- "1y5yrmw8b5l2s70451rcy83h0kavdjrsavwvxff3nrgqi3q4r1sc"))
+ "0mw8csk91s72vl73a9ngc3rrwhr4rfr8fm0abfycj3wcy8n3zr57"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(arguments
@@ -554,31 +555,29 @@ automated testing of HDL code.")
(define-public nvc
(package
(name "nvc")
- (version "1.14.0")
+ (version "1.15.1")
(source (origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/nickg/nvc.git")
- (commit (string-append "r" version))))
- (file-name (string-append name "-" version "-checkout"))
+ (url "https://github.com/nickg/nvc")
+ (commit (string-append "r" version))))
+ (file-name (git-file-name name version))
(sha256
(base32
- "1b71j8bps9zirvxhycrc9fhbr3f89si6h064xnly7gq06ggnv8n5"))))
+ "1hqkgwkvflha1fpch13byb8clwa97n6z1d9a2d34cqzsjrzkdx0k"))))
(build-system gnu-build-system)
(arguments
- `(#:out-of-source? #t
- #:configure-flags
- '("--enable-vhpi")
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'clean-up
- (lambda _
- (delete-file "autogen.sh"))))))
+ (list #:out-of-source? #t
+ #:configure-flags #~(list "--enable-vhpi")
+ #:phases #~(modify-phases %standard-phases
+ (add-after 'unpack 'clean-up
+ (lambda _
+ (delete-file "autogen.sh"))))))
(native-inputs
(list automake
autoconf
flex
- gnu-gettext
+ gettext-minimal
libtool
pkg-config
which
diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm
index c6f18e9949..e17dc74310 100644
--- a/gnu/packages/freedesktop.scm
+++ b/gnu/packages/freedesktop.scm
@@ -1865,6 +1865,16 @@ Analysis and Reporting Technology) functionality.")
(string-append "--with-udevdir=" #$output "/lib/udev"))
#:phases
#~(modify-phases %standard-phases
+ (add-after 'unpack 'patch-commands
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "src/udiskslinuxdrive.c"
+ (("\"eject %s\"")
+ (format #f "\"~a %s\""
+ (search-input-file inputs "bin/eject"))))
+ (substitute* "src/udisksstate.c"
+ (("\"umount -l %s\"")
+ (format #f "\"~a -l %s\""
+ (search-input-file inputs "bin/umount"))))))
(add-before 'configure 'fix-girdir
(lambda _
;; Install introspection data to its own output.
diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index 162c25de40..ae40e5786e 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -19,7 +19,7 @@
;;; Copyright © 2016 Albin Söderqvist <albin@fripost.org>
;;; Copyright © 2016, 2017, 2018, 2019, 2020 Kei Kebreau <kkebreau@posteo.net>
;;; Copyright © 2016 Alex Griffin <a@ajgrf.com>
-;;; Copyright © 2016-2021, 2023, 2024 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2016-2021, 2023-2025 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2016 Steve Webber <webber.sl@gmail.com>
;;; Copyright © 2017 Adonay "adfeno" Felipe Nogueira <https://libreplanet.org/wiki/User:Adfeno> <adfeno@hyperbola.info>
@@ -7702,29 +7702,37 @@ at their peak of economic growth and military prowess.
(lambda _
(substitute* (list "tests/Makefile" "tests/tapview")
(("/bin/echo") (which "echo")))))
- (add-after 'build 'build-manpage
- (lambda _
- ;; This target is missing a dependency
- (substitute* "Makefile"
- ((".adoc.6:" line)
- (string-append line " advent.adoc")))
- (invoke "make" ".adoc.6")))
- ;; There is no install target.
- (replace 'install
- (lambda _
- (let ((bin (string-append #$output "/bin"))
- (man (string-append #$output "/share/man/man6")))
- (install-file "advent" bin)
- (install-file "advent.6" man)))))))
+ #$@(if (this-package-native-input "ruby-asciidoctor")
+ #~((add-after 'build 'build-manpage
+ (lambda _
+ ;; This target is missing a dependency
+ (substitute* "Makefile"
+ ((".adoc.6:" line)
+ (string-append line " advent.adoc")))
+ (invoke "make" ".adoc.6")))
+ ;; There is no install target.
+ (replace 'install
+ (lambda _
+ (let ((bin (string-append #$output "/bin"))
+ (man (string-append #$output "/share/man/man6")))
+ (install-file "advent" bin)
+ (install-file "advent.6" man)))))
+ #~((replace 'install
+ (lambda _
+ (let ((bin (string-append #$output "/bin")))
+ (install-file "advent" bin)))))))))
(native-inputs
- (list asciidoc
- cppcheck
- libedit
- pkg-config
- python-pylint
- python-pyyaml
- python-wrapper
- ruby-asciidoctor))
+ (append
+ (list asciidoc
+ cppcheck
+ libedit
+ pkg-config
+ python-pylint
+ python-pyyaml
+ python-wrapper)
+ (if (supported-package? ruby-asciidoctor)
+ (list ruby-asciidoctor)
+ '())))
(home-page "https://gitlab.com/esr/open-adventure")
(synopsis "Colossal Cave Adventure")
(description
diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm
index 6247919fec..36783af37d 100644
--- a/gnu/packages/gcc.scm
+++ b/gnu/packages/gcc.scm
@@ -37,6 +37,7 @@
#:use-module ((guix licenses)
#:select (gpl3+ gpl2+ lgpl2.1+ lgpl2.0+ fdl1.3+))
#:use-module (gnu packages)
+ #:use-module (gnu packages autotools)
#:use-module (gnu packages bootstrap)
#:use-module (gnu packages compression)
#:use-module (gnu packages multiprecision)
@@ -1416,7 +1417,7 @@ provides the GNU compiler for the Go programming language."))
(build-system gnu-build-system)
(outputs '("out" "static"))
(arguments
- '(#:phases (modify-phases %standard-phases
+ `(#:phases (modify-phases %standard-phases
(add-after 'install 'move-static-library
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
@@ -1431,7 +1432,21 @@ provides the GNU compiler for the Go programming language."))
;; libtool looks for it in the usual locations.
(substitute* (string-append out "/lib/libisl.la")
(("^old_library=.*")
- "old_library=''\n"))))))))
+ "old_library=''\n")))))
+ ,@(if (target-loongarch64?)
+ `((add-after 'unpack 'update-config-scripts
+ (lambda* (#:key inputs native-inputs #:allow-other-keys)
+ ;; Replace outdated config.guess and config.sub.
+ (for-each (lambda (file)
+ (install-file
+ (search-input-file
+ (or native-inputs inputs)
+ (string-append "/bin/" file)) "."))
+ '("config.guess" "config.sub")))))
+ '()))))
+ (native-inputs (if (target-loongarch64?)
+ (list config)
+ '()))
(inputs (list gmp))
(home-page "https://libisl.sourceforge.io/") ;https://repo.or.cz/w/isl.git
(properties `((release-monitoring-url . ,home-page)))
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 36170606d7..1225570c3c 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -39,7 +39,7 @@
;;; Copyright © 2019, 2024, 2025 Giacomo Leidi <goodoldpaul@autistici.org>
;;; Copyright © 2019 Jelle Licht <jlicht@fsfe.org>
;;; Copyright © 2019 Jonathan Frederickson <jonathan@terracrypt.net>
-;;; Copyright © 2019-2024 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; Copyright © 2019-2025 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2019, 2020 Martin Becze <mjbecze@riseup.net>
;;; Copyright © 2019 David Wilson <david@daviwil.com>
;;; Copyright © 2019, 2020 Raghav Gururajan <raghavgururajan@disroot.org>
@@ -237,6 +237,7 @@
#:use-module (gnu artwork)
#:use-module (guix build-system cargo)
#:use-module (guix build-system cmake)
+ #:use-module (guix build-system copy)
#:use-module (guix build-system glib-or-gtk)
#:use-module (guix build-system gnu)
#:use-module (guix build-system meson)
@@ -12812,22 +12813,38 @@ integrate seamlessly with the GNOME desktop.")
libxml2
qemu-minimal ;for qemu-img
sparql-query
- spice-gtk
tracker
vte
webkitgtk-for-gtk3))
+ (propagated-inputs
+ ;; Propagating spice-gtk is necessary so that the gnome-desktop-service
+ ;; type configures the polkit actions necessary for the USB redirection
+ ;; feature to work when gnome-boxes added as a extra GNOME package.
+ (list spice-gtk))
(home-page "https://wiki.gnome.org/Apps/Boxes")
(synopsis "View, access, and manage remote and virtual systems")
(description "GNOME Boxes is a simple application to view, access, and
manage remote and virtual systems. Note that this application requires the
@code{libvirt} and @code{virtlog} daemons to run. Use the command
@command{info '(guix) Virtualization Services'} to learn how to configure
-these services on the Guix System. If you do not use the
-@code{gnome-desktop-service-type}, you will also want to extend the
-@code{polkit-service-type} with the @code{spice-gtk} package, as well as
-configure the @file{libexec/spice-client-glib-usb-acl-helper} executable of
-@code{spice-gtk} as setuid, to make it possible to redirect USB devices as a
-non-privileged user.")
+these services on the Guix System.
+
+To make it possible to redirect USB devices as a non-privileged user, some
+extra configuration is necessary: if you use the
+@code{gnome-desktop-service-type}, you should add the @code{gnome-boxes}
+package to the @code{extra-packages} field of the
+@code{gnome-desktop-configuration}, for example:
+@lisp
+(service gnome-desktop-service-type
+ (gnome-desktop-configuration
+ (extra-packages (list gnome-boxes gnome-essential-extras))))
+@end lisp
+If you do @emph{not} use the @code{gnome-desktop-service-type}, you will need
+manually extend the @code{polkit-service-type} with the @code{spice-gtk}
+package, as well as configure the
+@file{libexec/spice-client-glib-usb-acl-helper} executable of @code{spice-gtk}
+as setuid, to make it possible to redirect USB devices as a non-privileged
+user.")
(license (list
;; For data/icons/empty-boxes.png.
license:cc-by2.0
@@ -13641,7 +13658,7 @@ profiler via Sysprof, debugging support, and more.")
(define-public komikku
(package
(name "komikku")
- (version "1.46.0")
+ (version "1.57.0")
(source
(origin
(method git-fetch)
@@ -13651,7 +13668,7 @@ profiler via Sysprof, debugging support, and more.")
(file-name (git-file-name name version))
(sha256
(base32
- "1ggg4hgd1kyc69b06kcgvvjwmz72xgjakva19gs3nrszr4cinank"))))
+ "0z8sigv1a8a96y0hgm21j4qmpy06ziqw8yhlgbp8kbg70g5yhrbg"))))
(build-system meson-build-system)
(arguments
(list
@@ -13699,6 +13716,7 @@ profiler via Sysprof, debugging support, and more.")
python-natsort
python-piexif
python-pillow
+ python-pillow-heif
python-pure-protobuf
python-pycairo
python-pygobject
@@ -13718,6 +13736,51 @@ profiler via Sysprof, debugging support, and more.")
(synopsis "Manga reader for GNOME")
(description "Komikku is an online/offline manga reader for GNOME,
developed with the aim of being used with the Librem 5 phone.")
+ (license license:gpl3+)
+ (native-search-paths (list (search-path-specification
+ (variable "KOMIKKU_SERVERS_PATH")
+ (files '("lib/komikku/servers")))))))
+
+(define-public komikku-servers
+ (package
+ (name "komikku-servers")
+ (version "1.59.0") ; latest version that works with 1.57
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://codeberg.org/valos/Komikku/")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0sfqmqcpdl3bsbs0wxl4jwvd7wpgigkvvasy1niz6qm2vnp35gzq"))))
+ (build-system copy-build-system)
+ (arguments
+ (list
+ #:install-plan
+ #~'(("komikku/servers" "lib/komikku/servers"))
+ #:modules '((guix build copy-build-system)
+ (guix build utils)
+ (ice-9 ftw))
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'delete-conflicting-files
+ (lambda _
+ (with-directory-excursion "komikku/servers"
+ (for-each delete-file
+ (scandir "."
+ (lambda (f) (string-suffix? ".py" f)))))))
+ (add-after 'install 'compile
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((site-dir (string-append (assoc-ref outputs "out")
+ "/lib/komikku/servers")))
+ (invoke "python" "-m" "compileall"
+ "--invalidation-mode=unchecked-hash" site-dir)))))))
+ (native-inputs (list python-wrapper))
+ (home-page "https://apps.gnome.org/Komikku")
+ (synopsis "Servers for Komikku")
+ (description "This package provides more recent servers for Komikku.")
(license license:gpl3+)))
(define-public libgda
diff --git a/gnu/packages/gnupg.scm b/gnu/packages/gnupg.scm
index ef2344d7e6..633600870b 100644
--- a/gnu/packages/gnupg.scm
+++ b/gnu/packages/gnupg.scm
@@ -630,15 +630,15 @@ decrypt messages using the OpenPGP format by making use of GPGME.")
(define-public python-gnupg
(package
(name "python-gnupg")
- (version "0.4.8")
+ (version "0.5.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "python-gnupg" version))
(sha256
(base32
- "1mq7hljy3bjkxdvh3qx2bv4y0b66l9pmc6i06ys75y7dbjpf2kdn"))))
- (build-system python-build-system)
+ "0ali2zz6k568yzhdgzm8f14v6s5ymihlyffbvfxc9q60gww8wxbh"))))
+ (build-system pyproject-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
@@ -654,7 +654,7 @@ decrypt messages using the OpenPGP format by making use of GPGME.")
;; so we disable them.
(invoke "python" "test_gnupg.py" "--no-doctests")))))))
(native-inputs
- (list gnupg))
+ (list gnupg python-setuptools python-wheel))
(home-page "https://pythonhosted.org/python-gnupg/index.html")
(synopsis "Wrapper for the GNU Privacy Guard")
(description
@@ -1083,14 +1083,14 @@ however, pgpdump produces more detailed and easier to understand output.")
(define-public gpa
(package
(name "gpa")
- (version "0.10.0")
+ (version "0.11.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnupg/gpa/"
name "-" version ".tar.bz2"))
(sha256
(base32
- "1cbpc45f8qbdkd62p12s3q2rdq6fa5xdzwmcwd3xrj55bzkspnwm"))))
+ "1k1kvxffyb4nm83yp3mnx9bfmcciwb7vfw8c3xscnh85yxdzma16"))))
(build-system gnu-build-system)
(arguments
`(#:phases
@@ -1108,7 +1108,7 @@ however, pgpdump produces more detailed and easier to understand output.")
gpgme
libassuan
libgpg-error
- gtk+-2))
+ gtk+))
(home-page "https://gnupg.org/software/gpa/")
(synopsis "Graphical user interface for GnuPG")
(description
diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm
index b102c8b644..590805a88f 100644
--- a/gnu/packages/guile-xyz.scm
+++ b/gnu/packages/guile-xyz.scm
@@ -3577,7 +3577,7 @@ from @code{tree-il}.")
(define-public guile-hoot
(package
(name "guile-hoot")
- (version "0.5.0")
+ (version "0.6.0")
(source (origin
(method url-fetch)
(uri (string-append "https://spritely.institute/files/releases"
@@ -3585,7 +3585,7 @@ from @code{tree-il}.")
version ".tar.gz"))
(sha256
(base32
- "0c7qrhr4k3bdsfbdncb11ysfq94bapkpigckmj23rdc0skvijwk4"))))
+ "0miq9bv09xvzdrcvzdrca9vychsznpzi4jj87f5r1mwz0xxpvxjb"))))
(build-system gnu-build-system)
(arguments
'(#:make-flags '("GUILE_AUTO_COMPILE=0"
@@ -5266,14 +5266,14 @@ Relay Chat} (IRC).")
(define-public guile-websocket
(package
(name "guile-websocket")
- (version "0.1")
+ (version "0.2.0")
(source (origin
(method url-fetch)
(uri (string-append "https://files.dthompson.us/guile-websocket/"
"guile-websocket-" version ".tar.gz"))
(sha256
(base32
- "0x2hw188kcg6zd6480dqfynfvzjgfp50kji4y4ql69mnf1jd6h94"))))
+ "143ng1x5xwy218wd1svj718ikqnrglwsywyzpd3ap9jnivw66g7f"))))
(build-system gnu-build-system)
(arguments
'(#:make-flags
@@ -5281,7 +5281,7 @@ Relay Chat} (IRC).")
(native-inputs
(list autoconf automake pkg-config))
(inputs
- (list guile-3.0))
+ (list guile-3.0 guile-gnutls))
(synopsis "Websocket server/client for Guile")
(description "Guile-websocket provides an implementation of the
WebSocket protocol as defined by RFC 6455.")
@@ -6263,8 +6263,8 @@ is an attempt to combine both into something useful.")
(license license:asl2.0))))
(define-public guile-knots
- (let ((commit "d572f591a3c136bfc7b23160e16381c92588f8d9")
- (revision "4"))
+ (let ((commit "c1796f0081cef266cbbc494cbf0791b4105d5b89")
+ (revision "5"))
(package
(name "guile-knots")
(version (git-version "0" revision commit))
@@ -6275,7 +6275,7 @@ is an attempt to combine both into something useful.")
(commit commit)))
(sha256
(base32
- "0g85frfniblxb2cl81fg558ic3cxvla7fvml08scjgbbxn8151gv"))
+ "1dlckjjixxljcz7pvsxqvcwqdz2x8gpvgh781lgxw5prs0pxccl2"))
(file-name (string-append name "-" version "-checkout"))))
(build-system gnu-build-system)
(native-inputs
@@ -6480,16 +6480,16 @@ This module implements this interface by use of Guile's dynamic FFI.")
(define-public guile-goblins
(package
(name "guile-goblins")
- (version "0.14.0")
+ (version "0.15.0")
(source
(origin
(method url-fetch)
- (uri (string-append "https://spritely.institute/files/releases"
+ (uri (string-append "https://files.spritely.institute/releases"
"/guile-goblins/guile-goblins-"
version ".tar.gz"))
(sha256
(base32
- "1gqyx8mq54dcs8waxjidk6xk43b2dfnw3hrbs22z6pnd9rdaj7wd"))))
+ "1dyxh8xvl8f707dzfzckz4343z1iwfp7v6wwyryn5psy86gq328z"))))
(build-system gnu-build-system)
(arguments
(list #:make-flags
@@ -6498,7 +6498,7 @@ This module implements this interface by use of Guile's dynamic FFI.")
(list pkg-config texinfo))
(inputs (list guile-3.0))
(propagated-inputs
- (list guile-fibers guile-gcrypt guile-gnutls))
+ (list guile-fibers guile-gnutls guile-websocket))
(home-page "https://spritely.institute/goblins")
(synopsis "Distributed programming environment for Guile")
(description
diff --git a/gnu/packages/image-viewers.scm b/gnu/packages/image-viewers.scm
index 94739c4ce2..477caafd4e 100644
--- a/gnu/packages/image-viewers.scm
+++ b/gnu/packages/image-viewers.scm
@@ -117,6 +117,55 @@
#:use-module (gnu packages xorg)
#:use-module (gnu packages))
+(define-public swayimg
+ (package
+ (name "swayimg")
+ (version "3.6")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/artemsen/swayimg")
+ (commit (string-append "v" version))))
+ (sha256
+ (base32 "15nqb1igikkvrzx3dhyj9msynfpvrnqvql6plqm8fhg10fbimfhd"))))
+ (build-system meson-build-system)
+ (arguments
+ `(#:configure-flags '(,(string-append "-Dversion=" version))))
+ (native-inputs (list pkg-config))
+ (inputs (list bash-completion
+ fontconfig
+ freetype
+ giflib
+ ijg-libjpeg
+ imath
+ json-c
+ libavif
+ libexif
+ libheif
+ libjxl
+ libpng
+ librsvg
+ libtiff
+ libwebp
+ libxkbcommon
+ openexr
+ wayland
+ wayland-protocols))
+ (home-page "https://github.com/artemsen/swayimg")
+ (synopsis "Customizable and lightweight image viewer for Wayland")
+ (description
+ "Swayimg is a fully customizable and lightweight image viewer for Wayland
+based display servers. It supports the most popular image formats (JPEG, JPEG
+XL, PNG, GIF, SVG, WebP, HEIF/AVIF, AV1F/AVIFS, TIFF, EXR, BMP, PNM, TGA, QOI,
+DICOM, Farbfeld). It has fully customizable keyboard bindings, colors, and
+many other parameters. It also supports loading images from files and pipes,
+and provides gallery and viewer modes with slideshow and animation support.
+It also includes a Sway integration mode: the application creates an overlay
+above the currently active window, which gives the illusion that you are
+opening the image directly in a terminal window.")
+ (license license:expat)))
+
(define-public ytfzf
(package
(name "ytfzf")
diff --git a/gnu/packages/kde-games.scm b/gnu/packages/kde-games.scm
index e9e25c9e88..0f487b93a0 100644
--- a/gnu/packages/kde-games.scm
+++ b/gnu/packages/kde-games.scm
@@ -6,6 +6,7 @@
;;; Copyright © 2019, 2020, 2021 Guillaume Le Vaillant <glv@posteo.net>
;;; Copyright © 2022 Brendan Tildesley <mail@brendan.scot>
;;; Copyright © 2022 Petr Hodina <phodina@protonmail.com>
+;;; Copyright © 2024, 2025 Zheng Junjie <873216071@qq.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -45,14 +46,14 @@
(define-public ktuberling
(package
(name "ktuberling")
- (version "24.05.2")
+ (version "24.12.1")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://kde/stable/release-service/" version
"/src/ktuberling-" version ".tar.xz"))
(sha256
- (base32 "15fizh4f1y6j475c91myw87fg8h5d0wi79niby19wgwwbhphzb2r"))))
+ (base32 "0bklrihrv9c1pxxg3swlkllh280hzgjri2zkkz8klml0vznvrya4"))))
(build-system qt-build-system)
(arguments (list #:qtbase qtbase))
(native-inputs
@@ -94,14 +95,14 @@ This package is part of the KDE games module.")
(define-public picmi
(package
(name "picmi")
- (version "24.05.2")
+ (version "24.12.1")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://kde/stable/release-service/" version
"/src/picmi-" version ".tar.xz"))
(sha256
- (base32 "0xx3bwib7p1g0xzykpsln07606rms8awrh1myr46lx65r1xffw05"))))
+ (base32 "1xxcpg4siwvm26lwi6y6pwkykd3lj8nmj5r2ys719k8mym2wjqj8"))))
(build-system qt-build-system)
(arguments (list #:qtbase qtbase))
(native-inputs
@@ -130,14 +131,14 @@ This package is part of the KDE games module.")
(define-public kolf
(package
(name "kolf")
- (version "24.05.2")
+ (version "24.12.1")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://kde/stable/release-service/" version
"/src/kolf-" version ".tar.xz"))
(sha256
- (base32 "0i0rh3dw90j8p46dhfmmcl6nah080ilmhy9d1m9jwlb6xd03zg66"))))
+ (base32 "1fgqh3mry89rqx4lfxprzi9m733nr77kziqj29sgva3n3xwbysib"))))
(build-system qt-build-system)
(arguments (list #:qtbase qtbase))
(native-inputs
@@ -177,14 +178,14 @@ This package is part of the KDE games module.")
(define-public libkmahjongg
(package
(name "libkmahjongg")
- (version "24.05.2")
+ (version "24.12.1")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://kde/stable/release-service/"
version "/src/libkmahjongg-" version ".tar.xz"))
(sha256
- (base32 "1bjsrnkwkv4w94q5q4nhfy11jfrvxsl2v2kjv6dcm47z0k9y9v63"))))
+ (base32 "1ynrgk6fkybdzycj4gafc1n9x868ixhwk71mihmi7hlaiq1r9rd8"))))
(build-system qt-build-system)
(arguments
(list
@@ -225,14 +226,14 @@ other Mah Jongg like games.")
(define-public kmahjongg
(package
(name "kmahjongg")
- (version "24.05.2")
+ (version "24.12.1")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://kde/stable/release-service/"
version "/src/kmahjongg-" version ".tar.xz"))
(sha256
- (base32 "07x3rxxhg3z538bbwqi75mv1z546gvzssav43xzgyga3zg7179b6"))))
+ (base32 "04af747rfw98carz2z5f5gmczvzmhlj3f1gn32hkqyn87mq6kvyw"))))
(build-system qt-build-system)
(native-inputs
(list extra-cmake-modules kdoctools))
@@ -264,14 +265,14 @@ This package is part of the KDE games module.")
(define-public kshisen
(package
(name "kshisen")
- (version "24.05.2")
+ (version "24.12.1")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://kde/stable/release-service/"
version "/src/kshisen-" version ".tar.xz"))
(sha256
- (base32 "1bx28jlvmwfh5rrvwd2kiq1c5r83s9lr49kl3x1rm5w7w5hlxyf1"))))
+ (base32 "1h31ambrcy3ybwvjdx22wd8jw65p3mlsi2fzpls6d0qvmrbln51i"))))
(build-system qt-build-system)
(native-inputs
(list extra-cmake-modules
@@ -301,14 +302,14 @@ This package is part of the KDE games module.")
(define-public kajongg
(package
(name "kajongg")
- (version "24.05.2")
+ (version "24.12.1")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://kde/stable/release-service/"
version "/src/kajongg-" version ".tar.xz"))
(sha256
- (base32 "0xwnin738zj6kh607asmwdq7n6jva9wk240c9rc53ja98nw4crpv"))))
+ (base32 "03j20x8w1bbxd9s402g6h37c2835hm7sg24910kpz436q764yvq4"))))
(build-system qt-build-system)
(arguments
(list
@@ -373,14 +374,14 @@ This package is part of the KDE games module.")
(define-public kbreakout
(package
(name "kbreakout")
- (version "24.05.2")
+ (version "24.12.1")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://kde/stable/release-service/" version
"/src/kbreakout-" version ".tar.xz"))
(sha256
- (base32 "0qnsvmhil1ybs94g533r26sqrfkqb06jh6gk4siqdd32dyyn7x3q"))))
+ (base32 "0k6290knp5piq2w90wn4qd7s2ps41nhxs871pwjnljrjf3v6fzv3"))))
(build-system qt-build-system)
(arguments (list #:qtbase qtbase))
(native-inputs
@@ -410,14 +411,14 @@ This package is part of the KDE games module.")
(define-public kmines
(package
(name "kmines")
- (version "24.05.2")
+ (version "24.12.1")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://kde/stable/release-service/" version
"/src/kmines-" version ".tar.xz"))
(sha256
- (base32 "1ng0bda7q2ha7kmr83rlf9z24pkf14id5w6jzzgjw2yc21mbnwhm"))))
+ (base32 "1j56fbj10slklj996vlkkmpq9nyhlsh7z736ygkvndgb762r35ln"))))
(build-system qt-build-system)
(arguments (list #:qtbase qtbase))
(native-inputs
@@ -447,14 +448,14 @@ This package is part of the KDE games module.")
(define-public konquest
(package
(name "konquest")
- (version "24.05.2")
+ (version "24.12.1")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://kde/stable/release-service/"
version "/src/konquest-" version ".tar.xz"))
(sha256
- (base32 "0bykh3ihigvzaxkzhk801hfr28frxq4hkwixicapzdfamhc22w95"))))
+ (base32 "1jq7xfd9h19p02vmkvvjz48k35i5npfz302mq6lgj6pwwn683v4w"))))
(build-system qt-build-system)
(arguments (list #:qtbase qtbase))
(native-inputs
@@ -487,14 +488,14 @@ This package is part of the KDE games module.")
(define-public kbounce
(package
(name "kbounce")
- (version "24.05.2")
+ (version "24.12.1")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://kde/stable/release-service/"
version "/src/kbounce-" version ".tar.xz"))
(sha256
- (base32 "0s9009qi40fdi24lwp789cydgy1rm0n9f0fsb8pbldi9rmdk9x60"))))
+ (base32 "0v1ag7m621rpb53ap6s05dnlrza334slb9d84nav6fr761lbldj0"))))
(build-system qt-build-system)
(arguments (list #:qtbase qtbase))
(native-inputs
@@ -525,14 +526,14 @@ This package is part of the KDE games module.")
(define-public kblocks
(package
(name "kblocks")
- (version "24.05.2")
+ (version "24.12.1")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://kde/stable/release-service/"
version "/src/kblocks-" version ".tar.xz"))
(sha256
- (base32 "05l2g21rzpln7kzywgraplqymgfdk1wvr1jfm3ffk0nzdyi0fy08"))))
+ (base32 "0n9knhhmr2jlclqbzahxdjs3xax5vsfdn18yncbhy7q6a5b00g6n"))))
(build-system qt-build-system)
(arguments (list #:qtbase qtbase))
(native-inputs
@@ -565,14 +566,14 @@ This package is part of the KDE games module.")
(define-public ksudoku
(package
(name "ksudoku")
- (version "24.05.2")
+ (version "24.12.1")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://kde/stable/release-service/"
version "/src/ksudoku-" version ".tar.xz"))
(sha256
- (base32 "1hygl0m26ylj0gm9i8mm7cr2aclq27z8ammydhw824d1nwjw98b0"))))
+ (base32 "1xa4rw6im3gi88xl54y9pnld4z4xpcfjnpahagqydagannpxfddh"))))
(build-system qt-build-system)
(arguments (list #:qtbase qtbase))
(native-inputs
@@ -626,14 +627,14 @@ This package is part of the KDE games module.")
(define-public klines
(package
(name "klines")
- (version "24.05.2")
+ (version "24.12.1")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://kde/stable/release-service/" version
"/src/klines-" version ".tar.xz"))
(sha256
- (base32 "1c6y071h2w1v3bn7cc5qy1l5m3s1s0vah72196y8gdh7bfx7kaxx"))))
+ (base32 "0crbz3vlz95yyddyp0j67rq307lbdl9i0qcmh4y4j2i53rw81gc2"))))
(build-system qt-build-system)
(arguments (list #:qtbase qtbase))
(native-inputs
@@ -669,14 +670,14 @@ This package is part of the KDE games module.")
(define-public kgoldrunner
(package
(name "kgoldrunner")
- (version "24.05.2")
+ (version "24.12.1")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://kde/stable/release-service/" version
"/src/kgoldrunner-" version ".tar.xz"))
(sha256
- (base32 "10v280785ds03h6ra384hhck422dwy8zz57x4wpcq87azzf0mi4c"))))
+ (base32 "0a6fpmjznqdlzixa3xcak5h4cykr33150ynhv350i891bmmldp77"))))
(build-system qt-build-system)
(arguments (list #:qtbase qtbase))
(native-inputs
@@ -710,14 +711,14 @@ This package is part of the KDE games module.")
(define-public kdiamond
(package
(name "kdiamond")
- (version "24.05.2")
+ (version "24.12.1")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://kde/stable/release-service/" version
"/src/kdiamond-" version ".tar.xz"))
(sha256
- (base32 "1ql8psh6lyahrdiqj0qji1dsyz8jl260msp76k804jk0477gjw8h"))))
+ (base32 "14yfi627p3n1qxk6w1wm1p11hyjql0mrka4rkwqwvdph8wa1bar7"))))
(build-system qt-build-system)
(arguments (list #:qtbase qtbase))
(native-inputs
@@ -748,14 +749,14 @@ This package is part of the KDE games module.")
(define-public kfourinline
(package
(name "kfourinline")
- (version "24.05.2")
+ (version "24.12.1")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://kde/stable/release-service/" version
"/src/kfourinline-" version ".tar.xz"))
(sha256
- (base32 "15l1bvz3c7h3pv0inaq73haqhwh2v5gdqnxsrhi5ra6dw5nm0d8l"))))
+ (base32 "0jjsnbc08w8jzdgvzk2y3qaf5dnik5pqnfyyspf8dpbrc2c9p542"))))
(build-system qt-build-system)
(arguments (list #:qtbase qtbase))
(native-inputs
@@ -787,14 +788,14 @@ This package is part of the KDE games module.")
(define-public kblackbox
(package
(name "kblackbox")
- (version "24.05.2")
+ (version "24.12.1")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://kde/stable/release-service/" version
"/src/kblackbox-" version ".tar.xz"))
(sha256
- (base32 "0andcfwrq8nhb75diif3pm2a1y6lrmkdncaszjhyan1v9mycdi8r"))))
+ (base32 "09zldalfdy592n9nqirfa00j2s7rjp81alc79hv18i7sbjpk9r3g"))))
(build-system qt-build-system)
(arguments (list #:qtbase qtbase))
(native-inputs
@@ -827,14 +828,14 @@ This package is part of the KDE games module.")
(define-public knetwalk
(package
(name "knetwalk")
- (version "24.05.2")
+ (version "24.12.1")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://kde/stable/release-service/" version
"/src/knetwalk-" version ".tar.xz"))
(sha256
- (base32 "1p6d27l2j6h5kqyjpws4s0ilvzhrhbd3lwd7776z1lmidqixvwfq"))))
+ (base32 "0p10x80vqfralxnjc2fd3wkyrxizx5fz2fs8a6qs6brzmm092p7y"))))
(build-system qt-build-system)
(arguments (list #:qtbase qtbase))
(native-inputs
@@ -868,14 +869,14 @@ This package is part of the KDE games module.")
(define-public bomber
(package
(name "bomber")
- (version "24.05.2")
+ (version "24.12.1")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://kde/stable/release-service/" version
"/src/bomber-" version ".tar.xz"))
(sha256
- (base32 "1sw3a2nvwciq7m8d30k0ipzx5gsa48jwflxkih8ha354wl5mk1cs"))))
+ (base32 "0qbh9hd55cvjdkf940q6k4jr3bvss8r491agdg1xh9chrhczymfr"))))
(build-system qt-build-system)
(native-inputs
(list extra-cmake-modules kdoctools))
@@ -909,14 +910,14 @@ This package is part of the KDE games module.")
(define-public granatier
(package
(name "granatier")
- (version "24.05.2")
+ (version "24.12.1")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://kde/stable/release-service/" version
"/src/granatier-" version ".tar.xz"))
(sha256
- (base32 "0g38sfx4x61isvi3h6b8xmdbbqrvq8z8rrxb0xdbz3fkwxyigy75"))))
+ (base32 "122shd4wxa34i0z7sfnxyv96z32ifa3nw3k8bg2k4d9ffxdbdr95"))))
(build-system qt-build-system)
(native-inputs
(list extra-cmake-modules kdoctools))
@@ -946,14 +947,14 @@ This package is part of the KDE games module.")
(define-public ksirk
(package
(name "ksirk")
- (version "24.05.2")
+ (version "24.12.1")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://kde/stable/release-service/" version
"/src/ksirk-" version ".tar.xz"))
(sha256
- (base32 "0ki9z8p4flrs7msihya8ykxs3p4w10v3ivmgf43ldygjjndyhql9"))))
+ (base32 "0sv17ykq8afm0sdsrbhi6f0r4yvx1dgq2f2i4acbxhx8ij5ygwpc"))))
(build-system qt-build-system)
(native-inputs
(list extra-cmake-modules kdoctools))
@@ -1004,14 +1005,14 @@ This package is part of the KDE games module.")
(define-public palapeli
(package
(name "palapeli")
- (version "24.05.2")
+ (version "24.12.1")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://kde/stable/release-service/" version
"/src/palapeli-" version ".tar.xz"))
(sha256
- (base32 "1436rbfrppjb73k8p9amzwa6hhjns3hjli279r8fqscjimil0vv4"))))
+ (base32 "1qwk23vc9qqdg8npz0c13nyhb7x3mnlidsabwy3r7739nqdqvv10"))))
(build-system qt-build-system)
(native-inputs
(list extra-cmake-modules kdoctools))
@@ -1050,14 +1051,14 @@ This package is part of the KDE games module.")
(define-public kiriki
(package
(name "kiriki")
- (version "24.05.2")
+ (version "24.12.1")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://kde/stable/release-service/" version
"/src/kiriki-" version ".tar.xz"))
(sha256
- (base32 "0gysvh9afr1zhjv5d5kan6m6b8b45jd1p3f2kssiql84m5xv7jsy"))))
+ (base32 "0zb9100l1wfg2xxppjal0lgacqava46yf04qr8bgya41mj4099md"))))
(build-system qt-build-system)
(native-inputs
(list extra-cmake-modules kdoctools))
@@ -1088,14 +1089,14 @@ This package is part of the KDE games module.")
(define-public kigo
(package
(name "kigo")
- (version "24.05.2")
+ (version "24.12.1")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://kde/stable/release-service/" version
"/src/kigo-" version ".tar.xz"))
(sha256
- (base32 "18jdv0dwxysf3i3c8d663x95h1pbkbvlw860lqgapdx9cnybqz1a"))))
+ (base32 "0ic9ydd47z15nah27j6xlqiikd6y58pvkklwcdj8jvwgr14q8ir2"))))
(build-system qt-build-system)
(native-inputs
(list extra-cmake-modules kdoctools))
@@ -1134,14 +1135,14 @@ This package is part of the KDE games module.")
(define-public kubrick
(package
(name "kubrick")
- (version "24.05.2")
+ (version "24.12.1")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://kde/stable/release-service/" version
"/src/kubrick-" version ".tar.xz"))
(sha256
- (base32 "05mcrjbf6gm7dldww3iqhhrknzf59xj8fw4rzbb6l79rrvp1vrvz"))))
+ (base32 "1wpys5i3w3wbphv94x2ii1yjzf89lnid4bi67bi0v2z4rm5hpyw4"))))
(build-system qt-build-system)
(native-inputs
(list extra-cmake-modules kdoctools))
@@ -1177,14 +1178,14 @@ This package is part of the KDE games module.")
(define-public lskat
(package
(name "lskat")
- (version "24.05.2")
+ (version "24.12.1")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://kde/stable/release-service/" version
"/src/lskat-" version ".tar.xz"))
(sha256
- (base32 "1p5gq8zkjr3cl7scq9irhiaf96az02k1fk3c0myqh0l9nyxakpsw"))))
+ (base32 "1nz1qcc8d3xmmivqmbprrgjkj4qgcc1kvz8i5l1wpik6rvw4kwcb"))))
(build-system qt-build-system)
(native-inputs
(list extra-cmake-modules kdoctools))
@@ -1216,14 +1217,14 @@ This package is part of the KDE games module.")
(define-public kapman
(package
(name "kapman")
- (version "24.05.2")
+ (version "24.12.1")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://kde/stable/release-service/" version
"/src/kapman-" version ".tar.xz"))
(sha256
- (base32 "1lwxrd8ky9bkrxjg42spyyywxv17lp5idm5xr4xybq3sqi2gahhx"))))
+ (base32 "1390zajbvp7zh86qs4fjkii803igkqdd0nzdg7mx08p7rpn6zc6s"))))
(build-system qt-build-system)
(native-inputs
(list extra-cmake-modules kdoctools))
@@ -1255,14 +1256,14 @@ This package is part of the KDE games module.")
(define-public kspaceduel
(package
(name "kspaceduel")
- (version "24.05.2")
+ (version "24.12.1")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://kde/stable/release-service/" version
"/src/kspaceduel-" version ".tar.xz"))
(sha256
- (base32 "04sjx32b4jgz9hwjmfyjcxlrd6jwg355sr6knr8vdxhjg18k2wa0"))))
+ (base32 "01x3gqw876d2x5kd0za192wawv4fhn6zl55g4w85dvbzjisiljyb"))))
(build-system qt-build-system)
(native-inputs
(list extra-cmake-modules kdoctools))
@@ -1290,14 +1291,14 @@ This package is part of the KDE games module.")
(define-public bovo
(package
(name "bovo")
- (version "24.05.2")
+ (version "24.12.1")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://kde/stable/release-service/" version
"/src/bovo-" version ".tar.xz"))
(sha256
- (base32 "0rcnc3v4p0xgkybk4csjwkd7mfiffhqfwx3c5yfwnnrh7rdrmh5j"))))
+ (base32 "1bxbcxv4fggm5cm4xk06xmg7n670xd4lxcazbhwb8bcz23lmggjp"))))
(build-system qt-build-system)
(native-inputs
(list extra-cmake-modules kdoctools))
@@ -1326,14 +1327,14 @@ This package is part of the KDE games module.")
(define-public killbots
(package
(name "killbots")
- (version "24.05.2")
+ (version "24.12.1")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://kde/stable/release-service/" version
"/src/killbots-" version ".tar.xz"))
(sha256
- (base32 "1vs4prhflmy6z9p3ab6r3qgzqn2vqv4abc0mhq04zbnh7sqcy0k7"))))
+ (base32 "0zjlj311klarlx3bqb2h3a2q5wqph0m988d9aff4ravzdg58rv6d"))))
(build-system qt-build-system)
(arguments (list #:qtbase qtbase))
(native-inputs
@@ -1367,14 +1368,14 @@ This package is part of the KDE games module.")
(define-public ksnakeduel
(package
(name "ksnakeduel")
- (version "24.05.2")
+ (version "24.12.1")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://kde/stable/release-service/" version
"/src/ksnakeduel-" version ".tar.xz"))
(sha256
- (base32 "11v8zrbwb8dhdmaa76rhv5qa084raxldl8sjp9299hd8wk34297b"))))
+ (base32 "1cg9v3ki6bd8h5gz0aakm0jfyc8w5r4b4sqvg3iqmqd5n4f3j7hm"))))
(build-system qt-build-system)
(arguments (list #:qtbase qtbase))
(native-inputs
@@ -1405,14 +1406,14 @@ This package is part of the KDE games module.")
(define-public kollision
(package
(name "kollision")
- (version "24.05.2")
+ (version "24.12.1")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://kde/stable/release-service/" version
"/src/kollision-" version ".tar.xz"))
(sha256
- (base32 "1fvhbvb72w5xgz6hyp795j07ngc78isbk4i9g0yfznl1z59hygs7"))))
+ (base32 "009kvcfg2acnk1lnx3p0aky6q41jm6kpbwrfz9ihvib08micgkk1"))))
(build-system qt-build-system)
(arguments (list #:qtbase qtbase))
(native-inputs
@@ -1442,14 +1443,14 @@ This package is part of the KDE games module.")
(define-public knavalbattle
(package
(name "knavalbattle")
- (version "24.05.2")
+ (version "24.12.1")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://kde/stable/release-service/" version
"/src/knavalbattle-" version ".tar.xz"))
(sha256
- (base32 "0smr35f76hhy7gzla6q2ly9ip01ly3v33xhqq9dqpp144bs4vkab"))))
+ (base32 "1f3vkqv4kph8p0g6d7ycycnzf843y2iwajm89yxamjzn3jr7v57s"))))
(build-system qt-build-system)
(arguments (list #:qtbase qtbase))
(native-inputs
@@ -1482,14 +1483,14 @@ This package is part of the KDE games module.")
(define-public kreversi
(package
(name "kreversi")
- (version "24.05.2")
+ (version "24.12.1")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://kde/stable/release-service/" version
"/src/kreversi-" version ".tar.xz"))
(sha256
- (base32 "1vrh1kl2qh03826m5n3nvj5fn0jrakqvkrlc3jxr9hm26c2k26ah"))))
+ (base32 "1fh956hnvlzd1dcg9nkcgzgarmgv9i47w6c8jx71xbx81fcylwf6"))))
(build-system qt-build-system)
(arguments (list #:qtbase qtbase))
(native-inputs
@@ -1524,14 +1525,14 @@ This package is part of the KDE games module.")
(define-public ksquares
(package
(name "ksquares")
- (version "24.05.2")
+ (version "24.12.1")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://kde/stable/release-service/" version
"/src/ksquares-" version ".tar.xz"))
(sha256
- (base32 "1nmlnqirgp53h03kyj0cwg0nny0dckb6c7vs16jkqr11rmb39g1v"))))
+ (base32 "1pp3nk9hnvf8bbrxpjcfj2lv2d0qawfb8b3hzys02p99hncp9rd8"))))
(build-system qt-build-system)
(arguments (list #:qtbase qtbase))
(native-inputs
@@ -1560,14 +1561,14 @@ This package is part of the KDE games module.")
(define-public kjumpingcube
(package
(name "kjumpingcube")
- (version "24.05.2")
+ (version "24.12.1")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://kde/stable/release-service/" version
"/src/kjumpingcube-" version ".tar.xz"))
(sha256
- (base32 "1ihll2x7inc76752xwj3dfs2653i9c5prfllh2p8vfc1ss0raa34"))))
+ (base32 "01134n461adq51h6dx2w12hch4gvyyrwps3136mpcjdl0pg5zx86"))))
(build-system qt-build-system)
(arguments (list #:qtbase qtbase))
(native-inputs
@@ -1597,14 +1598,14 @@ This package is part of the KDE games module.")
(define-public knights
(package
(name "knights")
- (version "24.05.2")
+ (version "24.12.1")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://kde/stable/release-service/" version
"/src/knights-" version ".tar.xz"))
(sha256
- (base32 "19xsa79p0ad3cgm1zz2ykbm4487fyizshn7ir8f5azhkr1bi6l8k"))))
+ (base32 "1cgnnna4kaklqbghgvl4f6kyg5lnh74r6w6y36mj02i8z5h7cfwn"))))
(build-system qt-build-system)
(arguments
(list #:qtbase qtbase))
@@ -1657,7 +1658,7 @@ This package is part of the KDE games module.")
(define-public kde-games
(package
(name "kde-games")
- (version "24.05.2")
+ (version "24.12.1")
(source #f)
(build-system trivial-build-system)
(arguments
diff --git a/gnu/packages/kde-internet.scm b/gnu/packages/kde-internet.scm
index 213145a367..4bf40afe88 100644
--- a/gnu/packages/kde-internet.scm
+++ b/gnu/packages/kde-internet.scm
@@ -517,3 +517,88 @@ features including but not limited to torrent downloading and seeding, torrent
creation and downloaded data verification, magnet links, advanced peer
management, IP blocking lists.")
(license license:gpl2+)))
+
+(define-public ruqola
+ (package
+ (name "ruqola")
+ (version "2.4.1")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://kde/stable/ruqola/ruqola-"
+ version ".tar.xz"))
+ (sha256
+ (base32
+ "0w05ww6dn1xfmz67i3avkzdlcrb575hjad2lnm2cxd0jds0b1bg5"))))
+ (build-system qt-build-system)
+ (arguments
+ (list #:qtbase qtbase
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'check 'set-home-directory
+ (lambda _
+ (setenv "HOME" "/tmp"))))))
+ (native-inputs
+ (list extra-cmake-modules kdoctools))
+ (inputs
+ (list karchive
+ kcodecs
+ kcoreaddons
+ kcrash
+ kdbusaddons
+ ki18n
+ kiconthemes
+ kidletime
+ kio
+ knotifications
+ knotifyconfig
+ kstatusnotifieritem
+ ksyntaxhighlighting
+ ktextaddons
+ ktextwidgets
+ kwidgetsaddons
+ kxmlgui
+ plasma-activities
+ prison
+ purpose
+ qtkeychain-qt6
+ qtwebsockets
+ qtnetworkauth
+ qtmultimedia
+ qtsvg
+ sonnet))
+ (home-page "https://apps.kde.org/ruqola/")
+ (synopsis "Rocket.Chat client")
+ (description
+ "Ruqola is a @uref{https://www.rocket.chat/, Rocket.Chat} client for KDE
+desktop. It supports:
+@itemize
+@item direct and thread messaging,
+@item @acronym{OTR, Off-the-Record} messages,
+@item individual and group channels,
+@item autotranslate support,
+@item emojis,
+@item videos,
+@item GIFs,
+@item uploading auttachments,
+@item searching messages in a room,
+@item showing unread message information,
+@item discussion rooms and configuring them,
+@item storing messages in a local database,
+@item exporting messages,
+@item importing/exporting accounts,
+@item registering and configuring accounts,
+@item two-factor authentication via TOTP or email,
+@item multiple accounts,
+@item auto-away,
+@item blocking/unblocking users,
+@item administrator settings,
+@item console moderation,
+@item message URL previews,
+@item channel list styles,
+@item forwarding messages,
+@item Rocket.Chat marketplace,
+@item notifications,
+@item replying directly from the notification and
+@item DND image to websites or local folder.
+@end itemize")
+ (license (list license:lgpl2.1+ license:gpl2+))))
diff --git a/gnu/packages/kde-multimedia.scm b/gnu/packages/kde-multimedia.scm
index 4b0e170b79..ad0b504268 100644
--- a/gnu/packages/kde-multimedia.scm
+++ b/gnu/packages/kde-multimedia.scm
@@ -147,13 +147,13 @@ This package is part of the KDE multimedia module.")
(define-public haruna
(package
(name "haruna")
- (version "1.2.1")
+ (version "1.3.2")
(source (origin
(method url-fetch)
(uri (string-append "mirror://kde/stable/haruna/" version
"/haruna-" version ".tar.xz"))
(sha256
- (base32 "1yv2qcjb2q17r416y055ib6kisvslg76qkh651ff5ilq6hd2c0gb"))))
+ (base32 "0gvwsxlrwn2s6i4agmwa0r1lq1fybfyxv933g2z3n76qnn9mkbrb"))))
(build-system qt-build-system)
(arguments
(list #:qtbase qtbase))
diff --git a/gnu/packages/kde-office.scm b/gnu/packages/kde-office.scm
index 96c8318225..633ecb5595 100644
--- a/gnu/packages/kde-office.scm
+++ b/gnu/packages/kde-office.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2024 Sughosha <sughosha@disroot.org>
+;;; Copyright © 2024, 2025 Sughosha <sughosha@disroot.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -19,30 +19,38 @@
(define-module (gnu packages kde-office)
#:use-module (guix packages)
#:use-module (guix download)
+ #:use-module (guix git-download)
#:use-module (guix build-system qt)
#:use-module (guix gexp)
#:use-module (guix utils)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (gnu packages algebra)
#:use-module (gnu packages boost)
+ #:use-module (gnu packages cdrom)
#:use-module (gnu packages compression)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages freedesktop)
+ #:use-module (gnu packages glib)
#:use-module (gnu packages ghostscript)
#:use-module (gnu packages graphics)
#:use-module (gnu packages hunspell)
#:use-module (gnu packages kde)
#:use-module (gnu packages kde-frameworks)
+ #:use-module (gnu packages kde-multimedia)
#:use-module (gnu packages libreoffice)
#:use-module (gnu packages maths)
+ #:use-module (gnu packages mp3)
+ #:use-module (gnu packages networking)
#:use-module (gnu packages pdf)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages qt)
+ #:use-module (gnu packages serialization)
#:use-module (gnu packages tls)
#:use-module (gnu packages version-control)
#:use-module (gnu packages wm)
- #:use-module (gnu packages xdisorg))
+ #:use-module (gnu packages xdisorg)
+ #:use-module (gnu packages xml))
(define-public calligra
(package
@@ -182,3 +190,102 @@ in an aesthetic writing environment. It comes with the cmark-gfm Markdown
processor built in, and can integrate with Pandoc, MultiMarkdown, Discount, and
cmark processors if they are installed.")
(license license:gpl3+)))
+
+(define-public tellico
+ (package
+ (name "tellico")
+ (version "4.1")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://invent.kde.org/office/tellico")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0dni1n3caj2wb7kwiv08k2qqbv8swfd7xdil6aiqdvmv6xihycy7"))
+ (modules '((guix build utils)))
+ (snippet
+ ;; Fix including QtPrintSupport.
+ '(substitute* (find-files "src" "\\.(h|cpp)$")
+ (("#include <QPrint") "#include <QtPrintSupport/QPrint")))))
+ (build-system qt-build-system)
+ (arguments
+ (list #:qtbase qtbase
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'check 'set-home-directory
+ (lambda _
+ (setenv "HOME" "/tmp")))
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke "dbus-launch" "ctest")))))))
+ (native-inputs
+ (list dbus extra-cmake-modules kdoctools pkg-config))
+ (inputs
+ (list exempi
+ karchive
+ kcodecs
+ kcompletion
+ kconfig
+ kconfigwidgets
+ kcoreaddons
+ kcrash
+ kfilemetadata
+ kguiaddons
+ ki18n
+ kiconthemes
+ kio
+ kitemmodels
+ kjobwidgets
+ knewstuff
+ ktextwidgets
+ kwidgetsaddons
+ kxmlgui
+ libcdio
+ libcsv
+ libkcddb
+ libksane
+ libxml2
+ libxslt
+ perl-text-bibtex
+ poppler-qt6
+ qtcharts
+ qtsvg
+ qtwayland
+ qtwebengine
+ solid
+ sonnet
+ taglib
+ yaz))
+ (home-page "https://tellico-project.org/")
+ (synopsis "Collection manager")
+ (description "Tellico is an application for organizing your collections. It
+provides default templates for books, bibliographies, videos, music, video
+games, coins, stamps, trading cards, comic books, and wines. It allows you to
+enter your collection in a catalogue database, saving many different properties
+like title, author, etc.
+
+Features:
+
+@itemize
+@item Supports default collections of books, bibliographic entries, videos,
+ music, video games, comic books, coins, stamps, trading cards, wines, board
+ games, and file catalogs.
+@item Supports user-defined custom collections.
+@item Supports any number of user-defined fields, of several different types:
+ text, paragraph, list, checkbox, number, URL, date, images, and combinations.
+@item Handles entries with multiple authors, genres, keywords, etc.
+#item Automatically formats titles and names.
+@item Supports collection searching and view filtering.
+@item Sorts and groups collection by various properties.
+@item Allows customizable entry templates through XSLT.
+@item Imports MODS, BibTeX, RIS, CSV, PDF metadata, and many other formats.
+@item Exports to BibTeX, ONIX, CSV, HTML, and other formats.
+@item Imports information directly from Amazon.com, IMDb, Z39.50 servers,
+ PubMed, SRU servers, CrossRef.org, various other websites, and from external
+ scripts.
+@item Imports CDDB data for cataloging audio CDs.
+@item Scans and imports audio file collections, such as mp3 or ogg.
+@end itemize")
+ (license license:gpl2+)))
diff --git a/gnu/packages/kde-utils.scm b/gnu/packages/kde-utils.scm
index 1cff636844..d4c3d5c7a8 100644
--- a/gnu/packages/kde-utils.scm
+++ b/gnu/packages/kde-utils.scm
@@ -54,14 +54,14 @@
(define-public ark
(package
(name "ark")
- (version "24.05.2")
+ (version "24.12.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://kde/stable/release-service/" version
"/src/ark-" version ".tar.xz"))
(sha256
(base32
- "1q0fyx65gp0d1vj4jxiaswdfzi15hbfi537f3i8y277b621qp3rs"))
+ "1f96k7jisjdvpg8wjrm1pyz6p6zkqcx70054cg3sd0244skrzrna"))
;; The libarchive package in Guix does not support
;; xar; disable related tests.
(patches (search-patches "ark-skip-xar-test.patch"))))
diff --git a/gnu/packages/kde.scm b/gnu/packages/kde.scm
index 30e79dc59f..765176f42b 100644
--- a/gnu/packages/kde.scm
+++ b/gnu/packages/kde.scm
@@ -11,7 +11,7 @@
;;; Copyright © 2020 Marius Bakke <marius@gnu.org>
;;; Copyright © 2020, 2021, 2022 Michael Rohleder <mike@rohleder.de>
;;; Copyright © 2020 Prafulla Giri <pratheblackdiamond@gmail.com>
-;;; Copyright © 2020, 2021, 2022, 2023, 2024 Zheng Junjie <873216071@qq.com>
+;;; Copyright © 2020-2025 Zheng Junjie <873216071@qq.com>
;;; Copyright © 2021 Alexandros Theodotou <alex@zrythm.org>
;;; Copyright © 2021 la snesne <lasnesne@lagunposprasihopre.org>
;;; Copyright © 2021, 2022, 2023, 2024 Vinicius Monego <monego@posteo.net>
@@ -19,6 +19,7 @@
;;; Copyright © 2022 Petr Hodina <phodina@protonmail.com>
;;; Copyright © 2023 Mehmet Tekman <mtekman89@gmail.com>
;;; Copyright © 2024 Remco van 't Veer <remco@remworks.net>
+;;; Copyright © 2025 Sughosha <sughosha@disroot.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -102,6 +103,7 @@
#:use-module (gnu packages python)
#:use-module (gnu packages qt)
#:use-module (gnu packages samba)
+ #:use-module (gnu packages scanner)
#:use-module (gnu packages sdl)
#:use-module (gnu packages ssh)
#:use-module (gnu packages tls)
@@ -829,7 +831,7 @@ painting, image manipulating and icon editing.")
(define-public krita
(package
(name "krita")
- (version "5.2.3")
+ (version "5.2.6")
(source
(origin
(method url-fetch)
@@ -837,7 +839,7 @@ painting, image manipulating and icon editing.")
"mirror://kde/stable/krita/" version "/krita-" version
".tar.gz"))
(sha256
- (base32 "1h2whbccgr2xhln4zx708hksg4284dhgjz10cnnkfgiwp7nlcsj6"))
+ (base32 "1yymhbybnjkl0smfqv6sm13iz4pp5ask3bjl5klv9x7xaj2i5ms8"))
(patches (search-patches "krita-bump-sip-abi-version-to-12.8.patch"))))
(build-system qt-build-system)
(arguments
@@ -1331,6 +1333,61 @@ multi-floor indoor maps.")
transport data and for performing public transport journey queries.")
(license (list license:lgpl2.0+))))
+(define-public ksanecore
+ (package
+ (name "ksanecore")
+ (version "24.12.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "mirror://kde/stable/release-service/" version
+ "/src/ksanecore-" version ".tar.xz"))
+ (sha256
+ (base32 "0bh7i2qh5jdxfgy122vbwin7g46s16kdmam6szj14zc1ggnhqvfb"))))
+ (build-system qt-build-system)
+ (arguments
+ (list #:qtbase qtbase))
+ (native-inputs
+ (list extra-cmake-modules))
+ (inputs
+ (list ki18n
+ sane-backends))
+ (home-page "https://invent.kde.org/libraries/ksanecore")
+ (synopsis "Library providing logic to interface scanners")
+ (description
+ "KSaneCore is a library that provides a Qt interface for the SANE library
+for scanner hardware.")
+ (license license:lgpl3+)))
+
+(define-public libksane
+ (package
+ (name "libksane")
+ (version "24.12.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "mirror://kde/stable/release-service/" version
+ "/src/libksane-" version ".tar.xz"))
+ (sha256
+ (base32 "1sv81mpai350196x5sskvf2qsq2abmvjpv28zy7n8cy31if931ga"))))
+ (build-system qt-build-system)
+ (arguments
+ (list #:qtbase qtbase))
+ (native-inputs
+ (list extra-cmake-modules))
+ (inputs
+ (list ki18n
+ ksanecore
+ ktextwidgets
+ kwallet
+ kwidgetsaddons))
+ (home-page "https://invent.kde.org/graphics/libksane")
+ (synopsis "Library providing QWidget with logic to interface scanners")
+ (description
+ "Libksane is a Qt-based interface for SANE library to control flat
+scanners.")
+ (license license:lgpl3+)))
+
(define-public snorenotify
(package
(name "snorenotify")
@@ -1622,14 +1679,14 @@ Python, PHP, and Perl.")
(define-public libkdegames
(package
(name "libkdegames")
- (version "24.05.2")
+ (version "24.12.1")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://kde/stable/release-service/" version
"/src/libkdegames-" version ".tar.xz"))
(sha256
- (base32 "1sqhlhanb5vfbxp6g01rkgaj5v9gi1cxfgsmw39s0cikjfvidwpa"))))
+ (base32 "0y7y883bd9f2w9dq5l9r8jsi6hrk0fddaj9w7y1g9zk4rfkmm13y"))))
(build-system qt-build-system)
(arguments (list #:qtbase qtbase))
(native-inputs
@@ -1725,14 +1782,14 @@ creating routes by drag and drop and more.")
(define-public okular
(package
(name "okular")
- (version "24.08.2")
+ (version "24.12.1")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://kde/stable/release-service/" version
"/src/" name "-" version ".tar.xz"))
(sha256
- (base32 "1yy86fnra7dhc79m3ka0lqarp47336iln3fs8nyys2p6bdywg2a0"))))
+ (base32 "085zw8lrb2ll7p9178xl8m2bnvv5aw5xxy18wcyqnnfc9495ql5v"))))
(build-system qt-build-system)
(arguments
(list
@@ -1812,7 +1869,7 @@ a variety of formats, including PDF, PostScript, DejaVu, and EPub.")
(define-public poxml
(package
(name "poxml")
- (version "24.05.2")
+ (version "24.12.1")
(source (origin
(method url-fetch)
(uri
@@ -1820,12 +1877,12 @@ a variety of formats, including PDF, PostScript, DejaVu, and EPub.")
"/src/poxml-" version ".tar.xz"))
(sha256
(base32
- "0998ss7jib255x9kyhsz79lgnf97m7hbm6dsyh6xj9rcwv8i9srk"))))
+ "1mbkmh0zy5bi13vbcqdnppg2f1cl77hdfscy3wp2mfz209sa83a0"))))
(build-system cmake-build-system)
(native-inputs
- (list extra-cmake-modules kdoctools-5))
+ (list extra-cmake-modules kdoctools))
(inputs
- (list gettext-minimal qtbase-5))
+ (list gettext-minimal qtbase))
(home-page "https://apps.kde.org/development/")
(synopsis "Tools for translating DocBook XML files with Gettext")
(description "This is a collection of tools that facilitate translating
diff --git a/gnu/packages/librewolf.scm b/gnu/packages/librewolf.scm
index 42bae0fbc0..28abaefe53 100644
--- a/gnu/packages/librewolf.scm
+++ b/gnu/packages/librewolf.scm
@@ -21,7 +21,7 @@
;;; Copyright © 2021, 2022, 2023 John Kehayias <john.kehayias@protonmail.com>
;;; Copyright © 2022 Pierre Langlois <pierre.langlois@gmx.com>
;;; Copyright © 2023 Tomas Volf <wolf@wolfsden.cz>
-;;; Copyright © 2023 Ian Eure <ian@retrospec.tv>
+;;; Copyright © 2023, 2024, 2025 Ian Eure <ian@retrospec.tv>
;;; Copyright © 2024 Remco van 't Veer <remco@remworks.net>
;;; Copyright © 2024 Ashvith Shetty <ashvithshetty10@gmail.com>
;;;
@@ -117,16 +117,16 @@
(define computed-origin-method (@@ (guix packages) computed-origin-method))
(define firefox-l10n
- (let ((commit "bdfd4e10606204450a3e88d219ecf2b252349c2b"))
+ (let ((commit "d219efa7c64850dfb5904893e17a5431c7058192"))
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/mozilla-l10n/firefox-l10n.git")
(commit commit)))
(file-name (git-file-name "firefox-l10n" commit))
- (sha256 (base32 "0i31b1024jck6467j9phcqvac32psl4nkyb0nm4h9zzyj8zw31xp")))))
+ (sha256 (base32 "0g778fnxg5mkqm3rgryzl64f3n4pczngjdlby07vh2dycvmlyga8")))))
-(define* (make-librewolf-source #:key version firefox-hash librewolf-hash)
+(define* (make-librewolf-source #:key version firefox-hash librewolf-hash l10n)
(let* ((ff-src (firefox-source-origin
(car (string-split version #\-))
firefox-hash))
@@ -154,7 +154,7 @@
#+(canonical-package xz)
#+(canonical-package sed)
#+(canonical-package grep)
- #+(canonical-package gzip)
+ #+(canonical-package pigz)
#+(canonical-package tar)))
(set-path-environment-variable
"PYTHONPATH"
@@ -182,7 +182,7 @@
(substitute* "scripts/librewolf-patches.py"
(("l10n_dir = Path(\"..\", \"l10n\")")
(string-append
- "l10n_dir = \"" #+firefox-l10n "\""))))
+ "l10n_dir = \"" #+l10n "\""))))
;; Run the build script
(invoke "make" "all")
@@ -194,26 +194,29 @@
"torbrowser-compare-paths.patch"
"librewolf-use-system-wide-dir.patch")))))
-;; Define the versions of rust needed to build librewolf, trying to match
-;; upstream. See the file taskcluster/ci/toolchain/rust.yml at
-;; https://searchfox.org under the particular firefox release, like
-;; mozilla-esr102.
-(define rust-librewolf rust) ; 1.75 is the default in Guix, 1.65 is the minimum.
+;;; Define the versions of rust needed to build firefox, trying to match
+;;; upstream. See table at [0], `Uses' column for the specific version.
+;;; Using `rust' will likely lead to a newer version then listed in the table,
+;;; but since in Guix only the latest packaged Rust is officially supported,
+;;; it is a tradeoff worth making.
+;;; 0: https://firefox-source-docs.mozilla.org/writing-rust-code/update-policy.html
+(define rust-librewolf rust-1.81)
;; Update this id with every update to its release date.
;; It's used for cache validation and therefore can lead to strange bugs.
;; ex: date '+%Y%m%d%H%M%S'
-(define %librewolf-build-id "20241130102406")
+(define %librewolf-build-id "20250121184331")
(define-public librewolf
(package
(name "librewolf")
- (version "133.0-1")
+ (version "134.0.1-1")
(source
(make-librewolf-source
#:version version
- #:firefox-hash "0q6cqfnwc2x09frdvsndmhck8ixrnbl281j9rqw5w8bd7fd2qas9"
- #:librewolf-hash "1xf7gx3xm3c7dhch9gwpb0xp11lcyim1nrbm8sjljxdcs7iq9jy4"))
+ #:firefox-hash "1rb54b62zcmhabmx3rsd5badv9wwih6h19a0g80c03qgwwy8b8g3"
+ #:librewolf-hash "0bcjk3pkyq2w39n022kcpl8nqd8ng9653jc8gklfrfw9avwmpmk2"
+ #:l10n firefox-l10n))
(build-system gnu-build-system)
(arguments
(list
@@ -569,10 +572,13 @@
(string-append (assoc-ref inputs
lib-name)
"/lib"))
- '("mesa" "libpng-apng" "libnotify" "libva"
- "pulseaudio" "gtk+" "pipewire"
- ;; For U2F and WebAuthn
- "eudev")))
+ '("eudev" ; For U2F and WebAuthn
+ "libnotify"
+ "libpng-apng"
+ "libva"
+ "mesa"
+ "pipewire" ; For sharing on Wayland
+ "pulseaudio")))
;; VA-API is run in the RDD (Remote Data Decoder) sandbox
;; and must be explicitly given access to files it needs.
@@ -583,11 +589,12 @@
;; runpaths of the needed libraries to add everything to
;; LD_LIBRARY_PATH. These will then be accessible in the
;; RDD sandbox.
- (rdd-whitelist (map (cut string-append <> "/")
- (delete-duplicates (append-map
- runpaths-of-input
- '("mesa"
- "ffmpeg")))))
+ (rdd-whitelist
+ (map (cut string-append <> "/")
+ (delete-duplicates
+ (append-map runpaths-of-input
+ '("mesa"
+ "ffmpeg")))))
(gtk-share (string-append (assoc-ref inputs
"gtk+")
"/share")))
@@ -661,7 +668,7 @@
gtk+
gtk+-2
hunspell
- icu4c-73
+ icu4c-75
jemalloc
libcanberra
libevent
diff --git a/gnu/packages/libusb.scm b/gnu/packages/libusb.scm
index a2bdda6057..a6e24f8c41 100644
--- a/gnu/packages/libusb.scm
+++ b/gnu/packages/libusb.scm
@@ -752,14 +752,14 @@ HID-Class devices.")
(define-public python-hidapi
(package
(name "python-hidapi")
- (version "0.7.99.post21")
+ (version "0.14.0.post2")
(source
(origin
(method url-fetch)
(uri (pypi-uri "hidapi" version))
(sha256
(base32
- "15ws59zdrxahf3k7z5rcrwc4jgv1307anif8ixm2cyb9ask1mgp0"))
+ "1b2q4kpzvfbbdy5xjh5nas3ymg7gspqai5dla6fk16h5dfx9f3kc"))
(modules '((guix build utils)))
(snippet
;; Remove bundled libraries.
@@ -795,7 +795,7 @@ HID-Class devices.")
(inputs
(list hidapi libusb eudev))
(native-inputs
- (list python-cython))
+ (list python-cython pkg-config))
(home-page "https://github.com/trezor/cython-hidapi")
(synopsis "Cython interface to hidapi")
(description "This package provides a Cython interface to @code{hidapi}.")
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index b418ab05a2..5873b4db2e 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2012-2021, 2021-2024 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2012-2021, 2021-2025 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013, 2014, 2015, 2016 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org>
;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019, 2020 Mark H Weaver <mhw@netris.org>
@@ -792,6 +792,11 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(make-linux-libre-headers "5.15.49" "gnu"
"13zqdcm4664vh7g57sxbfrlpsxm7zrma72mxdfdz7d9yndy2gfv8"))
+;; linux 5.19 include loongarch support.
+(define-public linux-libre-headers-5.19.17
+ (make-linux-libre-headers "5.19.17" "gnu"
+ "0m1yabfvaanbzv0ip04r4kvs16aq0pp2dk93xzi5cq18i3vw351m"))
+
(define-public linux-libre-headers linux-libre-headers-5.15.49)
;; linux-libre-headers-latest points to the latest headers package
;; and should be used as a dependency for packages that depend on
@@ -1262,32 +1267,38 @@ Linux kernel. It has been modified to remove all non-free binary blobs.")
(default-extra-linux-options linux-libre-version))))
(define-public linux-libre-lts-arm64-generic
- (make-linux-libre* linux-libre-lts-version
- linux-libre-lts-gnu-revision
- linux-libre-lts-source
- '("aarch64-linux")
- #:defconfig "defconfig"
- #:extra-version "arm64-generic"
- #:extra-options
- (append
- `(;; Provide support for ath9k wireless
- ("CONFIG_ATH9K_HTC" . m)
- ;; needed to fix the RTC on rockchip platforms
- ("CONFIG_RTC_DRV_RK808" . #t)
- ;; Pinebook display, battery, charger and usb
- ("CONFIG_DRM_ANALOGIX_ANX6345" . m)
- ("CONFIG_CHARGER_AXP20X" . m)
- ("CONFIG_INPUT_AXP20X_PEK" . m)
- ("CONFIG_CHARGER_AXP20X" . m)
- ("CONFIG_BATTERY_AXP20X" . m)
- ("CONFIG_PINCTRL_AXP209" . m)
- ("CONFIG_AXP20X_POWER" . m)
- ("CONFIG_AXP20X_ADC" . m)
- ;; Pinebook PRO battery and sound support
- ("CONFIG_BATTERY_CW2015" . m)
- ("CONFIG_CHARGER_GPIO" . m)
- ("CONFIG_SND_SOC_ES8316" . m))
- (default-extra-linux-options linux-libre-lts-version))))
+ (if (string=? linux-libre-lts-version linux-libre-version)
+
+ ;; Make it a strict alias so that the user interface does not see two
+ ;; packages with the exact same name and version.
+ linux-libre-arm64-generic
+
+ (make-linux-libre* linux-libre-lts-version
+ linux-libre-lts-gnu-revision
+ linux-libre-lts-source
+ '("aarch64-linux")
+ #:defconfig "defconfig"
+ #:extra-version "arm64-generic"
+ #:extra-options
+ (append
+ `( ;; Provide support for ath9k wireless
+ ("CONFIG_ATH9K_HTC" . m)
+ ;; needed to fix the RTC on rockchip platforms
+ ("CONFIG_RTC_DRV_RK808" . #t)
+ ;; Pinebook display, battery, charger and usb
+ ("CONFIG_DRM_ANALOGIX_ANX6345" . m)
+ ("CONFIG_CHARGER_AXP20X" . m)
+ ("CONFIG_INPUT_AXP20X_PEK" . m)
+ ("CONFIG_CHARGER_AXP20X" . m)
+ ("CONFIG_BATTERY_AXP20X" . m)
+ ("CONFIG_PINCTRL_AXP209" . m)
+ ("CONFIG_AXP20X_POWER" . m)
+ ("CONFIG_AXP20X_ADC" . m)
+ ;; Pinebook PRO battery and sound support
+ ("CONFIG_BATTERY_CW2015" . m)
+ ("CONFIG_CHARGER_GPIO" . m)
+ ("CONFIG_SND_SOC_ES8316" . m))
+ (default-extra-linux-options linux-libre-lts-version)))))
(define-public linux-libre-arm64-generic-5.10
(make-linux-libre* linux-libre-5.10-version
diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm
index ab6ec76a5f..becb5ade1d 100644
--- a/gnu/packages/lisp-xyz.scm
+++ b/gnu/packages/lisp-xyz.scm
@@ -23,7 +23,7 @@
;;; Copyright © 2020-2024 Sharlatan Hellseher <sharlatanus@gmail.com>
;;; Copyright © 2021, 2022 Aurora <rind38@disroot.org>
;;; Copyright © 2021 Matthew James Kraai <kraai@ftbfs.org>
-;;; Copyright © 2021-2024 André A. Gomes <andremegafone@gmail.com>
+;;; Copyright © 2021-2025 André A. Gomes <andremegafone@gmail.com>
;;; Copyright © 2021, 2022, 2023 Cage <cage-dev@twistfold.it>
;;; Copyright © 2021 Cameron Chaparro <cameron@cameronchaparro.com>
;;; Copyright © 2021, 2024 Charles Jackson <charles.b.jackson@protonmail.com>
@@ -45,6 +45,7 @@
;;; Copyright © 2024 Carlo Zancanaro <carlo@zancanaro.id.au>
;;; Copyright © 2024 Nik Gaffney <nik@fo.am>
;;; Copyright © 2024 Grigory Shepelev <shegeley@gmail.com>
+;;; Copyright © 2025 Junker <dk@junkeria.club>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -126,6 +127,7 @@
#:use-module (gnu packages sqlite)
#:use-module (gnu packages statistics)
#:use-module (gnu packages tcl)
+ #:use-module (gnu packages texinfo)
#:use-module (gnu packages tls)
#:use-module (gnu packages version-control)
#:use-module (gnu packages video)
@@ -933,8 +935,17 @@ within your Lisp program, so you don't need to invoke a separate tool.")
(sha256
(base32 "0pdj779j3nwzn8f1661vf00rrjrbks1xgiq0rvwjw6qyxsfqfnl9"))))
(build-system asdf-build-system/sbcl)
+ (arguments
+ (list #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'build 'build-doc
+ (lambda _
+ (with-directory-excursion "doc"
+ (invoke "make" "info")
+ (install-file "alexandria.info"
+ (string-append #$output "/share/info"))))))))
(native-inputs
- (list sbcl-rt))
+ (list sbcl-rt texinfo))
(synopsis "Collection of portable utilities for Common Lisp")
(description
"Alexandria is a collection of portable utilities. It does not contain
@@ -947,7 +958,15 @@ portable between implementations.")
(sbcl-package->cl-source-package sbcl-alexandria))
(define-public ecl-alexandria
- (sbcl-package->ecl-package sbcl-alexandria))
+ (let ((pkg (sbcl-package->ecl-package sbcl-alexandria)))
+ (package
+ (inherit pkg)
+ (outputs '("out"))
+ (arguments
+ (substitute-keyword-arguments (package-arguments pkg)
+ ((#:phases phases)
+ `(modify-phases ,phases
+ (delete 'build-doc))))))))
(define-public sbcl-alexandria-plus
(let ((commit "adafb09838a84895bedb119f8253b89b6a04a2c5")
@@ -12527,7 +12546,7 @@ based on code from chapter 24 of the book @emph{Practical Common Lisp}.")
(define-public sbcl-command-line-args
(package
(name "sbcl-command-line-args")
- (version "0.1.2")
+ (version "0.1.3")
(source
(origin
(method git-fetch)
@@ -12536,7 +12555,7 @@ based on code from chapter 24 of the book @emph{Practical Common Lisp}.")
(commit (string-append "v" version))))
(file-name (git-file-name "cl-command-line-args" version))
(sha256
- (base32 "1ds3s26lbl7j8i3m8d7c69jdcpwdc21qjqd9sarrz6mw1i26xfd5"))))
+ (base32 "1vzybqnqwrfl8b708h8wx8xsm1ml5c3r0lcx23615hb4p800iagf"))))
(build-system asdf-build-system/sbcl)
(arguments
'(#:asd-systems '("whereiseveryone.command-line-args")))
@@ -29978,6 +29997,36 @@ backtrace portably.")
(define-public ecl-trivial-backtrace
(sbcl-package->ecl-package sbcl-trivial-backtrace))
+(define-public sbcl-trivial-battery
+ (let ((commit "318c9da88b4d11d3f33062e0fd09be660a383404")
+ (revision "1"))
+ (package
+ (name "sbcl-trivial-battery")
+ (version (git-version "0.1.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/pokepay/trivial-battery")
+ (commit commit)))
+ (file-name (git-file-name "cl-trivial-battery" version))
+ (sha256
+ (base32 "12ni2502v9gjszhjsh0aai08cm64gl8g815xghdjhcf7y34ffl2b"))))
+ (build-system asdf-build-system/sbcl)
+ (inputs (list sbcl-split-sequence))
+ (home-page "https://github.com/pokepay/trivial-battery")
+ (synopsis "Trivial library for getting the battery information")
+ (description
+ "This package provides a Common Lisp library for getting the battery
+information.")
+ (license license:bsd-2))))
+
+(define-public cl-trivial-battery
+ (sbcl-package->cl-source-package sbcl-trivial-battery))
+
+(define-public ecl-trivial-battery
+ (sbcl-package->ecl-package sbcl-trivial-battery))
+
(define-public sbcl-trivial-benchmark
(let ((commit "1fbc8d15f09ed8aa426bc73956b8b7c9b2668802")
(revision "2"))
diff --git a/gnu/packages/llvm.scm b/gnu/packages/llvm.scm
index c910e5888b..a81a9ab59e 100644
--- a/gnu/packages/llvm.scm
+++ b/gnu/packages/llvm.scm
@@ -7,7 +7,7 @@
;;; Copyright © 2017 Roel Janssen <roel@gnu.org>
;;; Copyright © 2018–2022 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
-;;; Copyright © 2018, 2021-2024 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2018, 2021-2025 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2018 Tim Gesthuizen <tim.gesthuizen@yahoo.de>
;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz>
;;; Copyright © 2019 Rutger Helling <rhelling@mykolab.com>
@@ -594,74 +594,92 @@ output), and Binutils.")
(sha256 (base32 (assoc-ref %llvm-monorepo-hashes version)))
(patches (map search-patch (assoc-ref %llvm-patches version)))))
-;;; TODO: Make the base llvm all other LLVM inherit from on core-updates.
-(define-public llvm-15
- (package
- (name "llvm")
- (version "15.0.7")
- (source (llvm-monorepo version))
- (build-system cmake-build-system)
- (outputs '("out" "opt-viewer"))
- (arguments
- (list
- #:configure-flags
- #~(list
- ;; These options are required for cross-compiling LLVM according
- ;; to <https://llvm.org/docs/HowToCrossCompileLLVM.html>.
- #$@(if (%current-target-system)
- (or (and=>
- (system->llvm-target-arch)
- (lambda (llvm-target-arch)
- #~((string-append "-DLLVM_TABLEGEN="
- #+(file-append this-package
- "/bin/llvm-tblgen"))
- #$(string-append "-DLLVM_DEFAULT_TARGET_TRIPLE="
- (%current-target-system))
- #$(string-append "-DLLVM_TARGET_ARCH=" llvm-target-arch)
- #$(string-append "-DLLVM_TARGETS_TO_BUILD="
- (system->llvm-target)))))
- (raise (condition
- (&package-unsupported-target-error
- (package this-package)
- (target (%current-target-system))))))
- '())
- ;; Note: sadly, the build system refuses the use of
- ;; -DBUILD_SHARED_LIBS=ON and the large static archives are needed to
- ;; build clang-runtime, so we cannot delete them.
- "-DLLVM_BUILD_LLVM_DYLIB=ON"
- "-DLLVM_LINK_LLVM_DYLIB=ON"
- "-DLLVM_ENABLE_FFI=ON"
- "-DLLVM_ENABLE_RTTI=ON" ;for some third-party utilities
- "-DLLVM_INSTALL_UTILS=ON" ;needed for rustc
- "-DLLVM_PARALLEL_LINK_JOBS=1") ;cater to smaller build machines
- ;; Don't use '-g' during the build, to save space.
- #:build-type "Release"
- #:phases
- #~(modify-phases %standard-phases
- (add-after 'unpack 'change-directory
- (lambda _
- (chdir "llvm")))
- (add-after 'install 'install-opt-viewer
- (lambda* (#:key outputs #:allow-other-keys)
- (let* ((opt-viewer-share (string-append #$output:opt-viewer
- "/share")))
- (mkdir-p opt-viewer-share)
- (rename-file (string-append #$output "/share/opt-viewer")
- opt-viewer-share)))))))
- (native-inputs (list python-wrapper perl))
- (inputs (list libffi))
- (propagated-inputs (list zlib)) ;to use output from llvm-config
- (home-page "https://www.llvm.org")
- (synopsis "Optimizing compiler infrastructure")
- (description
- "LLVM is a compiler infrastructure designed for compile-time, link-time,
+;; A base llvm package that can be used for creating other llvm packages.
+(define make-llvm
+ (mlambda (version)
+ (package
+ (name "llvm")
+ (version version)
+ (source (llvm-monorepo version))
+ (build-system cmake-build-system)
+ (outputs '("out" "opt-viewer"))
+ (arguments
+ (list
+ #:configure-flags
+ #~(list
+ ;; These options are required for cross-compiling LLVM according
+ ;; to <https://llvm.org/docs/HowToCrossCompileLLVM.html>.
+ #$@(if (%current-target-system)
+ (or (and=>
+ (system->llvm-target-arch)
+ (lambda (llvm-target-arch)
+ #~((string-append "-DLLVM_TABLEGEN="
+ #+(file-append this-package
+ "/bin/llvm-tblgen"))
+ #$@(if (version>=? version "16.0")
+ #~((string-append
+ "-DLLVM_NATIVE_TOOL_DIR="
+ #+(file-append this-package "/bin")))
+ #~())
+ #$@(if (version>=? version "17.0")
+ #~((string-append "-DLLVM_HOST_TRIPLE="
+ #$(%current-target-system)))
+ #~((string-append "-DLLVM_DEFAULT_TARGET_TRIPLE="
+ #$(%current-target-system))
+ (string-append "-DLLVM_TARGET_ARCH="
+ #$llvm-target-arch)))
+ #$(string-append "-DLLVM_TARGETS_TO_BUILD="
+ (system->llvm-target)))))
+ (raise (condition
+ (&package-unsupported-target-error
+ (package this-package)
+ (target (%current-target-system))))))
+ '())
+ ;; Note: sadly, the build system refuses the use of
+ ;; -DBUILD_SHARED_LIBS=ON and the large static archives are needed to
+ ;; build clang-runtime, so we cannot delete them.
+ "-DLLVM_BUILD_LLVM_DYLIB=ON"
+ "-DLLVM_LINK_LLVM_DYLIB=ON"
+ "-DLLVM_ENABLE_FFI=ON"
+ "-DLLVM_ENABLE_RTTI=ON" ;for some third-party utilities
+ "-DLLVM_INSTALL_UTILS=ON" ;needed for rustc
+ "-DLLVM_PARALLEL_LINK_JOBS=1") ;cater to smaller build machines
+ ;; Don't use '-g' during the build, to save space.
+ #:build-type "Release"
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'change-directory
+ (lambda _
+ (chdir "llvm")))
+ (add-after 'install 'install-opt-viewer
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((opt-viewer-share (string-append #$output:opt-viewer
+ "/share")))
+ (mkdir-p opt-viewer-share)
+ (rename-file (string-append #$output "/share/opt-viewer")
+ opt-viewer-share))))
+ ;; The build daemon goes OOM on i686-linux on this phase.
+ #$@(if (and (version>=? version "16.0")
+ (target-x86-32?))
+ #~((delete 'make-dynamic-linker-cache))
+ #~()))))
+ (native-inputs (list python-wrapper perl))
+ (inputs (list libffi))
+ (propagated-inputs (list zlib)) ;to use output from llvm-config
+ (home-page "https://www.llvm.org")
+ (synopsis "Optimizing compiler infrastructure")
+ (description
+ "LLVM is a compiler infrastructure designed for compile-time, link-time,
runtime, and idle-time optimization of programs from arbitrary programming
languages. It currently supports compilation of C and C++ programs, using
front-ends derived from GCC 4.0.1. A new front-end for the C family of
languages is in development. The compiler infrastructure includes mirror sets
of programming tools as well as libraries with equivalent functionality.")
- (license license:asl2.0)
- (properties `((release-monitoring-url . ,%llvm-release-monitoring-url)))))
+ (license license:asl2.0)
+ (properties `((release-monitoring-url . ,%llvm-release-monitoring-url))))))
+
+(define-public llvm-15
+ (make-llvm "15.0.7"))
(define-public llvm-14
(package
@@ -1428,18 +1446,7 @@ Library.")
#:patches '("clang-3.5-libc-search-path.patch")))
(define-public llvm-16
- (package
- (inherit llvm-15)
- (version "16.0.6")
- (source (llvm-monorepo version))
- (arguments
- (substitute-keyword-arguments (package-arguments llvm-15)
- ;; The build daemon goes OOM on i686-linux on this phase.
- ((#:phases phases #~'%standard-phases)
- (if (target-x86-32?)
- #~(modify-phases #$phases
- (delete 'make-dynamic-linker-cache))
- phases))))))
+ (make-llvm "16.0.6"))
(define-public clang-runtime-16
(clang-runtime-from-llvm llvm-16))
@@ -1470,18 +1477,7 @@ Library.")
(make-clang-toolchain clang-16 libomp-16))
(define-public llvm-17
- (package
- (inherit llvm-15)
- (version "17.0.6")
- (source (llvm-monorepo version))
- (arguments
- (substitute-keyword-arguments (package-arguments llvm-15)
- ;; The build daemon goes OOM on i686-linux on this phase.
- ((#:phases phases #~'%standard-phases)
- (if (target-x86-32?)
- #~(modify-phases #$phases
- (delete 'make-dynamic-linker-cache))
- phases))))))
+ (make-llvm "17.0.6"))
(define-public clang-runtime-17
(clang-runtime-from-llvm llvm-17))
@@ -1518,6 +1514,30 @@ Library.")
(source (llvm-monorepo version))
(arguments
(substitute-keyword-arguments (package-arguments llvm-15)
+ ((#:modules modules '((guix build cmake-build-system)
+ (guix build utils)))
+ (if (%current-target-system)
+ `((ice-9 regex)
+ (srfi srfi-1)
+ (srfi srfi-26)
+ ,@modules)
+ modules))
+ ((#:configure-flags cf #~'())
+ (if (%current-target-system)
+ ;; Use a newer version of llvm-tblgen and add the new
+ ;; configure-flag needed for cross-building.
+ #~(cons* (string-append "-DLLVM_TABLEGEN="
+ #+(file-append this-package
+ "/bin/llvm-tblgen"))
+ (string-append "-DLLVM_NATIVE_TOOL_DIR="
+ #+(file-append this-package "/bin"))
+ (string-append "-DLLVM_HOST_TRIPLE="
+ #$(%current-target-system))
+ (remove
+ (cut string-match
+ "-DLLVM_(DEFAULT_TARGET|TARGET_ARCH|TABLEGEN).*" <>)
+ #$cf))
+ cf))
;; The build daemon goes OOM on i686-linux on this phase.
((#:phases phases #~'%standard-phases)
(if (target-x86-32?)
@@ -1554,18 +1574,7 @@ Library.")
(make-clang-toolchain clang-18 libomp-18))
(define-public llvm-19
- (package
- (inherit llvm-15)
- (version "19.1.4")
- (source (llvm-monorepo version))
- (arguments
- (substitute-keyword-arguments (package-arguments llvm-15)
- ;; The build daemon goes OOM on i686-linux on this phase.
- ((#:phases phases #~'%standard-phases)
- (if (target-x86-32?)
- #~(modify-phases #$phases
- (delete 'make-dynamic-linker-cache))
- phases))))))
+ (make-llvm "19.1.4"))
(define-public clang-runtime-19
(clang-runtime-from-llvm llvm-19))
diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm
index cd39b34d83..d248c1fc34 100644
--- a/gnu/packages/machine-learning.scm
+++ b/gnu/packages/machine-learning.scm
@@ -583,7 +583,7 @@ Performance is achieved by using the LLVM JIT compiler.")
(deprecated-package "guile-aiscm-next" guile-aiscm))
(define-public llama-cpp
- (let ((tag "b4137"))
+ (let ((tag "b4549"))
(package
(name "llama-cpp")
(version (string-append "0.0.0-" tag))
@@ -595,7 +595,7 @@ Performance is achieved by using the LLVM JIT compiler.")
(commit tag)))
(file-name (git-file-name name tag))
(sha256
- (base32 "0agm0188f9y2pr15v83a2fm0k9b8wag96qb3ryq4l2g6nkysiqlj"))))
+ (base32 "1xf2579q0r8nv06kj8padi6w9cv30w58vdys65nq8yzm3dy452a1"))))
(build-system cmake-build-system)
(arguments
(list
@@ -630,9 +630,8 @@ Performance is achieved by using the LLVM JIT compiler.")
;; run in Guix build environment
(lambda _
(substitute* '("examples/eval-callback/CMakeLists.txt")
- (("add_test") "#add_test"))
- (substitute* '("examples/eval-callback/CMakeLists.txt")
- (("set_property") "#set_property"))))
+ (("COMMAND llama-eval-callback")
+ "COMMAND true llama-eval-callback"))))
(add-before 'install 'install-python-scripts
(lambda _
(let ((bin (string-append #$output "/bin/")))
@@ -1092,6 +1091,76 @@ It currently houses implementations of
")
(license license:expat))) ; MIT License
+(define-public python-pot
+ (package
+ (name "python-pot")
+ (version "0.9.5")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "pot" version))
+ (sha256
+ (base32 "0hk0dmjgnpwka0a7gyzrcq155wzlvzcrsav3qaizyg0wymzywi4n"))
+ (snippet '(delete-file "ot/lp/emd_wrap.cpp"))))
+ (build-system pyproject-build-system)
+ (propagated-inputs
+ (list python-autograd
+ python-numpy
+ python-pytorch
+ python-pytorch-geometric
+ python-pymanopt
+ python-scikit-learn
+ python-scipy))
+ (native-inputs (list python-cython
+ python-setuptools
+ python-wheel))
+ (home-page "https://github.com/PythonOT/POT")
+ (synopsis "Python Optimal Transport Library")
+ (description "This Python library provides several solvers for
+optimization problems related to Optimal Transport for signal, image
+processing and machine learning.")
+ (license license:expat)))
+
+(define-public python-pymanopt
+ (package
+ (name "python-pymanopt")
+ (version "2.2.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "pymanopt" version))
+ (sha256
+ (base32 "1nm1yz5hbj1valqq23r8c1g9rhfdndfswlqv6xrnvc3f8fd95167"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ ;; Tests require jax and tensorflow, which are optional.
+ #:tests? #false
+ #:phases
+ '(modify-phases %standard-phases
+ ;; This is probably a bad idea. We don't have scipy 1.13 just yet.
+ (add-after 'unpack 'relax-requirements
+ (lambda _
+ (substitute* "pyproject.toml"
+ ((",!=1.12\\.\\*") "")))))))
+ (propagated-inputs (list python-numpy python-scipy))
+ (native-inputs (list python-autograd
+ python-flake8
+ python-flake8-bugbear
+ python-isort
+ python-matplotlib
+ python-pytest
+ python-pytest-cov
+ python-setuptools
+ python-setuptools-scm
+ python-wheel))
+ (home-page "https://pymanopt.org/")
+ (synopsis "Toolbox for optimization on Riemannian manifolds")
+ (description
+ "This package is a toolbox for optimization on Riemannian manifolds with
+support for automatic differentiation.")
+ (license license:bsd-3)))
+
(define-public python-ripser
(package
(name "python-ripser")
@@ -5530,6 +5599,37 @@ and common image transformations for computer vision.")
Python.")
(license license:bsd-3)))
+(define-public python-geomloss
+ (package
+ (name "python-geomloss")
+ (version "0.2.6")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "geomloss" version))
+ (sha256
+ (base32 "1szsjpcwjlvqiiws120fwn581a6hs8gm9si8c75v40ahbh44f729"))))
+ (build-system pyproject-build-system)
+ ;; There are no automated tests.
+ (arguments (list #:tests? #false))
+ (propagated-inputs (list python-numpy python-pytorch))
+ (native-inputs (list python-setuptools python-wheel))
+ (home-page "https://www.kernel-operations.io/geomloss/")
+ (synopsis
+ "Geometric loss functions between point clouds, images and volumes")
+ (description
+ "The GeomLoss library provides efficient GPU implementations for:
+
+@itemize
+@item Kernel norms (also known as Maximum Mean Discrepancies).
+@item Hausdorff divergences, which are positive definite generalizations of
+the Chamfer-ICP loss and are analogous to log-likelihoods of Gaussian Mixture
+Models.
+@item Debiased Sinkhorn divergences, which are affordable yet positive and
+definite approximations of Optimal Transport (Wasserstein) distances.
+@end itemize")
+ (license license:expat)))
+
(define-public python-hmmlearn
(package
(name "python-hmmlearn")
diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
index 710cdc96ef..91b106c33c 100644
--- a/gnu/packages/mail.scm
+++ b/gnu/packages/mail.scm
@@ -3311,7 +3311,9 @@ from the Cyrus IMAP project.")
libxcrypt
zlib))
(native-inputs
- (list bison
+ (list autoconf
+ automake
+ bison
groff ;for man pages
pkg-config))
(arguments
@@ -3336,10 +3338,13 @@ from the Cyrus IMAP project.")
;; Fix some incorrectly hard-coded external tool file names.
(add-after 'unpack 'patch-FHS-file-names
(lambda* (#:key inputs #:allow-other-keys)
- ;; avoids warning smtpd: couldn't enqueue offline message
- ;; smtpctl exited abnormally
- (substitute* "usr.sbin/smtpd/smtpd.h"
- (("/usr/bin/smtpctl") "/run/privileged/bin/smtpctl"))
+ (substitute* "mk/pathnames"
+ ;; avoids warning smtpd: couldn't enqueue offline message
+ ;; smtpctl exited abnormally
+ (("(-DPATH_SMTPCTL=).*\\\\" all def)
+ (string-append def "\\\"/run/privileged/bin/smtpctl\\\" \\"))
+ (("(-DPATH_MAKEMAP=).*\\\\" all def)
+ (string-append def "\\\"/run/privileged/bin/makemap\\\" \\")))
(substitute* "usr.sbin/smtpd/smtpctl.c"
;; ‘gzcat’ is auto-detected at compile time, but ‘cat’ isn't.
(("/bin/cat" file) (search-input-file inputs file)))
diff --git a/gnu/packages/make-bootstrap.scm b/gnu/packages/make-bootstrap.scm
index 59c117f226..864d84d89e 100644
--- a/gnu/packages/make-bootstrap.scm
+++ b/gnu/packages/make-bootstrap.scm
@@ -475,11 +475,13 @@ for `sh' in $PATH, and without nscd, and with static NSS modules."
glibc)))))
(inputs
`(("kernel-headers"
- ,(if (or (and (%current-target-system)
+ ,(cond ((or (and (%current-target-system)
(target-hurd? (%current-target-system)))
(string-suffix? "-hurd" (%current-system)))
- gnumach-headers
- linux-libre-headers))))
+ gnumach-headers)
+ ;; linux 5.19 include loongarch support.
+ ((target-loongarch64?) linux-libre-headers-5.19.17)
+ (else linux-libre-headers)))))
(propagated-inputs '())
;; Only one output.
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index ed9c7bfa0e..1e9de1f38c 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -1773,6 +1773,7 @@ extremely large and complex data collections.")
(license (license:x11-style
"https://www.hdfgroup.org/ftp/HDF5/current/src/unpacked/COPYING"))))
+;; When updating this package, please also update hdf-java.
(define-public hdf5-1.10
(package
(inherit hdf5-1.8)
@@ -1835,131 +1836,97 @@ extremely large and complex data collections.")
;; Default version of HDF5.
hdf5-1.10)
+;; Keep this in sync with the current hdf5 package.
(define-public hdf-java
(package
(name "hdf-java")
- (version "3.3.2")
+ (version "1.10.9")
(source
(origin
- (method url-fetch)
- (uri (string-append
- "https://www.hdfgroup.org/ftp/HDF5/releases/HDF-JAVA/hdfjni-"
- version "/src/CMake-hdfjava-" version ".tar.gz"))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/HDFGroup/hdf5")
+ (commit (string-append "hdf5-"
+ (string-map
+ (lambda (c) (if (char=? c #\.) #\_ c))
+ version)))))
+ (file-name (git-file-name name version))
(sha256
- (base32 "0m1gp2aspcblqzmpqbdpfp6giskws85ds6p5gz8sx7asyp7wznpr"))
+ (base32 "1sjdcnafvzsy99vqhybkps8rnwmxb6fsvmkw89wb2mrrp4vi5z9v"))
(modules '((guix build utils)))
(snippet ; Make sure we don't use the bundled sources and binaries.
- `(begin
- (for-each delete-file
- (list "SZip.tar.gz" "ZLib.tar.gz" "JPEG8d.tar.gz"
- "HDF4.tar.gz" "HDF5.tar.gz"))
- (delete-file-recursively ,(string-append "hdfjava-" version "/lib"))
- #t))))
+ '(for-each delete-file
+ (find-files "java/lib" "\\.jar$")))))
(build-system gnu-build-system)
+ (arguments
+ (list
+ #:configure-flags
+ #~(list "--enable-java"
+ "--disable-tools")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'unbundle
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let ((simple
+ (search-input-file
+ inputs "/lib/m2/org/slf4j/slf4j-simple/1.7.25/slf4j-simple-1.7.25.jar"))
+ (api
+ (search-input-file
+ inputs "/lib/m2/org/slf4j/slf4j-api/1.7.25/slf4j-api-1.7.25.jar"))
+ (junit
+ (search-input-file
+ inputs "/lib/m2/junit/junit/4.12/junit-4.12.jar"))
+ (hamcrest
+ (search-input-file
+ inputs "/lib/m2/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar")))
+ (substitute* (append (find-files "java" "Makefile.am")
+ (find-files "java" "Makefile.in"))
+ (("\\$\\(top_srcdir\\)/java/lib/ext/slf4j-simple-1.7.33.jar")
+ simple)
+ (("\\$\\(top_srcdir\\)/java/lib/slf4j-api-1.7.33.jar")
+ api)
+ (("\\$\\(top_srcdir\\)/java/lib/junit.jar")
+ junit)
+ (("\\$\\(top_srcdir\\)/java/lib/hamcrest-core.jar")
+ hamcrest))
+ (substitute* '("java/test/junit.sh.in"
+ "java/examples/datatypes/JavaDatatypeExample.sh.in"
+ "java/examples/datasets/JavaDatasetExample.sh.in"
+ "java/examples/intro/JavaIntroExample.sh.in"
+ "java/examples/groups/JavaGroupExample.sh.in")
+ (("^LIST_JAR_TESTFILES=\"" m)
+ (string-append m hamcrest "\n"
+ junit "\n"
+ api "\n"
+ simple "\n"))
+ (("^\\$HDFLIB_HOME/.*") "")
+ (("\"\\$BLDLIBDIR\"/junit.jar")
+ junit)
+ (("\"\\$BLDLIBDIR\"/hamcrest-core.jar")
+ hamcrest)
+ (("\"\\$BLDLIBDIR\"/slf4j-api-1.7.33.jar")
+ api)
+ (("\"\\$BLDLIBDIR\"/slf4j-simple-1.7.33.jar")
+ simple)
+ (("/usr/bin/test")
+ (search-input-file inputs "/bin/test"))
+ (("/usr/bin/uname")
+ (search-input-file inputs "/bin/uname")))
+ (substitute* (find-files "java/test/testfiles/" ".*\\.txt$")
+ (("JUnit version 4.11")
+ "JUnit version 4.12-SNAPSHOT"))))))))
(native-inputs
- `(("jdk" ,icedtea "jdk")
- ("automake" ,automake) ; For up to date 'config.guess' and 'config.sub'.
- ;; For tests:
- ("hamcrest-core" ,java-hamcrest-core)
- ("junit" ,java-junit)
- ("slf4j-simple" ,java-slf4j-simple)))
+ (list `(,icedtea "jdk")
+ ;; For tests:
+ java-hamcrest-core
+ java-junit
+ java-slf4j-simple))
(inputs
- `(("hdf4" ,hdf4)
- ("hdf5" ,hdf5-1.8)
- ("zlib" ,zlib)
- ("libjpeg" ,libjpeg-turbo)
- ("slf4j-api" ,java-slf4j-api)))
- (arguments
- `(#:configure-flags
- (list (string-append "--target=" ,(or (%current-target-system) (%current-system)))
- (string-append "--with-jdk=" (assoc-ref %build-inputs "jdk") "/include,"
- (assoc-ref %build-inputs "jdk") "/lib" )
- (string-append "--with-hdf4=" (assoc-ref %build-inputs "hdf4") "/lib")
- (string-append "--with-hdf5=" (assoc-ref %build-inputs "hdf5") "/lib"))
-
- #:make-flags
- (list (string-append "HDFLIB=" (assoc-ref %build-inputs "hdf4") "/lib")
- (string-append "HDF5LIB=" (assoc-ref %build-inputs "hdf5") "/lib")
- (string-append "ZLIB=" (search-input-file %build-inputs "/lib/libz.so"))
- (string-append "JPEGLIB="
- (search-input-file %build-inputs "/lib/libjpeg.so"))
- "LLEXT=so")
-
- #:phases
- (modify-phases %standard-phases
- (add-before 'configure 'chdir-to-source
- (lambda _ (chdir ,(string-append "hdfjava-" version)) #t))
- (add-before 'configure 'patch-build
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (substitute* "configure"
- (("COPT=\"") "COPT=\"-O2 ") ; CFLAGS is ignored in Makefiles
- (("/bin/cat") (which "cat")))
- ;; Set classpath for compilation
- (substitute* '("hdf/hdf5lib/Makefile.in"
- "hdf/hdf5lib/exceptions/Makefile.in"
- "hdf/hdflib/Makefile.in")
- (("\\$\\(TOP\\)/lib/slf4j-api-1\\.7\\.5\\.jar")
- ;; 'slf4j-api-X.Y.Z.jar' is installed in a Maven-style
- ;; directory, so use 'find-files' to find it.
- (car (find-files (assoc-ref inputs "slf4j-api")
- "^slf4j-api.*\\.jar$"))))
- ;; Replace outdated config.sub and config.guess:
- (with-directory-excursion "config"
- (for-each (lambda (file)
- (install-file
- (search-input-file inputs
- (string-append
- "/share/automake-"
- ,(version-major+minor (package-version automake))
- "/" file))
- "."))
- '("config.sub" "config.guess")))
-
- ;; Fix embedded version number
- (let ((hdf5version (list ,@(string-split (package-version hdf5) #\.))))
- (substitute* "hdf/hdf5lib/H5.java"
- (("1, 8, 19")
- (string-join hdf5version ", "))))
-
- (mkdir-p (string-append (assoc-ref outputs "out")))
- ;; Set classpath for tests
- (let* ((build-dir (getcwd))
- (lib (string-append build-dir "/lib"))
- (jhdf (string-append lib "/jhdf.jar"))
- (jhdf5 (string-append lib "/jhdf5.jar"))
- (testjars
- (append
- (map (lambda (i)
- (car (find-files (assoc-ref inputs i)
- (string-append "^" i
- ".*\\.jar$"))))
- '("slf4j-api" "slf4j-simple"))
- (list
- (car (find-files (assoc-ref inputs "junit") "jar$"))
- (car (find-files (assoc-ref inputs "hamcrest-core")
- "jar$")))))
- (class-path
- (string-join `("." ,build-dir ,jhdf ,jhdf5 ,@testjars) ":")))
-
- (substitute* '("test/hdf5lib/Makefile.in"
- "test/hdf5lib/junit.sh.in"
- "examples/runExample.sh.in")
- (("/usr/bin/test")
- (search-input-file inputs "/bin/test"))
- (("/usr/bin/uname")
- (search-input-file inputs "/bin/uname"))
- (("CLASSPATH=[^\n]*")
- (string-append "CLASSPATH=" class-path)))
- (setenv "CLASSPATH" class-path))
- #t))
- (add-before 'check 'build-examples
- (lambda _
- (apply invoke `("javac"
- ,@(find-files "examples" ".*\\.java"))))))
-
- #:parallel-build? #f
-
- #:parallel-tests? #f ))
+ (list hdf4
+ hdf5
+ java-slf4j-api
+ libjpeg-turbo
+ zlib))
(home-page "https://support.hdfgroup.org/products/java")
(synopsis "Java interface for the HDF4 and HDF5 libraries")
(description "Java HDF Interface (JHI) and Java HDF5 Interface (JHI5) use
@@ -10898,3 +10865,25 @@ groups. Documentation is available on
(home-page "http://www-math.univ-poitiers.fr/~maavl/LiE/")
;; <http://www-math.univ-poitiers.fr/~maavl/LiE/> says LGPL.
(license license:lgpl3+)))
+
+(define-public exprtk
+ (package
+ (name "exprtk")
+ (version "0.0.3")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/ArashPartow/exprtk")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0pszh11w29nc256qhil51g3635n06ncf0ihg7g4h86jrhqsk7183"))))
+ (build-system copy-build-system)
+ (arguments
+ '(#:install-plan '(("exprtk.hpp" "include/"))))
+ (synopsis "C++ Mathematical Expression Parsing And Evaluation Library")
+ (description "ExprTk is a C++ headers only library for mathematical
+expression parsing and evaluation.")
+ (home-page "https://www.partow.net/programming/exprtk/index.html")
+ (license license:expat)))
diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index 01361c6889..f6ac865512 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -44,7 +44,7 @@
;;; Copyright © 2024 Carlo Zancanaro <carlo@zancanaro.id.au>
;;; Copyright © 2024 Wilko Meyer <w@wmeyer.eu>
;;; Copyright © 2024 Ashish SHUKLA <ashish.is@lostca.se>
-;;; Copyright © 2024 Igor Goryachev <igor@goryachev.org>
+;;; Copyright © 2024, 2025 Igor Goryachev <igor@goryachev.org>
;;; Copyright © 2024 Nguyễn Gia Phong <mcsinyx@disroot.org>
;;;
;;; This file is part of GNU Guix.
@@ -3739,7 +3739,7 @@ a text snippet), using @code{libphonenumber}.")
(define-public ejabberd
(package
(name "ejabberd")
- (version "24.07")
+ (version "24.12")
(source
(origin
(method git-fetch)
@@ -3748,7 +3748,7 @@ a text snippet), using @code{libphonenumber}.")
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "0d5i9skgfjzs2100k0g99sigc2w61480ysz3va6pmb4nx43100g3"))))
+ (base32 "1l82d8l4ck60vijzirl4xkyc2wv28jnq6amwi8dralm7r218hg7m"))))
(build-system rebar-build-system)
(inputs (list bash-minimal coreutils procps sed))
(native-inputs
diff --git a/gnu/packages/mtools.scm b/gnu/packages/mtools.scm
index 267e0af3b0..bd17ac1c52 100644
--- a/gnu/packages/mtools.scm
+++ b/gnu/packages/mtools.scm
@@ -29,14 +29,14 @@
(define-public mtools
(package
(name "mtools")
- (version "4.0.46")
+ (version "4.0.47")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/mtools/mtools-"
version ".tar.bz2"))
(sha256
(base32
- "1h0npkb90hl5ki841j6npbvsplwj05clgv14g5wbg3zqb7c8vbcs"))
+ "1zy7gjyrbr9myixw1gcwgvc7klbdql4sjwayp68hbxf3ih3hdaii"))
(patches
(search-patches "mtools-mformat-uninitialized.patch"))))
(build-system gnu-build-system)
diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
index 12b4d72a55..6659dc0d53 100644
--- a/gnu/packages/music.scm
+++ b/gnu/packages/music.scm
@@ -4373,7 +4373,8 @@ your music.")
python-musicbrainzngs
python-requests
python-six
- python-unidecode))
+ python-unidecode
+ python-typing-extensions))
(home-page "https://github.com/unrblt/beets-bandcamp")
(synopsis "Bandcamp plugin for beets")
(description
diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
index 467e2e97da..970a502b59 100644
--- a/gnu/packages/networking.scm
+++ b/gnu/packages/networking.scm
@@ -65,6 +65,7 @@
;;; Copyright © 2022 Dominic Martinez <dom@dominicm.dev>
;;; Copyright © 2024 Alexey Abramov <levenson@mmer.org>
;;; Copyright © 2024 James Smith <jsubuntuxp@disroot.org>
+;;; Copyright © 2025 Sughosha <sughosha@disroot.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -4637,6 +4638,29 @@ network.")
QUIC protocol.")
(license license:expat)))
+(define-public yaz
+ (package
+ (name "yaz")
+ (version "5.34.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://download.indexdata.com/pub/yaz/yaz-"
+ version ".tar.gz"))
+ (sha256
+ (base32 "1h54vda4rgisih309jbdzs6d5vk5mfv5ca9csdbwwrg8hgjbjk6f"))))
+ (build-system gnu-build-system)
+ (home-page "https://www.indexdata.com/resources/software/yaz/")
+ (synopsis "Z39.50 toolkit for C")
+ (description
+ "YAZ is a C/C++ library for information retrieval applications using
+@uref{https://www.loc.gov/z3950/, Z39.50},
+@uref{https://www.loc.gov/standards/sru/, SRU} or
+@uref{https://solr.apache.org/, Solr Web Service} protocols for information
+retrieval. It also offers @uref{https://zoom.z3950.org/, ZOOM} API
+implementing them.")
+ (license license:bsd-3)))
+
(define-public yggdrasil
(package
(name "yggdrasil")
diff --git a/gnu/packages/ntp.scm b/gnu/packages/ntp.scm
index f7f76400a2..33ea790c9a 100644
--- a/gnu/packages/ntp.scm
+++ b/gnu/packages/ntp.scm
@@ -3,7 +3,7 @@
;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
;;; Copyright © 2015, 2018 Ludovic Courtès <ludo@gnu.org>
-;;; Copyright © 2016, 2017, 2018, 2022 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2016, 2017, 2018, 2022, 2025 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2018–2021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2019 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2021 Marius Bakke <marius@gnu.org>
@@ -78,6 +78,14 @@
(add-after 'unpack 'set-CC
(lambda _
(setenv "CC" #$(cc-for-target))))
+ #$@(if (this-package-native-input "ruby-asciidoctor")
+ #~()
+ #~((add-after 'unpack 'adjust-makefile
+ (lambda _
+ (substitute* "doc/Makefile.in"
+ (("install:")
+ (string-append "install:\n\n"
+ "not-install:")))))))
(add-after 'unpack 'stay-inside-out
;; Simply setting CHRONYVARDIR to something nonsensical at install
;; time would result in nonsense file names in man pages.
@@ -93,7 +101,11 @@
(copy-recursively "examples"
(string-append doc "/examples"))))))))
(native-inputs
- (list bison ruby-asciidoctor pkg-config))
+ (append (list bison
+ pkg-config)
+ (if (supported-package? ruby-asciidoctor)
+ (list ruby-asciidoctor)
+ '())))
(inputs
(list gnutls libcap libseccomp nettle))
(home-page "https://chrony-project.org/")
diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm
index af1760c2fd..d06df2c55b 100644
--- a/gnu/packages/package-management.scm
+++ b/gnu/packages/package-management.scm
@@ -1543,8 +1543,8 @@ environments.")
"0k9zkdyyzir3fvlbcfcqy17k28b51i20rpbjwlx2i1mwd2pw9cxc")))))))
(define-public guix-build-coordinator
- (let ((commit "44c81082c34c6d819743cf452db8d1769301805a")
- (revision "112"))
+ (let ((commit "d588c9c1920b863a17b68e5fe15b8f9d7bb1969d")
+ (revision "113"))
(package
(name "guix-build-coordinator")
(version (git-version "0" revision commit))
@@ -1555,7 +1555,7 @@ environments.")
(commit commit)))
(sha256
(base32
- "0chry1y781qb0s8mvkmbrm0473bd0rdw4b96vqm97fbgsvgkb6x6"))
+ "13hgvxq1ngngjp68afx5njc0q3vjbkxvsjy4xygz3s04y748j826"))
(file-name (string-append name "-" version "-checkout"))))
(build-system gnu-build-system)
(arguments
diff --git a/gnu/packages/parallel.scm b/gnu/packages/parallel.scm
index 0197891fb6..f3340f66e3 100644
--- a/gnu/packages/parallel.scm
+++ b/gnu/packages/parallel.scm
@@ -78,14 +78,14 @@
(define-public parallel
(package
(name "parallel")
- (version "20241222")
+ (version "20250122")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://gnu/parallel/parallel-"
version ".tar.bz2"))
(sha256
- (base32 "0y8s635p21k9m27p08c1hm2xhy3f2wm7q6v0z43l2q4qn66066vs"))
+ (base32 "1cwdpjcy211gniv4d5j8hk8cvjsz8dd8w71qwpwhqcvf6idrxiq3"))
(snippet
'(begin
(use-modules (guix build utils))
diff --git a/gnu/packages/patches/ark-skip-xar-test.patch b/gnu/packages/patches/ark-skip-xar-test.patch
index be891ad139..e9286618cb 100644
--- a/gnu/packages/patches/ark-skip-xar-test.patch
+++ b/gnu/packages/patches/ark-skip-xar-test.patch
@@ -15,7 +15,7 @@ Guix libarchive no support xar.
--- ark-24.05.2.orig/autotests/kerfuffle/extracttest.cpp 2024-07-08 11:21:25.849219202 +0800
+++ ark-24.05.2/autotests/kerfuffle/extracttest.cpp 2024-07-08 11:22:01.413789814 +0800
-@@ -329,18 +329,5 @@
+@@ -329,19 +329,6 @@
qDebug() << "lz4 executable not found in path. Skipping lz4 test.";
}
@@ -32,5 +32,6 @@ Guix libarchive no support xar.
- archivePath = QFINDTESTDATA("data/simplearchive.xar");
- setupRow("extract all entries from a xar archive with path", archivePath, QList<Archive::Entry *>(), optionsPreservePaths, 6);
-
- archivePath = QFINDTESTDATA("data/hello-1.0-x86_64.AppImage");
- setupRow("extract all entries from an AppImage with path", archivePath, QList<Archive::Entry *>(), optionsPreservePaths, 7);
+ // Test tarball with leading /, i.e. here /tmp/testfile instead of tmp/testfile
+ archivePath = QFINDTESTDATA("data/absolutepath.tar.xz");
+ setupRow("extract all entries from a tar archive with absolute path", archivePath, QList<Archive::Entry *>(), optionsPreservePaths, 2);
diff --git a/gnu/packages/patches/dolphin-emu-data.patch b/gnu/packages/patches/dolphin-emu-data.patch
new file mode 100644
index 0000000000..6ba959b929
--- /dev/null
+++ b/gnu/packages/patches/dolphin-emu-data.patch
@@ -0,0 +1,15 @@
+Resolve a hang in the menu of this game.
+
+Upstream-status: https://github.com/dolphin-emu/dolphin/pull/13285
+
+diff --git a/Data/Sys/GameSettings/GWR.ini b/Data/Sys/GameSettings/GWR.ini
+new file mode 100644
+index 0000000000..fdbc0c312f
+--- /dev/null
++++ b/Data/Sys/GameSettings/GWR.ini
+@@ -0,0 +1,5 @@
++# GWR - WAVE RACE / BLUE STORM
++
++[Core]
++# Disable multi-threading to avoid a hang in the game menu.
++CPUThread = False
diff --git a/gnu/packages/patches/libretro-dolphin-emu-data.patch b/gnu/packages/patches/libretro-dolphin-emu-data.patch
new file mode 100644
index 0000000000..e98660d8ab
--- /dev/null
+++ b/gnu/packages/patches/libretro-dolphin-emu-data.patch
@@ -0,0 +1,17 @@
+Resolve a hang in the menu of this game.
+
+Upstream-status: https://github.com/libretro/dolphin/pull/337
+
+diff --git a/Data/Sys/GameSettings/GWR.ini b/Data/Sys/GameSettings/GWR.ini
+new file mode 100644
+index 0000000000..a55f4d29cd
+--- /dev/null
++++ b/Data/Sys/GameSettings/GWR.ini
+@@ -0,0 +1,7 @@
++# GWR - WAVE RACE / BLUE STORM
++
++[Core]
++# Disable multi-threading to avoid a hang in the game menu.
++# TODO: Change to 'CPUThread = False' after rebasing to latest
++# upstream (see commit 869edd5a66).
++SyncGPU = True
diff --git a/gnu/packages/patches/retroarch-improved-search-paths.patch b/gnu/packages/patches/retroarch-improved-search-paths.patch
index 6fcd4745ac..ae815bfbb1 100644
--- a/gnu/packages/patches/retroarch-improved-search-paths.patch
+++ b/gnu/packages/patches/retroarch-improved-search-paths.patch
@@ -1,38 +1,27 @@
-Allows discovery of assets file via the LIBRETRO_ASSETS_DIRECTORY environment
-variable.
+Add support for various environment variables, used in search paths.
-Upstream-status: https://github.com/libretro/RetroArch/pull/17054
+Upstream status: https://github.com/libretro/RetroArch/pull/17440
diff --git a/configuration.c b/configuration.c
-index 5808a3f21c..0cc2909102 100644
+index 7eb6c08e1e..0449e77ac2 100644
--- a/configuration.c
+++ b/configuration.c
-@@ -3573,6 +3573,11 @@ static bool config_load_file(global_t *global,
+@@ -3568,6 +3568,14 @@ static bool config_load_file(global_t *global,
{
unsigned i;
char tmp_str[PATH_MAX_LENGTH];
+ char* libretro_directory = NULL;
+ char* libretro_assets_directory = NULL;
+ char* libretro_autoconfig_directory = NULL;
++ char* libretro_cheats_directory = NULL;
++ char* libretro_database_directory = NULL;
++ char* libretro_system_directory = NULL;
+ char* libretro_video_filter_directory = NULL;
+ char* libretro_video_shader_directory = NULL;
static bool first_load = true;
bool without_overrides = false;
unsigned msg_color = 0;
-@@ -3848,12 +3853,6 @@ static bool config_load_file(global_t *global,
- strlcpy(path_settings[i].ptr, tmp_str, PATH_MAX_LENGTH);
- }
-
--#if !IOS
-- if (config_get_path(conf, "libretro_directory", tmp_str, sizeof(tmp_str)))
-- configuration_set_string(settings,
-- settings->paths.directory_libretro, tmp_str);
--#endif
--
- #ifdef RARCH_CONSOLE
- if (conf)
- video_driver_load_settings(global, conf);
-@@ -3861,6 +3860,20 @@ static bool config_load_file(global_t *global,
+@@ -3862,6 +3870,38 @@ static bool config_load_file(global_t *global,
/* Post-settings load */
@@ -45,15 +34,33 @@ index 5808a3f21c..0cc2909102 100644
+ }
+
+ libretro_autoconfig_directory = getenv("LIBRETRO_AUTOCONFIG_DIRECTORY");
-+ if (libretro_autoconfig_directory)
++ if (libretro_autoconfig_directory) /* override configuration value */
+ configuration_set_string(settings,
+ settings->paths.directory_autoconfig,
+ libretro_autoconfig_directory);
+
++ libretro_cheats_directory = getenv("LIBRETRO_CHEATS_DIRECTORY");
++ if (libretro_cheats_directory) /* override configuration value */
++ configuration_set_string(settings,
++ settings->paths.path_cheat_database,
++ libretro_cheats_directory);
++
++ libretro_database_directory = getenv("LIBRETRO_DATABASE_DIRECTORY");
++ if (libretro_database_directory) /* override configuration value */
++ configuration_set_string(settings,
++ settings->paths.path_content_database,
++ libretro_database_directory);
++
++ libretro_system_directory = getenv("LIBRETRO_SYSTEM_DIRECTORY");
++ if (libretro_system_directory) /* override configuration value */
++ configuration_set_string(settings,
++ settings->paths.directory_system,
++ libretro_system_directory);
++
if ( (rarch_flags & RARCH_FLAGS_HAS_SET_USERNAME)
&& (override_username))
{
-@@ -4032,15 +4045,27 @@ static bool config_load_file(global_t *global,
+@@ -4026,15 +4066,27 @@ static bool config_load_file(global_t *global,
*settings->paths.path_menu_wallpaper = '\0';
if (string_is_equal(settings->paths.path_rgui_theme_preset, "default"))
*settings->paths.path_rgui_theme_preset = '\0';
@@ -85,18 +92,18 @@ index 5808a3f21c..0cc2909102 100644
#ifdef _3DS
if (string_is_equal(settings->paths.directory_bottom_assets, "default"))
diff --git a/docs/retroarch.6 b/docs/retroarch.6
-index 7478040e17..f864e0e0d5 100644
+index 7478040e17..d38a8ee565 100644
--- a/docs/retroarch.6
+++ b/docs/retroarch.6
@@ -1,6 +1,6 @@
.\" retroarch.6:
-.TH "RETROARCH" "6" "November 1, 2011" "RETROARCH" "System Manager's Manual: retroarch"
-+.TH "RETROARCH" "6" "September 28, 2024" "RETROARCH" "System Manager's Manual: retroarch"
++.TH "RETROARCH" "6" "January 20, 2025" "RETROARCH" "System Manager's Manual: retroarch"
.SH NAME
-@@ -239,3 +239,36 @@ Disables all kinds of content patching.
+@@ -239,3 +239,54 @@ Disables all kinds of content patching.
.TP
\fB-D, --detach\fR
Detach from the current console. This is currently only relevant for Microsoft Windows.
@@ -123,6 +130,24 @@ index 7478040e17..f864e0e0d5 100644
+"joypad_autoconfig_dir" configuration file option.
+
+.TP
++\fBLIBRETRO_CHEATS_DIRECTORY\fR
++Specify the directory where RetroArch looks for cheat files,
++overriding the value of the "cheat_database_path" configuration file
++option.
++
++.TP
++\fBLIBRETRO_DATABASE_DIRECTORY\fR
++Specify the directory where RetroArch looks for database files,
++overriding the value of the "content_database_path" configuration file
++option.
++
++.TP
++\fBLIBRETRO_SYSTEM_DIRECTORY\fR
++Specify the directory where RetroArch looks for system files,
++overriding the value of the "system_directory" configuration file
++option.
++
++.TP
+\fBLIBRETRO_VIDEO_FILTER_DIRECTORY\fR
+Specify the directory where RetroArch looks for video filters,
+overriding the value of the "video_filter_dir" configuration file
@@ -134,21 +159,24 @@ index 7478040e17..f864e0e0d5 100644
+overriding the value of the "video_shader_dir" configuration file
+option.
diff --git a/frontend/drivers/platform_unix.c b/frontend/drivers/platform_unix.c
-index c157d355a1..ddf0b5ca87 100644
+index 778f54eeda..cce011c875 100644
--- a/frontend/drivers/platform_unix.c
+++ b/frontend/drivers/platform_unix.c
-@@ -1324,6 +1324,10 @@ static void frontend_unix_get_env(int *argc,
+@@ -1323,6 +1323,13 @@ static void frontend_unix_get_env(int *argc,
{
unsigned i;
const char* libretro_directory = getenv("LIBRETRO_DIRECTORY");
+ const char* libretro_assets_directory = getenv("LIBRETRO_ASSETS_DIRECTORY");
+ const char* libretro_autoconfig_directory = getenv("LIBRETRO_AUTOCONFIG_DIRECTORY");
++ const char* libretro_cheats_directory = getenv("LIBRETRO_CHEATS_DIRECTORY");
++ const char* libretro_database_directory = getenv("LIBRETRO_DATABASE_DIRECTORY");
++ const char* libretro_system_directory = getenv("LIBRETRO_SYSTEM_DIRECTORY");
+ const char* libretro_video_filter_directory = getenv("LIBRETRO_VIDEO_FILTER_DIRECTORY");
+ const char* libretro_video_shader_directory = getenv("LIBRETRO_VIDEO_SHADER_DIRECTORY");
#ifdef ANDROID
int32_t major, minor, rel;
char device_model[PROP_VALUE_MAX] = {0};
-@@ -1765,12 +1769,20 @@ static void frontend_unix_get_env(int *argc,
+@@ -1764,12 +1771,20 @@ static void frontend_unix_get_env(int *argc,
"cores", sizeof(g_defaults.dirs[DEFAULT_DIR_CORE_INFO]));
else
#endif
@@ -174,7 +202,7 @@ index c157d355a1..ddf0b5ca87 100644
#ifdef ASSETS_DIR
if (path_is_directory(ASSETS_DIR "/assets"))
fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_ASSETS],
-@@ -1778,7 +1790,10 @@ static void frontend_unix_get_env(int *argc,
+@@ -1777,7 +1792,10 @@ static void frontend_unix_get_env(int *argc,
"assets", sizeof(g_defaults.dirs[DEFAULT_DIR_ASSETS]));
else
#endif
@@ -186,7 +214,7 @@ index c157d355a1..ddf0b5ca87 100644
fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_ASSETS],
"/usr/local/share/retroarch",
"assets", sizeof(g_defaults.dirs[DEFAULT_DIR_ASSETS]));
-@@ -1838,7 +1853,11 @@ static void frontend_unix_get_env(int *argc,
+@@ -1837,7 +1855,11 @@ static void frontend_unix_get_env(int *argc,
"filters/video", sizeof(g_defaults.dirs[DEFAULT_DIR_VIDEO_FILTER]));
else
#endif
@@ -199,12 +227,23 @@ index c157d355a1..ddf0b5ca87 100644
fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_VIDEO_FILTER],
"/usr/local/share/retroarch",
"filters/video", sizeof(g_defaults.dirs[DEFAULT_DIR_VIDEO_FILTER]));
-@@ -1872,8 +1891,13 @@ static void frontend_unix_get_env(int *argc,
+@@ -1869,12 +1891,27 @@ static void frontend_unix_get_env(int *argc,
+ "records_config", sizeof(g_defaults.dirs[DEFAULT_DIR_RECORD_CONFIG]));
+ fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_RECORD_OUTPUT], base_path,
"records", sizeof(g_defaults.dirs[DEFAULT_DIR_RECORD_OUTPUT]));
- fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_DATABASE], base_path,
- "database/rdb", sizeof(g_defaults.dirs[DEFAULT_DIR_DATABASE]));
+- fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_DATABASE], base_path,
+- "database/rdb", sizeof(g_defaults.dirs[DEFAULT_DIR_DATABASE]));
- fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_SHADER], base_path,
- "shaders", sizeof(g_defaults.dirs[DEFAULT_DIR_SHADER]));
+- fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_CHEATS], base_path,
+- "cheats", sizeof(g_defaults.dirs[DEFAULT_DIR_CHEATS]));
++ if (!string_is_empty(libretro_database_directory))
++ strlcpy(g_defaults.dirs[DEFAULT_DIR_DATABASE],
++ libretro_database_directory,
++ sizeof(g_defaults.dirs[DEFAULT_DIR_DATABASE]));
++ else
++ fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_DATABASE], base_path,
++ "database/rdb", sizeof(g_defaults.dirs[DEFAULT_DIR_DATABASE]));
+ if (!string_is_empty(libretro_video_shader_directory))
+ strlcpy(g_defaults.dirs[DEFAULT_DIR_SHADER],
+ libretro_video_shader_directory,
@@ -212,19 +251,45 @@ index c157d355a1..ddf0b5ca87 100644
+ else
+ fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_SHADER], base_path,
+ "shaders", sizeof(g_defaults.dirs[DEFAULT_DIR_SHADER]));
- fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_CHEATS], base_path,
- "cheats", sizeof(g_defaults.dirs[DEFAULT_DIR_CHEATS]));
++ if (!string_is_empty(libretro_cheats_directory))
++ strlcpy(g_defaults.dirs[DEFAULT_DIR_CHEATS],
++ libretro_cheats_directory,
++ sizeof(g_defaults.dirs[DEFAULT_DIR_CHEATS]));
++ else
++ fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_CHEATS], base_path,
++ "cheats", sizeof(g_defaults.dirs[DEFAULT_DIR_CHEATS]));
fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_OVERLAY], base_path,
+ "overlays", sizeof(g_defaults.dirs[DEFAULT_DIR_OVERLAY]));
+ fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_OSK_OVERLAY], base_path,
+@@ -1891,8 +1928,13 @@ static void frontend_unix_get_env(int *argc,
+ "saves", sizeof(g_defaults.dirs[DEFAULT_DIR_SRAM]));
+ fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_SAVESTATE], base_path,
+ "states", sizeof(g_defaults.dirs[DEFAULT_DIR_SAVESTATE]));
+- fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_SYSTEM], base_path,
+- "system", sizeof(g_defaults.dirs[DEFAULT_DIR_SYSTEM]));
++ if (!string_is_empty(libretro_system_directory))
++ strlcpy(g_defaults.dirs[DEFAULT_DIR_SYSTEM],
++ libretro_system_directory,
++ sizeof(g_defaults.dirs[DEFAULT_DIR_SYSTEM]));
++ else
++ fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_SYSTEM], base_path,
++ "system", sizeof(g_defaults.dirs[DEFAULT_DIR_SYSTEM]));
+ #endif
+
+ #ifndef IS_SALAMANDER
diff --git a/frontend/drivers/platform_win32.c b/frontend/drivers/platform_win32.c
-index 26ed25c04f..0cc9a9dc95 100644
+index adb27b425c..f12fb8717e 100644
--- a/frontend/drivers/platform_win32.c
+++ b/frontend/drivers/platform_win32.c
-@@ -565,24 +565,38 @@ static void frontend_win32_env_get(int *argc, char *argv[],
+@@ -566,24 +566,51 @@ static void frontend_win32_env_get(int *argc, char *argv[],
{
const char *tmp_dir = getenv("TMP");
const char *libretro_directory = getenv("LIBRETRO_DIRECTORY");
+ const char *libretro_assets_directory = getenv("LIBRETRO_ASSETS_DIRECTORY");
+ const char* libretro_autoconfig_directory = getenv("LIBRETRO_AUTOCONFIG_DIRECTORY");
++ const char* libretro_cheats_directory = getenv("LIBRETRO_CHEATS_DIRECTORY");
++ const char* libretro_database_directory = getenv("LIBRETRO_DATABASE_DIRECTORY");
++ const char* libretro_system_directory = getenv("LIBRETRO_SYSTEM_DIRECTORY");
+ const char* libretro_video_filter_directory = getenv("LIBRETRO_VIDEO_FILTER_DIRECTORY");
+ const char* libretro_video_shader_directory = getenv("LIBRETRO_VIDEO_SHADER_DIRECTORY");
if (!string_is_empty(tmp_dir))
@@ -246,6 +311,10 @@ index 26ed25c04f..0cc9a9dc95 100644
":\\filters\\audio", sizeof(g_defaults.dirs[DEFAULT_DIR_AUDIO_FILTER]));
- fill_pathname_expand_special(g_defaults.dirs[DEFAULT_DIR_VIDEO_FILTER],
- ":\\filters\\video", sizeof(g_defaults.dirs[DEFAULT_DIR_VIDEO_FILTER]));
+- fill_pathname_expand_special(g_defaults.dirs[DEFAULT_DIR_CHEATS],
+- ":\\cheats", sizeof(g_defaults.dirs[DEFAULT_DIR_CHEATS]));
+- fill_pathname_expand_special(g_defaults.dirs[DEFAULT_DIR_DATABASE],
+- ":\\database\\rdb", sizeof(g_defaults.dirs[DEFAULT_DIR_DATABASE]));
+ if (!string_is_empty(libretro_video_filter_directory))
+ strlcpy(g_defaults.dirs[DEFAULT_DIR_VIDEO_FILTER],
+ libretro_video_filter_directory,
@@ -253,17 +322,27 @@ index 26ed25c04f..0cc9a9dc95 100644
+ else
+ fill_pathname_expand_special(g_defaults.dirs[DEFAULT_DIR_VIDEO_FILTER],
+ ":\\filters\\video", sizeof(g_defaults.dirs[DEFAULT_DIR_VIDEO_FILTER]));
- fill_pathname_expand_special(g_defaults.dirs[DEFAULT_DIR_CHEATS],
- ":\\cheats", sizeof(g_defaults.dirs[DEFAULT_DIR_CHEATS]));
- fill_pathname_expand_special(g_defaults.dirs[DEFAULT_DIR_DATABASE],
- ":\\database\\rdb", sizeof(g_defaults.dirs[DEFAULT_DIR_DATABASE]));
++ if (!string_is_empty(libretro_cheats_directory))
++ strlcpy(g_defaults.dirs[DEFAULT_DIR_CHEATS],
++ libretro_cheats_directory,
++ sizeof(g_defaults.dirs[DEFAULT_DIR_CHEATS]));
++ else
++ fill_pathname_expand_special(g_defaults.dirs[DEFAULT_DIR_CHEATS],
++ ":\\cheats", sizeof(g_defaults.dirs[DEFAULT_DIR_CHEATS]));
++ if (!string_is_empty(libretro_database_directory))
++ strlcpy(g_defaults.dirs[DEFAULT_DIR_DATABASE],
++ libretro_database_directory,
++ sizeof(g_defaults.dirs[DEFAULT_DIR_DATABASE]));
++ else
++ fill_pathname_expand_special(g_defaults.dirs[DEFAULT_DIR_DATABASE],
++ ":\\database\\rdb", sizeof(g_defaults.dirs[DEFAULT_DIR_DATABASE]));
fill_pathname_expand_special(g_defaults.dirs[DEFAULT_DIR_PLAYLIST],
- ":\\playlists", sizeof(g_defaults.dirs[DEFAULT_DIR_ASSETS]));
+ ":\\playlists", sizeof(g_defaults.dirs[DEFAULT_DIR_PLAYLIST]));
fill_pathname_expand_special(g_defaults.dirs[DEFAULT_DIR_RECORD_CONFIG],
":\\config\\record", sizeof(g_defaults.dirs[DEFAULT_DIR_RECORD_CONFIG]));
fill_pathname_expand_special(g_defaults.dirs[DEFAULT_DIR_RECORD_OUTPUT],
-@@ -605,12 +619,26 @@ static void frontend_win32_env_get(int *argc, char *argv[],
+@@ -606,12 +633,26 @@ static void frontend_win32_env_get(int *argc, char *argv[],
else
fill_pathname_expand_special(g_defaults.dirs[DEFAULT_DIR_CORE],
":\\cores", sizeof(g_defaults.dirs[DEFAULT_DIR_CORE]));
@@ -296,3 +375,52 @@ index 26ed25c04f..0cc9a9dc95 100644
fill_pathname_expand_special(g_defaults.dirs[DEFAULT_DIR_CORE_ASSETS],
":\\downloads", sizeof(g_defaults.dirs[DEFAULT_DIR_CORE_ASSETS]));
fill_pathname_expand_special(g_defaults.dirs[DEFAULT_DIR_SCREENSHOT],
+@@ -620,8 +661,13 @@ static void frontend_win32_env_get(int *argc, char *argv[],
+ ":\\saves", sizeof(g_defaults.dirs[DEFAULT_DIR_SRAM]));
+ fill_pathname_expand_special(g_defaults.dirs[DEFAULT_DIR_SAVESTATE],
+ ":\\states", sizeof(g_defaults.dirs[DEFAULT_DIR_SAVESTATE]));
+- fill_pathname_expand_special(g_defaults.dirs[DEFAULT_DIR_SYSTEM],
+- ":\\system", sizeof(g_defaults.dirs[DEFAULT_DIR_SYSTEM]));
++ if (!string_is_empty(libretro_system_directory))
++ strlcpy(g_defaults.dirs[DEFAULT_DIR_SYSTEM],
++ libretro_system_directory,
++ sizeof(g_defaults.dirs[DEFAULT_DIR_SYSTEM]));
++ else
++ fill_pathname_expand_special(g_defaults.dirs[DEFAULT_DIR_SYSTEM],
++ ":\\system", sizeof(g_defaults.dirs[DEFAULT_DIR_SYSTEM]));
+ fill_pathname_expand_special(g_defaults.dirs[DEFAULT_DIR_LOGS],
+ ":\\logs", sizeof(g_defaults.dirs[DEFAULT_DIR_LOGS]));
+
+diff --git a/retroarch.c b/retroarch.c
+index a7e5f5299f..59d7879ec5 100644
+--- a/retroarch.c
++++ b/retroarch.c
+@@ -6516,7 +6516,28 @@ static void retroarch_print_help(const char *arg0)
+ "Path for the save state files (*.state). (DEPRECATED, use --appendconfig and savestate_directory)\n"
+ , sizeof(buf) - _len);
+
++ /* Flush buffer here to avoid the error "error: string length ‘752’
++ * is greater than the length ‘509’ ISO C90 compilers are required
++ * to support" */
+ fputs(buf, stdout);
++
++#if defined(__linux__) || defined(__GNU__) || (defined(BSD) && !defined(__MACH__))
++ buf[0] = '\0';
++ _len = 0;
++ _len += strlcpy(buf + _len,
++ "\nThe following environment variables are supported:\n\n"
++ " LIBRETRO_ASSETS_DIRECTORY\n"
++ " LIBRETRO_AUTOCONFIG_DIRECTORY\n"
++ " LIBRETRO_CHEATS_DIRECTORY\n"
++ " LIBRETRO_DATABASE_DIRECTORY\n"
++ " LIBRETRO_DIRECTORY\n"
++ " LIBRETRO_SYSTEM_DIRECTORY\n"
++ " LIBRETRO_VIDEO_FILTER_DIRECTORY\n"
++ " LIBRETRO_VIDEO_SHADER_DIRECTORY\n\n"
++ "Refer to `man 6 retroarch' for a description of what they do.\n"
++ , sizeof(buf) - _len);
++ fputs(buf, stdout);
++#endif
+ }
+
+ #ifdef HAVE_DYNAMIC
diff --git a/gnu/packages/pcre.scm b/gnu/packages/pcre.scm
index 6f31d3c1d7..1dbd2180a8 100644
--- a/gnu/packages/pcre.scm
+++ b/gnu/packages/pcre.scm
@@ -112,8 +112,10 @@ POSIX regular expression API.")
"--enable-pcre2test-libreadline"
"--enable-pcre2-16"
"--enable-pcre2-32"
- ;; riscv64-linux is an unsupported architecture.
- #$@(if (target-riscv64?)
+ ;; riscv64-linux and loongarch64-linux is an unsupported
+ ;; architecture.
+ #$@(if (or (target-riscv64?)
+ (target-loongarch64?))
#~()
#~("--enable-jit")))
#:phases
diff --git a/gnu/packages/prolog.scm b/gnu/packages/prolog.scm
index d9c00c65e5..98490adb44 100644
--- a/gnu/packages/prolog.scm
+++ b/gnu/packages/prolog.scm
@@ -182,7 +182,7 @@ it.")
(define-public trealla
(package
(name "trealla")
- (version "2.63.25")
+ (version "2.63.33")
(source
(origin
(method git-fetch)
@@ -191,7 +191,7 @@ it.")
(url "https://github.com/trealla-prolog/trealla")
(commit (string-append "v" version))))
(sha256
- (base32 "0rlnq0m644c5rqzyyp9yqfjpd8wa49znn928487psa86j8v5wbxr"))
+ (base32 "12bg0ag185fviazvi5pmirn2izdzrrfkiw93pzqnsrdfhafy7xla"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(native-inputs
diff --git a/gnu/packages/python-crypto.scm b/gnu/packages/python-crypto.scm
index 4ba2beec72..bf2262950a 100644
--- a/gnu/packages/python-crypto.scm
+++ b/gnu/packages/python-crypto.scm
@@ -446,19 +446,33 @@ blake3, a cryptographic hash function.")
"1yxqfb5131wahjyw9pxz03bq476rcfx62s6k53xx4cqbzzgdaqkq"))))
(build-system pyproject-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")))))))
+ (list
+ #:test-flags
+ #~(list "-k" (string-join
+ (list
+ ;; Those tests uses PKCS12, which has been removed in
+ ;; pyopenssl 23.3.0:
+ "not test_custom_not_before_not_after"
+ "test_ca_cert_in_mem"
+ ;; Those tests try to download certificates:
+ "test_file_wildcard"
+ "test_file_wildcard_subdomains"
+ "test_in_mem_parent_wildcard_cert"
+ "test_in_mem_parent_wildcard_cert_at_tld"
+ "test_in_mem_parent_wildcard_cert_2")
+ " and not "))
+ #: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
- (list python-pytest-cov))
+ (list python-pytest-cov python-setuptools python-wheel))
(home-page "https://github.com/ikreymer/certauth")
(synopsis "Certificate authority creation tool")
(description "This package provides a small library, built on top of
@@ -956,14 +970,14 @@ protocol (Javascript Object Signing and Encryption).")
(define-public python-pycryptodome
(package
(name "python-pycryptodome")
- (version "3.15.0")
+ (version "3.21.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pycryptodome" version))
(sha256
(base32
- "1f0qc0ns3ppybkr7wi66gsl5wfkcx1fdklmh3362nn84spddsdci"))
+ "15vjyjy686kgm4fnpwlah1wvxxy0wvr4q5vnp1iygnlv8q6pwy7p"))
(modules '((guix build utils)))
(snippet pycryptodome-unbundle-tomcrypt-snippet)))
(build-system python-build-system)
@@ -1018,7 +1032,7 @@ PyCryptodome variants, the other being python-pycryptodomex.")
(method url-fetch)
(uri (pypi-uri "pycryptodomex" version))
(sha256
- (base32 "1vf0xbsqvcp4k3cl8cmxrlij9a88hajw6d3z0jhd3c5d5nxz2hbk"))
+ (base32 "0v4y03ha7rm9kdcv9fkrmc94425z3q3mq1nn5p1jbpc1ag80nb92"))
(modules '((guix build utils)))
(snippet pycryptodome-unbundle-tomcrypt-snippet)))
(description
@@ -1782,3 +1796,23 @@ against (name, birthdate, etc.)
in different situations.
@end enumerate")
(license license:expat)))
+
+(define-public python-pydes
+ (package
+ (name "python-pydes")
+ (version "2.0.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "pyDes" version))
+ (sha256
+ (base32 "04lh71f47y04vspfrdrq6a0hn060ibxvdp5z1pcr0gmqs8hqxaz2"))))
+ (build-system pyproject-build-system)
+ (native-inputs (list python-setuptools python-wheel))
+ (home-page "http://twhiteman.netfirms.com/des.html")
+ (synopsis
+ "Pure python implementation of the DES and TRIPLE DES encryption algorithms")
+ (description
+ "This package provides a pure Python implementation of the DES and
+TRIPLE DES encryption algorithms.")
+ (license license:public-domain)))
diff --git a/gnu/packages/python-graphics.scm b/gnu/packages/python-graphics.scm
index bc0c93a8ee..da8ef2d4df 100644
--- a/gnu/packages/python-graphics.scm
+++ b/gnu/packages/python-graphics.scm
@@ -287,7 +287,8 @@ music." )
(list python-cython-3
python-pytest
python-setuptools
- python-setuptools-scm))
+ python-setuptools-scm
+ python-wheel))
(inputs
(list fontconfig
mesa))
diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
index 1bdc7dafa5..f466969456 100644
--- a/gnu/packages/python-web.scm
+++ b/gnu/packages/python-web.scm
@@ -49,7 +49,7 @@
;;; Copyright © 2021 Alice Brenon <alice.brenon@ens-lyon.fr>
;;; Copyright © 2022 John Kehayias <john.kehayias@protonmail.com>
;;; Copyright © 2022 Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
-;;; Copyright © 2022, 2023 Felix Gruber <felgru@posteo.net>
+;;; Copyright © 2022, 2023, 2025 Felix Gruber <felgru@posteo.net>
;;; Copyright © 2022 Peter Polidoro <peter@polidoro.io>
;;; Copyright © 2022 Antero Mejr <antero@mailbox.org>
;;; Copyright © 2022 Luis Henrique Gomes Higino <luishenriquegh2701@gmail.com>
@@ -374,6 +374,58 @@ The event dispatch is implicit, which means you can easily use @code{Eventlet}
from the Python interpreter, or as a small part of a larger application.")
(license license:expat)))
+(define-public python-hookdns
+ (package
+ (name "python-hookdns")
+ (version "2.0.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "hookdns" version))
+ (sha256
+ (base32 "087x12dy6slhyqwqblby2fpjdcy61yk3lqp3fplami0rmbn02fb7"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ #:test-flags
+ #~(list "-k" (string-join
+ ;; Tests requiring networking.
+ (list
+ "not test_patch_contextmanager_with_another_hostname"
+ "test_patch_contextmanager_with_another_hostname_ipv6"
+ "test_patch_contextmanager_with_ipv4"
+ "test_patch_contextmanager_with_name"
+ "test_patch_contextmanager_with_public_fqdn_and_"
+ "test_patch_contextmanager_with_unknown_hostname"
+ "test_patch_decorator_with_another_hostname"
+ "test_patch_decorator_with_another_hostname_ipv6"
+ "test_patch_decorator_with_ipv4"
+ "test_patch_decorator_with_name"
+ "test_patch_decorator_with_public_fqdn_and_a_name_for_"
+ "test_patch_decorator_with_unknown_hostname"
+ "test_real_getaddrinfo_with_name_ipv6"
+ "test_real_getaddrinfo_with_public_fqdn_ipv4"
+ "test_real_getaddrinfo_with_public_fqdn_ipv6"
+ "test_real_gethostbyname_ex_with_public_fqdn"
+ "test_real_gethostbyname_with_public_fqdn"
+ "test_real_requests_ip"
+ "test_real_requests_name"
+ "test_real_requests_with_public_fqdn"
+ "test_reentrant")
+ " and not "))))
+ (native-inputs
+ (list python-pytest
+ python-requests
+ python-setuptools
+ python-wheel))
+ (home-page "https://github.com/cle-b/hookdns")
+ (synopsis "DNS resolution customization library")
+ (description
+ "HookDNS implements functionality that allows for modifying name
+resolution in a Python script without any changes to the hosts file or the use
+of a fake DNS resolver.")
+ (license license:asl2.0)))
+
(define-public python-huggingface-hub
(package
(name "python-huggingface-hub")
@@ -7696,44 +7748,48 @@ them to a designated prefix.")
(define-public python-warcio
;; The PyPI release is missing some test support files (see:
;; https://github.com/webrecorder/warcio/issues/132).
- (let ((revision "0")
- (commit "aa702cb321621b233c6e5d2a4780151282a778be"))
- (package
- (name "python-warcio")
- (version (git-version "1.7.4" revision commit))
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/webrecorder/warcio")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "11afr6zy3r6rda81010iq496dazg4xid0izg3smg6ighpmvsnzf2"))))
- (build-system pyproject-build-system)
- (arguments
- (list
- #:test-flags ; These tests fail due to networking requirements.
- '(list "-k" (format #f "not ~a"
- (string-join
- '("test_post_chunked"
- "test_remote"
- "test_capture_http_proxy"
- "test_capture_https_proxy"
- "test_capture_https_proxy_same_session")
- " and not ")))))
- (native-inputs
- ;; These inputs are required for the test suite.
- (list python-httpbin python-pytest-cov python-requests
- python-wsgiprox))
- (home-page "https://github.com/webrecorder/warcio")
- (synopsis "Streaming web archival archive (WARC) library")
- (description "warcio is a Python library to read and write the WARC format
+ (package
+ (name "python-warcio")
+ (version "1.7.5")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/webrecorder/warcio")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0r3kijsm8wsbipi5pxsrqpg5nn4w8iaw5i8010b0ligmfxnxamlb"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ #:test-flags ; These tests fail due to networking requirements.
+ '(list "-k" (format #f "not ~a"
+ (string-join
+ '("test_post_chunked"
+ "test_remote"
+ "test_capture_http_proxy"
+ "test_capture_https_proxy"
+ "test_capture_https_proxy_same_session")
+ " and not "))
+ ; The following test requires the hookdns package.
+ "--ignore=test/test_capture_http_proxy.py")))
+ (native-inputs
+ ;; These inputs are required for the test suite.
+ (list python-httpbin
+ python-pytest-cov
+ python-requests
+ python-setuptools
+ python-wheel
+ python-wsgiprox))
+ (home-page "https://github.com/webrecorder/warcio")
+ (synopsis "Streaming web archival archive (WARC) library")
+ (description "warcio is a Python library to read and write the WARC format
commonly used in Web archives. It is designed for fast, low-level access to
web archival content, oriented around a stream of WARC records rather than
files.")
- (license license:asl2.0))))
+ (license license:asl2.0)))
(define-public python-websockets
(package
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 202599305e..7fcf9c3ba8 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -157,9 +157,10 @@
;;; Copyright © 2024 Rick Huijzer <ikbenrickhuyzer@gmail.com>
;;; Copyright © 2024 Peter Kannewitz <petre-vps@posteo.net>
;;; Copyright © 2024 Aaron Covrig <aaron.covrig.us@ieee.org>
-;;; Copyright © 2024 Evgeny Pisemsky <mail@pisemsky.site>
+;;; Copyright © 2024, 2025 Evgeny Pisemsky <mail@pisemsky.site>
;;; Copyright © 2024 Markku Korkeala <markku.korkeala@iki.fi>
;;; Copyright © 2025 Jordan Moore <lockbox@struct.foo>
+;;; Copyright © 2025 Dariqq <dariqq@posteo.net>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -315,13 +316,13 @@
(define-public python-apprise
(package
(name "python-apprise")
- (version "1.9.1")
+ (version "1.9.2")
(source
(origin
(method url-fetch)
(uri (pypi-uri "apprise" version))
(sha256
- (base32 "12a6wh6ri2gr043ivghs0ivyfin80rfcqddv279gyvfq84nd1v3r"))))
+ (base32 "1a3kzpjdp29l4ryafd36gs8apg61f16ljw93h1051p98f0hv23i9"))))
(build-system pyproject-build-system)
(arguments
(list
@@ -329,7 +330,9 @@
#~(list "--numprocesses" (number->string (parallel-job-count))
"--ignore=test/test_plugin_macosx.py"
"-k" (string-append "not test_plugin_mqtt_tls_connect_success"
- " and not test_plugin_mqtt_tls_no_verify_success"))))
+ " and not test_plugin_mqtt_tls_no_verify_success"
+ ;; AssertionError: assert False
+ " and not test_plugin_wxpusher_edge_cases"))))
(propagated-inputs (list python-certifi
python-click
python-markdown
@@ -499,6 +502,32 @@ including arbitrary-length lists, records, mixed types, and missing data,
using NumPy-like idioms.")
(license license:bsd-3)))
+(define-public python-bresenham
+ (package
+ (name "python-bresenham")
+ (version "0.2.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/encukou/bresenham")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "07h04l50y35rhp13mqis61d1dkd7426q1gdfy5hd6rcgcfv15kxd"))))
+ (build-system pyproject-build-system)
+ (native-inputs
+ (list python-pytest
+ python-setuptools
+ python-wheel))
+ (home-page "https://github.com/encukou/bresenham")
+ (synopsis "Implementation of Bresenham's line drawing algorithm")
+ (description
+ "This package provides a Python implementation of
+@url{https://en.wikipedia.org/wiki/Bresenham's_line_algorithm, Bresenham's
+line drawing algorithm}.")
+ (license license:expat)))
+
(define-public python-distance
(package
(name "python-distance")
@@ -11148,6 +11177,50 @@ a general image processing tool.")
"http://www.pythonware.com/products/pil/license.htm"
"The PIL Software License"))))
+(define-public python-pillow-heif
+ (package
+ (name "python-pillow-heif")
+ (version "0.21.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "pillow_heif" version))
+ (sha256
+ (base32 "16xl2a51z4rjfy7y8vnn3w0ngcr1mr2sgsl9p7z62payy2zy3bh7"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ #:test-flags
+ #~(list "-k" ; XXX: 10/12 bit tests fail
+ (string-append
+ "not test_save_bgr_16bit_to_10_12_bit"
+ " and not test_save_bgra_16bit_to_10_12_bit"
+ " and not test_open_heif_compare_non_standard_modes_data"
+ " and not test_open_save_disable_16bit"
+ " and not test_heif_read_images[image_path16]"
+ " and not test_heif_read_images[image_path43]"
+ " and not test_premultiplied_alpha"
+ " and not test_hdr_save"
+ " and not test_I_color_modes_to_10_12_bit"))))
+ (inputs (list libheif))
+ (propagated-inputs (list python-pillow))
+ (native-inputs (list opencv ; for opencv-python
+ python-coverage
+ python-defusedxml
+ python-numpy
+ python-packaging
+ python-pre-commit
+ python-pylint
+ python-pympler
+ python-setuptools
+ python-pytest
+ python-wheel))
+ (home-page "https://github.com/bigcat88/pillow_heif")
+ (synopsis "Python interface for libheif library")
+ (description "This package provides Python bindings for the libheif library
+and a plugin for Pillow.")
+ (license license:bsd-3)))
+
(define-public python-pillow-2.9
(package
(inherit python-pillow)
@@ -18299,7 +18372,7 @@ JSON Reference and JSON Pointer.")
(sha256
(base32 "15x1in22gwam7wwga5lbj1pd8hc9jk741pia3pv1m29n2xywpq2z"))))
(build-system python-build-system)
- (native-inputs (list python-cython))
+ (native-inputs (list python-cython-3))
(home-page "https://github.com/breezy-team/fastbencode")
(synopsis "Python Bencode (de)serializer with optional fast C extensions")
(description
@@ -38819,6 +38892,87 @@ profile. It supports:
Currently, Linux is the only platform supported by this library.")
(license license:expat)))
+(define-public python-dbus-fast
+ (package
+ (name "python-dbus-fast")
+ (version "2.30.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "dbus_fast" version))
+ (sha256
+ (base32 "1cx71lbw716smpr4vsc9d421v45s36hcqj2z95nl3wm2yhan6ac7"))))
+ (build-system pyproject-build-system)
+ (native-inputs (list python-cython python-poetry-core python-setuptools
+ python-wheel))
+ (home-page "https://github.com/bluetooth-devices/dbus-fast")
+ (synopsis "Faster version of dbus-next")
+ (description "This package provides a faster version of dbus-next.")
+ (license license:expat)))
+
+(define-public python-bleak
+ (package
+ (name "python-bleak")
+ (version "0.22.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "bleak" version))
+ (sha256
+ (base32 "0p04kk84vjmfv2pl1lichaaq8rc9xdm9sgd5g9r5gr2pjv0w6j9i"))))
+ (build-system pyproject-build-system)
+ (arguments
+ `(#:tests? #f)) ; no tests
+ (propagated-inputs (list python-async-timeout
+ python-dbus-fast
+ python-typing-extensions))
+ (native-inputs (list python-poetry-core))
+ (home-page "https://github.com/hbldh/bleak")
+ (synopsis "Bluetooth Low Energy platform Agnostic Klient")
+ (description "This package provides a Bluetooth Low Energy platform-agnostic
+client library.")
+ (license license:expat)))
+
+(define-public python-ndeflib
+ (package
+ (name "python-ndeflib")
+ (version "0.3.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "ndeflib" version))
+ (sha256
+ (base32 "122a8prbcj070y3fl82kvxmbciv36hj1h1d448l6zcdrb22q4mhx"))))
+ (build-system pyproject-build-system)
+ (native-inputs (list python-setuptools python-wheel))
+ (home-page "https://ndeflib.readthedocs.io/")
+ (synopsis "NFC Data Exchange Format decoder and encoder.")
+ (description "This package provides a NFC (Near-Field Communication)
+Data Exchange Format decoder and encoder.")
+ (license license:isc)))
+
+(define-public python-nfcpy
+ (package
+ (name "python-nfcpy")
+ (version "1.0.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "nfcpy" version))
+ (sha256
+ (base32 "0sxgp298i8y17i9drp8sclxx0i3vn0wgh5ajs2arw7cy2780igg5"))))
+ (build-system pyproject-build-system)
+ (arguments
+ `(#:tests? #f)) ; Tests use nfc.ndef even though that has been removed.
+ (propagated-inputs (list python-libusb1 python-ndeflib python-pydes
+ python-pyserial))
+ (native-inputs (list python-setuptools python-wheel))
+ (home-page "https://github.com/nfcpy/nfcpy")
+ (synopsis "Python module for Near-Field Communication.")
+ (description "This package provides a Python module for Near-Field
+Communication.")
+ (license license:eupl1.1)))
+
(define-public python-clrprint
(package
(name "python-clrprint")
diff --git a/gnu/packages/radio.scm b/gnu/packages/radio.scm
index 7816daf0fa..417c787144 100644
--- a/gnu/packages/radio.scm
+++ b/gnu/packages/radio.scm
@@ -13,7 +13,7 @@
;;; Copyright © 2022 Greg Hogan <code@greghogan.com>
;;; Copyright © 2022 Ryan Tolboom <ryan@using.tech>
;;; Copyright © 2023 Sharlatan Hellseher <sharlatanus@gmail.com>
-;;; Copyright © 2023 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2023, 2025 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2024 Andy Tai <atai@atai.org>
;;; Copyright © 2024 Noisytoot <ron@noisytoot.org>
;;;
@@ -797,7 +797,7 @@ used by RDS Spy, and audio files containing @dfn{multiplex} signals (MPX).")
(define-public gnuradio
(package
(name "gnuradio")
- (version "3.10.10.0")
+ (version "3.10.11.0")
(source
(origin
(method git-fetch)
@@ -806,7 +806,7 @@ used by RDS Spy, and audio files containing @dfn{multiplex} signals (MPX).")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "1jq94nycccpgw2cc39hgixjq7cqdw836bnz0fvmynfg3f22mcid4"))))
+ (base32 "1px44c9clafivjw37zy6h6d94xf70v7i5iyarrdgm6cr7x95grj0"))))
(build-system cmake-build-system)
(native-inputs
(list doxygen
@@ -1711,7 +1711,10 @@ weak-signal conditions.")
(base32 "1lw9q7ggh2jlasipl3v5pkbabysjr6baw15lnmg664ah3fwdrvnx"))))
(build-system qt-build-system)
(native-inputs
- (list asciidoc gfortran pkg-config qttools-5 ruby-asciidoctor))
+ (append (list asciidoc gfortran pkg-config qttools-5)
+ (if (supported-package? ruby-asciidoctor)
+ (list ruby-asciidoctor)
+ '())))
(inputs
(list
boost
@@ -1724,7 +1727,10 @@ weak-signal conditions.")
qtmultimedia-5
qtserialport-5))
(arguments
- `(#:tests? #f)) ; No test suite
+ `(,@(if (this-package-native-input "ruby-asciidoctor")
+ '()
+ `(#:configure-flags '("-DWSJT_GENERATE_DOCS=OFF")))
+ #:tests? #f)) ; No test suite
(synopsis "Weak-signal ham radio communication program, forked from WSJTX")
(description
"JTDX means \"JT,T10 and FT8 and FT4 modes for DXing\", it is being
@@ -1790,8 +1796,7 @@ focused on DXing and being shaped by community of DXers.JTDX")
(list asciidoc
gfortran
pkg-config
- qttools-5
- ruby-asciidoctor))
+ qttools-5))
(inputs
(list boost
fftw
diff --git a/gnu/packages/readline.scm b/gnu/packages/readline.scm
index 8200a24f1a..42d8c6ed63 100644
--- a/gnu/packages/readline.scm
+++ b/gnu/packages/readline.scm
@@ -82,29 +82,46 @@
(build-system gnu-build-system)
(propagated-inputs (list ncurses))
(arguments
- (list #:configure-flags
- #~(list (string-append
- "LDFLAGS=-Wl,-rpath -Wl,"
- (dirname (search-input-file %build-inputs
- "lib/libncurses.so")))
+ (append
+ (if (target-loongarch64?)
+ (list #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'update-config-scripts
+ (lambda* (#:key inputs native-inputs #:allow-other-keys)
+ ;; Replace outdated config.guess and config.sub.
+ (for-each (lambda (file)
+ (install-file
+ (search-input-file
+ (or native-inputs inputs)
+ (string-append "/bin/" file)) "./support"))
+ '("config.guess" "config.sub"))))))
+ '())
+ (list #:configure-flags
+ #~(list (string-append
+ "LDFLAGS=-Wl,-rpath -Wl,"
+ (dirname (search-input-file %build-inputs
+ "lib/libncurses.so")))
- ;; This test does an 'AC_TRY_RUN', which aborts when
- ;; cross-compiling, so provide the correct answer.
- #$@(if (%current-target-system)
- '("bash_cv_wcwidth_broken=no")
- '())
- ;; MinGW: ncurses provides the termcap api.
- #$@(if (target-mingw?)
- '("bash_cv_termcap_lib=ncurses")
- '()))
+ ;; This test does an 'AC_TRY_RUN', which aborts when
+ ;; cross-compiling, so provide the correct answer.
+ #$@(if (%current-target-system)
+ '("bash_cv_wcwidth_broken=no")
+ '())
+ ;; MinGW: ncurses provides the termcap api.
+ #$@(if (target-mingw?)
+ '("bash_cv_termcap_lib=ncurses")
+ '()))
- #:make-flags
- (if (target-mingw?)
- ;; MinGW: termcap in ncurses
- ;; some SIG_* #defined in _POSIX
- #~'("TERMCAP_LIB=-lncurses"
- "CPPFLAGS=-D_POSIX -D'chown(f,o,g)=0'")
- #~'())))
+ #:make-flags
+ (if (target-mingw?)
+ ;; MinGW: termcap in ncurses
+ ;; some SIG_* #defined in _POSIX
+ #~'("TERMCAP_LIB=-lncurses"
+ "CPPFLAGS=-D_POSIX -D'chown(f,o,g)=0'")
+ #~'()))))
+ (native-inputs (if (target-loongarch64?)
+ (list config)
+ '()))
(synopsis "Edit command lines while typing, with history support")
(description
"The GNU readline library allows users to edit command lines as they
diff --git a/gnu/packages/sdl.scm b/gnu/packages/sdl.scm
index 36bd06a423..42fcf35d40 100644
--- a/gnu/packages/sdl.scm
+++ b/gnu/packages/sdl.scm
@@ -16,6 +16,7 @@
;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2023 Evgeny Pisemsky <mail@pisemsky.site>
;;; Copyright © 2023, 2024 dan <i@dan.games>
+;;; Copyright © 2025 Zheng Junjie <873216071@qq.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -150,17 +151,16 @@ hardware.")
(package
(inherit sdl2)
(name "sdl3")
- (version "3.1.8")
+ (version "3.2.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/libsdl-org/SDL")
- ;; Change to release- when 3.2.0 is released.
- (commit (string-append "preview-" version))))
+ (commit (string-append "release-" version))))
(file-name (git-file-name name version))
(sha256
(base32
- "13iw79lhr1hrs6yqfnnaacsgdwawlsavvbqnglifh4bx5zkxdyf9"))))
+ "11hrhvf74in0amdrmhcf11ll48pxqbidyqawr9hx2cgdwlzdjll1"))))
(build-system cmake-build-system)
(arguments
(list
diff --git a/gnu/packages/search.scm b/gnu/packages/search.scm
index bb42a889dc..69a3583e6c 100644
--- a/gnu/packages/search.scm
+++ b/gnu/packages/search.scm
@@ -692,14 +692,14 @@ bibliographic data and simple document and bibtex retrieval.")
(define-public ugrep
(package
(name "ugrep")
- (version "7.1.3")
+ (version "7.2.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/Genivia/ugrep")
(commit (string-append "v" version))))
(sha256
- (base32 "1avqay6kd5n384r3nhzkjk3jmqzdmhaypnn2hyjiczcrjvqkghk3"))
+ (base32 "1506yymsx4a41w0q31b5wigy9k7d14gq4xqqc3lv3ivdaa8y6qpx"))
(file-name (git-file-name name version))
(modules '((guix build utils)))
(snippet
diff --git a/gnu/packages/serialization.scm b/gnu/packages/serialization.scm
index 338682d16c..2e51b0ade7 100644
--- a/gnu/packages/serialization.scm
+++ b/gnu/packages/serialization.scm
@@ -423,6 +423,24 @@ that implements both the msgpack and msgpack-rpc specifications.")
(inputs
`(("lua" ,lua-5.2)))))
+(define-public libcsv
+ (package
+ (name "libcsv")
+ (version "3.0.3")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://sourceforge/libcsv/libcsv/libcsv-"
+ version "/libcsv-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1r6pxdxrc3vfil1f9ng1dblm82asdqz6hkz7dj4vkkh3p0f47h6r"))))
+ (build-system gnu-build-system)
+ (home-page "http://sourceforge.net/projects/libcsv/")
+ (synopsis "CSV parser and writer library")
+ (description
+ "This package provides a C library for parsing and writing CSV data.")
+ (license license:lgpl2.1+)))
+
(define-public libscfg
(package
(name "libscfg")
diff --git a/gnu/packages/sphinx.scm b/gnu/packages/sphinx.scm
index f656f4d5c0..13a1701e0a 100644
--- a/gnu/packages/sphinx.scm
+++ b/gnu/packages/sphinx.scm
@@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 David Thompson <davet@gnu.org>
-;;; Copyright © 2015, 2017, 2019, 2020, 2021, 2023, 2024 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2015, 2017, 2019, 2020, 2021, 2023, 2024, 2025 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, 2023 Marius Bakke <marius@gnu.org>
@@ -348,22 +348,25 @@ Apple help books.")
(define-public python-sphinx-click
(package
(name "python-sphinx-click")
- (version "4.0.3")
+ (version "6.0.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "sphinx-click" version))
(sha256
(base32
- "1nqy3b7wr64rbmdp7kpi723az53a89y6250h46i505g1rw0czam1"))))
- (build-system python-build-system)
+ "0ns6mfiw4q6g0kh11dfyzpn0rkjq9v4f3w8ry0pn5in03lr69mpm"))))
+ (build-system pyproject-build-system)
(arguments
- (list #:phases #~(modify-phases %standard-phases
- (replace 'check
- (lambda* (#:key tests? #:allow-other-keys)
- (when tests?
- (invoke "pytest" "-vv" "tests")))))))
- (native-inputs (list python-pbr python-pytest python-wheel))
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'fix-build-system
+ (lambda _
+ ;; The build system is confused about this top level directory,
+ ;; so we delete it.
+ (delete-file-recursively "releasenotes"))))))
+ (native-inputs (list python-pytest python-setuptools python-wheel))
(propagated-inputs (list python-click python-docutils python-sphinx))
(home-page "https://github.com/click-contrib/sphinx-click")
(synopsis "Sphinx extension that documents click applications")
@@ -1317,7 +1320,7 @@ executed during the Sphinx build process.")
(define-public python-jupyter-sphinx
(package
(name "python-jupyter-sphinx")
- (version "0.3.2")
+ (version "0.5.3")
(source
(origin
;; Pypi tarball doesn't contain tests.
@@ -1328,21 +1331,26 @@ executed during the Sphinx build process.")
(file-name (git-file-name name version))
(sha256
(base32
- "0bsb17vzbgvrzvh87pi88b157hyigdwnf1lhrgvan03i2300h15c"))))
- (build-system python-build-system)
+ "1l8skhjir7j9jr4xdmwzj5lk5w31jn21ydpcxvgr6adgnrdbgy53"))))
+ (build-system pyproject-build-system)
(arguments
(list
- #:phases
- #~(modify-phases %standard-phases
- (replace 'check
- (lambda* (#:key tests? #:allow-other-keys)
- (when tests?
- (invoke "pytest")))))))
+ #:test-flags
+ #~(list "-W" "ignore::DeprecationWarning")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'ignore-warnings
+ (lambda _
+ (substitute* "pyproject.toml"
+ (("\"error\",") "")))))))
(propagated-inputs
(list python-ipython python-ipywidgets python-nbconvert
python-nbformat))
(native-inputs
- (list python-pytest python-sphinx))
+ (list python-hatchling
+ python-ipykernel
+ python-pytest
+ python-sphinx))
(home-page "https://github.com/jupyter/jupyter-sphinx/")
(synopsis "Jupyter Sphinx Extensions")
(description
diff --git a/gnu/packages/syncthing.scm b/gnu/packages/syncthing.scm
index 71a1eb3326..3fe5b48e20 100644
--- a/gnu/packages/syncthing.scm
+++ b/gnu/packages/syncthing.scm
@@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2016 Petter <petter@mykolab.ch>
-;;; Copyright © 2016, 2017, 2018, 2019, 2020, 2021 Leo Famulari <leo@famulari.name>
+;;; Copyright © 2016-2021, 2024 Leo Famulari <leo@famulari.name>
;;; Copyright © 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2020-2022 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2020 Giacomo Leidi <goodoldpaul@autistici.org>
@@ -38,7 +38,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 golang-build)
#:use-module (gnu packages golang-compression)
#:use-module (gnu packages gtk)
@@ -49,7 +48,7 @@
(define-public syncthing
(package
(name "syncthing")
- (version "1.27.2")
+ (version "1.28.1")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/syncthing/syncthing"
@@ -57,71 +56,70 @@
"/syncthing-source-v" version ".tar.gz"))
(sha256
(base32
- "0g418jyqqik8ds8qcrlnmm2bhwwpbrfgd82fg2jyip4zw1aicqia"))))
+ "16j5w6hdr1x2231hw0zsxm53sw34wxcs4ijjjcnzcg1vz9drjrg9"))))
(build-system go-build-system)
;; The primary Syncthing executable goes to "out", while the auxiliary
;; server programs and utility tools go to "utils". This reduces the size
;; of "out" by ~144 MiB.
(outputs '("out" "utils"))
(arguments
- (list #:modules '((srfi srfi-26) ; for cut
- (guix build utils)
- (guix build go-build-system))
- #:import-path "github.com/syncthing/syncthing"
- ;; We don't need to install the source code for end-user applications.
- #:install-source? #f
- #:phases
- #~(modify-phases %standard-phases
- (add-before 'build 'increase-test-timeout
- (lambda _
- (substitute* "src/github.com/syncthing/syncthing/build.go"
- (("120s") "999s"))))
+ (list
+ #:modules '((srfi srfi-26) ; for cut
+ (guix build utils)
+ (guix build go-build-system))
+ #:import-path "github.com/syncthing/syncthing"
+ ;; We don't need to install the source code for end-user applications.
+ #:install-source? #f
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'build 'increase-test-timeout
+ (lambda _
+ (substitute* "src/github.com/syncthing/syncthing/build.go"
+ (("120s") "999s"))))
- (replace 'build
- (lambda _
- (with-directory-excursion "src/github.com/syncthing/syncthing"
- ;; XXX The only way to build Syncthing without its automatic
- ;; updater and to build the utilities is to "build all" and then
- ;; "build syncthing" again with -no-upgrade.
- ;; https://github.com/syncthing/syncthing/issues/6118
- (invoke "go" "run" "build.go")
- (delete-file "bin/syncthing")
- (invoke "go" "run" "build.go" "-no-upgrade" "build" "syncthing"))))
+ (replace 'build
+ (lambda _
+ (with-directory-excursion "src/github.com/syncthing/syncthing"
+ ; Build the primary Syncthing executable
+ (invoke "go" "run" "build.go" "-no-upgrade")
+ ; Build utilities used to run an independent Syncthing network
+ (for-each (cut invoke "go" "run" "build.go" "build" <>)
+ '("stcrashreceiver" "strelaypoolsrv" "stupgrades"
+ "ursrv")))))
- (replace 'check
- (lambda* (#:key tests? #:allow-other-keys)
- (when tests?
- (with-directory-excursion "src/github.com/syncthing/syncthing"
- (invoke "go" "run" "build.go" "test")))))
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (with-directory-excursion "src/github.com/syncthing/syncthing"
+ (invoke "go" "run" "build.go" "test")))))
- (replace 'install
- (lambda _
- (with-directory-excursion "src/github.com/syncthing/syncthing/bin"
- (install-file "../syncthing" (string-append #$output "/bin"))
- (for-each (cut install-file <> (string-append #$output:utils "/bin/"))
- '("stcompdirs" "stcrashreceiver"
- "stdisco" "stdiscosrv" "stevents" "stfileinfo"
- "stfinddevice" "stfindignored" "stgenfiles"
- "strelaypoolsrv" "strelaysrv" "stsigtool"
- "stvanity" "stwatchfile" "ursrv")))))
+ (replace 'install
+ (lambda _
+ (with-directory-excursion "src/github.com/syncthing/syncthing/bin"
+ (install-file "syncthing" (string-append #$output "/bin"))
+ (for-each (cut install-file <> (string-append #$output:utils "/bin/"))
+ '("stdiscosrv" "strelaysrv")))
+ (with-directory-excursion "src/github.com/syncthing/syncthing"
+ (for-each (cut install-file <> (string-append #$output:utils "/bin/"))
+ '("ursrv" "stupgrades" "strelaypoolsrv" "stcrashreceiver")))))
- (add-after 'install 'install-docs
- (lambda _
- (let ((man (string-append #$output "/share/man"))
- (man:utils (string-append #$output:utils "/share/man")))
- ;; Install all the man pages to "out".
- (for-each
- (lambda (file)
- (install-file file
- (string-append man "/man" (string-take-right file 1))))
- (find-files "src/github.com/syncthing/syncthing/man" "\\.[1-9]"))
- ;; Copy all the man pages to "utils"
- (copy-recursively man man:utils)
- ;; Delete extraneous man pages from "out" and "utils",
- ;; respectively.
- (delete-file (string-append man "/man1/stdiscosrv.1"))
- (delete-file (string-append man "/man1/strelaysrv.1"))
- (delete-file (string-append man:utils "/man1/syncthing.1"))))))))
+ (add-after 'install 'install-docs
+ (lambda _
+ (let ((man (string-append #$output "/share/man"))
+ (man:utils (string-append #$output:utils "/share/man")))
+ ;; Install all the man pages to "out".
+ (for-each
+ (lambda (file)
+ (install-file file
+ (string-append man "/man" (string-take-right file 1))))
+ (find-files "src/github.com/syncthing/syncthing/man" "\\.[1-9]"))
+ ;; Copy all the man pages to "utils"
+ (copy-recursively man man:utils)
+ ;; Delete extraneous man pages from "out" and "utils",
+ ;; respectively.
+ (delete-file (string-append man "/man1/stdiscosrv.1"))
+ (delete-file (string-append man "/man1/strelaysrv.1"))
+ (delete-file (string-append man:utils "/man1/syncthing.1"))))))))
(synopsis "Decentralized continuous file system synchronization")
(description "Syncthing is a peer-to-peer file synchronization tool that
supports a wide variety of computing platforms. It uses the Block Exchange
@@ -215,27 +213,26 @@ notification area icon for Syncthing. Supported Syncthing features:
(deprecated-package "qsyncthingtray" syncthing-gtk))
(define-public go-github-com-syncthing-notify
- (let ((commit "69c7a957d3e261f9744f46b3dd4d608d8480ad90")
- (revision "5"))
- (package
- (name "go-github-com-syncthing-notify")
- (version (git-version "0.0.0" revision commit))
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/syncthing/notify")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "1mmdzyfnmjabyhbipl4bggw4w5nlxyyjp0d93qd824kj07kmsr1f"))))
- (build-system go-build-system)
- (arguments
- '(#:import-path "github.com/syncthing/notify"))
- (propagated-inputs
- (list go-golang-org-x-sys))
- (synopsis "File system event notification library")
- (description "This package provides @code{notify}, a file system event
-notification library in Go.")
- (home-page "https://github.com/syncthing/notify")
- (license expat))))
+ (package
+ (name "go-github-com-syncthing-notify")
+ (version "0.0.0-20210616190510-c6b7342338d2")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/syncthing/notify")
+ (commit (go-version->git-ref version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1mw7kxj0smcf4vgpxai7m9vncdx2d3blxqy13hffvza0fxnwkv37"))))
+ (build-system go-build-system)
+ (arguments
+ '(#:import-path "github.com/syncthing/notify"))
+ (propagated-inputs
+ (list go-golang-org-x-sys))
+ (home-page "https://github.com/syncthing/notify")
+ (synopsis "File system event notification library")
+ (description
+ "This package provides @code{notify}, a file system event notification
+library in Go.")
+ (license expat)))
diff --git a/gnu/packages/text-editors.scm b/gnu/packages/text-editors.scm
index 1fde977dff..202a4545cb 100644
--- a/gnu/packages/text-editors.scm
+++ b/gnu/packages/text-editors.scm
@@ -1,7 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org>
;;; Copyright © 2013, 2014 Ludovic Courtès <ludo@gnu.org>
-;;; Copyright © 2015-2022 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2015-2022, 2025 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 José Miguel Sánchez García <jmi2k@openmailbox.org>
;;; Copyright © 2016 Carlo Zancanaro <carlo@zancanaro.id.au>
;;; Copyright © 2016 Rene Saavedra <rennes@openmailbox.org>
@@ -494,7 +494,7 @@ can load dynamic libraries.")
(define-public parinfer-rust-emacs
(package
(name "parinfer-rust-emacs")
- (version "0.4.6")
+ (version "0.4.7")
(source
(origin
(method git-fetch)
@@ -502,22 +502,22 @@ can load dynamic libraries.")
(url "https://github.com/justinbarclay/parinfer-rust-emacs")
(commit (string-append "v" version))))
(sha256
- (base32 "1v5lcbs1x4f3b428sj9rkjbmfpzyxzny7i0pgdpnr8nyjvpkzns8"))
+ (base32 "1gay4m6hd893p5m3fayfdqxncg8cg9kw60w5qm8z14p9nxyqb0i5"))
(file-name (git-file-name name version))))
(build-system cargo-build-system)
(arguments
(list
#:install-source? #f
- #:cargo-inputs `(("rust-getopts" ,rust-getopts-0.2)
- ("rust-libc" ,rust-libc-0.2)
- ("rust-emacs" ,rust-emacs-0.19)
- ("rust-serde" ,rust-serde-1)
- ("rust-serde-json" ,rust-serde-json-1)
- ("rust-serde-derive" ,rust-serde-derive-1)
- ("rust-stdweb" ,rust-stdweb-0.4)
- ("rust-unicode-segmentation" ,rust-unicode-segmentation-1)
- ("rust-unicode-width" ,rust-unicode-width-0.1)
- ("rust-winapi" ,rust-winapi-0.3))
+ #:cargo-inputs (list rust-getopts-0.2
+ rust-libc-0.2
+ rust-emacs-0.19
+ rust-serde-1
+ rust-serde-json-1
+ rust-serde-derive-1
+ rust-stdweb-0.4
+ rust-unicode-segmentation-1
+ rust-unicode-width-0.1
+ rust-winapi-0.3)
#:phases #~(modify-phases %standard-phases
(add-after 'install 'install-library
(lambda _
diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm
index 3d9951b59b..01997c6b73 100644
--- a/gnu/packages/tls.scm
+++ b/gnu/packages/tls.scm
@@ -398,7 +398,8 @@ OpenSSL for TARGET."
(cond ((target-hurd? target)
"hurd")
((and (target-linux? target)
- (target-riscv64? target))
+ (or (target-riscv64? target)
+ (target-loongarch64? target)))
"linux64")
((target-linux? target)
"linux")
@@ -428,6 +429,8 @@ OpenSSL for TARGET."
((and (target-powerpc? target)
(target-64bit? target))
"ppc64")
+ ((target-loongarch64? target)
+ "loongarch64")
((target-riscv64? target)
"riscv64")
((target-64bit? target)
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index 8334b255d7..d0b5907bdd 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -3184,6 +3184,7 @@ YouTube.com and many more sites.")
(build-system pyproject-build-system)
(arguments
`(#:tests? ,(not (%current-target-system))
+ #:test-flags '("--ignore=test/test_websockets.py")
#:phases
(modify-phases %standard-phases
;; See <https://issues.guix.gnu.org/43418#5>.
@@ -3211,9 +3212,9 @@ YouTube.com and many more sites.")
"yt-dlp"
"completions"))))
(replace 'check
- (lambda* (#:key tests? #:allow-other-keys)
+ (lambda* (#:key tests? test-flags #:allow-other-keys)
(when tests?
- (invoke "pytest" "-k" "not download")))))))
+ (apply invoke "pytest" "-k" "not download" test-flags)))))))
(inputs (list ffmpeg python-brotli
python-certifi
python-mutagen
diff --git a/gnu/packages/vim.scm b/gnu/packages/vim.scm
index e77578cf18..f1b6cf940f 100644
--- a/gnu/packages/vim.scm
+++ b/gnu/packages/vim.scm
@@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013 Cyril Roelandt <tipecaml@gmail.com>
-;;; Copyright © 2016-2024 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2016-2025 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016, 2017 Nikita <nikita@n0.is>
;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
@@ -87,7 +87,7 @@
(define-public vim
(package
(name "vim")
- (version "9.1.0889")
+ (version "9.1.1046")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -96,7 +96,7 @@
(file-name (git-file-name name version))
(sha256
(base32
- "1ma8g9zqqbr7pkwkb9zl62n80av18cb7yswq51fciwq3gb2hww5m"))))
+ "0zfpqx0caczy0gq3xvbkv328z7xq76jbx52vhq8x8l6nqzpyjzbc"))))
(build-system gnu-build-system)
(arguments
`(#:test-target "test"
@@ -161,9 +161,12 @@
(string-append line "return\n")))
(with-fluids ((%default-port-encoding #f))
(substitute* "src/testdir/test_writefile.vim"
+ ;; No setfattr in the build environment.
((".*Test_write_with_xattr_support.*" line)
(string-append line "return\n"))))
- (delete-file "runtime/syntax/testdir/input/sh_11.sh")))
+ ;; These two depend on full bash.
+ (delete-file "runtime/syntax/testdir/input/sh_11.sh")
+ (delete-file "runtime/syntax/testdir/input/sh_12.sh")))
(add-before 'install 'fix-installman.sh
(lambda _
(substitute* "src/installman.sh"
diff --git a/gnu/packages/vulkan.scm b/gnu/packages/vulkan.scm
index dd5b51c7fe..241dff73ac 100644
--- a/gnu/packages/vulkan.scm
+++ b/gnu/packages/vulkan.scm
@@ -1,7 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2017, 2018, 2019 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
-;;; Copyright © 2018, 2023, 2024 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2018, 2023-2025 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2020, 2023 Marius Bakke <marius@gnu.org>
;;; Copyright © 2021 Mathieu Othacehe <othacehe@gnu.org>
;;; Copyright © 2022 Kaelyn Takata <kaelyn.alexi@protonmail.com>
@@ -363,7 +363,7 @@ Enhanced Subpixel Morphological Anti-Aliasing
(list
;; As many as 23 tests are expected to fail per architecture.
;; Limit the tests to those architectures tested upstream.
- #:tests? (and (%current-system)
+ #:tests? (and (not (%current-target-system))
(target-x86?))
#:configure-flags
#~(list (string-append "-DVULKAN_HEADERS_INSTALL_DIR="
diff --git a/gnu/packages/web-browsers.scm b/gnu/packages/web-browsers.scm
index d680761f74..c0138eea17 100644
--- a/gnu/packages/web-browsers.scm
+++ b/gnu/packages/web-browsers.scm
@@ -1044,6 +1044,40 @@ Features include
@end itemize")
(license license:bsd-2)))
+(define-public dillo
+ (package
+ (name "dillo")
+ (version "3.2.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/dillo-browser/dillo")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "19rr09b4xvnz7isng8pzxm5879g3pqvml5v8vh4gbwwn93dnlwpn"))))
+ (build-system gnu-build-system)
+ (native-inputs (list autoconf automake))
+ (inputs (list fltk
+ fontconfig
+ openssl
+ libjpeg-turbo
+ libpng
+ libwebp
+ libxext
+ libx11
+ libxfixes
+ libxft
+ libxrender
+ zlib))
+ (home-page "https://dillo-browser.github.io/")
+ (synopsis "Very small and fast graphical web browser")
+ (description
+ "Dillo is a minimalistic web browser particularly intended for
+-older or slower computers and embedded systems.")
+ (license license:gpl3+)))
+
(define-public edbrowse
(package
(name "edbrowse")
diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
index bed4765895..3056083c94 100644
--- a/gnu/packages/web.scm
+++ b/gnu/packages/web.scm
@@ -5273,8 +5273,8 @@ Cloud.")
(license license:expat)))
(define-public guix-data-service
- (let ((commit "c886685e9284da4bbed9377f70dd70da9e7ca29f")
- (revision "58"))
+ (let ((commit "25bf45fe7734ea8de4e98c97595420b19c871e61")
+ (revision "59"))
(package
(name "guix-data-service")
(version (string-append "0.0.1-" revision "." (string-take commit 7)))
@@ -5286,7 +5286,7 @@ Cloud.")
(file-name (git-file-name name version))
(sha256
(base32
- "0rg8ydzg4s984bvz73343vqb3fkykk7x48121c1rzdiakh3ndp1i"))))
+ "1na02i9mfxpc9hwnvx2zp2ykvxgffc8i0fjzbh9vi9n1l6iryiwz"))))
(build-system gnu-build-system)
(arguments
(list
diff --git a/gnu/packages/xml.scm b/gnu/packages/xml.scm
index 2f69911b97..ea36774d36 100644
--- a/gnu/packages/xml.scm
+++ b/gnu/packages/xml.scm
@@ -218,6 +218,17 @@ hierarchical form with variable field lengths.")
(list
#:phases
#~(modify-phases %standard-phases
+ #$@(if (target-loongarch64?)
+ #~((add-after 'unpack 'update-config-scripts
+ (lambda* (#:key inputs native-inputs #:allow-other-keys)
+ ;; Replace outdated config.guess and config.sub.
+ (for-each (lambda (file)
+ (install-file
+ (search-input-file
+ (or native-inputs inputs)
+ (string-append "/bin/" file)) "."))
+ '("config.guess" "config.sub")))))
+ #~())
(add-after 'install 'use-other-outputs
(lambda _
(let ((doc (string-append #$output:doc "/share/"))
@@ -242,7 +253,10 @@ hierarchical form with variable field lengths.")
(synopsis "C parser for XML")
(inputs (list xz))
(propagated-inputs (list zlib)) ; libxml2.la says '-lz'.
- (native-inputs (list perl))
+ (native-inputs (append (if (target-loongarch64?)
+ (list config)
+ '())
+ (list perl)))
(native-search-paths
(list $SGML_CATALOG_FILES $XML_CATALOG_FILES))
(search-paths native-search-paths)
diff --git a/gnu/services/backup.scm b/gnu/services/backup.scm
index 555e9fc959..99a79ff5fb 100644
--- a/gnu/services/backup.scm
+++ b/gnu/services/backup.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2024 Giacomo Leidi <goodoldpaul@autistici.org>
+;;; Copyright © 2024, 2025 Giacomo Leidi <goodoldpaul@autistici.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -18,9 +18,10 @@
(define-module (gnu services backup)
#:use-module (gnu packages backup)
+ #:use-module (gnu packages bash)
#:use-module (gnu services)
#:use-module (gnu services configuration)
- #:use-module (gnu services mcron)
+ #:use-module (gnu services shepherd)
#:use-module (guix build-system copy)
#:use-module (guix gexp)
#:use-module ((guix licenses)
@@ -33,11 +34,16 @@
restic-backup-job-fields
restic-backup-job-restic
restic-backup-job-user
+ restic-backup-job-group
+ restic-backup-job-log-file
+ restic-backup-job-max-duration
+ restic-backup-job-wait-for-termination?
restic-backup-job-name
restic-backup-job-repository
restic-backup-job-password-file
restic-backup-job-schedule
restic-backup-job-files
+ restic-backup-job-requirement
restic-backup-job-verbose?
restic-backup-job-extra-flags
@@ -64,6 +70,12 @@
(define list-of-lowerables?
(list-of lowerable?))
+(define list-of-symbols?
+ (list-of symbol?))
+
+(define-maybe/no-serialization string)
+(define-maybe/no-serialization number)
+
(define-configuration/no-serialization restic-backup-job
(restic
(package restic)
@@ -71,6 +83,23 @@
(user
(string "root")
"The user used for running the current job.")
+ (group
+ (string "root")
+ "The group used for running the current job.")
+ (log-file
+ (maybe-string)
+ "The file system path to the log file for this job. By default the file will
+have be @file{/var/log/restic-backup/@var{job-name}.log}, where @var{job-name} is the
+name defined in the @code{name} field.")
+ (max-duration
+ (maybe-number)
+ "The maximum duration in seconds that a job may last. Past
+@code{max-duration} seconds, the job is forcefully terminated.")
+ (wait-for-termination?
+ (boolean #f)
+ "Wait until the job has finished before considering executing it again;
+otherwise, perform it strictly on every occurrence of event, at the risk of
+having multiple instances running concurrently.")
(name
(string)
"A string denoting a name for this job.")
@@ -84,9 +113,12 @@ will be used to set the @code{RESTIC_PASSWORD} environment variable for the
current job.")
(schedule
(gexp-or-string)
- "A string or a gexp that will be passed as time specification in the mcron
-job specification (@pxref{Syntax, mcron job specifications,, mcron,
-GNU@tie{}mcron}).")
+ "A string or a gexp representing the frequency of the backup. Gexp must
+evaluate to @code{calendar-event} records or to strings. Strings must contain
+Vixie cron date lines.")
+ (requirement
+ (list-of-symbols '())
+ "The list of Shepherd services that this backup job depends upon.")
(files
(list-of-lowerables '())
"The list of files or directories to be backed up. It must be a list of
@@ -175,16 +207,59 @@ command-line arguments to the current job @command{restic backup} invokation."))
(main (command-line)))))
-(define (restic-backup-job->mcron-job config)
- (let ((user
- (restic-backup-job-user config))
- (schedule
- (restic-backup-job-schedule config))
- (name
- (restic-backup-job-name config)))
- #~(job #$schedule
- #$(string-append "restic-guix backup " name)
- #:user #$user)))
+(define (restic-job-log-file job)
+ (let ((name (restic-backup-job-name job))
+ (log-file (restic-backup-job-log-file job)))
+ (if (maybe-value-set? log-file)
+ log-file
+ (string-append "/var/log/restic-backup/" name ".log"))))
+
+(define (restic-backup-job->shepherd-service config)
+ (let ((schedule (restic-backup-job-schedule config))
+ (name (restic-backup-job-name config))
+ (user (restic-backup-job-user config))
+ (group (restic-backup-job-group config))
+ (max-duration (restic-backup-job-max-duration config))
+ (wait-for-termination? (restic-backup-job-wait-for-termination? config))
+ (log-file (restic-job-log-file config))
+ (requirement (restic-backup-job-requirement config)))
+ (shepherd-service (provision `(,(string->symbol name)))
+ (requirement
+ `(user-processes file-systems ,@requirement))
+ (documentation
+ "Run @code{restic} backed backups on a regular basis.")
+ (modules '((shepherd service timer)))
+ (start
+ #~(make-timer-constructor
+ (if (string? #$schedule)
+ (cron-string->calendar-event #$schedule)
+ #$schedule)
+ (command
+ (list
+ ;; We go through bash, instead of executing
+ ;; restic-guix directly, because the login shell
+ ;; gives us the correct user environment that some
+ ;; backends require, such as rclone.
+ (string-append #+bash-minimal "/bin/bash")
+ "-l" "-c"
+ (string-append "restic-guix backup " #$name))
+ #:user #$user
+ #:group #$group
+ #:environment-variables
+ (list
+ (string-append
+ "HOME=" (passwd:dir (getpwnam #$user)))))
+ #:log-file #$log-file
+ #:wait-for-termination? #$wait-for-termination?
+ #:max-duration #$(and (maybe-value-set? max-duration)
+ max-duration)))
+ (stop
+ #~(make-timer-destructor))
+ (actions (list (shepherd-action
+ (name 'trigger)
+ (documentation "Manually trigger a backup,
+without waiting for the scheduled time.")
+ (procedure #~trigger-timer)))))))
(define (restic-guix-wrapper-package jobs)
(package
@@ -212,15 +287,24 @@ without waiting for the scheduled job to run.")
(restic-guix-wrapper-package jobs))
'())))
+(define (restic-backup-activation config)
+ #~(for-each
+ (lambda (log-file)
+ (mkdir-p (dirname log-file)))
+ (list #$@(map restic-job-log-file
+ (restic-backup-configuration-jobs config)))))
+
(define restic-backup-service-type
(service-type (name 'restic-backup)
(extensions
(list
+ (service-extension activation-service-type
+ restic-backup-activation)
(service-extension profile-service-type
restic-backup-service-profile)
- (service-extension mcron-service-type
+ (service-extension shepherd-root-service-type
(lambda (config)
- (map restic-backup-job->mcron-job
+ (map restic-backup-job->shepherd-service
(restic-backup-configuration-jobs
config))))))
(compose concatenate)
@@ -232,5 +316,5 @@ without waiting for the scheduled job to run.")
jobs)))))
(default-value (restic-backup-configuration))
(description
- "This service configures @code{mcron} jobs for running backups
-with @code{restic}.")))
+ "This service configures Shepherd timers for running backups
+with restic.")))
diff --git a/gnu/services/desktop.scm b/gnu/services/desktop.scm
index c18c12a8b8..e544656182 100644
--- a/gnu/services/desktop.scm
+++ b/gnu/services/desktop.scm
@@ -3,7 +3,7 @@
;;; Copyright © 2015 Andy Wingo <wingo@igalia.com>
;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2016 Sou Bunnbu <iyzsong@gmail.com>
-;;; Copyright © 2017, 2020, 2022, 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; Copyright © 2017, 2020, 2022, 2023, 2025 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2017 Nikita <nikita@n0.is>
;;; Copyright © 2017, 2019 Hartmut Goebel <h.goebel@crazy-compilers.com>
;;; Copyright © 2018, 2020, 2022 Efraim Flashner <efraim@flashner.co.il>
@@ -152,6 +152,7 @@
gnome-desktop-configuration-shell
gnome-desktop-configuration-utilities
gnome-desktop-configuration-extra-packages
+ gnome-desktop-configuration-polkit-ignorelist
gnome-desktop-configuration-udev-ignorelist
gnome-desktop-service
gnome-desktop-service-type
@@ -1546,7 +1547,7 @@ dependencies by filtering out the ignorelist."
(union-build #$output
(search-path-as-list
(list "lib/udev" "libexec/udev")
- (list #$@(gnome-profile config)))
+ (list #$@(gnome-profile config #:transitive? #t)))
#:create-all-directories? #t)
(for-each
(lambda (pattern)
@@ -1571,7 +1572,7 @@ rules."
(union-build output
(search-path-as-list
(list "share/polkit-1")
- (list #$@(gnome-profile config)))
+ (list #$@(gnome-profile config #:transitive? #t)))
#:create-all-directories? #t)
(for-each
(lambda (pattern)
@@ -1580,21 +1581,56 @@ rules."
(find-files output pattern)))
(list #$@(gnome-desktop-configuration-polkit-ignorelist config))))))))
-(define (gnome-profile config)
- "Return a list of packages propagated through CONFIG."
- (append
- (gnome-desktop-configuration-core-services config)
- (gnome-desktop-configuration-shell config)
- (gnome-desktop-configuration-utilities config)
- (let ((gnome-meta (gnome-desktop-configuration-gnome config)))
- (if (maybe-value-set? gnome-meta)
- (begin
- (warning
- (gnome-desktop-configuration-source-location config)
- (G_ "Using a meta-package for gnome-desktop is discouraged.~%"))
- (list gnome-meta))
- (list)))
- (gnome-desktop-configuration-extra-packages config)))
+(define* (gnome-profile config #:key transitive?)
+ "Return the list of the packages specified in CONFIG. When TRANSITIVE? is
+#t, also include their transitive propagated inputs. If there are transitive
+inputs using non-default outputs, they are returned as gexp-input objects."
+ (define gnome-packages
+ (append
+ (gnome-desktop-configuration-core-services config)
+ (gnome-desktop-configuration-shell config)
+ (gnome-desktop-configuration-utilities config)
+ (let ((gnome-meta (gnome-desktop-configuration-gnome config)))
+ (if (maybe-value-set? gnome-meta)
+ (begin
+ (warning
+ (gnome-desktop-configuration-source-location config)
+ (G_ "Using a meta-package for gnome-desktop is discouraged.~%"))
+ (list gnome-meta))
+ (list)))
+ (gnome-desktop-configuration-extra-packages config)))
+ (if transitive?
+ (append gnome-packages
+ (append-map (compose (cut map (match-lambda ;discard labels
+ ((_ pkg) pkg)
+ ((_ pkg out)
+ (gexp-input pkg out)))
+ <>)
+ package-transitive-propagated-inputs)
+ gnome-packages))
+ gnome-packages))
+
+(define (gnome-setuid-programs config)
+ "Return the list of setuid programs found within the packages specified in
+CONFIG, a <gnome-desktop-configuration> object."
+ ;; spice-gtk provides polkit actions for USB redirection in GNOME Boxes; set
+ ;; its usb-acl-helper script setuid automatically when the gnome-boxes or
+ ;; spice-gtk packages are added to one of the gnome-desktop-configuration
+ ;; fields.
+ (let* ((gnome-packages (gnome-profile config #:transitive? #t))
+ (spice-gtk (find (compose (cut string=? "spice-gtk" <>)
+ package-name
+ (match-lambda ;disregard potential output
+ ((? package? p) p)
+ ((? gexp-input? p)
+ (gexp-input-thing p))))
+ gnome-packages))
+ (files `(,@(if spice-gtk
+ (list (file-append
+ spice-gtk
+ "/libexec/spice-client-glib-usb-acl-helper"))
+ '()))))
+ (map file-like->setuid-program files)))
(define gnome-desktop-service-type
(service-type
@@ -1604,6 +1640,8 @@ rules."
gnome-udev-configuration-files)
(service-extension polkit-service-type
gnome-polkit-settings)
+ (service-extension privileged-program-service-type
+ gnome-setuid-programs)
(service-extension profile-service-type
gnome-profile)))
(default-value (gnome-desktop-configuration))
diff --git a/guix/build-system/go.scm b/guix/build-system/go.scm
index 1a4d090fa9..863177c59e 100644
--- a/guix/build-system/go.scm
+++ b/guix/build-system/go.scm
@@ -111,6 +111,7 @@ commit hash and its date rather than a proper release tag."
("i686" "386")
("x86_64" "amd64")
("mips64el" "mips64le")
+ ("loongarch64" "loong64")
(_ arch))
(match os
((or "mingw32" "cygwin") "windows")
diff --git a/guix/build-system/meson.scm b/guix/build-system/meson.scm
index 67be007717..5eeeb59e65 100644
--- a/guix/build-system/meson.scm
+++ b/guix/build-system/meson.scm
@@ -69,6 +69,7 @@ for TRIPLET."
"ppc64"
"ppc"))
((target-riscv64? triplet) "riscv64")
+ ((target-loongarch64? triplet) "loongarch64")
(else
(raise
(condition
diff --git a/guix/docker.scm b/guix/docker.scm
index 7ab1a46c7b..22f18a910b 100644
--- a/guix/docker.scm
+++ b/guix/docker.scm
@@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net>
-;;; Copyright © 2017, 2018, 2019, 2021 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2017-2019, 2021, 2025 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2018 Chris Marusich <cmmarusich@gmail.com>
;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2023 Oleg Pykhalov <go.wigust@gmail.com>
@@ -171,8 +171,15 @@ Return a version of TAG that follows these rules."
(1- items-length)))))
(list head tail)))
+(define (tar . arguments)
+ "Invoke 'tar' with the given ARGUMENTS together with options to build
+tarballs in a reproducible fashion."
+ (apply invoke "tar" "--mtime=@1"
+ "--owner=0" "--group=0" "--numeric-owner"
+ "--sort=name" "--mode=go+u,go-w" arguments))
+
(define (create-empty-tar file)
- (invoke "tar" "-cf" file "--files-from" "/dev/null"))
+ (tar "-cf" file "--files-from" "/dev/null"))
(define* (build-docker-image image paths prefix
#:key
@@ -256,7 +263,7 @@ added to image as a layer."
(file-name (string-append file-hash "/layer.tar")))
(mkdir file-hash)
(rename-file "layer.tar" file-name)
- (invoke "tar" "-rf" "image.tar" file-name)
+ (tar "-rf" "image.tar" file-name)
(delete-file file-name)
file-hash))
(define layers-hashes
@@ -269,20 +276,20 @@ added to image as a layer."
(let* ((head-layers
(map
(lambda (file)
- (invoke "tar" "cf" "layer.tar" file)
+ (tar "cf" "layer.tar" file)
(seal-layer))
head))
(tail-layer
(begin
(create-empty-tar "layer.tar")
(for-each (lambda (file)
- (invoke "tar" "-rf" "layer.tar" file))
+ (tar "-rf" "layer.tar" file))
tail)
(let* ((file-hash (layer-diff-id "layer.tar"))
(file-name (string-append file-hash "/layer.tar")))
(mkdir file-hash)
(rename-file "layer.tar" file-name)
- (invoke "tar" "-rf" "image.tar" file-name)
+ (tar "-rf" "image.tar" file-name)
(delete-file file-name)
file-hash)))
(customization-layer
@@ -291,7 +298,7 @@ added to image as a layer."
(file-name (string-append file-hash "/layer.tar")))
(mkdir file-hash)
(rename-file file-id file-name)
- (invoke "tar" "-rf" "image.tar" file-name)
+ (tar "-rf" "image.tar" file-name)
file-hash))
(all-layers
(append head-layers (list tail-layer customization-layer))))
@@ -301,7 +308,7 @@ added to image as a layer."
(map (cut string-append <> "/layer.tar")
all-layers)
repository))))
- (invoke "tar" "-rf" "image.tar" "manifest.json")
+ (tar "-rf" "image.tar" "manifest.json")
all-layers))))
(let* ((directory "/tmp/docker-image") ;temporary working directory
(id (docker-id prefix))
@@ -390,7 +397,7 @@ added to image as a layer."
#:entry-point entry-point))))
(if max-layers
(begin
- (invoke "tar" "-rf" "image.tar" "config.json")
+ (tar "-rf" "image.tar" "config.json")
(if compressor
(begin
(apply invoke `(,@compressor "image.tar"))
diff --git a/guix/import/crate.scm b/guix/import/crate.scm
index b4806c8bb2..d790126ef6 100644
--- a/guix/import/crate.scm
+++ b/guix/import/crate.scm
@@ -7,6 +7,7 @@
;;; Copyright © 2023 Simon Tournier <zimon.toutoune@gmail.com>
;;; Copyright © 2023, 2024 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2023, 2024 David Elsing <david.elsing@posteo.net>
+;;; Copyright © 2025 Herman Rimm <herman@rimm.ee>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -290,6 +291,31 @@ and LICENSE."
(not (crate-version-yanked? entry)))
(crate-versions crate)))
+(define (find-package-version name range allow-yanked?)
+ "Find the latest existing package that fulfills the SemVer RANGE. If
+ALLOW-YANKED? is #t, include packages marked as yanked at a lower
+priority."
+ (set! range (string->semver-range range))
+ (let loop ((packages (find-packages-by-name
+ (crate-name->package-name name)))
+ (semver #f)
+ (yanked? #f))
+ (match packages
+ ((pkg packages ...)
+ (let ((pkg-yanked? (assoc-ref (package-properties pkg)
+ 'crate-version-yanked?)))
+ (if (or allow-yanked? (not pkg-yanked?))
+ (let ((pkg-semver (string->semver (package-version pkg))))
+ (if (and (or (not semver)
+ (and yanked? (not pkg-yanked?))
+ (and (eq? yanked? pkg-yanked?)
+ (semver>? pkg-semver semver)))
+ (semver-range-contains? range pkg-semver))
+ (loop packages pkg-semver pkg-yanked?)
+ (loop packages semver yanked?)))
+ (loop packages semver yanked?))))
+ (() (and semver (list (semver->string semver) yanked?))))))
+
(define* (crate->guix-package
crate-name
#:key version include-dev-deps? allow-yanked? #:allow-other-keys)
@@ -316,32 +342,6 @@ look up the development dependencs for the given crate."
(or version
(crate-latest-version crate))))
- ;; Find the highest existing package that fulfills the semver <range>.
- ;; Packages previously marked as yanked take lower priority.
- (define (find-package-version name range)
- (let* ((semver-range (string->semver-range range))
- (version
- (min-element
- (filter (match-lambda ((semver yanked)
- (and
- (or allow-yanked? (not yanked))
- (semver-range-contains? semver-range semver))))
- (map (lambda (pkg)
- (let ((version (package-version pkg)))
- (list
- (string->semver version)
- (assoc-ref (package-properties pkg)
- 'crate-version-yanked?))))
- (find-packages-by-name
- (crate-name->package-name name))))
- (match-lambda* (((semver1 yanked1) (semver2 yanked2))
- (or (and yanked1 (not yanked2))
- (and (eq? yanked1 yanked2)
- (semver<? semver1 semver2))))))))
- (and (not (eq? #f version))
- (match-let (((semver yanked) version))
- (list (semver->string semver) yanked)))))
-
;; Find the highest version of a crate that fulfills the semver <range>.
;; If no matching non-yanked version has been found and allow-yanked? is #t,
;; also consider yanked packages.
@@ -361,7 +361,8 @@ look up the development dependencs for the given crate."
(define (dependency-name+version+yanked dep)
(let* ((name (crate-dependency-id dep))
(req (crate-dependency-requirement dep))
- (existing-version (find-package-version name req)))
+ (existing-version
+ (find-package-version name req allow-yanked?)))
(if (and existing-version (not (second existing-version)))
(cons name existing-version)
(let* ((crate (lookup-crate* name))
diff --git a/guix/platforms/loongarch.scm b/guix/platforms/loongarch.scm
new file mode 100644
index 0000000000..f569669373
--- /dev/null
+++ b/guix/platforms/loongarch.scm
@@ -0,0 +1,30 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2024 Zheng Junjie <873216071@qq.com>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (guix platforms loongarch)
+ #:use-module (guix platform)
+ #:use-module (guix records)
+ #:export (loongarch64-linux))
+
+(define loongarch64-linux
+ (platform
+ (target "loongarch64-linux-gnu")
+ (system #f)
+ (linux-architecture "loongarch")
+ (rust-target "loongarch64-unknown-linux-gnu")
+ (glibc-dynamic-linker "/lib/ld-linux-loongarch-lp64d.so.1")))
diff --git a/guix/scripts/pack.scm b/guix/scripts/pack.scm
index d0e66c3013..7f5a5f2aa7 100644
--- a/guix/scripts/pack.scm
+++ b/guix/scripts/pack.scm
@@ -1018,15 +1018,22 @@ generating the AppImage. Valid compressors are: ~a~%")
compressor-name
%valid-compressors)))
+ (define database
+ (and localstatedir?
+ (file-append (store-database (list profile))
+ "/db/db.sqlite")))
+
(define builder
(with-extensions (list guile-gcrypt)
(with-imported-modules (source-module-closure
'((guix build store-copy)
- (guix build utils))
+ (guix build utils)
+ (gnu build install))
#:select? not-config?)
#~(begin
(use-modules (guix build utils)
(guix build store-copy)
+ (gnu build install)
(rnrs io ports)
(srfi srfi-1)
(srfi srfi-26))
@@ -1060,6 +1067,10 @@ generating the AppImage. Valid compressors are: ~a~%")
(string-append appdir "/" #$name ".desktop")
#:name #$name
#:exec #$entry-point)
+ ;; Install database and gc roots.
+ (when #+database
+ ;; Initialize /var/guix.
+ (install-database-and-gc-roots appdir #+database profile))
;; Compress the AppDir.
(invoke #+(file-append squashfs-tools "/bin/mksquashfs") appdir
squashfs "-root-owned" "-noappend"
diff --git a/guix/upstream.scm b/guix/upstream.scm
index c44afbc677..62ba6c9d39 100644
--- a/guix/upstream.scm
+++ b/guix/upstream.scm
@@ -427,7 +427,8 @@ string such as \"xz\". Otherwise return #f."
(let ((extension (file-extension file)))
;; FILE might be "example-1.2-checkout", in which case we want to
;; ignore the extension.
- (and (or (string-contains extension "z")
+ (and (string? extension)
+ (or (string-contains extension "z")
(string-contains extension "tar"))
extension)))))
diff --git a/guix/utils.scm b/guix/utils.scm
index 2d82329cb7..b6cf5aea4f 100644
--- a/guix/utils.scm
+++ b/guix/utils.scm
@@ -113,6 +113,7 @@
target-ppc64le?
target-powerpc?
target-riscv64?
+ target-loongarch64?
target-mips64el?
target-64bit?
target-little-endian?
@@ -810,6 +811,10 @@ architecture (x86_64) using 32-bit data types?"
"Is the architecture of TARGET a variant of Microchip's AVR architecture?"
(or (string=? target "avr") (string-prefix? "avr-" target)))
+(define* (target-loongarch64? #:optional (target (or (%current-target-system)
+ (%current-system))))
+ (string-prefix? "loongarch64-" target))
+
(define* (target-ppc32? #:optional (target (or (%current-target-system)
(%current-system))))
(string-prefix? "powerpc-" target))
@@ -834,7 +839,7 @@ architecture (x86_64) using 32-bit data types?"
(define* (target-64bit? #:optional (system (or (%current-target-system)
(%current-system))))
(any (cut string-prefix? <> system) '("x86_64" "aarch64" "mips64"
- "powerpc64" "riscv64")))
+ "powerpc64" "riscv64" "loongarch64")))
(define* (target-little-endian? #:optional (target (or (%current-target-system)
(%current-system))))
diff --git a/tests/crate.scm b/tests/crate.scm
index 5b4ad08c3c..02b708f9d9 100644
--- a/tests/crate.scm
+++ b/tests/crate.scm
@@ -3,7 +3,7 @@
;;; Copyright © 2016 David Craven <david@craven.ch>
;;; Copyright © 2019, 2020, 2022 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2020 Martin Becze <mjbecze@riseup.net>
-;;; Copyright © 2023 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2023, 2025 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2023 David Elsing <david.elsing@posteo.net>
;;;
;;; This file is part of GNU Guix.
@@ -1030,7 +1030,7 @@
(method url-fetch)
(uri (crate-uri "leaf-bob" version))
(file-name
- (string-append name "-" version ".tar.gz"))
+ (string-append name "-" version "-yanked.tar.gz"))
(sha256
(base32
(? string? hash)))))
@@ -1050,7 +1050,7 @@
(method url-fetch)
(uri (crate-uri "leaf-bob" version))
(file-name
- (string-append name "-" version ".tar.gz"))
+ (string-append name "-" version "-yanked.tar.gz"))
(sha256
(base32
(? string? hash)))))
diff --git a/tests/lint.scm b/tests/lint.scm
index 3e9dbd29db..71476f5ae2 100644
--- a/tests/lint.scm
+++ b/tests/lint.scm
@@ -1,7 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012, 2013 Cyril Roelandt <tipecaml@gmail.com>
;;; Copyright © 2014, 2015, 2016 Eric Bavier <bavier@member.fsf.org>
-;;; Copyright © 2014-2024 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2014-2025 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015, 2016 Mathieu Lirzin <mthl@gnu.org>
;;; Copyright © 2016 Hartmut Goebel <h.goebel@crazy-compilers.com>
;;; Copyright © 2017 Alex Kost <alezost@gmail.com>
@@ -448,31 +448,29 @@
(check-inputs-should-be-native pkg))))
(test-equal
- "inputs: python-setuptools should not be an input at all (input)"
- "'python-setuptools' should probably not be an input at all"
+ "inputs: python-pip should not be an input at all (input)"
+ "'python-pip' should probably not be an input at all"
(single-lint-warning-message
(let ((pkg (dummy-package "x"
- (inputs `(("python-setuptools"
- ,python-setuptools))))))
+ (inputs `(("python-pip" ,python-pip))))))
(check-inputs-should-not-be-an-input-at-all pkg))))
(test-equal
- "inputs: python-setuptools should not be an input at all (native-input)"
- "'python-setuptools' should probably not be an input at all"
+ "inputs: python-pip should not be an input at all (native-input)"
+ "'python-pip' should probably not be an input at all"
(single-lint-warning-message
(let ((pkg (dummy-package "x"
(native-inputs
- `(("python-setuptools"
- ,python-setuptools))))))
+ `(("python-pip" ,python-pip))))))
(check-inputs-should-not-be-an-input-at-all pkg))))
(test-equal
- "inputs: python-setuptools should not be an input at all (propagated-input)"
- "'python-setuptools' should probably not be an input at all"
+ "inputs: python-pip should not be an input at all (propagated-input)"
+ "'python-pip' should probably not be an input at all"
(single-lint-warning-message
(let ((pkg (dummy-package "x"
(propagated-inputs
- `(("python-setuptools" ,python-setuptools))))))
+ `(("python-pip" ,python-pip))))))
(check-inputs-should-not-be-an-input-at-all pkg))))
(test-assert "input labels: no warnings"
diff --git a/tests/pack.scm b/tests/pack.scm
index 1c1e312557..9c7e0a50ba 100644
--- a/tests/pack.scm
+++ b/tests/pack.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2017-2021, 2023 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2017-2021, 2023, 2024 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2021, 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2023 Oleg Pykhalov <go.wigust@gmail.com>
@@ -34,14 +34,15 @@
#:use-module ((guix build utils) #:select (%store-directory))
#:use-module (gnu packages)
#:use-module ((gnu packages base) #:select (libc-utf8-locales-for-target
- hello))
+ hello glibc))
#:use-module (gnu packages bootstrap)
#:use-module ((gnu packages package-management) #:select (rpm))
#:use-module ((gnu packages compression) #:select (squashfs-tools))
#:use-module ((gnu packages debian) #:select (dpkg))
- #:use-module ((gnu packages guile) #:select (guile-sqlite3))
+ #:use-module ((gnu packages guile) #:select (guile-sqlite3 guile-3.0))
#:use-module ((gnu packages gnupg) #:select (guile-gcrypt))
#:use-module ((gnu packages linux) #:select (fakeroot))
+ #:use-module ((ice-9 textual-ports) #:select (get-string-all))
#:use-module (srfi srfi-64))
(define %store
@@ -347,36 +348,64 @@
(mlet* %store-monad
((guile (set-guile-for-build (default-guile)))
(profile -> (profile
- (content (packages->manifest (list %bootstrap-guile hello)))
+ ;; When using '--appimage-extract-and-run', the dynamic
+ ;; linker is necessary, hence glibc below.
+ (content (packages->manifest (list hello glibc)))
(hooks '())
(locales? #f)))
(image (self-contained-appimage "hello-appimage" profile
#:entry-point "bin/hello"
#:extra-options
- (list #:relocatable? #t)))
+ '(#:relocatable? #t)))
(check (gexp->derivation
"check-appimage"
- #~(invoke #$image))))
- (built-derivations (list check))))
+ (with-imported-modules '((guix build utils))
+ #~(begin
+ (use-modules (ice-9 popen)
+ (guix build utils))
+ (let ((pipe (open-pipe* OPEN_READ
+ #$image "--appimage-extract-and-run")))
+ (call-with-output-file #$output
+ (lambda (port)
+ (dump-port pipe port)))
+ (exit (status:exit-val (close-pipe pipe)))))))))
+ (mbegin %store-monad
+ (built-derivations (list (pk 'APPIMAGE-drv check)))
+ (return (string=? (call-with-input-file (derivation->output-path check)
+ get-string-all)
+ "Hello, world!\n")))))
(unless store (test-skip 1))
(test-assertm "appimage + localstatedir"
(mlet* %store-monad
((guile (set-guile-for-build (default-guile)))
(profile -> (profile
- (content (packages->manifest (list %bootstrap-guile hello)))
+ ;; When using '--appimage-extract-and-run', the dynamic
+ ;; linker is necessary, hence glibc below.
+ (content (packages->manifest (list guile-3.0 glibc)))
(hooks '())
(locales? #f)))
- (image (self-contained-appimage "hello-appimage" profile
- #:entry-point "bin/hello"
+ (image (self-contained-appimage "guile-appimage" profile
+ #:entry-point "bin/guile"
#:localstatedir? #t
#:extra-options
- (list #:relocatable? #t)))
+ '(#:relocatable? #t)))
(check (gexp->derivation
- "check-appimage"
+ "check-appimage-with-localstatedir"
#~(begin
- (invoke #$image)))))
- (built-derivations (list check))))
+ (system* #$image "--appimage-extract-and-run" "-c"
+ (object->string
+ `(call-with-output-file #$output
+ (lambda (port)
+ (display "Hello from Guile!\n"
+ port)))))
+ (system* #$image "--appimage-extract")
+ (exit (file-exists? "squashfs-root/var/guix/db/db.sqlite"))))))
+ (mbegin %store-monad
+ (built-derivations (list (pk 'APPIMAGE-drv check)))
+ (return (string=? (call-with-input-file (derivation->output-path check)
+ get-string-all)
+ "Hello from Guile!\n")))))
(unless store (test-skip 1))
(test-assertm "deb archive with symlinks and control files"