aboutsummaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
Diffstat (limited to 'gnu')
-rw-r--r--gnu/build/file-systems.scm1
-rw-r--r--gnu/local.mk1
-rw-r--r--gnu/packages/admin.scm6
-rw-r--r--gnu/packages/books.scm5
-rw-r--r--gnu/packages/check.scm8
-rw-r--r--gnu/packages/chicken.scm4
-rw-r--r--gnu/packages/ci.scm6
-rw-r--r--gnu/packages/containers.scm12
-rw-r--r--gnu/packages/debug.scm5
-rw-r--r--gnu/packages/emacs-xyz.scm526
-rw-r--r--gnu/packages/emacs.scm21
-rw-r--r--gnu/packages/finance.scm13
-rw-r--r--gnu/packages/golang-build.scm6
-rw-r--r--gnu/packages/gps.scm52
-rw-r--r--gnu/packages/ipfs.scm107
-rw-r--r--gnu/packages/machine-learning.scm2
-rw-r--r--gnu/packages/maths.scm6
-rw-r--r--gnu/packages/networking.scm4
-rw-r--r--gnu/packages/tree-sitter.scm8
-rw-r--r--gnu/packages/virtualization.scm4
-rw-r--r--gnu/packages/xml.scm40
-rw-r--r--gnu/tests/emacs.scm101
22 files changed, 683 insertions, 255 deletions
diff --git a/gnu/build/file-systems.scm b/gnu/build/file-systems.scm
index ae29b36c4e..2076994e73 100644
--- a/gnu/build/file-systems.scm
+++ b/gnu/build/file-systems.scm
@@ -1083,6 +1083,7 @@ an exception in such cases but perform the nearest sane action."
((string-prefix? "f2fs" type) check-f2fs-file-system)
((string-prefix? "ntfs" type) check-ntfs-file-system)
((string-prefix? "nfs" type) (const 'pass))
+ ((string-prefix? "cifs" type) (const 'pass))
((string-prefix? "xfs" type) check-xfs-file-system)
(else #f)))
diff --git a/gnu/local.mk b/gnu/local.mk
index 761295e6ce..16a31c4686 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -814,6 +814,7 @@ GNU_SYSTEM_MODULES = \
%D%/tests/desktop.scm \
%D%/tests/dict.scm \
%D%/tests/docker.scm \
+ %D%/tests/emacs.scm \
%D%/tests/file-sharing.scm \
%D%/tests/ganeti.scm \
%D%/tests/gdm.scm \
diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
index f4d1797d5b..113b8e2481 100644
--- a/gnu/packages/admin.scm
+++ b/gnu/packages/admin.scm
@@ -385,11 +385,9 @@ interface and is based on GNU Guile.")
"/lib/guile/3.0/site-ccache"))))))
#~%standard-phases)))
- ;; Note: Use 'guile-3.0-latest' to address the continuation-related memory
- ;; leak reported at <https://issues.guix.gnu.org/58631>.
- (native-inputs (list pkg-config guile-3.0-latest
+ (native-inputs (list pkg-config guile-3.0
guile-fibers-1.1)) ;for cross-compilation
- (inputs (list guile-3.0-latest guile-fibers-1.1))))
+ (inputs (list guile-3.0 guile-fibers-1.1))))
(define-public shepherd-0.10
(package
diff --git a/gnu/packages/books.scm b/gnu/packages/books.scm
index 8255d403b2..5a6157d557 100644
--- a/gnu/packages/books.scm
+++ b/gnu/packages/books.scm
@@ -42,7 +42,7 @@
(define-public book-sparc
(package
(name "book-sparc")
- (version "2.0.0")
+ (version "2.1.0")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -50,7 +50,7 @@
(commit (string-append "v" version))))
(sha256
(base32
- "0bn3a3m0kcjybyaz1a7pj8n48jh1cg4szwi9px3zjhhm5818wi7z"))
+ "1ns2vs5yb9z1hj9gq5y55qz7c9azzhr866b665s8fq50q5m4yhbc"))
(file-name (git-file-name name version))
(modules '((guix build utils)))
(snippet
@@ -78,6 +78,7 @@
(list font-liberation
texlive-acronym
texlive-adjustbox
+ texlive-biblatex
texlive-bibtex
texlive-bibtexperllibs
texlive-bigfoot
diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm
index 3bfcf5a37e..412b94569c 100644
--- a/gnu/packages/check.scm
+++ b/gnu/packages/check.scm
@@ -3500,7 +3500,13 @@ provides a simple way to achieve this.")
(display "find_package(Boost GLOBAL)\n" out)))
(substitute* "extras/boost/test/CMakeLists.txt"
(("^([ ]*)boost" all spaces)
- (string-append spaces "Boost::boost")))))))
+ (string-append spaces "Boost::boost")))
+ ;; Disable tests failing on Apple M1 and Hetzner CAX41 (aarch64).
+ ;; Upstream issue: https://github.com/emil-e/rapidcheck/issues/328
+ (substitute* "test/gen/NumericTests.cpp"
+ (("forEachType<SignedProperties.*") ""))
+ (substitute* "test/shrink/ShrinkTests.cpp"
+ (("forEachType<SignedIntegralProperties.*") ""))))))
(arguments
(list
#:configure-flags #~(list "-DCMAKE_POSITION_INDEPENDENT_CODE=ON"
diff --git a/gnu/packages/chicken.scm b/gnu/packages/chicken.scm
index 8f5e8ce98d..d48a0c89c0 100644
--- a/gnu/packages/chicken.scm
+++ b/gnu/packages/chicken.scm
@@ -33,14 +33,14 @@
(define-public chicken
(package
(name "chicken")
- (version "5.3.0")
+ (version "5.4.0")
(source (origin
(method url-fetch)
(uri (string-append "https://code.call-cc.org/releases/"
version "/chicken-" version ".tar.gz"))
(sha256
(base32
- "0xhdvcdwlv9vbhxh7k0fzd32ybhc7fn83y9fj48dhzp1z7c9kbf3"))))
+ "0pzcrnzkjw2sa44vy59wbygvlc3nva8zisprkdnvyrqi3jk4lp9w"))))
(build-system gnu-build-system)
(arguments
`(#:modules ((guix build gnu-build-system)
diff --git a/gnu/packages/ci.scm b/gnu/packages/ci.scm
index ccb4a153ad..25b9853439 100644
--- a/gnu/packages/ci.scm
+++ b/gnu/packages/ci.scm
@@ -60,8 +60,8 @@
#:use-module ((guix search-paths) #:select ($SSL_CERT_DIR)))
(define-public cuirass
- (let ((commit "0eaf7b69bed87ac8f5ff10ad904a83a025192577")
- (revision "6"))
+ (let ((commit "ab5c751737b694b4d1e5fbbd7bc1ec559e94a7ce")
+ (revision "7"))
(package
(name "cuirass")
(version (git-version "1.2.0" revision commit))
@@ -74,7 +74,7 @@
(file-name (git-file-name name version))
(sha256
(base32
- "0kc7jgxsjk0bnd02c09rsbqs82rkwyxjsyzy33cb1c8hblf3fbkg"))))
+ "1cakc6q7gvd1qnfq47j6swqjrkgikwaq3ziwdrdvb0d23l2xzz29"))))
(build-system gnu-build-system)
(arguments
(list #:modules `((guix build utils)
diff --git a/gnu/packages/containers.scm b/gnu/packages/containers.scm
index 0361470483..a80596aa53 100644
--- a/gnu/packages/containers.scm
+++ b/gnu/packages/containers.scm
@@ -160,7 +160,7 @@ runtime (like runc or crun) for a single container.")
(define-public distrobox
(package
(name "distrobox")
- (version "1.7.0")
+ (version "1.7.2.1")
(source
(origin
(method git-fetch)
@@ -168,12 +168,20 @@ runtime (like runc or crun) for a single container.")
(url "https://github.com/89luca89/distrobox")
(commit version)))
(sha256
- (base32 "1g14q1sm3026h9n85v1gc3m2v9sgrac2mr9yrkh98qg5yahzmpc3"))
+ (base32 "0q0m3x1984kc5g7pihlwmnmrnnxnx6c0givx7wf91q91rlmdws0z"))
(file-name (git-file-name name version))))
(build-system copy-build-system)
(arguments
(list #:phases
#~(modify-phases %standard-phases
+ ;; This script creates desktop files but when the store path for
+ ;; distrobox changes it leaves the stale path on the desktop
+ ;; file, so remove the path to use the profile's current
+ ;; distrobox.
+ (add-after 'unpack 'patch-distrobox-generate-entry
+ (lambda _
+ (substitute* "distrobox-generate-entry"
+ (("\\$\\{distrobox_path\\}/distrobox") "distrobox"))))
;; Use WRAP-SCRIPT to wrap all of the scripts of distrobox,
;; excluding the host side ones.
(add-after 'install 'wrap-scripts
diff --git a/gnu/packages/debug.scm b/gnu/packages/debug.scm
index 612533b03d..d34b4fdf28 100644
--- a/gnu/packages/debug.scm
+++ b/gnu/packages/debug.scm
@@ -13,6 +13,7 @@
;;; Copyright © 2022 Matthew James Kraai <kraai@ftbfs.org>
;;; Copyright © 2023 Andy Tai <atai@atai.org>
;;; Copyright © 2023 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2024 Raven Hallsby <karl@hallsby.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -733,7 +734,7 @@ error reporting, better tracing, profiling, and a debugger.")
(define-public rr
(package
(name "rr")
- (version "5.7.0")
+ (version "5.8.0")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -741,7 +742,7 @@ error reporting, better tracing, profiling, and a debugger.")
(commit version)))
(sha256
(base32
- "0y50gynh3bb28vsxspn0g71b0m1mmqdgs63pbq08sv7vps35nllz"))
+ "16w6vvvgww4i2f0jk5zlrr6606fj8kps21fnw0pshyw88l141rqn"))
(file-name (git-file-name name version))))
(build-system cmake-build-system)
(arguments
diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 75be8999ae..3f987f8ae6 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -290,9 +290,30 @@
#:use-module (srfi srfi-1)
#:use-module (ice-9 match))
-;;;
-;;; Emacs hacking.
-;;;
+(define-public emacs-0x0
+ (let ((commit "04f95142b25d8bb701f239539176df6617dcd982")
+ (revision "0"))
+ (package
+ (name "emacs-0x0")
+ (version (git-version "1.0.1" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://git.sr.ht/~willvaughn/emacs-0x0")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0vj9vrfkgm7plp5mvq22fm9sln11j9763g3wd2w6c82rlsk6dhva"))))
+ (build-system emacs-build-system)
+ (home-page "https://git.sr.ht/~willvaughn/emacs-0x0")
+ (synopsis
+ "Integration with @url{https://0x0.st, 0x0.st} and self-hosted services
+from Emacs")
+ (description
+ "Emacs 0x0 is a pastebin integration tool. It can upload the current
+buffer, a file on your disk, or a string from the kill ring.")
+ (license license:gpl3+))))
(define-public emacs-ac-ispell
(let ((commit "22bace7387e9012002a6a444922f75f9913077b0")
@@ -1636,7 +1657,7 @@ libgit2 bindings for Emacs, intended to boost the performance of Magit.")
(define-public emacs-llm
(package
(name "emacs-llm")
- (version "0.16.1")
+ (version "0.17.0")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -1644,11 +1665,11 @@ libgit2 bindings for Emacs, intended to boost the performance of Magit.")
(commit version)))
(file-name (git-file-name name version))
(sha256 (base32
- "0gxxs7ddkka836m3cq03s5qcay3sdsrfhanmgxybbc4byh6n0zh2"))))
+ "1sds3gb5accmpkajc60cbly2imkvvb7a3afi8qdb67p5vkk5xvc2"))))
(build-system emacs-build-system)
(propagated-inputs (list emacs-plz))
(home-page "https://github.com/ahyatt/llm")
- (synopsis "Emacs library abstracting Large Language Model capabilities.")
+ (synopsis "Emacs library abstracting Large Language Model capabilities")
(description
"This package provides interfaces to abstract various @acronym{LLM, large
language model}s out in the world. To respect user freedom, it will warn you
@@ -1656,10 +1677,8 @@ before interacting with non-free LLMs.")
(license license:gpl3+)))
(define-public emacs-magit
- ;; Use this unreleased commit to benefit from a recent improvements with
- ;; regard to adding git trailers such as "Reviewed-by".
- (let ((commit "dda332b2a41569f5fd8c0c2c3c2dab902d48ceb4")
- (revision "7"))
+ (let ((commit "538cb2f90b5fdd04fcaacd537834f4f3c8c0720f")
+ (revision "8"))
(package
(name "emacs-magit")
(version (git-version "3.3.0" revision commit))
@@ -1671,7 +1690,7 @@ before interacting with non-free LLMs.")
(commit commit)))
(file-name (git-file-name name version))
(sha256
- (base32 "14vqfykfzddpfka7s3pmlh3yvbfd1rpjhab4g9dinz9hn48dwb06"))))
+ (base32 "1vzqy82ai8w0k283bij45k49pq4v3xy4yyy5gd24ba713y03327f"))))
(build-system emacs-build-system)
(arguments
(list
@@ -1963,6 +1982,28 @@ purpose finder.")
files left by ArchLinux's pacman.")
(license license:expat)))
+(define-public emacs-palimpsest
+ (package
+ (name "emacs-palimpsest")
+ (version "1.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/danielsz/Palimpsest")
+ (commit "f474b3ad706373d9953abdc401d683a2a023d28e")))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0wzxl1zcbm3svspjpjzvx92is1k9sz7g0a99r8q066j2364la0zh"))))
+ (build-system emacs-build-system)
+ (home-page "https://github.com/danielsz/Palimpsest")
+ (synopsis "Remove text without permanently deleting it")
+ (description
+ "This minor mode for Emacs provides several strategies to remove text
+without permanently deleting it. Namely, it can send selected test to the
+bottom, or top, of the buffer, or to a trash file.")
+ (license license:gpl3+)))
+
(define-public emacs-minions
(package
(name "emacs-minions")
@@ -2773,6 +2814,29 @@ different tools. It highlights errors and warnings inline in the buffer, and
provides an optional IDE-like error list.")
(license license:gpl3+))) ;+GFDLv1.3+ for the manual
+(define-public emacs-flycheck-clj-kondo
+ (let ((commit "e38c67ba9db1ea1cbe1b61ab39b506c05efdcdbf")
+ (revision "1"))
+ (package
+ (name "emacs-flycheck-clj-kondo")
+ (version (git-version "0.0.4" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/borkdude/flycheck-clj-kondo")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1pxlb8axgmc8cw4id40z576kd041qb1irq8rkjn6xbda585ix58f"))))
+ (build-system emacs-build-system)
+ (propagated-inputs (list emacs-flycheck))
+ (home-page "https://github.com/borkdude/flycheck-clj-kondo")
+ (synopsis "Add Clj-kondo linter to Flycheck")
+ (description
+ "This package integrates Clj-kondo with Emacs via Flycheck.")
+ (license license:gpl3+))))
+
(define-public emacs-fb2-reader
(let ((commit "9836db284749e0cef4c43c2cb5358c82ae9b8589")) ; version bump
(package
@@ -2883,6 +2947,38 @@ modes.")
compile}.")
(license license:gpl3+)))
+(define-public emacs-flymake-perlcritic
+ (let ((commit "c11fee87370d8bd889a6c00d4f689fd5f08f2922")
+ (revision "0"))
+ (package
+ (name "emacs-flymake-perlcritic")
+ (version (git-version "1.0.3" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/flymake/emacs-flymake-perlcritic")
+ (commit commit)))
+ (sha256
+ (base32 "1n2682ly8pw8sjj7bix4qjjxc5x396m6sxbv0k6vs93z4i1gy2qm"))))
+ (build-system emacs-build-system)
+ (arguments
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'set-command
+ (lambda* (#:key inputs #:allow-other-keys)
+ (emacs-substitute-variables "flymake-perlcritic.el"
+ ("flymake-perlcritic-command"
+ (search-input-file inputs "/bin/perlcritic"))))))))
+ (inputs (list perl-critic))
+ (home-page "https://github.com/flymake/emacs-flymake-perlcritic")
+ (synopsis "Flymake handler for perlcritic")
+ (description
+ "Flymake Perlcritic adds support to Flymake for running Perl::Critic to
+perform static analysis of Perl code.")
+ (license license:gpl3+))))
+
(define-public emacs-flymake-popon
(package
(name "emacs-flymake-popon")
@@ -3440,11 +3536,6 @@ or unexpected behavior inside an elisp configuration file (typically
@file{init.el} or @file{.emacs}).")
(license license:gpl3+))))
-
-;;;
-;;; Web browsing.
-;;;
-
(define-public emacs-w3m
;; Emacs-w3m follows a "rolling release" model.
(package
@@ -3597,22 +3688,17 @@ to prevent advertisers from tracking you when you open URLs (or listen to
podcasts) in Emacs.")
(license (list license:gpl3+)))))
-
-;;;
-;;; Multimedia.
-;;;
-
(define emacs-emms-print-metadata
(package
(name "emacs-emms-print-metadata")
- (version "20")
+ (version "20.1")
(source
(origin
(method url-fetch)
(uri (string-append "https://elpa.gnu.org/packages/"
"emms-" version ".tar"))
(sha256
- (base32 "0g61fgnslpaqvh6l872hjdwhnkzz79g1950wllx8hk9hr35nb2ag"))))
+ (base32 "0h0v31f1q7k45k8s9kncvim3a7np7fgjz4qg9v8gjc5ag01dzwkx"))))
(build-system gnu-build-system)
(arguments
(list
@@ -3750,41 +3836,39 @@ Selectrum.")
(license license:gpl3+)))
(define-public emacs-empv
- (let ((commit "8cc9b0a425b6989d30f91bf90e9b09bd00581f07")
- (revision "1"))
- (package
- (name "emacs-empv")
- (version (git-version "4.3.0" revision commit))
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/isamert/empv.el")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "06dphwj9vi39dbpif3kzp6azs80klh13s9l22a6ddz91kmds2myy"))))
- (build-system emacs-build-system)
- (arguments
- (list
- #:phases #~(modify-phases %standard-phases
- (add-after 'unpack 'set-default-binaries
- (lambda* (#:key inputs #:allow-other-keys)
- (emacs-substitute-variables "empv.el"
- ("empv-fd-binary" (search-input-file inputs "/bin/fd"))
- ("empv-mpv-binary" (search-input-file inputs "/bin/mpv"))))))))
- (inputs (list fd mpv))
- (propagated-inputs (list emacs-compat emacs-consult emacs-s))
- (home-page "https://github.com/isamert/empv.el")
- (synopsis
- "Emacs multimedia player, media library manager, YouTube frontend")
- (description
- "This package is an Emacs multimedia player based on mpv. It offers
+ (package
+ (name "emacs-empv")
+ (version "4.4.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/isamert/empv.el")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1x756842bwyzp8qqlkcnisbsvpb1i8dc7ajq32ra4l3zfk8vqbh1"))))
+ (build-system emacs-build-system)
+ (arguments
+ (list
+ #:phases #~(modify-phases %standard-phases
+ (add-after 'unpack 'set-default-binaries
+ (lambda* (#:key inputs #:allow-other-keys)
+ (emacs-substitute-variables "empv.el"
+ ("empv-fd-binary" (search-input-file inputs "/bin/fd"))
+ ("empv-mpv-binary" (search-input-file inputs "/bin/mpv"))))))))
+ (inputs (list fd mpv))
+ (propagated-inputs (list emacs-compat emacs-consult emacs-s))
+ (home-page "https://github.com/isamert/empv.el")
+ (synopsis
+ "Emacs multimedia player, media library manager, YouTube frontend")
+ (description
+ "This package is an Emacs multimedia player based on mpv. It offers
a comprehensive interface to mpv, including convenient features such as an
embedded radio manager, YouTube integration, and a local music and video
library manager.")
- (license license:gpl3+))))
+ (license license:gpl3+)))
(define-public emacs-marginalia-emprise
(package
@@ -3833,11 +3917,6 @@ toggle custom-defined channels. An external media player like mpv or VLC is
required.")
(license license:gpl3+))))
-
-;;;
-;;; Miscellaneous.
-;;;
-
(define-public emacs-ace-link
(package
(name "emacs-ace-link")
@@ -4539,14 +4618,14 @@ as a library for other Emacs packages.")
(define-public emacs-auctex
(package
(name "emacs-auctex")
- (version "14.0.5")
+ (version "14.0.6")
(source
(origin
(method url-fetch)
(uri (string-append "https://elpa.gnu.org/packages/"
"auctex-" version ".tar"))
(sha256
- (base32 "0sycj6ad5jazmsxq37hsnvbywkpj66lrw3d3mxqr1wqkb67cdd3k"))))
+ (base32 "0cajri7x6770wjkrasa0p2s0dvcp74fpv1znac5wdfiwhvl1i9yr"))))
(build-system emacs-build-system)
;; We use 'emacs' because AUCTeX requires dbus at compile time
;; ('emacs-minimal' does not provide dbus).
@@ -5094,7 +5173,7 @@ that the binary uses instead of the actual binary contents.")
(define-public emacs-ellama
(package
(name "emacs-ellama")
- (version "0.9.11")
+ (version "0.11.12")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -5102,9 +5181,9 @@ that the binary uses instead of the actual binary contents.")
(commit version)))
(file-name (git-file-name name version))
(sha256 (base32
- "18wxp7shzqhi7paqidv8j80fsiikvsckzm02cwhqy8fyyypv9pdc"))))
+ "16hhzb38qcrj7irf0h1h2yr8j02v0lkgxn89ysapabh9ppf6amx8"))))
(build-system emacs-build-system)
- (propagated-inputs (list emacs-dash emacs-llm emacs-spinner))
+ (propagated-inputs (list emacs-compat emacs-dash emacs-llm emacs-spinner))
(home-page "https://github.com/s-kostyaev/ellama")
(synopsis "Tool for interacting with LLMs")
(description
@@ -6820,7 +6899,7 @@ window.")
(define-public emacs-git-link
(package
(name "emacs-git-link")
- (version "0.9.1")
+ (version "0.9.2")
(source
(origin
(method git-fetch)
@@ -6829,7 +6908,7 @@ window.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "1dxmzk4qrz69h097lwshfg4qavdp92an5212ndhjkpmkgvk1v0xl"))))
+ (base32 "1z7m7xl72x7as3d9l3zspac53kyij7hixpz1y2aq5gqpa7wzh87z"))))
(build-system emacs-build-system)
(arguments
(list
@@ -9163,26 +9242,20 @@ user.")
(define-public emacs-subed
(package
(name "emacs-subed")
- (version "1.2.11")
+ (version "1.2.14")
(source (origin
(method url-fetch)
(uri (string-append "https://elpa.nongnu.org/nongnu/subed-"
version ".tar"))
(sha256
(base32
- "1dlh7vd8kc16wr9sqd3v7kkxfvqadi56pa52h35b86krndh4vazp"))))
+ "0kzb054radxq9hqviadmbr4cln39yp7yz4inq4ip52rd3qdm8vy4"))))
(arguments
(list
#:tests? #t
- #:test-command #~(list "make" "test-only")
- #:phases
- #~(modify-phases %standard-phases
- (add-after 'unpack 'compatibility-with-recent-buttercup
- (lambda _
- (substitute* (find-files "tests/" "\\.el$")
- (("\\(buttercup-minor-mode\\) -\\*-")
- "(buttercup-minor-mode); lexical-binding: t -*-")))))))
+ #:test-command #~(list "make" "test-only")))
(native-inputs (list emacs-buttercup))
+ (inputs (list ffmpeg))
(build-system emacs-build-system)
(home-page "https://elpa.nongnu.org/nongnu/subed.html")
(synopsis "Major mode for editing subtitles")
@@ -9466,7 +9539,7 @@ build jobs.")
(define-public emacs-zmq
(package
(name "emacs-zmq")
- (version "1.0.0")
+ (version "1.0.1")
(source
(origin
(method git-fetch)
@@ -9475,7 +9548,7 @@ build jobs.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "1bg4c26f8n1jy6z9dr2c9fz79myy9lbb5z67797qp1cbx8k6p3n7"))))
+ (base32 "171cm487jbdqi73lk7vc9dsrzhxqic0yvy1vvxwk3b9qx1m2ab6v"))))
(build-system emacs-build-system)
(arguments
(list
@@ -11146,7 +11219,7 @@ sgml/html integration, and indentation (working with sgml).")
(define-public emacs-jinx
(package
(name "emacs-jinx")
- (version "1.8")
+ (version "1.9")
(source
(origin
(method git-fetch)
@@ -11156,7 +11229,7 @@ sgml/html integration, and indentation (working with sgml).")
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "0sdirjxi5gsmc1vbmkj494s54zcmf6xrl6lrdqjnqmlbgq8517nw"))))
+ (base32 "17bygyvllmmnngmbp8grs5nrngiy61c2kbyxykf1hgvmj4hqwkv8"))))
(build-system emacs-build-system)
(arguments
(list
@@ -12436,6 +12509,26 @@ list of candidates.")
completion using Consult.")
(license license:gpl3+))))
+(define-public emacs-consult-denote
+ (package
+ (name "emacs-consult-denote")
+ (version "0.1.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://elpa.gnu.org/packages/consult-denote-"
+ version ".tar"))
+ (sha256
+ (base32 "0yhf9fifas87rs4wdapszbpx1xqyq44izjq7vzpyvdlh5a5fhhx1"))))
+ (build-system emacs-build-system)
+ (propagated-inputs (list emacs-consult emacs-denote))
+ (home-page "https://github.com/protesilaos/consult-denote")
+ (synopsis "Consult interface for Denote")
+ (description
+ "Consult Denote provides commands to interact with Emacs Denote using
+a Completing Read interface.")
+ (license license:gpl3+)))
+
(define-public emacs-consult-dir
(package
(name "emacs-consult-dir")
@@ -12828,7 +12921,7 @@ between symbols.")
(define-public emacs-hl-todo
(package
(name "emacs-hl-todo")
- (version "3.7.0")
+ (version "3.8.0")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -12837,7 +12930,7 @@ between symbols.")
(file-name (git-file-name name version))
(sha256
(base32
- "0am37ndwz8gkfs0d1va86q84yjdvvf0wag8fns3q87i5yhssi7vp"))))
+ "13qwh736srkrqiim1xpfkc5hjk1c77i9y6a71nv5iqaffykizkx0"))))
(build-system emacs-build-system)
(propagated-inputs
(list emacs-compat))
@@ -14963,7 +15056,7 @@ with Elfeed.")
(define-public emacs-elfeed-score
(package
(name "emacs-elfeed-score")
- (version "1.2.7")
+ (version "1.2.8")
(source
(origin
(method git-fetch)
@@ -14972,7 +15065,7 @@ with Elfeed.")
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "0s37m8566g396d8480jac07c89f2jjpg6p3hcwwmz89s27agp81q"))))
+ (base32 "0kmg3pciqihs8r5xja3pv48gzkn3vs6y6ij0dlmzmavymfp7hq5z"))))
(build-system emacs-build-system)
(arguments
(list
@@ -15081,6 +15174,28 @@ suggestion is taken.")
customizable 256 color support to @code{term} and @code{ansi-term}.")
(license license:gpl3+)))
+(define-public emacs-centaur-tabs
+ (package
+ (name "emacs-centaur-tabs")
+ (version "3.2")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/ema2159/centaur-tabs")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1z7b3s29xb0n25bfbbm1wrcap9dvig5zi5fcnvlyrl9si9565948"))))
+ (build-system emacs-build-system)
+ (propagated-inputs (list emacs-all-the-icons emacs-powerline))
+ (home-page "https://github.com/ema2159/centaur-tabs")
+ (synopsis "Modern looking tabs plugin for Emacs")
+ (description
+ "This projects aims to become an aesthetic, functional and
+efficient tabs plugin for Emacs with a lot of customization options.")
+ (license license:gpl3+)))
+
(define-public emacs-mocker
(package
(name "emacs-mocker")
@@ -16133,7 +16248,7 @@ implementation.")
(define-public emacs-cider
(package
(name "emacs-cider")
- (version "1.15.0")
+ (version "1.15.1")
(source
(origin
(method git-fetch)
@@ -16142,7 +16257,7 @@ implementation.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "1ih16wk9gd214kgz5s5azs4f26v5grvp9yacfzgidaxzrmzh83j8"))))
+ (base32 "0kzgkx6jcv2864c32qr9qvrxm66l6ncakcpw1j7vf24xi51cs9a1"))))
(build-system emacs-build-system)
(arguments
'(#:include (cons* "^lein\\.sh$" "^clojure\\.sh$" %default-include)
@@ -16539,7 +16654,7 @@ Lua programming language}.")
(define-public emacs-ebuild-mode
(package
(name "emacs-ebuild-mode")
- (version "1.71")
+ (version "1.72")
(source
(origin
(method url-fetch)
@@ -16548,7 +16663,7 @@ Lua programming language}.")
"ebuild-mode-" version ".tar.xz"))
(file-name (string-append name "-" version ".tar.xz"))
(sha256
- (base32 "0gmzki027iyzzkvvsc9mq5njwwjvrys69awpfcq0rwbp11qn6jsd"))))
+ (base32 "1xzkb2i5azws6wrvbsxh5jpd2lvh0h1kxsm7dyzcf01a6w3qxks8"))))
(build-system emacs-build-system)
(arguments
(list
@@ -17227,7 +17342,7 @@ passive voice.")
(define-public emacs-org
(package
(name "emacs-org")
- (version "9.7.6")
+ (version "9.7.8")
(source
(origin
(method git-fetch)
@@ -17236,7 +17351,7 @@ passive voice.")
(commit (string-append "release_" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "0n3lnccd011njmy6srpjran2pi2frc3vq1cx11cqzd5p5961v7mj"))))
+ (base32 "0pkw47rkvyl3s2pisprh1l26c70n3n5b8vxw25mzkrz2nr94qn44"))))
(build-system emacs-build-system)
(arguments
(list
@@ -17850,7 +17965,7 @@ you to deal with multiple log levels.")
(define-public emacs-denote
(package
(name "emacs-denote")
- (version "3.0.6")
+ (version "3.0.7")
(source
(origin
(method git-fetch)
@@ -17859,7 +17974,7 @@ you to deal with multiple log levels.")
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "0m5cdzk1mjcg5wrmgrgk165pwwgq3wjfcxzqs0xhrz6l033rsfwq"))))
+ (base32 "0dq0djv5baz6pab6vf5p52yywxz91smpb9fqlx1hyzl3cvgs8aml"))))
(build-system emacs-build-system)
(native-inputs (list texinfo))
(home-page "https://protesilaos.com/emacs/denote/")
@@ -18042,7 +18157,7 @@ are common in Chromium-derived projects.")
(define-public emacs-gnosis
(package
(name "emacs-gnosis")
- (version "0.3.0")
+ (version "0.3.2")
(source
(origin
(method git-fetch)
@@ -18051,7 +18166,7 @@ are common in Chromium-derived projects.")
(commit version)))
(sha256
(base32
- "19mzyg4hg6mplv3s2kb8xiaw06zkbj7a3gvfvy51cwvb8k979ap6"))
+ "03ydknrzl5xcmn5n2ybyxqmjfrqrpk0h0p6cp9xnpmra6r87xqkd"))
(file-name (git-file-name name version))))
(build-system emacs-build-system)
(propagated-inputs (list emacs-compat emacs-emacsql))
@@ -19872,14 +19987,14 @@ conflicts.")
(define-public emacs-xelb
(package
(name "emacs-xelb")
- (version "0.19")
+ (version "0.20")
(source (origin
(method url-fetch)
(uri (string-append "https://elpa.gnu.org/packages/xelb-"
version ".tar"))
(sha256
(base32
- "1jgpb1ym7p2dfkk45zrv6w1jqgw66sb76jvjfjsqbrkx5605x2hk"))))
+ "12ikrnvik1n1fdc6ixx53d0z84v269wi463380k0i5zb6q8ncwpk"))))
(build-system emacs-build-system)
;; The following functions and variables needed by emacs-xelb are
;; not included in emacs-minimal:
@@ -19891,7 +20006,7 @@ conflicts.")
#:emacs emacs
#:phases
#~(modify-phases %standard-phases
- (add-after 'unpack 'regenerate-el-files
+ (add-after 'expand-load-path 'regenerate-el-files
(lambda* (#:key inputs native-inputs #:allow-other-keys)
(substitute* "xelb-gen"
(("/usr/bin/env") (which "env")))
@@ -19902,6 +20017,7 @@ conflicts.")
(format #f "PROTO_PATH=~a/share/xcb" xcb-proto)
(format #f "EMACS_BIN=~a -Q" emacs))))))))
(native-inputs (list xcb-proto))
+ (propagated-inputs (list emacs-compat))
(home-page "https://github.com/ch11ng/xelb")
(synopsis "X protocol Emacs Lisp binding")
(description "@code{emacs-xelb} is a pure Emacs Lisp implementation of the
@@ -19913,7 +20029,7 @@ It should enable you to implement low-level X11 applications.")
(define-public emacs-exwm
(package
(name "emacs-exwm")
- (version "0.30")
+ (version "0.31")
(synopsis "Emacs X window manager")
(source
(origin
@@ -19921,7 +20037,7 @@ It should enable you to implement low-level X11 applications.")
(uri (string-append "https://elpa.gnu.org/packages/"
"exwm-" version ".tar"))
(sha256
- (base32 "1yscxs0knfb7wz7x6g9nixb6rpn5898q9dpsvk37ayda7nw75b2i"))))
+ (base32 "1i1k8w641n2fd6xifl92pvvq0s0b820lq76d1cyc7iyaqs44w9qq"))))
(build-system emacs-build-system)
(propagated-inputs
(list emacs-xelb))
@@ -20947,24 +21063,17 @@ as a modern file manager.")
(define-public emacs-which-key
(package
(name "emacs-which-key")
- (version "3.6.0")
+ (version "3.6.1")
(source
(origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/justbur/emacs-which-key")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
+ (method url-fetch)
+ (uri (string-append "https://elpa.gnu.org/packages/which-key-" version
+ ".tar"))
(sha256
- (base32 "0ph5mrzz3r7x4dmy93v6affl4jznvic97a30mrs3kvhwyr2v4mby"))))
+ (base32 "0p1vl7dnd7nsvzgsff19px9yzcw4w07qb5sb8g9r8a8slgvf3vqh"))))
(build-system emacs-build-system)
- (arguments
- `(#:tests? #t
- #:test-command '("emacs" "--batch"
- "-l" "which-key-tests.el"
- "-f" "ert-run-tests-batch-and-exit")))
- (home-page "https://github.com/justbur/emacs-which-key")
- (synopsis "Display available key bindings in popup")
+ (home-page "https://elpa.gnu.org/packages/which-key.html")
+ (synopsis "Display available keybindings in popup")
(description
"@code{emacs-which-key} is a minor mode for Emacs that displays the key
bindings following your currently entered incomplete command (a prefix) in a
@@ -25761,7 +25870,7 @@ powerful Org contents.")
(define-public emacs-org-re-reveal
(package
(name "emacs-org-re-reveal")
- (version "3.28.2")
+ (version "3.29.1")
(source
(origin
(method git-fetch)
@@ -25770,7 +25879,7 @@ powerful Org contents.")
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "1qbp198xg8pkd9zdvapq8bdsxilgqqync8m3r1csg8nz8lbpkk1b"))))
+ (base32 "1ql684l6jny3r3c7xa5m3mfgv89j0jpjan6a05gfay6m1pgsg9iy"))))
(build-system emacs-build-system)
(propagated-inputs
(list emacs-htmlize emacs-org))
@@ -31245,6 +31354,14 @@ the standard @code{Dockerfile} file format.")
(for-each (lambda (f)
(install-file f "."))
(find-files "clients/" "\\.el$"))))
+ (add-after 'unpack 'enable-plists
+ (lambda _
+ (substitute* "lsp-protocol.el"
+ ;; This is faster, and it's officially recommended,
+ ;; and it's required by emacs-lsp-booster.
+ ;; See also:
+ ;; <https://emacs-lsp.github.io/lsp-mode/page/performance/>.
+ (("\\(getenv \"LSP_USE_PLISTS\"\\)") "t"))))
(add-before 'move-clients-libraries 'fix-patch-el-files
;; /bin/ksh is only used on macOS, which we don't support, so we
;; don't want to add it as input.
@@ -31377,56 +31494,54 @@ in Docker environment.")
(license license:gpl3+))))
(define-public emacs-dape
- (let ((commit "51fad7df7473778fbc4bac703317de7f7713b307")
- (revision "0"))
- (package
- (name "emacs-dape")
- (version (git-version "0.12.0" revision commit))
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/svaante/dape")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32 "1jics02b9fxjs0lykiv7z924z18id550mqhf6piqzv0sgan91pg2"))))
- (build-system emacs-build-system)
- (arguments
- ;; FIXME python tests pass, JS tests require additional dependencies
- ;; See https://lists.sr.ht/~abcdw/rde-devel/patches/51878
- (list #:tests? #f
- #:test-command #~'("emacs" "--batch" "-l" "dape.el"
- "-l" "dape-tests.el"
- "-f" "ert-run-tests-batch-and-exit")
- #:phases
- #~(modify-phases %standard-phases
- (add-after 'unpack 'support-unwrapped-python
- (lambda _
- (substitute* "dape.el"
- (("command \"python\"")
- "command \"python3\""))))
- (add-before 'check 'pre-check
- (lambda* (#:key tests? inputs #:allow-other-keys)
- (if tests?
- (setenv
- "PATH"
- (string-append
- (getenv "PATH")
- ":" (dirname (search-input-file inputs "/bin/python3"))
- ":" (dirname (search-input-file inputs "/bin/node"))))
- (format #t "test suite not run~%")))))))
- (native-inputs (list node-lts python-minimal python-debugpy))
- (propagated-inputs (list emacs-jsonrpc))
- (home-page "https://github.com/svaante/dape")
- (synopsis "Debug Adapter Protocol for Emacs")
- (description
- "Dape is a debug adapter client for Emacs. The debug adapter protocol,
+ (package
+ (name "emacs-dape")
+ (version "0.14.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/svaante/dape")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0227i5z9vkr2l9isrlssdwda844jvpcs4i9ryj0cwj6i60jbf1g3"))))
+ (build-system emacs-build-system)
+ (arguments
+ ;; FIXME python tests pass, JS tests require additional dependencies
+ ;; See https://lists.sr.ht/~abcdw/rde-devel/patches/51878
+ (list #:tests? #f
+ #:test-command #~'("emacs" "--batch" "-l" "dape.el"
+ "-l" "dape-tests.el"
+ "-f" "ert-run-tests-batch-and-exit")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'support-unwrapped-python
+ (lambda _
+ (substitute* "dape.el"
+ (("command \"python\"")
+ "command \"python3\""))))
+ (add-before 'check 'pre-check
+ (lambda* (#:key tests? inputs #:allow-other-keys)
+ (if tests?
+ (setenv
+ "PATH"
+ (string-append
+ (getenv "PATH")
+ ":" (dirname (search-input-file inputs "/bin/python3"))
+ ":" (dirname (search-input-file inputs "/bin/node"))))
+ (format #t "test suite not run~%")))))))
+ (native-inputs (list node-lts python-minimal python-debugpy))
+ (propagated-inputs (list emacs-jsonrpc))
+ (home-page "https://github.com/svaante/dape")
+ (synopsis "Debug Adapter Protocol for Emacs")
+ (description
+ "Dape is a debug adapter client for Emacs. The debug adapter protocol,
much like its more well-known counterpart, the language server protocol,
aims to establish a common API for programming tools. However, instead of
functionalities such as code completions, it provides a standardized
interface for debuggers.")
- (license license:gpl3+))))
+ (license license:gpl3+)))
(define-public emacs-dap-mode
(package
@@ -31897,7 +32012,7 @@ as Emacs Lisp.")
(define-public emacs-transient
(package
(name "emacs-transient")
- (version "0.7.2")
+ (version "0.7.3")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -31906,7 +32021,7 @@ as Emacs Lisp.")
(file-name (git-file-name name version))
(sha256
(base32
- "0fkgl374jxar2fhpjn4j67r7qc71xlg15r968lk1bny3aj3wf989"))))
+ "11yygh8h2ggslym3mly9dfgyml9srmcqkx1i9n190idv5a4gkjm7"))))
(build-system emacs-build-system)
(arguments
`(#:tests? #f ;no test suite
@@ -33136,7 +33251,7 @@ all of your projects, then override or add variables on a per-project basis.")
(define-public emacs-casual-avy
(package
(name "emacs-casual-avy")
- (version "1.4.0")
+ (version "1.4.1")
(source
(origin
(method git-fetch)
@@ -33145,7 +33260,7 @@ all of your projects, then override or add variables on a per-project basis.")
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "1n369d7yk6wr5b1145zxviiri1n2f8pzfmzchcnii34zwa2y7x2y"))))
+ (base32 "120dnixi8if8v4s4xr0lilpbkikk93v5icf16fydsd143q8x81gg"))))
(build-system emacs-build-system)
(arguments
(list
@@ -33190,7 +33305,7 @@ all of your projects, then override or add variables on a per-project basis.")
(define-public emacs-casual-dired
(package
(name "emacs-casual-dired")
- (version "1.6.0")
+ (version "1.7.0")
(source
(origin
(method git-fetch)
@@ -33199,7 +33314,7 @@ all of your projects, then override or add variables on a per-project basis.")
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "01yyhamslbnzf7w2hn5c8gpjjnw1aclyf9265pvdnxsyb4jdyi5k"))))
+ (base32 "1lilb3gi8mmiiwdwr3xsy9pvm3nh5crzsvbh45dsk72wwgzjp94i"))))
(build-system emacs-build-system)
(arguments
(list
@@ -33209,15 +33324,42 @@ all of your projects, then override or add variables on a per-project basis.")
(lambda _ (chdir "lisp"))))))
(propagated-inputs (list emacs-casual-lib))
(home-page "https://github.com/kickingvegas/casual-dired")
- (synopsis "Transient-based porcelain for dired")
+ (synopsis "Transient-based porcelain for Dired")
(description
"Casual Dired is an opinionated Transient-based porcelain for Emacs Dired.")
(license license:gpl3+)))
+(define-public emacs-casual-info
+ (package
+ (name "emacs-casual-info")
+ (version "1.3.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/kickingvegas/casual-info")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1a74njjp7vqvl4jnmrzqjpgpvgy66p11a47hx51mydyxayp4nwmr"))))
+ (build-system emacs-build-system)
+ (arguments
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'chdir
+ (lambda _ (chdir "lisp"))))))
+ (propagated-inputs (list emacs-casual-lib))
+ (home-page "https://github.com/kickingvegas/casual-info")
+ (synopsis "Transient-based porcelain for info reader")
+ (description
+ "Casual Info is an opinionated Transient-based porcelain for Emacs Info reader.")
+ (license license:gpl3+)))
+
(define-public emacs-casual-lib
(package
(name "emacs-casual-lib")
- (version "1.1.0")
+ (version "1.1.1")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -33226,7 +33368,7 @@ all of your projects, then override or add variables on a per-project basis.")
(file-name (git-file-name name version))
(sha256
(base32
- "0dn6jz8bbz17326g0jd1hvz80xxmbl7dwifb2nnw7nl6q6adbkmf"))))
+ "02pxnhp5idn6ypk5s5nl0df1s2pgmyy7g5p3hiyb52m972y1if35"))))
(build-system emacs-build-system)
(arguments
(list #:tests? #t
@@ -33248,7 +33390,7 @@ all of your projects, then override or add variables on a per-project basis.")
(define-public emacs-calibredb
(package
(name "emacs-calibredb")
- (version "2.12.0")
+ (version "2.13.0")
(source
(origin
(method git-fetch)
@@ -33257,7 +33399,7 @@ all of your projects, then override or add variables on a per-project basis.")
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "1l30s3wv21mpybbxni5fziq2awai9k60i87s6fid56hg262r7jp0"))))
+ (base32 "1a4gyc3gcq18j29pw2i296d70nvx5fbzlw9fdmqwzncciqz5as6m"))))
(build-system emacs-build-system)
(arguments
(list
@@ -33544,14 +33686,14 @@ well as an option for visually flashing evaluated s-expressions.")
(define-public emacs-tramp
(package
(name "emacs-tramp")
- (version "2.6.3")
+ (version "2.7.1")
(source
(origin
(method url-fetch)
(uri (string-append "https://elpa.gnu.org/packages/"
"tramp-" version ".tar"))
(sha256
- (base32 "0z44mfpvn4qy2xc2fsiahw3xir140ljna8aq45dcb7qnmr044xjb"))))
+ (base32 "128k591219ffwbk1cifki0xx94rg6b7crh7gmhaiqfa6jylqhcg8"))))
(build-system emacs-build-system)
(arguments
(list
@@ -34581,7 +34723,7 @@ time.")
(define-public emacs-mastodon
(package
(name "emacs-mastodon")
- (version "1.0.23")
+ (version "1.0.24")
(source
(origin
(method git-fetch)
@@ -34590,7 +34732,7 @@ time.")
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "1jknnp66fn6prk3b1xjjbml798vczfy7agf72pcvwrciljm9ij34"))))
+ (base32 "1365n7nswh7f6py82hkb5qd9fhl6mdr0jcpnbzsx0mc75vpyjvl8"))))
(build-system emacs-build-system)
(arguments
(list
@@ -34760,7 +34902,7 @@ contains a track position, playback will start at the specified position.")
(define-public emacs-org-jira
(package
(name "emacs-org-jira")
- (version "4.4.1")
+ (version "4.4.2")
(source
(origin
(method git-fetch)
@@ -34770,7 +34912,7 @@ contains a track position, playback will start at the specified position.")
(file-name (git-file-name name version))
(sha256
(base32
- "1pkqyvziwp2573hnr8s41chsbm40564f76i3l8ynjr7955nccsms"))))
+ "1mg7p9y4d4m6b6qkjvdz6lqby3kvvdb7qcjqgkrf75rzv0rsn1h2"))))
(build-system emacs-build-system)
(arguments
(list
@@ -39873,6 +40015,32 @@ workspace diagnostics, symbols, and file symbols from @{emacs-lsp-mode}
by leveraging @code{emacs-consult} APIs.")
(license license:expat)))
+(define-public emacs-consult-projectile
+ (let ((commit "400439c56d17bca7888f7d143d8a11f84900a406")
+ (revision "1"))
+ (package
+ (name "emacs-consult-projectile")
+ (version (git-version "0.7" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.com/OlMon/consult-projectile")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1abd2dw3zpiln9pd7l3j78wl3lwapcmf1ilijv3vin9g0wqb7hmn"))))
+ (build-system emacs-build-system)
+ (propagated-inputs (list emacs-consult emacs-projectile))
+ (home-page "https://gitlab.com/OlMon/consult-projectile")
+ (synopsis "Consult integration for Projectile")
+ (description
+ "This package provides a multiview for displaying open buffers, files
+and directories associated with a project. When no project is open in the
+current buffer, it displays a list of known projects. One can then pick
+a file from the selected project.")
+ (license license:gpl3+))))
+
(define-public emacs-context-transient
(package
(name "emacs-context-transient")
diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index ed186d221c..f1ea4fe061 100644
--- a/gnu/packages/emacs.scm
+++ b/gnu/packages/emacs.scm
@@ -100,15 +100,18 @@
(define-public emacs-minimal
(package
(name "emacs-minimal")
- (version "29.3")
- (replacement emacs-minimal/fixed)
+ (version "29.4")
+ ;; Note: When using (replacement …), ensure that comp-native-version-dir
+ ;; stays the same across grafts.
+ ;; Run `make check-system TESTS=emacs-native-comp' to ensure that grafts
+ ;; can meaningfully be applied.
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/emacs/emacs-"
version ".tar.xz"))
(sha256
(base32
- "1822swrk4ifmkd4h9l0h37zifcpa1w3sy3vsgyffsrp6mk9hak63"))
+ "0dd2mh6maa7dc5f49qdzj7bi4hda4wfm1cvvgq560djcz537k2ds"))
(patches (search-patches "emacs-disable-jit-compilation.patch"
"emacs-exec-path.patch"
"emacs-fix-scheme-indent-function.patch"
@@ -335,18 +338,6 @@ languages.")
(files '("lib/tree-sitter")))))
(properties `((upstream-name . "emacs")))))
-(define emacs-minimal/fixed
- (package
- (inherit emacs-minimal)
- (version "29.4")
- (source
- (origin (inherit (package-source emacs-minimal))
- (uri (string-append "mirror://gnu/emacs/emacs-"
- version ".tar.xz"))
- (sha256
- (base32
- "0dd2mh6maa7dc5f49qdzj7bi4hda4wfm1cvvgq560djcz537k2ds"))))))
-
(define-public emacs-no-x
(package/inherit emacs-minimal
(name "emacs-no-x")
diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm
index 29186fec88..7f230f2806 100644
--- a/gnu/packages/finance.scm
+++ b/gnu/packages/finance.scm
@@ -11,7 +11,7 @@
;;; Copyright © 2018 Adriano Peluso <catonano@gmail.com>
;;; Copyright © 2018-2022 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net>
-;;; Copyright © 2019-2023 Guillaume Le Vaillant <glv@posteo.net>
+;;; Copyright © 2019-2024 Guillaume Le Vaillant <glv@posteo.net>
;;; Copyright © 2019 Tanguy Le Carrour <tanguy@bioneland.org>
;;; Copyright © 2019, 2020 Martin Becze <mjbecze@riseup.net>
;;; Copyright © 2019 Sebastian Schott <sschott@mailbox.org>
@@ -2378,7 +2378,7 @@ mining.")
(define-public p2pool
(package
(name "p2pool")
- (version "3.10")
+ (version "4.0")
(source
(origin
(method git-fetch)
@@ -2387,7 +2387,7 @@ mining.")
(commit (string-append "v" version))
(recursive? #t)))
(file-name (git-file-name name version))
- (sha256 (base32 "0lp9slfwaq3wp4x6xpsiazam5lv6dz57m20adzlzzk0anb1ascr0"))
+ (sha256 (base32 "0x6s7fm5gn0q2274b2nja8hj84cvmxp4rr9x4xw050sxj74880jh"))
(modules '((guix build utils)))
(snippet
#~(for-each delete-file-recursively
@@ -2396,10 +2396,11 @@ mining.")
"external/src/curl"
"external/src/libuv"
"external/src/libzmq"
- "external/src/rapidjson")))))
+ "external/src/rapidjson"
+ "external/src/robin-hood-hashing")))))
(build-system cmake-build-system)
(inputs
- (list cppzmq curl gss libuv rapidjson zeromq))
+ (list cppzmq curl gss libuv rapidjson robin-hood-hashing zeromq))
(arguments
(list ; FIXME: Linking fails when LTO is activated.
#:configure-flags #~(list "-DWITH_LTO=OFF")
@@ -2410,7 +2411,7 @@ mining.")
(when tests?
(mkdir-p "tests")
(chdir "tests")
- (invoke "cmake" "../../source/tests")
+ (invoke "cmake" "-DWITH_LTO=OFF" "../../source/tests")
(invoke "make" "-j" (number->string (parallel-job-count)))
(invoke "gzip" "-d" "sidechain_dump.dat.gz")
(invoke "gzip" "-d" "sidechain_dump_mini.dat.gz")
diff --git a/gnu/packages/golang-build.scm b/gnu/packages/golang-build.scm
index fbad61e269..d2ee54f021 100644
--- a/gnu/packages/golang-build.scm
+++ b/gnu/packages/golang-build.scm
@@ -2,7 +2,7 @@
;;; Copyright © 2019 Brian Leung <bkleung89@gmail.com>
;;; Copyright © 2019, 2020 Leo Famulari <leo@famulari.name>
;;; Copyright © 2020 Danny Milosavljevic <dannym@scratchpost.org>
-;;; Copyright © 2020 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2020, 2024 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2020 HiPhish <hiphish@posteo.de>
;;; Copyright © 2020 Oleg Pykhalov <go.wigust@gmail.com>
;;; Copyright © 2020 Ryan Prior <rprior@protonmail.com>
@@ -80,6 +80,10 @@
(replace 'check
(lambda* (#:key tests? import-path #:allow-other-keys)
(when tests?
+ ;; We need to extend the timeout on some architectures.
+ ;; 64 is the default in extra_test.go.
+ (setenv "GOLDMARK_TEST_TIMEOUT_MULTIPLIER"
+ (number->string (* 64 5)))
(with-directory-excursion (string-append "src/" import-path)
(invoke "go" "test" "-v" "./..."))))))))
(home-page "https://github.com/yuin/goldmark/")
diff --git a/gnu/packages/gps.scm b/gnu/packages/gps.scm
index ce7e4bfbe3..ebb7eed99c 100644
--- a/gnu/packages/gps.scm
+++ b/gnu/packages/gps.scm
@@ -31,6 +31,7 @@
#:use-module (guix git-download)
#:use-module (guix build-system gnu)
#:use-module (guix build-system scons)
+ #:use-module (guix build-system qt)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix utils)
#:use-module (gnu packages)
@@ -51,6 +52,7 @@
#:use-module (gnu packages qt)
#:use-module (gnu packages serialization)
#:use-module (gnu packages sqlite)
+ #:use-module (gnu packages xdisorg)
#:use-module (gnu packages xml))
(define-public gpsbabel
@@ -179,33 +181,31 @@ coordinates as well as partial support for adjustments in global coordinate syst
(define-public gpxsee
(package
(name "gpxsee")
- (version "11.1")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/tumic0/GPXSee")
- (commit version)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "1klpjiqsvpvhlg5hsfjaszsyqr817hig9r7y7w4cp0kyn8z5fzfj"))))
- (build-system gnu-build-system)
+ (version "13.22")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/tumic0/GPXSee")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "15m5rqky2fwsq5n6x531350x39wwhpv1hz56m1yfaxj7acxhb2p5"))))
+ (build-system qt-build-system)
(arguments
- '(#:phases
- (modify-phases %standard-phases
- (replace 'configure
- ;; Use lrelease to convert TS translation files into QM files.
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (for-each (lambda (file)
- (invoke "lrelease" file))
- (find-files "lang" "\\.ts"))
- (invoke "qmake"
- (string-append "PREFIX="
- (assoc-ref outputs "out"))))))))
- (inputs
- (list qtbase-5 qtlocation-5 qtsvg-5))
- (native-inputs
- (list qttools-5))
+ (list
+ #:qtbase qtbase
+ #:tests? #f ; no tests
+ #:phases #~(modify-phases %standard-phases
+ (replace 'configure
+ ;; Use lrelease to convert TS translation files into QM files.
+ (lambda _
+ (apply invoke "lrelease"
+ (find-files "lang" "\\.ts"))
+ (invoke "qmake"
+ (string-append "PREFIX=" #$output)))))))
+ (inputs (list libxkbcommon qtbase qtpositioning qtserialport qtsvg))
+ (native-inputs (list qttools))
(home-page "https://www.gpxsee.org")
(synopsis "GPS log file viewer and analyzer")
(description
diff --git a/gnu/packages/ipfs.scm b/gnu/packages/ipfs.scm
index c4914bbb80..82d8914250 100644
--- a/gnu/packages/ipfs.scm
+++ b/gnu/packages/ipfs.scm
@@ -29,6 +29,7 @@
#:use-module (guix git-download)
#:use-module (guix download)
#:use-module (guix build-system go)
+ #:use-module (gnu packages gcc)
#:use-module (gnu packages golang)
#:use-module (gnu packages golang-build)
#:use-module (gnu packages golang-check)
@@ -147,7 +148,9 @@ with @url{https://github.com/ipld/cid, CIDs}.")
"0qk6fshgdmhp8dip2ksm13j6nywi41m9mn0czkvmw6b697z85l2r"))))
(build-system go-build-system)
(arguments
- `(#:go ,go-1.16
+ `(#:go ,@(if (supported-package? go-1.16)
+ `(,go-1.16)
+ `(,gccgo-11))
#:unpack-path "github.com/ipfs/go-ipfs-cmdkit"
#:import-path "github.com/ipfs/go-ipfs-cmdkit/files"))
(home-page "https://github.com/ipfs/go-ipfs-cmdkit")
@@ -366,6 +369,64 @@ IPLD graph as detailed below. Objects are demonstrated here using both
order to be a part of the @acronym{IPLD, InterPlanetary Linked Data} merkle-forest.")
(license license:expat)))
+(define-public go-github-com-ipfs-go-ipld-legacy
+ (package
+ (name "go-github-com-ipfs-go-ipld-legacy")
+ (version "0.2.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/ipfs/go-ipld-legacy")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0sc2zc3lyxy30fzynwdpfrl8jhh1ynwixn1crrv8hzn93yix6550"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:go go-1.21
+ #:import-path "github.com/ipfs/go-ipld-legacy"))
+ (native-inputs (list go-github-com-stretchr-testify))
+ (propagated-inputs (list go-github-com-ipfs-go-block-format
+ go-github-com-ipfs-go-cid
+ go-github-com-ipfs-go-ipld-format
+ go-github-com-ipld-go-ipld-prime))
+ (home-page "https://github.com/ipfs/go-ipld-legacy")
+ (synopsis "Translation layer for IPLD legacy code")
+ (description
+ "@code{go-ipld-format} is a translation layer between @code{go-ipld-prime} nodes
+and @code{go-ipld-format} legacy interface.")
+ (license (list license:expat license:asl2.0))))
+
+(define-public go-github-com-ipld-go-codec-dagpb
+ (package
+ (name "go-github-com-ipld-go-codec-dagpb")
+ (version "1.6.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/ipld/go-codec-dagpb")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1jbrwbgr222wsi95gdflbj350csja6k8vphdq7c9bm50ipr8bvkq"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:go go-1.21
+ #:import-path "github.com/ipld/go-codec-dagpb"))
+ (propagated-inputs (list go-github-com-ipfs-go-cid
+ go-github-com-ipld-go-ipld-prime
+ go-google-golang-org-protobuf))
+ (home-page "https://github.com/ipld/go-codec-dagpb/")
+ (synopsis "Implementation of the DAG-PB spec for Go")
+ (description
+ "An implementation of the @url{https://ipld.io/, IPLD DAG-PB} spec for
+@code{go-ipld-prime}.")
+ (license (list license:expat license:asl2.0))))
+
(define-public go-github-com-ipld-go-ipld-prime
(package
(name "go-github-com-ipld-go-ipld-prime")
@@ -513,6 +574,35 @@ their levels to be controlled individually.")
(list
#:import-path "github.com/ipfs/go-log"))))
+(define-public go-github-com-libp2p-go-socket-activation
+ (package
+ (name "go-github-com-libp2p-go-socket-activation")
+ (version "0.1.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/libp2p/go-socket-activation")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1cqxzmjfg7838xifs07kigys9icardwlj1wl426mzgzmbwn6pg5s"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/libp2p/go-socket-activation"))
+ (propagated-inputs
+ (list go-github-com-coreos-go-systemd-v22
+ go-github-com-ipfs-go-log
+ go-github-com-multiformats-go-multiaddr-0.12))
+ (home-page "https://github.com/libp2p/go-socket-activation")
+ (synopsis "Multiaddr backed systemd socket activation")
+ (description
+ "This package provides access to sockets registered by the system's init
+daemon as described in
+@url{http://0pointer.de/blog/projects/socket-activation}.")
+ (license license:expat)))
+
(define-public go-github-com-whyrusleeping-cbor-gen
(package
(name "go-github-com-whyrusleeping-cbor-gen")
@@ -541,6 +631,9 @@ their levels to be controlled individually.")
types.")
(license license:expat)))
+;; XXX: No updates for 4 years, and depends on dated Golang modules which
+;; require go-1.16 to compile, see
+;; <https://github.com/whyrusleeping/gx/issues/247>.
(define-public gx
(package
(name "gx")
@@ -599,6 +692,9 @@ powerful and simple.")
'(#:unpack-path "github.com/whyrusleeping/gx"
#:import-path "github.com/whyrusleeping/gx/gxutil"))))
+;; XXX: No updates for 4 years, and depends on dated Golang modules which
+;; require go-1.16 to compile, see
+;; <https://github.com/whyrusleeping/gx-go/issues/65>.
(define-public gx-go
(package
(name "gx-go")
@@ -705,12 +801,15 @@ written in Go.")
"vendor/github.com/ipfs/go-ipld-cbor"
"vendor/github.com/ipfs/go-ipld-format"
"vendor/github.com/ipfs/go-ipld-git"
+ "vendor/github.com/ipfs/go-ipld-legacy"
"vendor/github.com/ipfs/go-log"
+ "vendor/github.com/ipld/go-codec-dagpb"
"vendor/github.com/ipld/go-ipld-prime"
"vendor/github.com/jackpal"
"vendor/github.com/jbenet"
"vendor/github.com/julienschmidt"
"vendor/github.com/klauspost"
+ "vendor/github.com/libp2p/go-socket-activation"
"vendor/github.com/mattn"
"vendor/github.com/mgutz"
"vendor/github.com/miekg"
@@ -792,7 +891,7 @@ written in Go.")
go-github-com-ipfs-go-ipld-cbor
go-github-com-ipfs-go-ipld-format
go-github-com-ipfs-go-ipld-git
- ;;go-github-com-ipfs-go-ipld-legacy
+ go-github-com-ipfs-go-ipld-legacy
go-github-com-ipfs-go-log
go-github-com-ipfs-go-log-v2
;;go-github-com-ipfs-go-metrics-interface
@@ -802,7 +901,7 @@ written in Go.")
;;go-github-com-ipfs-shipyard-nopfs-ipfs
;;go-github-com-ipld-go-car
;;go-github-com-ipld-go-car-v2
- ;;go-github-com-ipld-go-codec-dagpb
+ go-github-com-ipld-go-codec-dagpb
go-github-com-ipld-go-ipld-prime
go-github-com-jbenet-go-random
go-github-com-jbenet-go-temp-err-catcher
@@ -818,7 +917,7 @@ written in Go.")
;;go-github-com-libp2p-go-libp2p-record
;;go-github-com-libp2p-go-libp2p-routing-helpers
;;go-github-com-libp2p-go-libp2p-testing
- ;;go-github-com-libp2p-go-socket-activation
+ go-github-com-libp2p-go-socket-activation
go-github-com-mitchellh-go-homedir
go-github-com-multiformats-go-multiaddr-0.12
go-github-com-multiformats-go-multiaddr-dns
diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm
index 34dc5c8d26..02b3677764 100644
--- a/gnu/packages/machine-learning.scm
+++ b/gnu/packages/machine-learning.scm
@@ -3864,7 +3864,7 @@ with image data, text data, and sequence data.")
python-pyux
python-sphinx
python-requests))
- (home-page "https://github.com/keras-team/keras")
+ (home-page "https://keras.io/")
(synopsis "High-level deep learning framework")
(description "Keras is a high-level neural networks API, written in Python
and capable of running on top of TensorFlow. It was developed with a focus on
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index 391c11891e..1265ae13e9 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -1400,19 +1400,19 @@ in the terminal or with an external viewer.")
(define-public gnuplot
(package
(name "gnuplot")
- (version "5.4.9")
+ (version "6.0.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/gnuplot/gnuplot/"
version "/gnuplot-"
version ".tar.gz"))
(sha256
- (base32 "15vabi30s4ln4vi82csx4nvfms3ik8704rk0prcm9h1xylhs0a53"))))
+ (base32 "16ipf7m2c2v1cldp3kwxbjj6db6bzy0rkrpp4kzhh61a3866cnp8"))))
(build-system gnu-build-system)
(native-inputs
(list pkg-config (texlive-updmap.cfg)))
(inputs
- (list cairo gd lua pango readline))
+ (list cairo gd libcerf lua pango readline))
(arguments
(list #:configure-flags
#~(list "--with-qt=no"
diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
index a68d64ab8d..91aaccf06d 100644
--- a/gnu/packages/networking.scm
+++ b/gnu/packages/networking.scm
@@ -2737,7 +2737,7 @@ that block port 22.")
(define-public iperf
(package
(name "iperf")
- (version "3.16")
+ (version "3.17.1")
(source
(origin
(method git-fetch)
@@ -2746,7 +2746,7 @@ that block port 22.")
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "0m8zhr050qgmkkaf0jgn2isrr7yyk8majx9c18pf1xsqpr00sxs6"))))
+ (base32 "14pspy3348114r7rm2gj8h4qjhq8r8q7khrfqg8ln4vi1p9dq2x5"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags
diff --git a/gnu/packages/tree-sitter.scm b/gnu/packages/tree-sitter.scm
index eb72b415ee..2f6e6809d7 100644
--- a/gnu/packages/tree-sitter.scm
+++ b/gnu/packages/tree-sitter.scm
@@ -531,6 +531,14 @@ which will be used as a snippet in origin."
(git-version "0.19.0" revision commit)
#:commit commit)))
+(define-public tree-sitter-prisma
+ (tree-sitter-grammar
+ "prisma" "Prisma"
+ "19zb3dkwp2kpyivygqxk8yph0jpl7hn9zzcry15mshn2n0rs9sih"
+ "1.4.0"
+ #:repository-url "https://github.com/victorhqc/tree-sitter-prisma"
+ #:license license:expat))
+
(define-public tree-sitter-python
(tree-sitter-grammar
"python" "Python"
diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm
index dfd0e19e4b..061748bb4a 100644
--- a/gnu/packages/virtualization.scm
+++ b/gnu/packages/virtualization.scm
@@ -2321,7 +2321,7 @@ Open Container Initiative (OCI) image layout and its tagged images.")
(define-public skopeo
(package
(name "skopeo")
- (version "1.15.1")
+ (version "1.15.2")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -2330,7 +2330,7 @@ Open Container Initiative (OCI) image layout and its tagged images.")
(file-name (git-file-name name version))
(sha256
(base32
- "0fhw3jrbklpz7kb1kdwn2hg3v2jyyz30710wkd0wlpfz4fyzmzb6"))))
+ "13y1fmv78hh5ycm7xlsg851y17s223q13b9srksnq6jcwgprqkm8"))))
(build-system gnu-build-system)
(native-inputs
(list go-1.21
diff --git a/gnu/packages/xml.scm b/gnu/packages/xml.scm
index c6ddae50ae..85edcf0f7d 100644
--- a/gnu/packages/xml.scm
+++ b/gnu/packages/xml.scm
@@ -33,6 +33,7 @@
;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net>
;;; Copyright © 2021 David Larsson <david.larsson@selfhosted.xyz>
;;; Copyright © 2021 Matthew James Kraai <kraai@ftbfs.org>
+;;; Copyright © 2024 gemmaro <gemmaro.dev@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -76,6 +77,7 @@
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix build-system cmake)
+ #:use-module (guix build-system copy)
#:use-module (guix build-system gnu)
#:use-module (guix build-system meson)
#:use-module (guix build-system perl)
@@ -1953,3 +1955,41 @@ XML data to JSON and other formats.")
(description "This package provides a Python library to convert XML to
@code{OrderedDict}.")
(license license:expat)))
+
+(define-public xml-namespace-xsd
+ (package
+ (name "xml-namespace-xsd")
+ (version "2009-01")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://www.w3.org/"
+ (string-replace-substring version "-" "/")
+ "/xml.xsd"))
+ (sha256
+ (base32 "0agqmxbhk2q9xa38m02z7ggbb124z6avnqyhz8k43iicqhv1fw6c"))))
+ (build-system copy-build-system)
+ (arguments
+ (list
+ #:install-plan #~'(("xml.xsd" "/xml/dtd/namespace/xml.xsd")
+ ("catalog.xml" "/xml/dtd/namespace/catalog.xml"))
+ #:phases #~(modify-phases %standard-phases
+ (add-before 'install 'create-catalog
+ (lambda _
+ (invoke "xmlcatalog"
+ "--noout"
+ "--create"
+ "--add"
+ "uri"
+ "http://www.w3.org/2001/xml.xsd"
+ "xml.xsd"
+ "catalog.xml"))))))
+ (native-inputs (list libxml2))
+ (home-page "https://www.w3.org/XML/1998/namespace")
+ (synopsis "XML Schema for XML namespace")
+ (description
+ "This package provides an XML Schema and its catalog. The schema constrains the
+syntax of @code{xml:lang}, @code{xml:spec}, @code{xml:base}, and @code{xml:id} in the
+schema language defined by the XML Schema Recommendation Second Edition of 28 October
+2004.")
+ (license license:w3c)))
diff --git a/gnu/tests/emacs.scm b/gnu/tests/emacs.scm
new file mode 100644
index 0000000000..f15eec70db
--- /dev/null
+++ b/gnu/tests/emacs.scm
@@ -0,0 +1,101 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2024 Liliana Marie Prikler <liliana.prikler@gmail.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 (gnu tests emacs)
+ #:use-module (gnu tests)
+ #:use-module (gnu packages emacs)
+ #:use-module (gnu packages vim)
+ #:use-module (gnu services)
+ #:use-module (gnu system)
+ #:use-module (gnu system vm)
+ #:use-module (guix packages)
+ #:use-module (guix gexp)
+ #:use-module (srfi srfi-1)
+ #:export (%test-emacs-native-comp-replacable))
+
+(define (run-native-comp-replacable-test old-emacs new-emacs)
+ (define vm (virtual-machine (marionette-operating-system %simple-os)))
+
+ (define test
+ (with-imported-modules '((gnu build marionette))
+ #~(begin
+ (use-modules (gnu build marionette)
+ (srfi srfi-1)
+ (srfi srfi-64))
+
+ (define marionette (make-marionette (list #$vm)))
+ (define (marionette-emacs-eval emacs code)
+ (marionette-eval
+ `(begin
+ (use-modules (ice-9 rdelim) (ice-9 popen))
+ (read-line
+ (open-pipe*
+ OPEN_READ
+ ,emacs "--batch"
+ ,(string-append "--eval=" code))))
+ marionette))
+
+ (define (emacs-native-comp-dir emacs)
+ (marionette-emacs-eval emacs "(princ comp-native-version-dir)"))
+ (define (emacs-abi-hash emacs)
+ (marionette-emacs-eval emacs "(princ comp-abi-hash)"))
+ (define (emacs-effective-version emacs)
+ (marionette-emacs-eval
+ emacs
+ "(princ
+ (format \"%s.%s\" emacs-major-version emacs-minor-version))"))
+
+ (define old-emacs-bin #$(file-append old-emacs "/bin/emacs"))
+ (define new-emacs-bin #$(file-append new-emacs "/bin/emacs"))
+
+ (test-runner-current (system-test-runner #$output))
+ (test-begin "emacs-native-comp-replacable")
+ (test-equal "comp-abi-hash"
+ (emacs-abi-hash old-emacs-bin)
+ (emacs-abi-hash new-emacs-bin))
+ (test-equal "native-comp-dir"
+ (emacs-native-comp-dir old-emacs-bin)
+ (emacs-native-comp-dir new-emacs-bin))
+ (test-assert "old emacs has hierarchical layout"
+ (file-exists?
+ (string-append #$old-emacs "/lib/emacs/"
+ (emacs-effective-version old-emacs-bin)
+ "/native-lisp/"
+ (emacs-native-comp-dir old-emacs-bin)
+ "/preloaded/emacs-lisp/comp.eln")))
+ (test-assert "new emacs has hierarchical layout"
+ (file-exists?
+ (string-append #$new-emacs "/lib/emacs/"
+ (emacs-effective-version new-emacs-bin)
+ "/native-lisp/"
+ (emacs-native-comp-dir new-emacs-bin)
+ "/preloaded/emacs-lisp/comp.eln")))
+ (test-end))))
+
+ (gexp->derivation "emacs-native-comp-compatible" test))
+
+(define (package-without-replacement pkg)
+ (package (inherit pkg) (replacement #f)))
+
+(define %test-emacs-native-comp-replacable
+ (system-test
+ (name "emacs-native-comp")
+ (description "Test whether an emacs replacement (if any) is valid.")
+ (value (run-native-comp-replacable-test
+ (package-without-replacement emacs)
+ emacs))))