Compare commits

...

308 Commits

Author SHA1 Message Date
Nicolas Graves
5ee0ece891 gnu: python-fast-histogram: Update to 0.14-0.92ed204.
* gnu/packages/python-science.scm (python-fast-histogram): Update to 0.14-0.92ed204.
[source]: Switch to git-fetch.
[arguments]: Ignore failing test.

Change-Id: I78510869691e0b198a65b62f9bcad614198a20e2
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-04-23 22:47:11 +02:00
Nicolas Graves
1c3f020a60 gnu: python-m2crypto: Update to 0.47.0.
* gnu/packages/python-crypto.scm (python-m2crypto): Update to 0.47.0.
[source]: Switch to git-fetch.
[native-inputs]: Replace swig-4.0 by swig.  Remove python-wheel.

Change-Id: I2a71ecf2deca9fe9b1742759694e60960622aa26
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-04-23 22:47:11 +02:00
Nicolas Graves
7c60dab501 gnu: python-cherrypy: Update to 18.10.0-0.1f75bc9.
* gnu/packages/python-web.scm (python-cherrypy): Update to
18.10.0-0.1f75bc9.
[arguments]<#:phases>: Add phase 'patch-pyproject.
<#:test-flags>: Refresh them.
[native-inputs]: Add python-filelock, python-flaky,
python-setuptools-scm.
* gnu/packages/check.scm (python-flaky): Add comment.

Change-Id: I04910778ab2ae754bad5e6c02d2166b6c1605972
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-04-23 22:47:11 +02:00
Nicolas Graves
ff3ee6f1ce gnu: python-cheroot: Update to 11.1.2.
* gnu/packages/python-web.scm (python-cheroot): Update to 11.1.2.
[source]: Switch to git-fetch.

Change-Id: If85119857ae62f17d1f9989f038fa012bb85474b
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-04-23 22:47:11 +02:00
Andreas Enge
79acf11475 gnu: inetutils: Add patch to fix tests on our aarch64 build machines.
* gnu/packages/patches/inetutils-drop-test.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register file.
* gnu/packages/admin.scm (inetutils)[source]: Add patch.

Fixes: guix/guix#7995
Change-Id: Iaaf8cb665b81d02c876acc9d400559d4f7d7bf90
2026-04-23 22:47:11 +02:00
Yelninei
8119d7fc9d gnu: python: Skip test_ssl on the Hurd.
The test is failing with openssl 3.5 in non linux paths.

* gnu/packages/python.scm (python-3.11)[#:make-flags]: Skip test_ssl test
on the Hurd.

Fixes: guix/guix#4062
Change-Id: Ia83b51dfc18cf92c2fee02415fe628ac2675582d
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-04-23 22:47:11 +02:00
Andreas Enge
3e358dd784 gnu: openssl: Switch to openssl-3.5 as the default.
* gnu/packages/tls.scm (openssl): Define as openssl-3.5.
(perl-net-ssleay)[inputs]: Replace openssl by openssl-3.0.
* gnu/packages/node.scm (node-lts)[inputs, native-inputs]:
Replace openssl by openssl-3.0.
* gnu/packages/haskell-crypto.scm (ghc-hsopenssl)[inputs]:
Replace openssl by openssl-3.0.

Change-Id: Ia13ea615a5265fc7012e881e516b98066cad8e3f
2026-04-23 22:47:11 +02:00
Andreas Enge
ab36825327 gnu: libsodium: Update to 1.0.22.
This fixes a build failure on aarch64, see
https://github.com/jedisct1/libsodium/issues/1502 .

* gnu/packages/crypto.scm (libsodium): Update to 1.0.22.

Change-Id: Ibf422b4c8e21dc71f0202bad3199d54bd8e01056
2026-04-23 22:47:11 +02:00
Andreas Enge
9880ac3122 gnu: python-pyftpdlib: Update to 1.5.10.
* gnu/packages/python-xyz.scm (python-pyftpdlib): Update to 1.5.10.

Change-Id: Ic267e2c91490aa677f54c908fd5883ab2da00c87
2026-04-23 22:47:11 +02:00
Cayetano Santos
a801ef90b5 gnu: libsodium: Update to 1.0.21.
* gnu/packages/crypto.scm (libsodium): Update to 1.0.21.
[source]: Switch to git-fetch.

Change-Id: Iaaefe80eec5e82fa3c7a81712389894d37faa5c2
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-04-23 22:47:10 +02:00
Ashish SHUKLA
f828194554 gnu: openssh: Update to 10.3p1 [security-fixes].
Release notes since 10.2p1 (2025-10-10):
- 10.3p1 (2026-04-02)
  <https://www.openssh.org/txt/release-10.3>.

Contains fixes for:
CVE-2026-35385: A file downloaded by scp may be installed setuid or setgid, an
                outcome contrary to some users' expectations, if the download is
                performed as root with -O (legacy scp protocol) and without -p
                (preserve mode).
CVE-2026-35386: Command execution can occur via shell metacharacters in a
                username within a command line. This requires a scenario where
                the username on the command line is untrusted, and also requires
                a non-default configurations of % in ssh_config.
CVE-2026-35387: OpenSSH can use unintended ECDSA algorithms. Listing of any
                ECDSA algorithm in PubkeyAcceptedAlgorithms or
                HostbasedAcceptedAlgorithms is misinterpreted to mean all ECDSA
                algorithms.
CVE-2026-35388: OpenSSH before omits connection multiplexing confirmation for
                proxy-mode multiplexing sessions.
CVE-2026-35414: OpenSSH mishandles the authorized_keys principals option in
                uncommon scenarios involving a principals list in conjunction
                with a Certificate Authority that makes certain use of comma
                characters.

* gnu/packages/ssh.scm (openssh): Update to 10.3p1.

Merges: https://codeberg.org/guix/guix/pulls/7695
Change-Id: I9e90c3ef02f567d0f5b2485c4e0bcfaa1a1f31c8
Reviewed-by: Nguyễn Gia Phong <cnx@loang.net>
Reviewed-by: Jonas Meeuws <jonas.meeuws@gmail.com>
Reviewed-by: Cayetano Santos <csantosb@inventati.org>
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-23 22:47:10 +02:00
Andy Tai
a50c44187a gnu: libtasn1: Update to 4.21.0.
* gnu/packages/tls.scm (libtasn1): Update to 4.21.0.

Change-Id: I8a33a95def0d22e9df5ec592abb9c6728dce2ccb
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-04-23 22:47:10 +02:00
Andreas Enge
33c8768b2e gnu: openssl-3.0: Change inheritance.
* gnu/packages/tls.scm (openssl-3.0)[inherit]: Use openssl-3.5
instead of openssl-1.1.
[source]: Add hurd patch.

Fixes: guix/guix#4062
Change-Id: Id03fdd9532855bd66fbd9da9eb64768f8b9fb780
2026-04-23 22:47:10 +02:00
Andreas Enge
0e163369bd gnu: Add openssl-3.5.
* gnu/packages/tls.scm (openssl-3.5): New variable.

Change-Id: I0636a3455cec5636e926a51eddb96d3bdec7adeb
2026-04-23 22:47:10 +02:00
Andreas Enge
30f766b991 gnu: openssl-1.1: Re-enable tls_ssl_new test.
* gnu/packages/tls.scm (openssl-1.1)[make-flags]: Do not disable
tls_ssl_new.

Change-Id: I95e6ef5906f7477f0ac6bfcd685a69229eb1a54d
2026-04-23 22:47:10 +02:00
Andreas Enge
ad469cba6e gnu: openssl-3.0: Update to 3.0.19.
* gnu/packages/tls.scm (openssl-3.0): Update to 3.0.19.

Change-Id: Iebfaeb06b6a9dd270a9fca69c67fa9c32eaa4962
2026-04-23 22:47:10 +02:00
Andreas Enge
ec02b2b974 gnu: openssl-1.1: Update to 1.1.1w.
* gnu/packages/tls.scm (openssl-1.1): Update to 1.1.1w.

Change-Id: Ibb7efac450bf942088a5332fa4a4b0a041ba2283
2026-04-23 22:47:02 +02:00
Noé Lopez
3b5508ffde gnu: openttd: Fix substitute* patching.
* gnu/packages/games.scm (openttd)[arguments]<#:phases>:
Change the substitute* to match the newer source.

Change-Id: Ib0bf0f4da84290fe99dd4337387636634b50043d
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-04-23 22:30:41 +02:00
Patrick Norton
6f905d7258 gnu: openttd-jgrpp: Update to 0.71.1.
* gnu/packages/games.scm (openttd-jgrpp): Update to 0.71.1.

Change-Id: Id7922107354b4f7692d607346338874a5f570888
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-04-23 22:29:08 +02:00
Adrien 'neox' Bourmault
7c62cb0528 gnu: gajim: Fix inputs after update to 2.4.6.
* gnu/packages/messaging.scm (gajim)[inputs]: Remove gsound;
add python-cryptography.

Change-Id: Ide24d13ea4cd39bec1927f543a59ee70c42413eb
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-04-23 22:21:30 +02:00
Andreas Enge
59784cd1ad gnu: Deprecate guile-fibers-next.
* gnu/packages/guile-xyz.scm (guile-fibers-next): Deprecate by
guile-fibers.

Change-Id: I52bd95f47ee5969faa4c3a5ca5ad3b0175f24ba4
2026-04-23 19:05:32 +02:00
Andreas Enge
5fe0b7d3b6 gnu: guix-data-service: Use current guile and guile-fibers.
* gnu/packages/web.scm (guix-data-service)[propagated-inputs]:
Remove guile-fibers-next; add guile-fibers.
[native-inputs]: Use guile-3.0-latest instead of guile input
from guile-fibers-next.

Co-authored-by:  Christopher Baines <mail@cbaines.net>
Change-Id: I7ff232064770d90026bf513b75a396ec68a093f1

Change-Id: I0dd47c194268811c5035d52fa3036efb9d44740c
2026-04-23 19:04:52 +02:00
Andreas Enge
ad8f92b114 gnu: nar-herder: Use current guile and guile-fibers.
* gnu/packages/package-management.scm (nar-herder)[inputs]:
Remove guile-next; add guile-3.0-latest.
[propagated-inputs]: Remove guile-fibers-next; add guile-fibers.
[native-inputs]: Remove guile-next and guile-fibers-next; add guile-3.0-latest and
guile-fibers.
[arguments]<#:phases>{wrap-executable}: Reference changed input.

Change-Id: If0c6513b056b9c35c33fe84dcd48d36970c54de6
2026-04-23 19:04:52 +02:00
Andreas Enge
a3b327b8a8 gnu: guix-build-coordinator/agent-only: Use current guile.
* gnu/packages/package-management.scm (guix-build-coordinator/agent-only)
[inputs]: Remove guile-next; add guile-3.0-latest.
[native-inputs]: Remove guile-next; add guile-3.0-latest.

Change-Id: I8e5ca94fbad4daac4cef51aff25ab2d9601b2d08
2026-04-23 19:04:52 +02:00
Andreas Enge
3d19529f8e gnu: guix-build-coordinator: Use current guile and guile-fibers.
* gnu/packages/package-management.scm (guix-build-coordinator)[inputs]:
Remove guile-next; add guile-3.0-latest.
[propagated-inputs]: Remove guile-fibers-next; add guile-fibers.
[native-inputs]: Remove guile-fibers-next and guile-next; add guile-fibers
and guile-3.0-latest.
[arguments]<#:phases>{wrap-executable}: Reference changed input.
* gnu/services/guix.scm (<guix-build-coordinator-configuration>,
make-guix-build-coordinator-start-script):
Use guile-3.0-latest instead of guile-next as default.

Change-Id: I16b219db03112b62b53ffdb01a5a0872cb9d79d2
2026-04-23 19:04:52 +02:00
Andreas Enge
3b53789393 gnu: bffe: Use current guile and guile-fibers.
* gnu/packages/package-management.scm (bffe)[propagated-inputs]: Remove
guile-fibers-next; add guile-fibers.
[native-inputs]: Remove guile-next and guile-fibers-next;
add guile-3.0-latest and guile-fibers.
* gnu/services/guix.scm (bffe-shepherd-services): Adapt to changed input
of the bffe package.

Change-Id: I5f1cbb1225eb5c684b01098d7e87d198b5d20ff2
2026-04-23 19:04:52 +02:00
Andreas Enge
a191ad0d35 gnu: guile-knots: Use current guile and guile-fibers.
* gnu/packages/guile-xyz.scm (guile-knots)[inputs]: Remove guile-next;
add guile-3.0-latest.
[propagated-inputs]: Remove guile-fibers-next; add guile-fibers.
[native-inputs]: Remove guile-next and guile-fibers-next;
add guile-3.0-latest and guile-fibers.

Change-Id: I9b92a3e4fc4c3a83cc0b9c5088671704ce4a10dc
2026-04-23 19:04:44 +02:00
Andrew Tropin
9561f5375c gnu: emacs-arei: Update to 0.9.7.
* gnu/packages/emacs-xyz.scm (emacs-arei): Update to 0.9.7.
2026-04-23 19:39:44 +07:00
Andrew Tropin
8ebc554e6a gnu: guile-ares-rs: Update to 0.9.7.
* gnu/packages/guile-xyz.scm (guile-ares-rs): Update to 0.9.7.
2026-04-23 19:39:43 +07:00
Murilo
fda72ca8fb doc: Add a note reminder to checkout the correct tag for rust crates.
* doc/guix-cookbook.texi (Packaging Workflows)[Packaging Rust Crates]
{Common Workflow for Rust Packaging}: Add the note.

Change-Id: I670c78d7cd6771b5f4814123e488cbdb1c4e9fe2
Signed-off-by: Gabriel Wicki <gabriel@erlikon.ch>
2026-04-23 14:33:58 +02:00
Murilo
e9e6165d07 doc: Add new workflow for resolving merge conflicts on rust apps PRs.
* doc/guix-cookbook.texi (Packaging Workflows)[Packaging Rust Crates]
{Common Workflow for Updating Existing Rust Packages}: Add new workflow.

Change-Id: I191d35790754b2fab4c27b794829959f1bf58d06
Signed-off-by: Gabriel Wicki <gabriel@erlikon.ch>
2026-04-23 14:33:58 +02:00
Murilo
4dcde11825 doc: Recommend a way of resolving merge conflicts for rust PRs.
* doc/contributing.texi (Rust Crates)
[Resolving merge conflicts in Pull Requests]: New subsubsection.

Change-Id: Icbc5e2da01b6068b6237548f2bd49262433799de
Signed-off-by: Gabriel Wicki <gabriel@erlikon.ch>
2026-04-23 14:33:58 +02:00
Murilo
412394f444 doc: Add new workflow for resolving merge conflicts on rust crate PRs.
* doc/guix-cookbook.texi (Packaging Workflows)[Packaging Rust Crates]
{Common Workflow for Resolving Merge Conflicts on Existing Pull Requests}:
Add new workflow.

Change-Id: I6e5cbf843174049e1dbde17ecd1ea259b4fa4aae
Signed-off-by: Gabriel Wicki <gabriel@erlikon.ch>
2026-04-23 14:33:58 +02:00
Murilo
32f426c446 doc: Add rust commit messages guidance.
* doc/contributing.texi (Rust Crates)[Commit messages]:
New subsubsection.

Change-Id: If22d6921301902417a88d2d5d8e2fad947762bee
Signed-off-by: Gabriel Wicki <gabriel@erlikon.ch>
2026-04-23 14:33:58 +02:00
Murilo
0a713ecbc8 doc: Clarify that rust crate changes should be done in the same commit.
* doc/contributing.texi (Rust Crates): Add clarification.

Change-Id: Iff45cda11b14640a70a2849fe66ae68f46cb3ba9
Signed-off-by: Gabriel Wicki <gabriel@erlikon.ch>
2026-04-23 14:33:58 +02:00
Igorj Gorjaĉev
edda146be0 gnu: elixir-ex-cldr: Update to 2.47.2.
* gnu/packages/elixir-i18n.scm (elixir-ex-cldr): Update to 2.47.2.

Change-Id: I1bb74ff47c899e4af02db4a852e939441d42289e
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-04-23 12:20:00 +02:00
Igorj Gorjaĉev
36bf3f59c1 gnu: elixir-httpoison: Fix test under Erlang 28+.
* gnu/packages/elixir-web.scm (elixir-httpoison): Fix test under Erlang 28+.

Change-Id: I61056fccf4346975d30e5f213185b2bebe650f4e
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-04-23 12:20:00 +02:00
Igorj Gorjaĉev
a368dfefbb gnu: erlang: Update to 28.4.3.
* gnu/packages/erlang.scm (erlang): Update to 28.4.3.

Change-Id: I1b197fc8a7f7a8f235bdc4b208ceb344b960f749
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-04-23 12:19:52 +02:00
Andreas Enge
32ed37885e gnu: grantlee: Build with Qt6.
* gnu/packages/qt.scm (grantlee)[build-system]: Switch to qt-build-system.
[inputs]: Remove qtbase-5, qtdeclarative-5, and qtscript-5;
add qtdeclarative.
[arguments]<#:qtbase>: Set to qtbase.
<#:configure-flags>: Define GRANTLEE_BUILD_WITH_QT6.

Change-Id: I3a2310ad3d3a8077640af530873692b26d6c7ed7
2026-04-23 11:21:29 +02:00
宋文武
ef8a6c422b gnu: plan9port: Update to 0.1.0-2.b379c7c.
* gnu/packages/plan9.scm (plan9port): Update to 0.1.0-2.b379c7c.
[arguments]<phases>: Better handle 'fontsrv' and '9c'.  Install 'config'.

Change-Id: I607780bc65926cfe5f3b7dcc2058140aa5434b9f
2026-04-23 17:13:07 +08:00
Liliana Marie Prikler
601d8c959d gnu: Cleanup emacs-org-arbeitszeit.
* gnu/packages/emacs-xyz.scm (emacs-org-arbeitszeit)[#:tests?]: Set to #f.
[license]: Use license:gpl3+.
2026-04-23 10:56:20 +02:00
Wilko Meyer
bb81430026 gnu: Add emacs-org-arbeitszeit.
* gnu/packages/emacs-xyz.scm (emacs-org-arbeitszeit): New variable.

Change-Id: I73c9832e111640d0745c27cadcf8bf30d0e04666
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2026-04-23 09:46:39 +02:00
coopi
b7e6b4c615 gnu: Add emacs-shr-syntax-highlight.
* gnu/packages/emacs-xyz.scm (emacs-shr-syntax-highlight): New variable.

Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2026-04-23 09:46:36 +02:00
Anderson Torres
affd37076f gnu: emacs-sliver: Update to 0.0.0-1.b4cb9cd.
* gnu/packages/emacs-xyz.scm (emacs-sliver): Update to 0.0.0-1.b4cb9cd.

Change-Id: Iee81c615ddb9b64c0acd390b52bc5b5a6f5a506c
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2026-04-23 09:46:32 +02:00
Liam Hupfer
c1719eb0c4 gnu: emacs-eglot: Update to 1.23.
This fixes a bug with imenu integration (at least).

* gnu/packages/emacs-xyz.scm (emacs-eglot): Update to 1.23.

See-also: https://bugs.gnu.org/80367
Change-Id: I0bb72159222735a194d7f7ae9ded2b9fc1e00e99
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2026-04-23 09:46:25 +02:00
Liam Hupfer
9147a33256 gnu: emacs-consult-eglot: Generate autoloads for extensions.
Most other Emacs packages with optional extensions use a custom
move-source-files phase rather than #:include to move the extensions to
the parent directory with the rest of the sources. This ensures the
build system generates autoloads correctly.

* gnu/packages/emacs-xyz.scm (emacs-consult-eglot)[#:phases]: Add
‘move-source-files’.

Change-Id: I9ddc8142a8bf151ce6cf02bb7ebfc3817b515a06
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2026-04-23 09:46:17 +02:00
Sergio Pastor Pérez
9e5a110068 services: kmonad: New service.
* gnu/services/desktop.scm (<kmonad-configuration>)
(kmonad-shepherd-service, kmonad-service-type): New variables.
* doc/guix.texi (Desktop Services): Document `kmonad-service-type'.

Change-Id: I53f868d55aea97858ec83d762a04723d3c72dc92
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2026-04-23 09:46:11 +02:00
Maxim Cournoyer
513168ffb2 gnu: guile-jtd: Update to 220323a-0.425f86a.
* gnu/packages/guile-xyz.scm (guile-jtd): Update to 220323a-0.425f86a.

Change-Id: I9355a82ca15022f2a080f85492da964056510f02
2026-04-23 16:14:50 +09:00
Danny Milosavljevic
23377537da gnu: (codex, codex-acp): Update to 0.120.0 and 0.11.1.
* gnu/packages/codex.scm (codex): Update to 0.120.0.
[source]: Adjust patches.
[arguments]: Adjust cargo-install-paths, cargo-test-flags, and
cargo-package-crates.
[arguments]<#:phases>{patch-git-deps-to-vendor,patch-hardcoded-paths,
set-bubblewrap-source,create-node-version-file,set-home}: Adjust for
the new workspace and test environment.
[native-inputs]: Add bubblewrap, bubblewrap-source, lsof,
nss-certs-for-test, and procps.
[inputs]: Add libcap, oniguruma, and zlib.
[description]: Mention that codex-code-mode's V8 Javascript executor is
disabled.
(codex-acp): Update to 0.11.1.
[source]: Adjust patches and source hash.
[arguments]<#:phases>{patch-codex-deps}: Rewrite the codex dependency
for rust-v0.117.0, disable codex-code-mode's V8 runtime, and set
CODEX_BWRAP_SOURCE_DIR.
[arguments]<#:phases>{set-home}: Set HOME and USER.
[arguments]<#:phases>{create-node-version-file}: Create node-version.txt.
[native-inputs]: Add cmake-minimal, clang, and bubblewrap-source.
[inputs]: Add libcap and zlib.
* gnu/packages/rust-sources.scm (rust-deunicode-1.6.2.cfb8552): New
variable.
(rust-codex-0.117.0, rust-codex-0.120.0): New variables.
* gnu/packages/rust-crates.scm (rust-deunicode-1.6.2,
rust-deunicode-1.6.2.cfb8552): Define aliases for the new workspace
package.
(lookup-cargo-inputs): Update entries for codex, codex-acp, and
rust-codex-0.0.0.785c0c43. Add rust-deunicode-1.6.2.cfb8552.
* gnu/packages/patches/codex-acp-0.11.1-disable-code-mode.patch,
gnu/packages/patches/codex-acp-0.11.1-remove-patch-sections.patch,
gnu/packages/patches/rust-codex-0.117.0-core-remove-self-dep.patch,
gnu/packages/patches/rust-codex-0.117.0-remove-patch-sections.patch,
gnu/packages/patches/rust-codex-0.120.0-connectors-cache-test-race.patch,
gnu/packages/patches/rust-codex-0.120.0-core-remove-self-dep.patch,
gnu/packages/patches/rust-codex-0.120.0-remove-libwebrtc.patch,
gnu/packages/patches/rust-codex-0.120.0-test-timeout.patch: New files.
* gnu/packages/patches/codex-acp-0.9.2-remove-patch-sections.patch,
gnu/packages/patches/codex-acp-0.9.2-replace-result-flatten.patch:
Delete files.
* gnu/local.mk (dist_patch_DATA): Register the new patches.

Change-Id: I280a752507f40e525243dcb869c264da96605bd7
2026-04-23 07:19:23 +02:00
jgart
9cf150b28e gnu: toys: Wrap Guile search paths.
* gnu/packages/package-management.scm (toys)[arguments]<#:phases>: Wrap
Guile search paths.

Change-Id: Ia43318cf81d00e728ed636d2860cdf9609f2d4ed
2026-04-23 00:23:11 -04:00
jgart
96b80b008e gnu: trealla: Update to 2.93.2.
* gnu/packages/prolog.scm (trealla): Update to 2.93.2.

Change-Id: Ib2eb9ce59ab3204329cf81a5ee5a7ece054b07da
2026-04-22 23:31:27 -04:00
jgart
6b89b97d05 gnu: Add python-rassumfrassum.
* gnu/packages/python-xyz.scm (python-rassumfrassum): New variable.

Change-Id: I136f86d7d782f49255ec2b8ac2a1b8ca417b3f84
Signed-off-by: jgart <jgart@dismail.de>
2026-04-22 23:27:03 -04:00
Vinicius Monego
4cc4c76637 gnu: Add gdu.
* gnu/packages/disk.scm (gdu): New variable.

Change-Id: Ic4667cb2ed3f4768f71d9e78b37733f378c2aa60
2026-04-22 22:07:13 -03:00
Vinicius Monego
33c9aaf002 gnu: go-github-com-maruel-natural: Update to 1.3.0.
* gnu/packages/golang-xyz.scm (go-github-com-maruel-natural): Update to
1.3.0.

Change-Id: I48bcf40d51fe4645a5f66b292aac01e23018dc3e
2026-04-22 22:07:13 -03:00
Vinicius Monego
643374559e gnu: go-github-com-rivo-tview: Update to 0.42.0.
* gnu/packages/golang-xyz.scm (go-github-com-rivo-tview): Update to
0.42.0.
[source]: Update commit string.

Change-Id: I117b9addb8f5f96c0944f14d1bdf000a57927815
2026-04-22 22:07:13 -03:00
Vinicius Monego
ad86e9660d gnu: go-github-com-dgraph-io-badger-v4: Update to 4.9.1.
* gnu/packages/golang-xyz.scm (go-github-com-dgraph-io-badger-v4):
Update to 4.9.1.
[propagated-inputs]: Remove go-go-opencensus-io. Add
go-go-opentelemetry-io-contrib-zpages, go-go-opentelemetry-io-otel.

Change-Id: Id1f216353d11a80002c911e4242f81ac7e874a89
2026-04-22 22:07:13 -03:00
Vinicius Monego
b4b7dbfe1b gnu: Add go-go-opentelemetry-io-contrib-zpages.
* gnu/packages/golang-web.scm (go-go-opentelemetry-io-contrib-zpages):
New variable.

Change-Id: I594f36251d908e9f40b46f6d67e0457cc1920e6b
2026-04-22 22:07:08 -03:00
Vinicius Monego
dbecaed075 gnu: python-qtconsole: Update to 5.7.2.
* gnu/packages/jupyter.scm (python-qtconsole): Update to 5.7.2.

Change-Id: I3fc928e5c1b82aad5d737121369e93d414be0fab
2026-04-22 21:37:39 -03:00
Vinicius Monego
87d45d5b76 gnu: Add python-lsp-ruff.
* gnu/packages/python-check.scm (python-lsp-ruff): New variable.

Change-Id: I4bcf0fc8abc5889547fc2a350916b10b5f4d053a
2026-04-22 21:37:39 -03:00
Vinicius Monego
bf3f52609d gnu: python-lsp-server: Update to 1.14.0.
* gnu/packages/python-xyz.scm (python-lsp-server): Update to 1.14.0.
[arguments]<#:test-flags>: Skip failing test.

Change-Id: I59ca40c905432d6be09aef36821fc6bca238af81
2026-04-22 21:37:39 -03:00
Vinicius Monego
34777c0bbd gnu: python-lsp-server: Refresh package.
* gnu/packages/python-xyz.scm (python-lsp-server)[source]: Switch to
git-fetch.
[arguments]: Use G-Expressions.
<#:test-flags>: Use STRING-JOIN for skipped tests.
[native-inputs]: Remove python-wheel. Move python-flake8, python-pylint,
python-rope to ...
[propagated-inputs]: ... here.

Change-Id: I45d07389aaad59805ad7e4ef6985c8e6fb168225
2026-04-22 21:37:39 -03:00
Vinicius Monego
d86748d99f gnu: Add python-pyls-spyder.
* gnu/packages/python-xyz.scm (python-pyls-spyder): New variable.

Change-Id: I1d639d0bdd6a9db51616cc5bcf1222ccc2bfbc18
2026-04-22 21:37:39 -03:00
Vinicius Monego
2474e38c5b gnu: Add python-pylint-venv.
* gnu/packages/python-check.scm (python-pylint-venv): New variable.

Change-Id: I64ae882de68d0a995f7636a50633001bd5b01290
2026-04-22 21:37:38 -03:00
Vinicius Monego
113d22500c gnu: Add python-pyuca.
* gnu/packages/python-xyz.scm (python-pyuca): New variable.

Change-Id: Ie526a115468921f133c75022e2224e266ca2b8fe
2026-04-22 21:37:38 -03:00
Vinicius Monego
28a2916e86 gnu: python-qtawesome: Update to 1.4.2.
* gnu/packages/python-graphics.scm (python-qtawesome): Update to 1.4.2.

Change-Id: If2cfd6d89a73ec8e9d1496abf967f9e12f0f8f47
2026-04-22 21:37:38 -03:00
Vinicius Monego
96d645150a gnu: Add python-spyder-kernels.
* gnu/packages/jupyter.scm (python-spyder-kernels): New variable.

Change-Id: Id4027e9672e5988f5c54681765ea077d5b2c7a27
2026-04-22 21:37:38 -03:00
Tomas Volf
78000c9395 gnu: crun: Update to 1.26.
* gnu/packages/containers.scm (crun): Update to 1.26.
2026-04-22 23:03:22 +02:00
Artyom V. Poptsov
a448eca8a5 gnu: rasdaemon: Update to 0.8.4.
* gnu/packages/linux.scm (rasdaemon): Update to 0.8.4.
[inputs]: Add pciutils.  Sort inputs alphabetically.

Change-Id: I42be9bae91e4c8e0a6c897932acc1d8db0bbf246
2026-04-22 22:38:12 +03:00
Artyom V. Poptsov
39a6807609 gnu: htop: Update to 3.5.0.
* gnu/packages/admin.scm (htop): Update to 3.5.0.

Change-Id: Ied547508584e7b29b736eeecebe32b3ca5bb9b4a
2026-04-22 22:38:12 +03:00
Noé Lopez
c581d42f7f gnu: debops: Switch to latest fuse.
* gnu/packages/admin.scm (debops)[inputs]: Replace fuse-2 with fuse.

Change-Id: Ibc195b24c39fb04a475688df04e10ba32986e0fc
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-04-22 20:40:12 +02:00
Efraim Flashner
13196327fd gnu: xdg-desktop-portal-wlr: Install manpage.
* gnu/packages/freedesktop.scm (xdg-desktop-portal-wlr)[native-inputs]:
Add scdoc.

Change-Id: If7b0694fdd6a3d847c0a1116cea11404a23da919
2026-04-22 19:30:33 +03:00
Josep Bigorra
e20ff3658f gnu: Add mutastructura.
* gnu/packages/databases.scm (mutastructura): New variable.

Change-Id: I777b1f760d87cdd1b404cee961be6ee6bc7d76c3
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2026-04-22 17:26:53 +02:00
jadzi
6a3832ad6d gnu: Add guile-compose, guile-web-middleware
* gnu/packages/guile-xyz.scm (guile-compose): New variable.
* gnu/packages/guile-xyz.scm (guile-web-middleware): New variable.

Change-Id: I73ba48093b4f614d6f1317275f4fa638b22f10c6
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Merges: #7954
2026-04-22 17:23:31 +02:00
Johannes Christ
85ccd32fe6 gnu: pacemaker: Configure local state directory.
Before this commit, pacemaker would look in
`/gnu/store/...-pacemaker/var/` for its state, which would be
counterproductive. Use `/var` from the system instead, and disable the
make target that would create the local state directory.

* gnu/packages/high-availability.scm (pacemaker) [arguments] <#:phases>:
  Add phase to remove `/var` creation.
  <#:configure-flags>: Set local state directory to `/var`.

Change-Id: I4ef72bd6dabe1ed21fd356fe2eb10cee223aaf42
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Modified-by: Ludovic Courtès <ludo@gnu.org>
Merges: #8033
2026-04-22 17:16:20 +02:00
Roman Scherer
6a5005d62e tests: gexp: Fix test shadowing replacement field.
Fixes a regression introduced in a7c8e68dc5.

* tests/gexp.scm (gexp): Rename replacement binding to replacement-pkg in
order to not shadow the replacement field of the package record.

Change-Id: I70ceafc92f52e588b3cac8f74bffa274bf0da352
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Merges: #7846
2026-04-22 16:51:07 +02:00
Ludovic Courtès
c04485849e gnu: guile-fibers-1.4: Update to 1.4.3.
* gnu/packages/guile-xyz.scm (guile-fibers-1.4): Update to 1.4.3.

Change-Id: I95296efbec90e96229166d34aea254822034796e
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Merges: #7996
2026-04-22 16:17:12 +02:00
Sören Tempel
bcee2b576a gnu: bmake: Update to 20260406.
* gnu/packages/build-tools.scm (bmake): Update to 20260406.

Change-Id: I78f7dd893f21a745fd5ac7a4f256e1572caf2a8d
2026-04-22 15:37:06 +02:00
Danylo Kondratiev
b9512bd5e8 gnu: gajim: Update to 2.4.6.
* gnu/packages/messaging.scm (gajim): Update to 2.4.6.

Change-Id: I32097ef0b269bdcf8aacc06b98c2abb9f43cb4bb
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-04-22 13:42:08 +02:00
Danylo Kondratiev
3628c68e9a gnu: python-nbxmpp: Update to 7.2.0.
* gnu/packages/messaging.scm (python-nbxmpp): Update to 7.2.0.

Change-Id: If8c9a3d686cfd603d44a49c36ebb70c21d1a011b
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-04-22 13:42:08 +02:00
Hennadii Stepanov
200fdbed49 gnu: bitcoin-core: Update to 31.0.
* gnu/packages/finance.scm (bitcoin-core): Update to 31.0.
[native-inputs]: Remove bash and coreutils.

Change-Id: I9ea1dcd2517ca2cdfb8cbfc5c6894d01bf922176
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-04-22 13:40:52 +02:00
Herman Rimm
f82efbf17d gnu: plasmatube: Update to 26.04.0.
* gnu/packages/kde-multimedia.scm (plasmatube)[version]: Set to 26.04.0.
[source]: Change origin-hash.

Change-Id: I321c0ce54725ec504f77877cd594b0c23210943a
Signed-off-by: Sughosha <sughosha@disroot.org>
2026-04-22 15:43:19 +05:30
Herman Rimm
d5091385a5 gnu: plasmatube: Add inputs for missing modules.
* gnu/packages/kde-multimedia.scm (plasmatube)[inputs]: Add
kdeclarative, kitemmodels, qqc2-desktop-style, sonnet.

Change-Id: I321c0ce54725ec504f77877cd594b0c23210943a
Signed-off-by: Sughosha <sughosha@disroot.org>
2026-04-22 15:43:18 +05:30
Herman Rimm
0d40939b5f gnu: plasmatube: Improve package style and update description.
* gnu/packages/kde-multimedia.scm (plasmatube)[source]: Unindent.
[inputs]: Order alphabetically.
[description]: Mention Invidious and PeerTube.

Change-Id: I321c0ce54725ec504f77877cd594b0c23210943a
Signed-off-by: Sughosha <sughosha@disroot.org>
2026-04-22 15:43:18 +05:30
宋文武
1b2320b8b0 gnu: wesnoth: Build with C++ compiled Lua.
* gnu/packages/games.scm (wesnoth)[arguments]: Remove pre-configure phase.
[inputs]: Replace lua-5.4 with lua-5.4-for-c++.

Change-Id: I3b3a7998bae2b8b0518dbb1a943e06c27c7993c0
2026-04-22 17:01:48 +08:00
Ian Eure
d93e81e2b4 gnu: mame: Update to 0.287.
* gnu/packages/emulators.scm (mame): Update to 0.287.
[source]: Adjust snippet.
[inputs]: Replace lua with lua-5.4-for-c++.

Merges guix/guix!8012

Change-Id: Ib872a90b2766f9381ebc4ba6774dd8a332bd8f25
Signed-off-by: 宋文武 <iyzsong@member.fsf.org>
2026-04-22 17:01:48 +08:00
Ian Eure
8bb50dde37 gnu: Add lua-5.4-for-c++.
* gnu/packages/lua.scm (lua-5.4-for-c++): New variable.

Change-Id: I99727b0c1c83269b353431023ad4568b27cd86a3
Signed-off-by: 宋文武 <iyzsong@member.fsf.org>
2026-04-22 17:01:48 +08:00
Anderson Torres
ae742476b5 gnu: ekho: Update to 9.0.
* gnu/packages/speech.scm (ekho): Update to 9.0.
[arguments]<:phases>: Add 'remove-configure-script and 'set-cxxflag-utf8cpp.
[inputs]: Add sonic, utfcpp.
[native-inputs]: Add autoconf, auutomake, libtool.
[description]: Add @acronym.

Merges guix/guix!7974

Change-Id: I70127f1f6b634209c08fd649573762846cea47c7
Signed-off-by: 宋文武 <iyzsong@member.fsf.org>
2026-04-22 15:54:00 +08:00
Danny Milosavljevic
1dab977424 gnu: lazarus: Update to 4.6.
* gnu/packages/pascal.scm (lazarus): Update to 4.6.

Fixes: guix/guix#6308
2026-04-22 00:59:12 +02:00
bdunahu
96ae688e32 gnu: perl-image-exiftool: Update to 13.55
* gnu/packages/photo.scm (perl-image-exiftool): Update to 13.55.

Change-Id: If41f188bab3591b96b014f0a8fa8624d0cc05c7d
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-04-21 23:00:16 +02:00
gemmaro
aad2bc38c7 gnu: Add ruby-4.0.
* gnu/packages/ruby.scm (ruby-4.0): New variable.

Change-Id: Id0102f4b6830da2106a49acc723d1cd9e39b18d1
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-04-21 21:49:58 +02:00
Anderson Torres
42e68f5584 gnu: snd: Update to 26.3.
* gnu/packages/audio.scm (snd): Update to 26.3.
[source]: Update URI.
[home-page]: Update.

Change-Id: I697bfdaa720c2d31b38ded23d7b64fc0f7761d38
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-04-21 21:42:09 +02:00
Mark H Weaver
5afd027487 gnu: icecat: Update to 140.10.0-gnu1 [security fixes].
Includes fixes for CVE-2026-6746, CVE-2026-6747, CVE-2026-6748,
CVE-2026-6749, CVE-2026-6750, CVE-2026-6751, CVE-2026-6752,
CVE-2026-6753, CVE-2026-6754, CVE-2026-6757, CVE-2026-6759,
CVE-2026-6761, CVE-2026-6762, CVE-2026-6763, CVE-2026-6764,
CVE-2026-6765, CVE-2026-6766, CVE-2026-6767, CVE-2026-6769,
CVE-2026-6770, CVE-2026-6771, CVE-2026-6772, CVE-2026-6776,
CVE-2026-6785, and CVE-2026-6786.

* gnu/packages/gnuzilla.scm (%icecat-base-version, %icecat-build-id): Update.
(icecat-source): Update 'gnuzilla-commit' and hashes.
(%icecat-140.9.1-base-version, %icecat-140.9.1-version)
(icecat-140.9.1-source): New variables.
(icedove-source): Use 'icecat-140.9.1-source'.
2026-04-21 13:46:03 -04:00
David Thompson
3806f5f991 gnu: guile-goblins: Update to 0.18.0.
* gnu/packages/guile-xyz.scm (guile-goblins): Update to 0.18.0.

Change-Id: I6f660150e6fa30d2a78fd3f3eccef37475c7d873
2026-04-21 12:16:09 -04:00
Efraim Flashner
65f772c482 gnu: rust-crates: Adjust indentation.
* gnu/packages/rust-crates.scm: Standardize the indentation.

Change-Id: I9a138aafa1c3e6e4be4f934cfe10951c5874083b
2026-04-21 17:07:22 +03:00
Efraim Flashner
7ce5f9e696 gnu: drill: Update rust dependencies.
Addresses rust security advisories.

* gnu/packages/rust-crates.scm (lookup-cargo-inputs): Update entry for
drill.

Change-Id: I4f3385d2d1a53d29c9dc3cb6949bc37c87830ba9
2026-04-21 17:07:21 +03:00
Efraim Flashner
428dfc796f gnu: age-plugin-yubikey: Update rust dependencies.
Addresses rust security advisories.

* gnu/packages/rust-crates.scm (lookup-cargo-inputs): Update entry for
age-plugin-yubikey.

Change-Id: Iecaa26a8dd6aa9813be3358970b02ae69457fe13
2026-04-21 17:07:21 +03:00
Efraim Flashner
90f9443668 gnu: agate: Update rust dependencies.
Addresses rust security advisories.

* gnu/packages/rust-crates.scm (lookup-cargo-inputs): Update entry for
agate.

Change-Id: I50f6931ec1614d96a7fd0b4f565f8e08030873c9
2026-04-21 17:07:21 +03:00
Efraim Flashner
f8f9149ff0 gnu: alfis: Update rust dependencies.
* gnu/packages/rust-crates.scm (lookup-cargo-inputs): Update entry for
alfis.

Change-Id: I0fe42bbd103d236b5a84636bed607b2741ac3030
2026-04-21 17:07:20 +03:00
Efraim Flashner
6806ec49db gnu: gitoxide: Update to 0.52.0.
* gnu/packages/rust-apps.scm (gitoxide): Update to 0.52.0.
* gnu/packages/rust-crates.scm (lookup-cargo-inputs): Update entry for
gitoxide.

Change-Id: I90352b94d89bc83f2c0fc9fb9a4cf70bf9875b1d
2026-04-21 17:05:53 +03:00
Efraim Flashner
be70e45f12 gnu: selenium-manager: Update rust dependencies.
Addresses rust security advisories.

* gnu/packages/rust-crates.scm (lookup-cargo-inputs): Update entry for
selenium-manager.

Change-Id: I59a61675ef4ee1866baa3376bc9371bdcc03bf5e
2026-04-21 17:05:53 +03:00
Efraim Flashner
fd86a45eb0 gnu: rabbitmqadmin: Update rust dependencies.
Addresses rust security advisories.

* gnu/packages/rust-crates.scm (lookup-cargo-inputs): Update entry for
rabbitmqadmin.

Change-Id: I9f58279edb6c3fbb9c7dc3bc3bd92833e7341313
2026-04-21 17:05:53 +03:00
Efraim Flashner
a0d88a4725 gnu: c2rust: Update to 0.22.1.
* gnu/packages/rust-apps.scm (c2rust): Update to 0.22.1.
* gnu/packages/rust-crates.scm (lookup-cargo-inputs): Update entry for
c2rust.

Change-Id: I67528f6a88f7e983b984a6f6bb2ea177e314c954
2026-04-21 17:05:53 +03:00
Efraim Flashner
a1d6d4e8b8 gnu: wasm-bindgen-cli: Update to 0.2.118.
* gnu/packages/rust-apps.scm (wasm-bindgen-cli): Update to 0.2.118.
[source]: Update snippet.
[arguments]: Add cargo-install-paths.  Remove custom 'install phase.
* gnu/packages/rust-crates.scm (lookup-cargo-inputs): Update entry for
wasm-bindgen-cli.

Change-Id: I2070e70df44e08acf314a7664b1a55b80d7922d0
2026-04-21 17:05:53 +03:00
Efraim Flashner
c013cce3ba gnu: sequoia-chameleon-gnupg: Update rust dependencies.
Addresses rust security advisories.

* gnu/packages/sequoia.scm (sequoia-chameleon-gnupg)[native-inputs]: Add
capnproto.
* gnu/packages/rust-crates.scm (lookup-cargo-inputs): Update entry for
sequoia-chameleon-gnupg.

Change-Id: Ica3d71e8e2313f15f9045f74a99892d2dda50cfe
2026-04-21 17:05:52 +03:00
Efraim Flashner
46e915efba gnu: sequoia: Update to 2.2.0.
Addresses rust security advisories.

* gnu/packages/sequoia.scm (sequoia): Update to 2.2.0.
* gnu/packages/rust-crates.scm (lookup-cargo-inputs): Update entries for
sequoia-sq, sequoia-sqv, sequoia-wot-tools.

Change-Id: Idd29d0441230b14f186b2023d17b4f4396af6e3e
2026-04-21 17:05:52 +03:00
Efraim Flashner
25a3cf7687 gnu: spotifyd: Update to 0.4.2.
* gnu/packages/rust-apps.scm (spotifyd): Update to 0.4.2.
[inputs]: Add openssl.
* gnu/packages/rust-crates.scm (lookup-cargo-inputs): Update entry for
spotifyd.

Change-Id: I0d2f9f680fcbcb3f7db6eebb9db64502262d969a
2026-04-21 17:05:52 +03:00
Efraim Flashner
cc1c4e60e7 gnu: ripgrep-all: Update to 0.10.10.
* gnu/packages/rust-apps.scm (ripgrep-all): Update to 0.10.10.
* gnu/packages/rust-crates.scm (lookup-cargo-inputs): Update entry for
ripgrep-all.

Change-Id: Ib9ec07ce3bc39fb1b79c4e6d1f5ddda5fb38de6b
2026-04-21 17:05:52 +03:00
Efraim Flashner
969be80aae gnu: python-nh3: Update rust dependencies.
Addresses rust security advisories.

* gnu/packages/rust-crates.scm (lookup-cargo-inputs): Update entry for
python-nh3.

Change-Id: I350b3829b96d7f3a5cf943f03814a8feb8df219c
2026-04-21 17:05:52 +03:00
Efraim Flashner
6a2c721366 teams: rust: Improve audit-rust-crates script.
* etc/teams/rust/audit-rust-crates: Count the number of untested crates
and print them at the end of running the script.
[Begin]: Close open file descriptor.
[crate-source]: Use variables.
[package:rust, git-reference]: New matches.

Change-Id: If3d9dec79175dfa521a4dfa54d2fedf69712d96e
2026-04-21 17:05:52 +03:00
Efraim Flashner
7a37399512 gnu: rust-crates: Remove spurious crate.
* gnu/packages/rust-crates.scm (rust-pubgrub-0.3.0-alpha.1.b70cf70):
Remove variable.

Change-Id: I2dd7a69527ecc674dcc766732d799eeb77597134
2026-04-21 17:05:52 +03:00
Evgeny Pisemsky
05ad747b16 gnu: Add go-github-com-xtls-reality.
* gnu/packages/golang-crypto.scm (go-github-com-xtls-reality): New variable.

Change-Id: I7f0e63961efc81ae38994ac99190b6e178bc9127
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-21 14:10:19 +01:00
Evgeny Pisemsky
7072de11b9 gnu: go-github-com-refraction-networking-utls: Update to 1.8.2.
* gnu/packages/golang-crypto.scm (go-github-com-refraction-networking-utls): Update to 1.8.2.

Change-Id: Id51a0804238ee927209e6022143dd4a2fdd3fa3e
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-21 14:05:12 +01:00
宋文武
c03156b1fb gnu: logtalk: Update to 3.99.0.
* gnu/packages/prolog.scm (logtalk): Update to 3.99.0.

Merges guix/guix!7992

Change-Id: I6e8616411577068e537e72554e05d29db93e8166
2026-04-21 17:51:03 +08:00
Jason Conroy
ef1638ebdf gnu: ocaml-opam-client: Remove dependency on ocaml-cmdliner.
No longer required in opam >= 2.5.

* gnu/packages/ocaml.scm (ocaml-opam-client)[propagated-inputs]: Remove ocaml-cmdliner.

Change-Id: I67fd4dd30fbee25a0598a844b27e351fd4b87d1e
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-04-20 19:57:12 +02:00
Jason Conroy
cdaefd61ba gnu: opam: Update package for 2.5.1.
Restore tests now that the inherited package is at 2.5.1. The package
definition is backported from the ocaml-team branch with one extra test
exclusion for the new opam release.

* gnu/packages/ocaml.scm (opam): Update package for 2.5.1.

Change-Id: Ib80e2f7c31f56dd7a285454ce0ddfed701d68860
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-04-20 19:57:10 +02:00
Jason Conroy
c2e4b45aad gnu: ocaml-opam-core: Update to 2.5.1.
* gnu/packages/ocaml.scm (ocaml-opam-core): Update to 2.5.1.

Change-Id: Ie0934f39df8e52ec6665ee64b9828826f002095d
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-04-20 19:57:08 +02:00
Jason Conroy
0133d872f6 gnu: opam: Temporarily disable tests.
This is a prerequisite for a version bump in the inherited package.

* gnu/packages/ocaml.scm (opam):
[arguments]: Disable tests. Delete modified phase related to tests.

Change-Id: I114e85eefa5ab78cdba0b264d9954ac831031541
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-04-20 19:57:06 +02:00
Jason Conroy
ddb7a77b7d gnu: ocaml-opam-client: Add dependency on ocaml-spdx-licenses.
This is a prerequisite for a version bump in the inherited package.

* gnu/packages/ocaml.scm (ocaml-opam-client)[propagated-inputs]: Add ocaml-spdx-licenses.

Change-Id: I72f13f8276acb89eba14b86baf33c265f5405bf6
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-04-20 19:57:04 +02:00
Jason Conroy
31eee60940 gnu: ocaml-opam-solver: Add dependency on ocaml-opam-0install-cudf.
This is a prerequisite for a version bump in the inherited package.

* gnu/packages/ocaml.scm (ocaml-opam-solver)[propagated-inputs]: Add
ocaml-opam-0install-cudf.

Change-Id: I87ad17c8a7fa032e54ebd4a8d096bd0da91003e3
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-04-20 19:57:02 +02:00
Jason Conroy
16f971bbf7 gnu: ocaml-opam-state: Add dependency on ocaml-spdx-licenses.
This is a prerequisite for a version bump in the inherited package.

* gnu/packages/ocaml.scm (ocaml-opam-state)[inputs]: Add ocaml-spdx-licenses.

Change-Id: Iffe4f00abeb394d92385e17ea7c7e0516d1ca0e3
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-04-20 19:56:59 +02:00
Jason Conroy
c32757baf6 gnu: ocaml: Add ocaml-patch.
* gnu/packages/ocaml.scm (ocaml-patch): New variable.

Change-Id: I18f224e1c8cac942a86d05419d02d0fa418ded98
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-04-20 19:56:57 +02:00
Jason Conroy
986d997ad0 gnu: ocaml: Add ocaml-opam-0install-cudf.
* gnu/packages/ocaml.scm (ocaml-opam-0install-cudf): New variable.

Change-Id: If7e08f2fbf55626eb90644a0ed8317a2367de0fd
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-04-20 19:56:55 +02:00
Jason Conroy
0748122bd2 gnu: ocaml: Add ocaml-0install-solver.
* gnu/packages/ocaml.scm (ocaml-0install-solver): New variable.

Change-Id: I52482474746ea518cd108074b0afe22f62952960
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-04-20 19:56:53 +02:00
Jason Conroy
396bb7e8ef gnu: ocaml: Add ocaml-spdx-licenses.
* gnu/packages/ocaml.scm (ocaml-spdx-licenses): New variable.

Change-Id: I6bed592e3320f1e902478586ff1a84c0b5cf327f
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-04-20 19:56:51 +02:00
Jason Conroy
f668151823 gnu: ocaml: Add ocaml-swhid-core.
* gnu/packages/ocaml.scm (ocaml-swhid-core): New variable.

Change-Id: I017a7370d12c9c7e73e3902a1310778d9b630fe8
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-04-20 19:56:49 +02:00
Jason Conroy
c0584bed8c gnu: ocaml-mccs: Update to 1.1+19.
* gnu/packages/ocaml.scm (ocaml-mccs): Update to 1.1+19.

Change-Id: I4ae04da62c430c732fb806195bb6116041b6aaa3
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-04-20 19:56:47 +02:00
Jason Conroy
6cc23705a6 gnu: opam-installer: Update to 2.5.1.
* gnu/packages/ocaml.scm (opam-installer): Update to 2.5.1.

Change-Id: Ifd0ba2ab79df67b18d3cdc7a5995acf0a4012e81
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-04-20 19:56:31 +02:00
Sören Tempel
acb466c056 gnu: kissat: Update to 4.0.4.
* gnu/packages/maths.scm (kissat): Update to 4.0.4.
[arguments]<#:phases>{patch-source}: Don't check if /etc/passwd is writable.

Change-Id: I40d6b22bea16009fa67fa8abcda95ea9824e5baf
2026-04-20 18:51:14 +02:00
fanquake
735e13d60e gnu: guile-lzlib: Fix hash.
Fixes a regression introduced in 650e69784d.

* gnu/packages/guile.scm (guile-lzlib)[source]: Update sha256.

Change-Id: Iccb8acc8d1c92d89c4e3b03dbf500e21be604692
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Fixes: guix/guix#7573
Merges: #8020
2026-04-20 16:41:49 +02:00
Miro Palmu
98168d5362 gnu: ucx: enable multithreading support
* gnu/packages/fabric-management.scm (ucx): Enable multithreading
  support.
[#:configure-clags]: Add "--enable-mt".

Fixes: guix/guix/#7456
Change-Id: Ib59efca36e9a168c30638a02f110344e83edd949
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Merges: #7529
2026-04-20 15:21:15 +02:00
Ludovic Courtès
fa8e00338c doc: Mention the GCD process.
* doc/contributing.texi (Making Decisions): Document GCDs.

Change-Id: I8b247af4e6ec731bc7750e19519c8dba863e5ef5
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Merges: #7786
2026-04-20 15:03:23 +02:00
Ludovic Courtès
32b007b434 doc: Document ‘package/inherit’.
* doc/guix.texi (Defining Package Variants): Document ‘package/inherit’.

Change-Id: I373b54d3a6978d7d2719a234b244397f68004818
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Merges: #7784
2026-04-20 15:03:13 +02:00
Ludovic Courtès
0e8a578da4 doc: Add missing markup in “Invoking guix refresh”.
* doc/guix.texi (Invoking guix refresh): Add missing @option.

Change-Id: I898d2d4d6fac8a05281a43043e1eaba36cd57869
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2026-04-20 15:03:13 +02:00
Ludovic Courtès
fe376cdf4a doc: Fix typographical issues in “Invoking guix style”.
* doc/guix.texi (Invoking guix style): Fix typographic issues.  Use less
horizontal space in example.

Change-Id: Ibc8c89e4f0ae1f8ea03c4d706280b424533b0e48
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2026-04-20 15:03:12 +02:00
Andreas Enge
d636e801be gnu: Remove gourmet.
* gnu/packages/nutrition.scm (gourmet): Delete variable.

Fixes: guix/guix#7352
Change-Id: Idb4f13e75caf6f19baefe43d0017a5ea57cc3edb
2026-04-20 13:48:46 +02:00
Andreas Enge
c46b44ce68 gnu: Remove python-pytest-tornado5.
* gnu/packages/check.scm (python-pytest-tornado5): Delete variable.

Fixes: guix/guix#7347
Change-Id: Ife69b7a42fb1bdcdd6ed9dd4b37847d94bf3cee5
2026-04-20 13:47:58 +02:00
Andreas Enge
bb27bc901c gnu: Remove lkrg.
* gnu/packages/linux.scm (lkrg): Delete variable.

Fixes: guix/guix#7335
Change-Id: Id303e1bc80a5be8b2ec125a2ff07859d9be72f01
2026-04-20 13:47:07 +02:00
Andreas Enge
7619e82b35 gnu: Remove evdi.
* gnu/packages/linux.scm (evdi): Delete variable.

Fixes: guix/guix#7339
Change-Id: I878d0677d28504b8f44c63471834e568e8303935
2026-04-20 13:43:31 +02:00
Andreas Enge
8d6b041cb6 gnu: Remove libevdi.
* gnu/packages/linux.scm (libevdi): Delete variable.

Change-Id: I8961aa3cddc981eddd908ccc7df66b2906a928e2
2026-04-20 13:43:00 +02:00
Andreas Enge
55e3d0b154 gnu: Remove lttng-modules.
* gnu/packages/instrumentation.scm (lttng-modules): Delete variable.

Fixes: guix/guix#7337
Change-Id: I1868722e93ee25072855c9f32da6556b46e42ceb
2026-04-20 13:41:20 +02:00
Andreas Enge
32863e42b6 gnu: Remove vhba-module.
* gnu/packages/linux.scm (vhba-module): Delete variable.

Fixes: guix/guix#7336
Change-Id: Ie48554619a8d23cda7b5764ee326727ec1bef2e9
2026-04-20 13:39:17 +02:00
Andreas Enge
c6cf60450d gnu: Remove vendor-reset-linux-module.
* gnu/packages/linux.scm (vendor-reset-linux-module): Delete variable.

Fixes: guix/guix#7334
Change-Id: Ib6c0d821dfb7b3d08d106ac34b37d6fafe57377a
2026-04-20 13:38:26 +02:00
Andreas Enge
451247642d gnu: Remove librem-ec-acpi-linux-module.
* gnu/packages/linux.scm (librem-ec-acpi-linux-module): Delete variable.

Fixes: guix/guix#7331
Change-Id: I68f04f69fb25e8e762aff96430b2d62c3fdca86c
2026-04-20 13:37:08 +02:00
Andreas Enge
be5131cf13 gnu: Remove rdesktop.
* gnu/packages/rdesktop.scm (rdesktop): Delete variable.

Fixes: guix/guix#7302
Change-Id: Ie6dbb506f66b2ce81dc93e73902b99f437accaaa
2026-04-20 13:36:21 +02:00
Andreas Enge
7b4d4f16ed gnu: Remove wxwidgets-gtk2.
* gnu/packages/wxwidgets.scm (wxwidgets-gtk2): Delete variable.

Fixes: guix/guix#7247
Change-Id: I4f3bb13d4cca2f2d22879ce47123fa649cfb3065
2026-04-20 13:33:48 +02:00
Andreas Enge
73d69677a3 gnu: Remove font-cozette.
* gnu/packages/fonts.scm (font-cozette): Delete variable.

Fixes: guix/guix#7241
Change-Id: I56eb14d2aad5ea070c42d1983ee9a37ee40556db
2026-04-20 13:31:44 +02:00
Andreas Enge
44a1f76f05 gnu: Remove hwloc-2.
* gnu/packages/mpi.scm (hwloc-2): Delete variable.

Fixes: guix/guix#7216
Change-Id: If7dfd6002ef2c02677691adc791f75ea3b2cb5ce
2026-04-20 13:27:28 +02:00
Andreas Enge
ce0a26bf44 gnu: Remove hwloc-1.
* gnu/packages/mpi.scm (hwloc-1): Delete variable.
* gnu/packages/patches/hwloc-1-test-btrfs.patch: Remove file.
* gnu/local.mk (dist_patch_DATA): Unregister file.

Change-Id: I1ff036fb7c81702a46a9f97b6d5d3199d380242c
2026-04-20 13:27:27 +02:00
Andreas Enge
d57ecc3023 gnu: slurm-minimal: Rewrite input.
* gnu/packages/parallel.scm (slurm-minimal)[inputs]: Replace hwloc-2 by
the identical hwloc.

Change-Id: I9ae384f88c3840b4d1c6978129ca48a4459de166
2026-04-20 13:27:26 +02:00
Andreas Enge
132d2a4e7c gnu: mpich: Rewrite input.
* gnu/packages/mpi.scm (mpich)[inputs]: Replace hwloc-2 by the identical
hwloc.

Change-Id: I1ba8a2fbdc64c8a4343903f936e6a018322ac2a8
2026-04-20 13:27:25 +02:00
Andreas Enge
f3efb57c4c gnu: openmpi-4: Rewrite input.
* gnu/packages/mpi.scm (openmpi-4)[inputs]: Replace hwloc-2 by the
identical hwloc.

Change-Id: I16f4dde4f66f5ee05f6c490f19aa590407cffb1a
2026-04-20 13:27:24 +02:00
Andreas Enge
d68e92fcf7 gnu: gromacs: Rewrite input.
* gnu/packages/chemistry.scm (gromacs)[inputs]: Replace hwloc-2 by the
identical hwloc.

Change-Id: I5a7f33e12cefff884329a867e05ecef60ce9e1d9
2026-04-20 13:27:23 +02:00
Andreas Enge
72d81789e9 gnu: Remove fsom.
* gnu/packages/bioinformatics.scm (fsom): Delete variable.

Change-Id: I2881a1addec0c9c100141bd181a1f7a84a964c94
2026-04-20 13:18:43 +02:00
Denis 'GNUtoo' Carikli
65b767cb36 teams: Add GNUtoo to the embedded team.
I was asked to join the team that manages the gnu/packages/coreboot.scm
file.

* etc/teams.scm ("GNUtoo"): Create and add to the embedded team.

Link: https://codeberg.org/guix/guix/pulls/7065
Change-Id: I3e3963cf3806e4a7d741b75b052de4caa3b8ea98
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
2026-04-20 13:33:22 +03:00
Denis 'GNUtoo' Carikli
a02a6d2b83 teams: embedded: adopt gnu/packages/coreboot.scm.
Before the commit 7cf91385c5 ("gnu: Move bincfg,
ifdtool and intelmetool to coreboot.scm."), the packages moved to coreboot.scm
were managed by the electronics team. After that, these packages became orphan
because coreoot.scm had wasn't managed by any team.

For now, the best fit is the "embedded" team because embedded also manages
bootloader.scm which also provide boot firmware images (u-boot).

* CODEOWNERS: Regenrate file.
* etc/teams.scm (embedded)<#:scope>: Add gnu/packages/coreboot.scm.

Link: https://codeberg.org/guix/guix/pulls/7065
Change-Id: I6626ad74bf5b20bee24c018292354c4db127f7a3
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
2026-04-20 13:33:18 +03:00
Dan Rostovtsev
14a65594a1 gnu: Add rocqide.
* gnu/packages/rocq.scm (rocqide): New variable.

Change-Id: I5db4925c6a193c562a14be49d4edc17ed252f22a
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-04-20 11:35:11 +02:00
Dan Rostovtsev
527de054fa gnu: Add rocqide-server.
* gnu/packages/rocq.scm (rocqide): New variable.

Change-Id: I446de988b7f456918b8913b002e2fb070ff22883
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-04-20 11:35:06 +02:00
Dan Rostovtsev
78cb02925f gnu: Add rocq-core.
* gnu/packages/rocq.scm (rocq-core): New variable.

Change-Id: I4db97a371d6d6c12ab285c4f5484caa4bd471485
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-04-20 11:35:04 +02:00
Dan Rostovtsev
3e6e8582a1 gnu: Add rocq-runtime.
* gnu/packages/rocq.scm (rocq-runtime): New variable.

Change-Id: Ib9199253987f444bd597b03d12cd8b34bd3bbce8
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-04-20 11:35:02 +02:00
Dan Rostovtsev
c94e2af5aa gnu: Add rocq module.
* gnu/packages/rocq.scm: New file.
* etc/teams.scm (ocaml): Add it.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
* CODEOWNERS: Regenerate file.

Change-Id: Ia6ed17bf36632463b7df1e6bd6a6ae14ee1b7e3f
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-04-20 11:34:55 +02:00
Efraim Flashner
f5c418be09 gnu: fish: Run more tests.
* gnu/packages/shells.scm (fish)[native-inputs]: Add python-pexpect.

Change-Id: I1b712178f7e9263bb7682bd8fc1572949639c0a4
2026-04-20 11:41:25 +03:00
Andrew Stubbs
a4ecd92dae gnu: fish: Update to 4.6.0.
* gnu/packages/shells.scm (fish): Update to 4.6.0.
[arguments]: Remove some unneeded substitutions.
* gnu/packages/rust-crates.scm (lookup-cargo-inputs): Update entry for
fish.

Change-Id: I13e4aec5e16ca0e0ecacddbee4c471151e7b09ca
Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
2026-04-20 11:40:13 +03:00
Nicolas Graves
b8946c8d7b gnu: java-snappy: Improve style.
* gnu/packages/java-compression.scm
(java-snappy)[arguments]: Drop trailing #t, fit into 79 characters.
[native-inputs, inputs, propagated-inputs]: Drop input labels.
(java-snappy-1)[arguments]: Likewise.

Change-Id: I241a675425cf2d28b52568e52a923e48a347453d
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-04-20 10:20:47 +02:00
Efraim Flashner
f17572eb4b gnu: alacritty: Speedup patching library references phase.
* gnu/packages/terminals.scm (alacritty)[arguments]: Rewrite the
'add-absolute-library-references phase to run faster.

Change-Id: I6eb41a1739b0199dc883a5ce0f6772ee0691f9a6
2026-04-20 10:03:48 +03:00
Efraim Flashner
48f52f85f9 gnu: alacritty: Modernize package.
* gnu/packages/terminals.scm (alacritty)[arguments]: Rewrite using
g-exps.  Add cargo-install-paths. Replace custom 'install phase with
'install-more phase using the copy-build-system's 'install phase.

Change-Id: I8eac507e2f07df07c62cfc68a9adabf4155f79c0
2026-04-20 09:38:28 +03:00
Efraim Flashner
852c6300bf gnu: alacritty: Update to 0.17.0.
* gnu/packages/terminals.scm (alacritty): Update to 0.17.0.
[arguments]: Install new manpage.
* gnu/packages/rust-crates.scm (lookup-cargo-inputs): Update entry for
alacritty.

Change-Id: I76dfa7b0d23d3d82284ea4e3912cfec0ec425cec
2026-04-20 09:37:44 +03:00
Anderson Torres
3699c4a4fe gnu: nvi: Move to (gnu packages text-editors).
* gnu/packages/nvi.scm (nvi): Deprecate, move from here ...
* gnu/packages/text-editors.scm: ... to here.  Update copyright headers.
* gnu/system.scm: Do not use (gnu packages nvi).

Change-Id: I9968c854a7ea42b1f3288ae68a9259bd7d35c685
Merges: https://codeberg.org/guix/guix/pulls/4806
Reviewed-by: Sharlatan Hellseher <sharlatanus@gmail.com>
Signed-off-by: Nguyễn Gia Phong <cnx@loang.net>
2026-04-20 12:43:25 +09:00
Anderson Torres
d1011b548f gnu: nvi: Reformat.
* gnu/packages/nvi.scm (nvi)[source]: Reduce indentation,
  reformat uri, use G-expression snippet.
  [inputs]: Remove newline.
  [description]: Reduce indentation, limit width to 72 columns.
  [home-page]: Update.
  [license]: Add prefix.

Change-Id: I0f8068a7f204a817deb02ac0dc179bde47d96d58
Reviewed-by: Sharlatan Hellseher <sharlatanus@gmail.com>
Signed-off-by: Nguyễn Gia Phong <cnx@loang.net>
2026-04-20 12:42:04 +09:00
Ashish SHUKLA
3814cc1da9 gnu: labwc: Update to 0.9.7
* gnu/packages/wm.scm (labwc): Update to 0.9.7.

Change-Id: Iaf7437e8bcc71819252250934b386bb1b1927724
Merges: https://codeberg.org/guix/guix/pulls/7969
Signed-off-by: Nguyễn Gia Phong <cnx@loang.net>
2026-04-20 11:41:55 +09:00
Maxim Cournoyer
746add3f1b gnu: luanti-mineclonia: Update to 0.121.1.
* gnu/packages/luanti.scm (luanti-mineclonia): Update to 0.121.1.

Change-Id: Iabbb5743e04106393736be5e891458da8bef98e3
2026-04-20 11:18:12 +09:00
jgart
2fbb82a8a5 gnu: trealla: Update to 2.92.41.
* gnu/packages/prolog.scm (trealla): Update to 2.92.41.

Change-Id: I23d7054e7154cd8f484522e8ed8781981b75915c
2026-04-19 20:30:37 -04:00
Johannes Christ
45cf15b751 gnu: forgejo-cli: Update to 0.5.0.
* gnu/packages/rust-apps.scm (forgejo-cli): Update to 0.5.0.
* gnu/packages/rust-crates.scm (lookup-crate-inputs): Update forgejo-cli
crates.

Change-Id: Ib6c49565cf6b5e4db559b5f2772a0420a72e121c
Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
2026-04-19 19:24:50 +03:00
Efraim Flashner
30442f49a5 gnu: Fix some spelling errors.
* gnu/packages/ocaml.scm, gnu/packages/orange.scm,
gnu/packages/package-management.scm, gnu/packages/password-utils.scm,
gnu/packages/pdf.scm, gnu/packages/perl6.scm, gnu/packages/php.scm,
gnu/packages/power.scm, gnu/packages/prometheus.scm,
gnu/packages/protobuf.scm, gnu/packages/python-check.scm,
gnu/packages/python-compression.scm, gnu/packages/python-crypto.scm,
gnu/packages/python-science.scm, gnu/packages/python-web.scm,
gnu/packages/python-xyz.scm, gnu/packages/qt.scm,
gnu/packages/racket.scm, gnu/packages/radio.scm, gnu/packages/rdf.scm,
gnu/packages/rocm.scm, gnu/packages/rpc.scm, gnu/packages/ruby-xyz.scm,
gnu/packages/rust-apps.scm, gnu/packages/rust-crates.scm,
gnu/packages/rust.scm, gnu/packages/telephony.scm,
gnu/packages/terminals.scm: Fix some spelling errors.

Change-Id: Iac58897304e471f42ecfbaa3a750ff10ee734ca6
2026-04-19 11:42:53 +03:00
Andy Tai
2afe7fe09e gnu: time: Update to 1.10.
*  gnu/packages/time.scm (time): Update to 1.10.
* tests/guix-build.sh: Adjust accordingly.

Change-Id: Ia21a99e992f7b4b6e940756918ce7d11b9602a4f
Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
2026-04-19 10:54:06 +03:00
Efraim Flashner
2fe026b447 gnu: vim: Update to 9.2.0333.
* gnu/packages/vim.scm (vim): Update to 9.2.0333.
[arguments]: Adjust skip-or-fix-failing-tests phase to skip another
test.

Fixes: guix/guix#7941
Change-Id: I48f2b404932902d2a65c651a4e6aad1c98034c1e
2026-04-19 10:43:29 +03:00
Efraim Flashner
03f9966834 gnu: starship: Adjust synopsis, description.
* gnu/packages/shellutils.scm (starship)[description]: Rewrite to remove
marketing language.
[description]: Same.

Change-Id: Ib0c6c815b0f2af3c65de970b41aec7211a81a548
2026-04-19 10:43:10 +03:00
Foster Hangdaan
2f889ec2b5 gnu: starship: Update to 1.25.0.
* gnu/packages/shellutils.scm (starship): Update to 1.25.0.
* gnu/packages/rust-crates.scm (lookup-crate-inputs): Update starship crates.

Fixes: guix/guix#7978
Change-Id: Ib035143e89582c2967665c4b84d008bc03af4517
Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
2026-04-19 10:42:13 +03:00
Maxim Cournoyer
cfd676fa24 gnu: qdigidoc: Fix icon at run time.
* gnu/packages/patches/qdigidoc-fix-icon.patch: New patch.
* gnu/local.mk (dist_patch_DATA): Register it.
* gnu/packages/security-token.scm (qdigidoc): Apply it.

Change-Id: I1dee3c7f525eec804e83b669c253da139b8e52db
2026-04-19 16:33:09 +09:00
Efraim Flashner
5e86b3e112 gnu: storage: Install shell completions.
* gnu/packages/storage.scm (garage)[arguments]: Add a phase to generate
and install the shell completions.
[native-inputs]: When cross-compiling add this package.

Change-Id: Iaf4f90c88ee68520a749de5fe961626d5dc9b579
2026-04-19 10:17:30 +03:00
Efraim Flashner
d09c3b19e7 gnu: rust-crates: Adjust indentation.
* gnu/packages/rust-crates.scm: Standardize the indentation.

Change-Id: Icf5218e4519dc081f258cb5e0caa7b45a0f83fc2
2026-04-19 10:17:30 +03:00
Foster Hangdaan
68adc69ce3 gnu: garage: Update to 2.3.0.
* gnu/packages/storage.scm (garage): Update to 2.3.0.
* gnu/packages/rust-crates.scm (lookup-crate-inputs): Update garage crates.

Change-Id: Ie3b8cec438b19f3860122d42d4132eb62f3043c4
Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
2026-04-19 10:17:27 +03:00
Jan Wielkiewicz
b7b8497734 gnu: luanti: Update to 5.15.2. [security fixes]
Includes fixes for GHSA-22c4-238c-m5j4 and GHSA-g596-mf82-w8c3.

* gnu/packages/luanti.scm (luanti): Update to 5.15.2.

Change-Id: Iab3b05fa65be40b895b2f6fdf56d0ba5dcf0b7ac
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2026-04-19 08:24:47 +02:00
Anderson Torres
6b11be9644 gnu: emacs-flymake-flycheck: Update to 0.2-0.cbc0fc8.
* gnu/packages/emacs-xyz.scm (emacs-flymake-flycheck): Update to 0.2-0.cbc0fc8.
[source]: Use git instead of MELPA.
[#:tests?]: Set as #f.
(emacs-flymake-flycheck-superseded-version): New dummy variable.

Change-Id: I75b96526e7cd9fdfbc95c1408bd0e94759344c5c
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2026-04-19 08:24:47 +02:00
Anderson Torres
79a70405bb gnu: emacs-keyfreq: Update to 1.8-0.c695516.
* gnu/packages/emacs-xyz.scm (emacs-2048-game): Update to 1.8-0.c695516.
[source]: Use git respository instead of MELPA tarball.
[#:tests?]: Set as #f.
(emacs-keyfreq-superceded-version): New dummy variable.

Change-Id: I86aa99701b4fb3ad03a0052a2c4ab4dabda1a2ac
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2026-04-19 08:24:47 +02:00
Anderson Torres
8d06dbc72e gnu: emacs-2048-game: Use Mercurial instead of MELPA.
* gnu/packages/emacs-xyz.scm (emacs-2048-game): Update to 2023.8.8.1-0.0e7210d.
[source]: Use mercurial respository instead of MELPA tarball.
[#:tests?]: Set as #f.
(emacs-2048-game-superceded-version): New dummy variable.

Change-Id: Id03b28ff6ca3e74dea3fadfb11b5b1b105e7cd2e
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2026-04-19 08:24:47 +02:00
Ian Henderson
ac7bec1187 gnu: Add gnome-shell-extension-hot-edge.
* gnu/packages/gnome-xyz.scm (gnome-shell-extension-hot-edge): New variable.

Change-Id: I23b6be8c28ec66d80c1b5b0cc430680646e6ce54
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2026-04-19 08:24:36 +02:00
Ian Henderson
a1bb828da2 gnu: Add gnome-shell-extension-caffeine.
* gnu/packages/gnome-xyz.scm (gnome-shell-extension-caffeine): New variable.

Change-Id: I542a502062c386f8dda434d4135610821cf493ae
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2026-04-19 08:23:33 +02:00
moksh
6a90416017 gnu: Add emacs-jag.
* gnu/packages/emacs-xyz.scm (emacs-jag): New variable.

Change-Id: If1948d0a609500391d7b240ccde32a4cc58dcce0
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2026-04-19 08:07:28 +02:00
moksh
2fdb18979e gnu: Add emacs-swagg.
* gnu/packages/emacs-xyz.scm (emacs-swagg): New variable.

Change-Id: I0f07711cd4536500d976fc76e24a9a93bec9e660
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2026-04-19 08:07:27 +02:00
jgart
d8bc7a857a gnu: pounce: Update to 3.2.
* gnu/packages/messaging.scm (pounce): Update to 3.2.

Change-Id: I2b758ce5a895c346c4275128acf36a6221e86a04
2026-04-18 23:58:44 -04:00
Sughosha
9ccbefd585 gnu: plasma: Add flatpak-kcm to propagated-inputs.
* gnu/packages/kde-plasma.scm (plasma)[propagated-inputs]: Add flatpak-kcm.

Change-Id: Ie0d9cfa5c4b96040deb385e177a1e6b6c769ee82
2026-04-19 09:08:09 +05:30
Sughosha
8538108621 gnu: plasma: Add flatpak to propagated-inputs.
* gnu/packages/kde-plasma.scm (plasma)[propagated-inputs]: Add flatpak.

Change-Id: I0d8f7877430abf5b30dbd61186fbfe799a3f0435
2026-04-19 09:07:34 +05:30
Sughosha
adac45850b gnu: plasma: Enable showing thumbnails of video files.
* gnu/packages/kde-plasma.scm (plasma)[propagated-inputs]: Add ffmpegthumbs.

Change-Id: Ic8e638c3a40923f3dc86bbec40fd53875a93001c
2026-04-19 09:02:41 +05:30
Owen T. Heisler
63e73973a5 gnu: flatpak: Add librsvg for SVG icon validation.
* gnu/packages/package-management.scm (flatpak):[propagated-inputs]: Add
librsvg as (librsvg-for-system).

Merges: guix/guix!7973
Closes: https://codeberg.org/guix/guix/issues/7972
Change-Id: Ie03b580a5587711e81260a93f3cb732332c35209
Signed-off-by: Sughosha <sughosha@disroot.org>
2026-04-19 08:46:09 +05:30
Sughosha
082c705d48 gnu: kaidan: Improve package style.
* gnu/packages/kde-internet.scm (kaidan)[source]: Adjust formatting to meet the
80 characters line width convention.
[arguments]: Likewise.

Change-Id: I5202fa5b200c3f1193f38279baa4f279f31e2451
2026-04-19 08:38:31 +05:30
bdunahu
a544e59205 gnu: kaidan: Add required qt6 plugins.
* gnu/packages/kde-internet.scm (kaidan)[#:phases]: Add ‘wrap-program’.
[inputs]: Add bash-minimal, gst-plugins-good-qt.

Change-Id: Idc824c4a8daaecf6e274126427da8809f30d24c2
Signed-off-by: Sughosha <sughosha@disroot.org>
2026-04-19 08:33:54 +05:30
Ian Henderson
fed54175a1 gnu: Add font-open-sans.
* gnu/packages/fonts.scm (font-open-sans): New variable.

Merges guix/guix!7833
Change-Id: I541f88b3745ea61d04d061200e08d31d4fb23466
Signed-off-by: 宋文武 <iyzsong@member.fsf.org>
2026-04-19 09:49:22 +08:00
jgart
6d5a20bc05 gnu: trealla: Update to 2.92.38.
* gnu/packages/prolog.scm (trealla): Update to 2.92.38.

Change-Id: I841300c8b2c0f02cd432388c41b5f8690c3a8e02
2026-04-18 19:14:27 -04:00
Sughosha
92df3d957a gnu: wl-color-picker: Update to 1.4.
* gnu/packages/xdisorg.scm (wl-color-picker): Update to 1.4.
[arguments]<#:phases>: Rename 'wrap-script' to 'wrap-program' and rewrite it.
[inputs]: Reorder; add libnotify.

Change-Id: I49d934c634ed7838b3dd494c847dd3f02b92ab89
2026-04-18 22:50:39 +05:30
David Thompson
8bb2902721 gnu: guile-bstructs: Update to 0.2.0.
* gnu/packages/guile-xyz.scm (guile-bstructs): Update to 0.2.0.

Change-Id: I5e9b15ffe8507e4ba29af0cac234b16edec71f2a
2026-04-18 08:44:30 -04:00
Peter Polidoro
dc0ffec8da gnu: kicad: Update to 10.0.1.
* gnu/packages/electronics.scm (kicad): Update to 10.0.1.
[description]: Update.

Merges guix/guix!7967

Change-Id: Iaccf167967402345e3576d48cdbf098d0b5e6263
Signed-off-by: Cayetano Santos <csantosb@inventati.org>
2026-04-18 10:51:55 +02:00
Evgeny Pisemsky
ccd22eac80 gnu: Add mopidy-mopiqtt.
* gnu/packages/music.scm (mopidy-mopiqtt): New variable.

Merges guix/guix!7789

Change-Id: Ic4b6bb74cc2b4c921be837875365e1cba7398cb8
Signed-off-by: Sughosha <sughosha@disroot.org>
2026-04-18 06:11:40 +05:30
Christopher Baines
da61f4e8fb gnu: guix-build-coordinator: Update to 0-138.a52e17a.
* gnu/packages/package-management.scm (guix-build-coordinator): Update to
0-138.a52e17a.

Change-Id: I16a992ab97b9c19d2399336fef5212a40e987d5d
2026-04-17 18:51:46 +01:00
Christopher Baines
67fa713c9a gnu: nar-herder: Update to 0-53.44ca801.
* gnu/packages/package-management.scm (nar-herder): Update to 0-53.44ca801.
[inputs,propagated-inputs]: Add guile-aws.

Change-Id: I31a84cc850d315daaeb883a324fe38888f80bd86
2026-04-17 18:51:46 +01:00
Christopher Baines
d8aadaecca gnu: guile-knots: Update to 0.1-34.f767eca.
* gnu/packages/guile-xyz.scm (guile-knots): Update to 0.1-34.f767eca.

Change-Id: I22abce1b6086c8a86b0c6d0738b5bc5a063cf7f2
2026-04-17 18:51:46 +01:00
Christopher Baines
84426cb20a services: bffe: Don't use line buffering.
For the output ports, as this can cause problems with fibers.

* gnu/services/guix.scm (bffe-shepherd-services): Don't use line buffered
output.

Change-Id: I93a24ea2bad2d7beac795caf515ffd7a259247a7
2026-04-17 18:51:46 +01:00
Christopher Baines
3e4c2ce48e services: guix-build-coordinator: Don't use line buffering.
For the output ports, as this can cause problems with fibers.

* gnu/services/guix.scm (make-guix-build-coordinator-start-script): Don't use
line buffered output.

Change-Id: I7b26ef252b6f6999e8a39b5d872a780a99f3852c
2026-04-17 18:51:46 +01:00
Cayetano Santos
8014907342 gnu: emacs-fj: Add tests.
* gnu/packages/emacs-xyz.scm (emacs-fj)[native-inputs]: Add
emacs-el-mock, emacs-exemplify-ert, and emacs-exemplify-eval.
[arguments]<#:test-command>: Add.
<#:tests?>: Delete.
<#:phases>: Add ’remove-cask.

Change-Id: I5dab9012ef053eb871ec299bf6d4f553d6a56d10
2026-04-17 17:38:38 +02:00
Cayetano Santos
5dd9f05628 gnu: Add emacs-exemplify-eval.
* gnu/packages/emacs-xyz.scm (emacs-exemplify-eval): New variable.

Change-Id: I704387dd9faa181f9c1bdbe36cf437e4155c854f
2026-04-17 17:36:09 +02:00
Cayetano Santos
8d585c6179 gnu: Add emacs-whisper-el.
* gnu/packages/emacs-xyz.scm (emacs-whisper-el): New variable.

Merges guix/guix!7742

Change-Id: Ib0623a832e3ac9b02359602c75c3da3349059668
2026-04-17 17:14:06 +02:00
Cayetano Santos
89a627472b gnu: Add emacs-exemplify-ert.
* gnu/packages/emacs-xyz.scm (emacs-exemplify-ert): New variable.

Merges guix/guix!7763

Change-Id: I363d87b661254e7751725d9a2db5aed7248830a3
2026-04-17 17:05:36 +02:00
moksh
98a10e4e2e gnu: emacs-mastodon: Update to 2.0.16.
* gnu/packages/emacs-xyz.scm (emacs-mastodon): Update to 2.0.16.

Merges guix/guix!7963

Change-Id: I3cb634d8e63e9bbd6ce52c81f5d330cc121991bf
Signed-off-by: Cayetano Santos <csantosb@inventati.org>
2026-04-17 16:36:06 +02:00
Peter Polidoro
d7cf85a404 gnu: Add sqliteodbc.
* gnu/packages/databases.scm (sqliteodbc): New variable.

Merges guix/guix!7882

Change-Id: I3ed8854a32e40d488097133f0e730d14a361064c
Signed-off-by: Cayetano Santos <csantosb@inventati.org>
2026-04-17 16:07:24 +02:00
Maxim Cournoyer
de90fd9b14 gnu: gnome-meta-core-utilities: Replace evince with papers.
* gnu/packages/gnome.scm (gnome-meta-core-utilities): Replace evince with
papers.

Change-Id: I44363e976b3a7fa1e86822138d65b26661c62566
2026-04-17 10:25:54 +09:00
Anderson Torres
8a8d8ca39e gnu: installer: Use kmscon-8.
Because kmscon-9 lacks the patch to change keyboared layout in the installer.

* gnu/system/install.scm (%installation-services)[kmscon-service-type]: Set kmscon to kmscon-8.

Change-Id: Ib12d9ec8f32042dce8ade66bf042ae32a7d05e2c
Signed-off-by: Hilton Chain <hako@ultrarare.space>
Merges: #7381
2026-04-17 03:07:05 +08:00
Anderson Torres
a06400ad5c gnu: Add kmscon-8.
An API breakage occurred some place between 8.x and 9.x series of kmscon.
Because of it, our custom patch kmscon-8-runtime-keymap-switch.patch (needed
by Guix System installer) no longer applies cleanly.  Until a new patch is
developed, let's recover the older package and keep it side-by-side in Guix.

* gnu/packages/terminals.scm (kmscon-8): New variable.
Document its dependency with Guix System installer.
* gnu/packages/patches/kmscon-runtime-keymap-switch.patch: Rename to...
* gnu/packages/patches/kmscon-8-runtime-keymap-switch.patch: ...this file.
* gnu/local.mk (dist_patch_DATA): Adjust accordingly.

Change-Id: I88cb9ea39b3801ea96dd663e2995597c060f41db
Signed-off-by: Hilton Chain <hako@ultrarare.space>
2026-04-17 03:07:05 +08:00
Hilton Chain
ca58363a7c hash: %vcs-directories: Add .jj for Jujutsu.
* guix/hash.scm (%vcs-directories): Add ".jj".

Merges: #7872
2026-04-17 03:07:05 +08:00
Hilton Chain
ace8be46a4 home: services: gpg-agent: Expose shepherd-requirement in configuration.
* gnu/home/services/gnupg.scm (home-gpg-agent-configuration)
[shepherd-requirement]: New field.
(home-gpg-agent-shepherd-services): Use it.
* doc/guix.texi (GNU Privacy Guard): Update documentation.

Merges: #7788
2026-04-17 03:07:05 +08:00
Hilton Chain
f0079d20ae home: services: gpg-agent: Allow inheriting graphical session environment.
* gnu/home/services/gnupg.scm (home-gpg-agent-shepherd-services): Wrap service
constructor to allow inheriting graphical session environment.

Link: https://codeberg.org/guix/guix/issues/5899#issuecomment-12902232
2026-04-17 03:07:03 +08:00
Igorj Gorjaĉev
e597af9546 gnu: elixir: Replace git with git-minimal.
* gnu/packages/elixir.scm (elixir)[inputs]: Remove git.
[native-inputs]: Add git-minimal.

Change-Id: I6a06b7ab8bf91c4082484fe4e6e9fa3c09f845fd
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-04-16 20:33:40 +02:00
Christopher Baines
41ab1cb9e4 gnu: guile-knots: Update to 0.1-33.ec2cdff.
* gnu/packages/guile-xyz.scm (guile-knots): Update to 0.1-33.ec2cdff.

Change-Id: I45f2fccca4af1048421ca89dbb190b9da9847d25
2026-04-16 14:31:32 +01:00
Christopher Baines
9bc1228485 gnu: Add dnsupdate.
* gnu/packages/dns.scm (dnsupdate): New variable.

Change-Id: I6643a3542225ccca5aa40b3578e439e3308f6f2b
2026-04-16 14:31:32 +01:00
Christopher Baines
745bd96b91 gnu: Add ddclient.
* gnu/packages/dns.scm (ddclient): New variable.

Change-Id: I6351903b247d1cb04f9e03e503a14bdeaafc0304
2026-04-16 14:26:42 +01:00
Nicolas Graves
357fbd56fb gnu: guile2.2-present: Improve style.
* gnu/packages/gtk.scm (guile2.2-present):
[inputs]: Drop input labels.

Change-Id: Ie749de7dc6316a0ddc095618e3e633545d683189
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-04-16 14:02:54 +02:00
Nicolas Graves
d23f6960d8 gnu: guile2.2-rsvg: Improve style.
* gnu/packages/gtk.scm (guile2.2-rsvg)
[inputs, propagated-inputs]: Drop input labels.

Change-Id: Ibb18e4897df39ce635c63561c10487b5a2ca4ad2
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-04-16 14:02:54 +02:00
Nicolas Graves
fa26ae8d65 gnu: guile2.2-cairo: Improve style.
* gnu/packages/gtk.scm (guile2.2-cairo)[inputs]: Drop input labels.

Change-Id: Ief46f7b191c204484f7a1a62f84ad840c1260bd2
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-04-16 14:02:53 +02:00
Nicolas Graves
51ec304fb7 gnu: ganv: Improve style.
* gnu/packages/gtk.scm (ganv): Run guix style.
[arguments]<#:tests>: Relocate keyword.
<#:phases>: Improve style.
[inputs]: Drop input labels, drop input labels.

Change-Id: If6d24a7bcc89ce5b5322df8bd6494552db193a65
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-04-16 14:02:46 +02:00
Peter Polidoro
0cd40ba2ab gnu: freecad: Update to 1.1.1.
* gnu/packages/engineering.scm (freecad): Update to 1.1.1.

Change-Id: I0b6d872a907f46979a5d102c244835d7af7f11ec
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-04-16 12:43:38 +02:00
Andreas Enge
857540e6cb gnu: python-geventhttpclient: Update to 2.3.9.
* gnu/packages/python-web.scm (python-geventhttpclient): Update to 2.3.9.

Change-Id: I83ff865b8ae052d24f9920b3d5c029e7c91373cc
2026-04-16 12:43:38 +02:00
Hilton Chain
0d16098802 gnu: fcitx5: Add GUIX_GTK2_IM_MODULE_FILE search path.
* gnu/packages/fcitx5.scm (fcitx5) [native-search-paths]: Add
GUIX_GTK2_IM_MODULE_FILE.

Merges guix/guix!7826
Change-Id: I1ab296cfa7b424196bd7383fd86e69c8fed0355f
Signed-off-by: 宋文武 <iyzsong@member.fsf.org>
2026-04-16 18:37:11 +08:00
Sharlatan Hellseher
eb2482a352 gnu: libftdi: Fix build on python-3.12.
* gnu/packages/libftdi.scm (libftdi)[native-inputs]: Remove swig-4.0;
add python-setuptools and swig.

Change-Id: Idd7c1c616191778c7176ef50007404d1628c914e
2026-04-16 10:35:42 +01:00
Sharlatan Hellseher
3ffa9e2742 gnu: fdroidserver: Update to 2.4.3.
* gnu/packages/android.scm (fdroidserver): Update to 2.4.3.
[source]: Switch to git-fetch.
[propagated-inputs]: Remove python-argcomplete, python-docker,
python-mwclient, python-pyasn1, and python-pyasn1-modules.

Change-Id: I5f184eb4df48ee160091ffa55bb1e9a0ca8c0c40
2026-04-16 10:35:10 +01:00
Sharlatan Hellseher
7a4e3229f7 gnu: sdkmanager: Adjust inputs and test backend.
* gnu/packages/android.scm (sdkmanager):
[arguments] <test-backend>: Use unittest.
[phases]{check}: Use default phase.
[inputs]:  Move from here ...
[propagated-inputs]: ... to here.

Change-Id: I6d976dbf7cee39beda89ea9719dcc1e340da66d9
2026-04-16 10:35:10 +01:00
Sharlatan Hellseher
a8103c1b7c gnu: python-asyncinject: Update to 0.6.1.
* gnu/packages/python-xyz.scm (python-asyncinject): Update to 0.6.1.
[source]: Switch to git-fetch.
[native-inputs]: Remove python-wheel.

Change-Id: I097308d486aa6dc0a60f696389413dba2fd79b09
2026-04-16 10:34:50 +01:00
John Kehayias
f77bbf8016 gnu: steam-devices-udev-rules: Update to 1.0.0.61-2.7dde9ec.
* gnu/packages/games.scm (steam-devices-udev-rules): Update to 1.0.0.61-2.7dde9ec.

Change-Id: If5931e836978b27d09e128cb5b581292eebcde96
2026-04-15 23:47:42 -04:00
Ian Eure
c26c3d0f53 gnu: autofs-service: Fix computing Shepherd requirements.
Handling of non-NFS/SMB mounts was buggy and did not work at all.

* gnu/services/nfs.scm (autofs-configuration->requirements): Add an `else' to
prevent losing the accumulator in the fold.
(autofs-configuration->requirements): Call `delete-duplicates' on the input,
not the output.

Fixes #7927.

Change-Id: I0cccde431d0bd19dc63be8754fb6dfa35a6f8a49
2026-04-15 15:06:05 -07:00
jgart
0d11c221b8 guix: scripts: gc: Give better error reporting when attempting to vacuum.
* guix/scripts/gc.scm (%options): Error out when a non-root user tries
to vacuum the database.

Change-Id: Iee7d626c43980640aa91a3ceeb95675016932c55
Signed-off-by: jgart <jgart@dismail.de>
2026-04-15 17:56:23 -04:00
bdunahu
6abb7bc422 gnu: emacs-xelb: Patch call to xauth with store path.
This ensures login cookies used to authenticate with the X server can be found
at runtime without requiring xauth be in the user's profile.

* gnu/packages/emacs-xyz.scm (emacs-xelb)[#:phases]: Add ‘patch-xauth-path’.
[inputs]: Add xauth.

Change-Id: Ic24cb12d6103a3f6dc24c89f2dd43c1e1f7dc95c
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2026-04-15 23:11:05 +02:00
Liliana Marie Prikler
03937c8724 gnu: Add papers.
* gnu/packages/gnome.scm (papers): New variable.
* gnu/packages/rust-crates.scm (rust-ashpd-0.12.1)
(rust-float-next-after-1.0.0, rust-formatx-0.2.4, rust-geo-0.30.0)
(rust-geo-types-0.7.18, rust-geographiclib-rs-0.2.5, rust-i-float-1.7.0)
(rust-i-key-sort-0.2.0, rust-i-overlay-2.0.5, rust-i-shape-1.7.0)
(rust-i-tree-0.8.3, rust-ink-stroke-modeler-rs-0.1.0, rust-oo7-0.5.0)
(rust-robust-1.2.0): New variables.
(lookup-cargo-inputs): Add ‘papers’.
2026-04-15 23:10:35 +02:00
Liliana Marie Prikler
7ff2ca1b5c gnu: Add poppler-next.
* gnu/packages/pdf.scm (poppler-next): New variable.
2026-04-15 23:10:25 +02:00
λx.x
380efb7408 gnu: emacs-bqn-mode: Update to 2026-02-08
* gnu/packages/emacs-xyz.scm (emacs-bqn-mode): Update to 2026-02-08.

Change-Id: I6e52ba929ba962832c96422f48e8b1aed447a3cf
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2026-04-15 23:10:25 +02:00
Nguyễn Gia Phong
589f4cc655 gnu: Add libfossil.
* gnu/packages/version-control.scm (libfossil): New variable.
* gnu/packages/patches/libfossil-skip-amalgamation.patch: New patch.
* gnu/local.mk (dist_patch_DATA): Register it.

Change-Id: I6e19c074587e17446ac213386a9143d503ebba57
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2026-04-15 23:10:25 +02:00
Nguyễn Gia Phong
05e669ac50 guix: Implement fossil-download.
* guix/fossil-download.scm: New file.
* guix/build/fossil.scm: New file.
* Makefile.am (MODULES): Add them.
* etc/teams.scm (core)[#:scope]: Add "guix/fossil-download.scm".
(vcs)[#:scope]: Add "guix/build/fossil.scm".
* CODEOWNERS: Regenerate file.
* doc/guix.texi (origin Reference): Document fossil-fetch
and fossil-reference.
* NEWS: Add entry about fossil-fetch.

Change-Id: Ia252bcbbb417159a842d5092a937e2aad55a1656
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2026-04-15 23:10:25 +02:00
coopi
08341ec277 gnu: Add emacs-nerd-icons-mode-line.
* gnu/packages/emacs-xyz.scm (emacs-nerd-icons-mode-line): New variable.

Change-Id: Id3f80fe2c094b1e0e3eead99cb9e3083b062319b
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2026-04-15 23:10:25 +02:00
coopi
b725619636 gnu: Add emacs-nerd-icons-corfu.
* gnu/packages/emacs-xyz.scm (emacs-nerd-icons-corfu): New variable.

Change-Id: I487dc25bad6d0536a670c13626c1e18f4364c147
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2026-04-15 23:10:24 +02:00
coopi
a3f6d396cd gnu: Add emacs-nerd-icons-completion.
* gnu/packages/emacs-xyz.scm (emacs-nerd-icons-completion): New variable.

Change-Id: Ib5b07704689f8a1af6e0dec7e0370d3afde4f7d6
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2026-04-15 23:10:24 +02:00
coopi
7d67cacad1 gnu: Add emacs-nerd-icons-ibuffer.
* gnu/packages/emacs-xyz.scm (emacs-nerd-icons-ibuffer): New variable.

Change-Id: Ia25dd10b7d3950cefec3ad4301cfebacdd4b8c74
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2026-04-15 23:10:24 +02:00
coopi
333d61cf5b gnu: Add emacs-nerd-icons-ivy-rich.
* gnu/packages/emacs-xyz.scm (emacs-nerd-icons-ivy-rich): New variable.

Change-Id: I2266c559c225d1f0bb499734eb6eef4a613436e9
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2026-04-15 23:10:24 +02:00
coopi
21a4d649b2 gnu: Add emacs-nerd-icons-dired.
* gnu/packages/emacs-xyz.scm (emacs-nerd-icons-dired): New variable.

Change-Id: Ib8b192a07e7acbd52cb1705f237ec5a1976b3060
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2026-04-15 23:10:24 +02:00
coopi
5ff9ca0339 gnu: emacs-nerd-icons: Patch out font installer.
* gnu/packages/emacs-xyz.scm (emacs-nerd-icons)[#:phases]: Add
‘disable-font-installer’.

Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2026-04-15 23:10:24 +02:00
Artyom V. Poptsov
c4657c774b gnu: guile-pnm: Update to 0.2.0.
* gnu/packages/guile-xyz.scm (guile-pnm): Update to 0.2.0.

Change-Id: Icc2c71565e0100f82d22f57bfed3bba8d36ba353
2026-04-16 00:00:42 +03:00
Cayetano Santos
b559fd6938 gnu: Add fsviewer.
* gnu/packages/gnustep.scm (fsviewer): New variable.

Merges guix/guix!7829

Change-Id: Ie9bc5f3eaed7a507c9aa031ab96e65ddaf69e6ad
2026-04-15 16:17:15 +02:00
Andreas Enge
fa38888348 gnu: libnl: Update to 3.12.0.
* gnu/packages/linux.scm (libnl): Update to 3.12.0.

Change-Id: I3bfc0e8b6e63f43addf28966abd49fd42588888c
2026-04-15 13:52:09 +02:00
André Batista
10ea4f874e gnu: ungoogled-chromium: Update to 147.0.7727.55.
Fixes various CVEs, too many to list.

* gnu/packages/chromium.scm (%preserved-third-party-files): Add
  base/third_party/nspr,
  buildtools/third_party/libc++,
  buildtools/third_party/libc++abi,
  third_party/catapult/third_party/beautifulsoup4-4.9.3,
  third_party/catapult/third_party/html5lib-1.1,
  third_party/catapult/third_party/typ,
  third_party/dawn/third_party/renderdoc,
  third_party/dawn/third_party/webgpu-headers,
  third_party/devscripts,
  third_party/devtools-frontend/src/front_end/third_party/csp_evaluator,
  third_party/devtools-frontend/src/front_end/third_party/legacy-javascript,
  third_party/devtools-frontend/src/front_end/third_party/source-map-scopes-codec,
  third_party/federated_compute/chromium/fcp/confidentialcompute,
  third_party/freetype,
  third_party/fxdiv,
  third_party/hyphenation-patterns,
  third_party/icu,
  third_party/libc++,
  third_party/libpfm4,
  third_party/libpng,
  third_party/libx11,
  third_party/libxcb-keysyms,
  third_party/llvm-libc,
  third_party/neon_2_sse,
  third_party/opus,
  third_party/pdfium/third_party/lcms,
  third_party/pdfium/third_party/libopenjpeg,
  third_party/perfetto/protos/third_party/pprof,
  third_party/perfetto/protos/third_party/primes,
  third_party/perfetto/protos/third_party/simpleperf,
  third_party/pyyaml,
  third_party/sentencepiece,
  third_party/sentencepiece/src/third_party/darts_clone,
  third_party/six and
  third_party/skia/include/third_party/vulkan.
Remove:
  net/third_party/nss,
  third_party/compiler-rt/src/lib,
  third_party/libaom/source/libaom/third_party/SVT-AV1,
  third_party/skia/third_party/vulkanmemoryallocator and
  third_party/webrtc/rtc_base/third_party/sigslot.

(%chromium-version): Update to 147.0.7727.55.
(%ungoogled-origin, %debian-origin): Update hashes.
(%debian-patches): Add debianization/safe-libcxx.patch,
  disable/enterprise-tests.patch,
  disable/rustc-allow-features.patch,
  fixes/bytemuck.patch,
  fixes/libpng-testonly.patch,
  llvm-19/clang19.patch (move from bookwork),
  llvm-19/clone-traits.patch,
  llvm-19/keyfactory.patch,
  llvm-19/value-or.patch,
  llvm-22/ignore-for-ubsan.patch,
  trixie/cookie-string-view.patch and
  trixie/nodejs-main.patch.
Remove trixie/rust-no-alloc-shim.patch.

(%guix-patches): Add ungoogled-chromium-custom-compiler.patch and
ungoogled-chromium-empty-parsed-rustc-args.patch.  Remove
ungoogled-chromium-unbundle-icu-target.patch which was merged upstream.
(ungoogled-chromium-snippet): Remove icu from replace_gn_files args.  Our
icu does not have ucmndata.h, umapfile.h and putilimp.h which are required
to build now.
(ungoogled-chromium) [arguments] <#:configure-flags>: Add is_component_build,
webnn_use_tflite, fatal_linker_warnings, enable_perfetto_unittests,
skia_enable_skshapper_tests, tint_build_unittests, enable_nocompile_tests,
enable_screen_ai_browsertests flags and set them to false.  Set
use_system_icu to false.  Remove enable_glic, enable_js_type_check and
removed_rust_stdlib_libs.  The first two were removed and the last one is
not necessary any longer.  Add blink_symbol_level and v8_symbol_level and
set them to zero.
[arguments] <#:phases> {patch-stuff}: Remove compiler substitution which
is not needed anymore.  Adjust rustfmt_path to guix.
{include-pthreadpool}: New phase.
{adjust-CPLUS_INCLUDE_PATH}: Help clang find gcc's bits/c++config.h.
[inputs]: icu-77 is required now, even though we're not using it this time.

* gnu/packages/patches/ungoogled-chromium-custom-compiler.patch: Add it.
* gnu/packages/patches/ungoogled-chromium-empty-parsed-rustc-args.patch: Same.
* gnu/packages/patches/ungoogled-chromium-unbundle-icu-target.patch: Remove it.
* gnu/local.mk: (Un)register the above patches.

Change-Id: I597b69b15368e9b410fa3d29342700d9ea0b0d82
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-04-15 13:10:02 +02:00
André Batista
c5280fd612 gnu: gn: Update to 0.0-2354.6e8dcde.
* gnu/packages/build-tools.scm (gn): Update to 0.0-2354.6e8dcde.

Change-Id: Idc9f52ae9f4a758d47413922de742409d9fee4c7
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-04-15 13:09:55 +02:00
Efraim Flashner
ed63c9e8f7 gnu: rust-crates: Sort alphabetically.
* gnu/packages/rust-crates.scm: Sort rust crates alphabetically.

Change-Id: I2d793ef07dc9aff97216be21714c3bd180935ba3
2026-04-15 13:25:53 +03:00
Efraim Flashner
297b593f62 gnu: zed: Remove a prebuilt binary.
* gnu/packages/text-editors.scm (zed)[source]: Add a snippet to remove a
bundled binary.

Change-Id: Ie4d94807c51d71d8199195225a6e019512021719
2026-04-15 13:25:53 +03:00
Cayetano Santos
07ecb050c0 gnu: coreboot.scm: Update to 26.03.
* gnu/packages/coreboot.scm (%coreboot-version): Update to 26.03.
(%coreboot-origin): Update sha256.

Merges guix/guix!7862

Change-Id: I0cafb9431afeab0cb5a3ce80c3ffaf99ab27b0f6
2026-04-15 11:52:33 +02:00
Cayetano Santos
ac316e522a gnu: coreboot.scm: Use local variables.
* gnu/packages/coreboot.scm (%coreboot-version, %coreboot-origin): New
variables.
* gnu/packages/coreboot.scm (bincfg, ifdtool, intelmetool,
nvramtool)[version]: Replace by %coreboot-version.
[source]: Replace by %coreboot-source.

Merges guix/guix!7862

Change-Id: I9b586347823729680a1958524985abadfa67ab09
2026-04-15 11:52:22 +02:00
Ryan Campbell
99fdbdef6a gnu: python-pynvim: Fix test_command_error with neovim 0.12.x.
Neovim 0.12.0 changed the error message for invalid cursor positions
from "Cursor position outside buffer" to "Invalid cursor line: out of
range", causing test_command_error to fail.

This applies the upstream patch temporarily until a new pynvim release
is created.

Merges guix/guix!7755

* gnu/packages/patches/python-pynvim-fix-test-command-error.patch: New
patch.
* gnu/local.mk (dist_patch_DATA): Register it.
* gnu/packages/vim.scm (python-pynvim)[source]: Use it.

Change-Id: Ibff0545a60948c946c420fe7118a37d161d93a30
Signed-off-by: Cayetano Santos <csantosb@inventati.org>
2026-04-15 11:42:50 +02:00
Ryan Campbell
101b12a54a gnu: neovim: Update to 0.12.1.
* gnu/packages/vim.scm (neovim): Update to 0.12.1.

Merges guix/guix!7755

Change-Id: I56afc43fff966720e80d6c85003bdb15a87d339f
Signed-off-by: Cayetano Santos <csantosb@inventati.org>
2026-04-15 11:42:48 +02:00
Andreas Enge
aafdf7ecf7 gnu: Remove python-pydantic-1.
* gnu/packages/python-xyz.scm (python-pydantic-1): Delete variable.

Fixes: guix/guix#7186
Change-Id: I75088c0eaa764fc6dd499801da64124eb7fbecf4
2026-04-15 11:07:31 +02:00
Ada Stevenson
0999b3268c gnu: icedove: Update to 140.9.1.
Follow-up to 6ab6e5b75d

* gnu/packages/gnuzilla.scm (%icedove-build-id, %icedove-version,
thunderbird-comm-source): Update to 140.9.1.

Change-Id: Id8f6ecb30138b6e36b3856ec795d77f8ca796df1
Signed-off-by: Maxim Cournoyer <maxim@guixotic.coop>
2026-04-15 15:08:34 +09:00
Andy Tai
e296f3f012 gnu: libmicrohttpd: Update to 1.0.3.
* gnu/packages/gnunet.scm (libmicrohttpd): Update to 1.0.3.

Change-Id: I018d6b06ebab5440cfc7a4fa919228a7d3c4e04e
Merges: https://codeberg.org/guix/guix/pulls/7676
Signed-off-by: Nguyễn Gia Phong <cnx@loang.net>
2026-04-15 14:07:42 +09:00
Patrick Norton
759bdcb469 gnu: fuzzel: Update to 1.14.1.
* gnu/packages/xdisorg.scm (fuzzel): 1.14.1.

Change-Id: Ib5c29af4b9bcc19013e3be2b0a698266f0a32066
Merges: https://codeberg.org/guix/guix/pulls/7675
Signed-off-by: Nguyễn Gia Phong <cnx@loang.net>
2026-04-15 14:05:01 +09:00
Foster Hangdaan
ee985ff4d6 gnu: wesnoth: Update to 1.18.7.
* gnu/packages/games.scm (wesnoth): Update to 1.18.7.

Change-Id: I61040ae6417afa851c51799aef1f6245bf0c5dd0
Merges: https://codeberg.org/guix/guix/pulls/7721
Reviewed-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
Signed-off-by: Nguyễn Gia Phong <cnx@loang.net>
2026-04-15 13:30:48 +09:00
Danylo Kondratiev
4fdaa6e2f2 gnu: gkrellm: Update to 2.5.1.
* gnu/packages/gkrellm.scm (gkrellm): Update to 2.5.1.
  [inputs]: Drop libice.

Change-Id: Ie907b82395607dfa856000c69ea45569d4fe3266
Merges: https://codeberg.org/guix/guix/pulls/7876
Reviewed-by: Nicolas Graves <ngraves@ngraves.fr>
Signed-off-by: Nguyễn Gia Phong <cnx@loang.net>
2026-04-15 13:25:55 +09:00
Danylo Kondratiev
445e61337e gnu: gkrellm: Improve style.
* gnu/packages/gkrellm.scm (gkrellm): Run guix style.
  [inputs]: Drop input labels, remove gettext-minimal.
  [native-inputs]: Add gettext-minimal.
  [source]: Set https URL scheme.
  [arguments]<#:phases>: Convert to GExps.
  [arguments]<#:make-flags>: Set CC to (cc-for-target).
  [home-page]: Set https URL scheme.

Change-Id: I854cc3cd4537dd2ed64fa34500a6b280d6573cad
Reviewed-by: Nicolas Graves <ngraves@ngraves.fr>
Signed-off-by: Nguyễn Gia Phong <cnx@loang.net>
2026-04-15 13:25:13 +09:00
Daniel Martins
d632b423d5 gnu: Add rtcqs.
* gnu/packages/audio.scm (rtcqs): New variable.

Change-Id: If0a28098773e3daa106830d69a87666d3fe14368
Merges: https://codeberg.org/guix/guix/pulls/7858
Reviewed-by: Hugo Buddelmeijer <hugo@buddelmeijer.nl>
Signed-off-by: Nguyễn Gia Phong <cnx@loang.net>
2026-04-15 13:20:08 +09:00
aecepoglu
4a4ef229e6 gnu: sbcl-coalton: Update to 0.0.1-5.bf475c8.
* gnu/packages/lisp-xyz.scm (sbcl-coalton): Update to 0.0.1-5.bf475c8.

Change-Id: I92c6a057b982500ba0629ed663c5a86c0616e358
Signed-off-by: jgart <jgart@dismail.de>
2026-04-14 22:03:56 -04:00
Danny Milosavljevic
2c51b803e3 gnu: Add zed.
* gnu/packages/patches/zed-0.225.10-add-guix-container-support.patch: New file.
* gnu/packages/patches/zed-0.225.10-collapse-multiline-git-deps.patch: New
file.
* gnu/packages/patches/zed-0.225.10-disable-dlopen.patch: New file.
* gnu/packages/patches/zed-0.225.10-exclude-libwebrtc-from-audio.patch: New
file.
* gnu/packages/patches/zed-0.225.10-fix-sqlite-memory-mode.patch: New file.
* gnu/packages/patches/zed-0.225.10-fix-test-db-isolation.patch: New file.
* gnu/packages/patches/zed-0.225.10-fix-workspace-race.patch: New file.
* gnu/packages/patches/zed-0.225.10-keep-regular-file-workspaces.patch: New file.
* gnu/packages/patches/zed-0.225.10-remove-patch-crates-io.patch: New file.
* gnu/packages/patches/zed-0.225.10-use-mock-livekit-on-linux.patch: New file.
* gnu/packages/patches/rust-candle-0.9.1-add-candle-onnx-to-workspace.patch:
New file.
* gnu/local.mk (dist_patch_DATA): Register them.
* gnu/packages/rust-sources.scm (rust-alacritty-0.25.1.9d9640d,
rust-candle-0.9.1.724d75e, rust-dap-types-0.0.1.1b461b3,
rust-gh-workflow-0.8.0.c9eac0e, rust-livekit-0.7.8.5f04705,
rust-notify-8.2.0.ce58c24, rust-pet-0.1.0.d5b5bb0,
rust-tiktoken-rs-0.9.1.2570c43, rust-zed-xim-0.4.0-zed.16f35a2): New
variables.
* gnu/packages/rust-crates.scm (lookup-cargo-inputs): Modify.
* gnu/packages/text-editors.scm (zed): New variable.

Change-Id: I16d4c5431e3398261ac4eb74483747c09cf74449
2026-04-15 03:19:10 +02:00
jgart
6690bf46c6 gnu: trealla: Update to 2.92.30.
* gnu/packages/prolog.scm (trealla): Update to 2.92.30.
[inputs]: Add libedit.

Change-Id: Ica510ab3eed3f79a5333dda8b5f2a460780467e7
2026-04-14 19:16:11 -04:00
Igorj Gorjaĉev
58266bb4ba gnu: jpm: Update to 1.2.0.
* gnu/packages/lisp.scm (jpm): Update to 1.2.0.

Change-Id: Ib8c7c9ac1e66a767b9e280761ae48140f866a443
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-04-14 22:58:15 +02:00
Foster Hangdaan
69f512e520 gnu: skopeo: Update to 1.22.2.
* gnu/packages/virtualization.scm (skopeo): Update to 1.22.2.

Change-Id: I7c860a205c40cd5efd329770f6262b80716b2e4d
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-04-14 22:38:26 +02:00
Foster Hangdaan
83e5fe437f gnu: podman: Update to 5.8.2.
* gnu/packages/containers.scm (podman): Update to 5.8.2.

Change-Id: I681067e7c2ac11f4e12c94db5898e121b6a1e0f2
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-04-14 22:21:25 +02:00
Nicolas Goaziou
ef81d340cd gnu: dvisvgm: Deprecate in favor of texlive-dvisvgm.
* gnu/packages/tex.scm (dvisvgm): Deprecate.
* etc/teams/tex/tex-manifest.scm (%sundry-texlive-packages): Do not monitor
dvisvgm anymore.
* gnu/packages/statistics.scm (python-openturns): Use texlive-dvisvgm.

Change-Id: I1903a0bdd4e66f9f2a49d21029371e87924435ac
2026-04-14 22:17:55 +02:00
André Batista
5ce1b4a3e3 gnu: ublock-origin: Update to 1.70.0.
* gnu/packages/browser-extensions.scm (ublock-origin): Update to 1.70.0.
(ublock-main-assets): Update to 0-6.004af606e6a0e.
(ublock-prod-assets): Update to 0-6.6c15e4ef91888.

Change-Id: I730ef9d4623a9abe972d82c5700458f6c888077c
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-04-14 21:19:44 +02:00
Artyom V. Poptsov
e155ef7c4b gnu: Add guile-pnm.
* gnu/packages/guile-xyz.scm (guile-pnm): New variable.

Change-Id: I0e5e2fa77c6d75567983ab61c61880bef34f3e30
2026-04-14 20:03:58 +03:00
Roman Scherer
09a4a0fce4 gnu: Add github-cli.
* gnu/packages/version-control.scm (github-cli): New variable.

Merges: https://codeberg.org/guix/guix/issues/5190
Change-Id: I1ee51dbef75f8dee5fa691bff098176b1cd32660
Reviewed-by: Johannes Christ <jc@jchri.st>
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-14 12:32:12 +01:00
Roman Scherer
d841bf2ec2 gnu: Add go-github-com-sigstore-sigstore-go.
* gnu/packages/golang-web.scm (go-github-com-sigstore-sigstore-go): New variable.

Relates-to: https://codeberg.org/guix/guix/issues/5190
Change-Id: Iab52a05d6bb67bfac431036f4a23e484ff5e0ee5
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-14 12:32:11 +01:00
Roman Scherer
fe7badf33e gnu: Add go-github-com-sigstore-rekor-tiles-v2.
* gnu/packages/golang-web.scm (go-github-com-sigstore-rekor-tiles-v2):
New variable.

Relates-to: https://codeberg.org/guix/guix/issues/5190
Change-Id: I5da1cd2c6791257ff304ba4d40f038749a585834
Reviewed-by: Johannes Christ <jc@jchri.st>
Modified-by: Sharlatan Hellseher <sharlatanus@gmail.com>
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-14 12:32:11 +01:00
Roman Scherer
e0fd8f335c gnu: Add go-github-com-sigstore-rekor.
* gnu/packages/golang-web.scm (go-github-com-sigstore-rekor): New variable.

Relates-to: https://codeberg.org/guix/guix/issues/5190
Change-Id: I5101feaee393f0da9dbf4cd9b68ce79474a9ffbd
Reviewed-by: Johannes Christ <jc@jchri.st>
Modified-by: Sharlatan Hellseher <sharlatanus@gmail.com>
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-14 12:32:11 +01:00
Roman Scherer
343d7553f0 gnu: Add go-github-com-sigstore-timestamp-authority-v2.
* gnu/packages/golang-web.scm (go-github-com-sigstore-timestamp-authority-v2):
New variable.

Relates-to: https://codeberg.org/guix/guix/issues/5190
Change-Id: Ia60bb68476551423d5b754ab7de8e361d4750b89
Reviewed-by: Johannes Christ <jc@jchri.st>
Modified-by: Sharlatan Hellseher <sharlatanus@gmail.com>
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-14 12:32:11 +01:00
Sharlatan Hellseher
dca6d32c62 gnu: Add go-github-com-tink-crypto-tink-go-awskms-v2.
* gnu/packages/golang-web.scm (go-github-com-tink-crypto-tink-go-awskms-v2): New variable.

Change-Id: I26524cae0be9a4119bdabd7c99525a2e78b05069
2026-04-14 12:32:11 +01:00
Sharlatan Hellseher
4719c0781c gnu: Add go-github-com-tink-crypto-tink-go-gcpkms-v2.
* gnu/packages/golang-web.scm (go-github-com-tink-crypto-tink-go-gcpkms-v2): New variable.

Change-Id: Iebfd1bbe0646680eaeacdaeb2ab5dd6b466ba96e
2026-04-14 12:32:11 +01:00
Sharlatan Hellseher
e3a096758c gnu: Add go-github-com-tink-crypto-tink-go-hcvault-v2.
* gnu/packages/golang-web.scm (go-github-com-tink-crypto-tink-go-hcvault-v2): New variable.

Change-Id: Ic633d6eedd127f247d30177f66d1e410eb517522
2026-04-14 12:32:11 +01:00
Sharlatan Hellseher
bd16834557 gnu: Add go-github-com-sigstore-sigstore-pkg-signature-kms-azure.
* gnu/packages/golang-web.scm (go-github-com-sigstore-sigstore-pkg-signature-kms-azure): New variable.

Change-Id: I18a7e3a81266a29a52caf9a292497cbe191b3bf4
2026-04-14 12:32:11 +01:00
Sharlatan Hellseher
d1c04ded76 gnu: Add go-github-com-sigstore-sigstore-pkg-signature-kms-aws.
* gnu/packages/golang-web.scm (go-github-com-sigstore-sigstore-pkg-signature-kms-aws): New variable.

Change-Id: I5f8e94ddaa87fc60ed9451f21c76fc2ca68026ea
2026-04-14 12:32:11 +01:00
Sharlatan Hellseher
39d7eadd40 gnu: Add go-github-com-sigstore-sigstore-pkg-signature-kms-gcp.
* gnu/packages/golang-web.scm (go-github-com-sigstore-sigstore-pkg-signature-kms-gcp): New variable.

Change-Id: I38de7fca6d1703382b9104ecb6535c20c589d6aa
2026-04-14 12:32:10 +01:00
Sharlatan Hellseher
891e434c6b gnu: Add go-github-com-sigstore-sigstore-pkg-signature-kms-hashivault.
* gnu/packages/golang-web.scm
(go-github-com-sigstore-sigstore-pkg-signature-kms-hashivault): New
variable.

Change-Id: Ia6f5e99631a26f81f052d92776d2d54a63bd67ba
2026-04-14 12:32:10 +01:00
Sharlatan Hellseher
0b409bae2c gnu: Add go-github-com-jellydator-ttlcache-v3.
* gnu/packages/golang-web.scm (go-github-com-jellydator-ttlcache-v3): New variable.

Change-Id: I256e49f06c5bd91495ccd1aae8f2c0c5eabf5482
2026-04-14 12:32:10 +01:00
Sharlatan Hellseher
15c7094492 gnu: Add go-cloud-google-com-go-security.
* gnu/packages/golang-web.scm (go-cloud-google-com-go-security): New variable.
(go-cloud-google-com-go)[source]: Remove "security" submodule.

Change-Id: I208134112aa75477c1d1306966bf41e8a7709537
2026-04-14 12:32:10 +01:00
Evgeny Pisemsky
c1ca168e05 gnu: Add go-github-com-juju-ratelimit.
* gnu/packages/golang-web.scm (go-github-com-juju-ratelimit): New variable.

Merges: https://codeberg.org/guix/guix/pulls/7796
Change-Id: Iccc29214cb44ae8ab5d61b0e2b8410424dbf8b9a
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-14 12:32:10 +01:00
bdunahu
8e9f2feeef gnu: warzone2100: Update to 4.6.3.
* gnu/packages/games.scm (warzone2100): Update to 4.6.3.
[inputs]: Replace sdl2 by sdl3.
* gnu/packages/patches/warzone2100-unbundle-libs.patch:
Adjust diff for upstream code changes.

Change-Id: I1e8939e7925f7e62c442f0a07a8654ffcf213ce2
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-04-14 12:26:54 +02:00
André Batista
66c2b3f46d gnu: lyrebird: Buid with go-1.25.
* gnu/packages/golang-web.scm (lyrebird)[arguments] <go>: Use go-1.25.

Change-Id: I5806103b947c8fc85543b810d2de31fc5acc7fbc
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-04-14 11:24:40 +02:00
moksh
5578b6daf2 gnu: josm: Update to 19555.
* gnu/packages/geo.scm (josm): Update to 19555.

Change-Id: I1714f1d906df83882f7d44a06d2a92a67599218d
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-04-14 11:19:22 +02:00
Andreas Enge
5d80f53024 gnu: Remove python-chai.
* gnu/packages/python-xyz.scm (python-chai): Delete variable.

Fixes: guix/guix#7140
Change-Id: I1f0ab14f560d1b0b7c38d12bf40d07d6595e322a
2026-04-14 11:17:09 +02:00
Andreas Enge
7927aebb9e gnu: Remove libphonenumber-8.11.
* gnu/packages/messaging.scm (libphonenumber-8.11): Delete variable.

Fixes: guix/guix#7136
Change-Id: If87ea63baf0a599e37c53bccdb078a219f114072
2026-04-14 11:17:09 +02:00
Andreas Enge
a3c93d47fa gnu: Remove libnl-python2.
* gnu/packages/linux.scm (libnl-python2): Delete variable.

Fixes: guix/guix#7141
Change-Id: I7281d4fd66a8f5dbd48084e646fc4a1920eb301e
2026-04-14 11:17:01 +02:00
moksh
f6b79709c3 gnu: mcomix: Update to 3.1.1.
* gnu/packages/image-viewers.scm (mcomix): Update to 3.1.1.

Merges guix/guix!7870

Change-Id: I5ccba025e9b36d9c17c82342a0824c5809136cc2
Signed-off-by: Cayetano Santos <csantosb@inventati.org>
2026-04-14 11:02:31 +02:00
moksh
1b9b62e0c5 gnu: mcomix: Fix build.
* gnu/packages/image-viewers.scm (mcomix)[inputs]: Sort; add
gobject-introspection.

Fixes: guix/guix#7864
Merges guix/guix!7870

Change-Id: I096b7bc5d75706eeb8dd0df62fce629b7240955f
Signed-off-by: Cayetano Santos <csantosb@inventati.org>
Modified-by: Cayetano Santos <csantosb@inventati.org>
2026-04-14 11:02:31 +02:00
Sharlatan Hellseher
1a76acd4c2 gnu: Remove go-1.23.
* gnu/packages/golang.scm (go-1.23, go-std-1.23): Delete variables.

Fixes: guix/guix#7080
Change-Id: I854866b0136f5b17fcec24945f576a83d90c0c77
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-04-14 10:57:48 +02:00
Nigko Yerden
0bb446efff gnu: tor: Update to 0.4.9.6.
* gnu/packages/tor.scm (tor): Update to 0.4.9.6.

Change-Id: I86e5204d15c20f94e2b103d113cfba43644ed8a0
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-04-14 10:21:11 +02:00
Mark H Weaver
6ab6e5b75d gnu: icecat: Update to 140.9.1-gnu1 [security fixes].
Includes fixes for CVE-2026-5731, CVE-2026-5732, and CVE-2026-5734.

* gnu/packages/gnuzilla.scm (%icecat-base-version, %icecat-build-id): Update.
(icecat-source): Update 'gnuzilla-commit' and hashes.
2026-04-14 01:12:53 -04:00
Andreas Enge
40fc279123 gnu: v4l-utils-minimal: Deprecate.
* gnu/packages/video.scm (v4l-utils-minimal): Deprecate by the
(up to its name) identical v4l-utils.
* gnu/packages/aidc.scm (zbar)[inputs],
* gnu/packages/gstreamer.scm (libdc1394)[inputs],
(gst-plugins-good)[inputs], (gst-plugins-bad)[inputs]: Replace
v4l-utils-minimal by v4l-utils.

Change-Id: I1157adb6d2f1a36ddf2152ca66ed1aeaf55fe322
2026-04-14 00:25:38 +02:00
Andreas Enge
36f773a1f2 gnu: v4l-utils: Drop binaries.
The qv4l2 and qvidcap binaries still depend on Qt5. The other removed
inputs are not referenced.

* gnu/packages/video.scm (v4l-utils)[inputs]: Remove alsa-lib, glu, libx11
and qtbase-5.
* gnu/packages/video.scm (v4l-utils-minimal)[inputs]: Also inherit.

Change-Id: Ibd1e5d92cf363c12e7e5df58478e1e79901e8e08
2026-04-14 00:25:20 +02:00
Yelninei
08222e17eb gnu: ldc-bootstrap: Remove unneeded inputs.
* gnu/packages/dlang.scm (ldc-bootstrap)[inputs]: Remove libconfig and libedit.

Change-Id: I2fde427534c4e7ad2454dd218646dd4fa7d0921b
Signed-off-by: Danny Milosavljevic <dannym@friendly-machines.com>
2026-04-13 22:51:04 +02:00
Nikita Mitasov
3b4e41a01b gnu: mangowc: Update to 0.12.8 and rename to mangowm.
* gnu/packages/wm.scm (mangowc): Deprecate and rename package to...
(mangowm): ...this new variable. Update version to 0.12.7.
[name, source, inputs, home-page, description]: Update accordingly.

Change-Id: I49416d5441a94685f61d5eb1aef200fc644cab3f
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-04-13 22:23:21 +02:00
183 changed files with 24114 additions and 6905 deletions

View File

@@ -68,6 +68,7 @@ guix/discovery\.scm @guix/core
guix/docker\.scm @guix/core
guix/download\.scm @guix/core
guix/elf\.scm @guix/core
guix/fossil-download\.scm @guix/core
guix/ftp-client\.scm @guix/core
guix/gexp\.scm @guix/core
guix/git-authenticate\.scm @guix/core
@@ -178,6 +179,7 @@ guix/scripts/import/elpa\.scm @guix/emacs
tests/import/elpa\.scm @guix/emacs
gnu/packages/bootloaders\.scm @guix/embedded
gnu/packages/coreboot\.scm @guix/embedded
gnu/packages/firmware\.scm @guix/embedded
gnu/packages/emulators\.scm @guix/games
@@ -317,6 +319,7 @@ gnu/packages/tor-browsers\.scm @guix/mozilla
gnu/packages/ocaml\.scm @guix/ocaml
gnu/packages/coq\.scm @guix/ocaml
gnu/packages/rocq\.scm @guix/ocaml
guix/build/ocaml-build-system\.scm @guix/ocaml
guix/build/dune-build-system\.scm @guix/ocaml
guix/build-system/ocaml\.scm @guix/ocaml
@@ -484,6 +487,7 @@ gnu/services/version-control\.scm @guix/vcs
gnu/tests/version-control\.scm @guix/vcs
guix/build/bzr\.scm @guix/vcs
guix/build/cvs\.scm @guix/vcs
guix/build/fossil\.scm @guix/vcs
guix/build/git\.scm @guix/vcs
guix/build/hg\.scm @guix/vcs
guix/build/svn\.scm @guix/vcs

View File

@@ -104,6 +104,7 @@ MODULES = \
guix/discovery.scm \
guix/android-repo-download.scm \
guix/bzr-download.scm \
guix/fossil-download.scm \
guix/git-download.scm \
guix/hg-download.scm \
guix/hash.scm \
@@ -236,6 +237,7 @@ MODULES = \
guix/build/asdf-build-system.scm \
guix/build/bzr.scm \
guix/build/copy-build-system.scm \
guix/build/fossil.scm \
guix/build/git.scm \
guix/build/hg.scm \
guix/build/glib-or-gtk-build-system.scm \

3
NEWS
View File

@@ -20,6 +20,9 @@ Please send Guix bug reports to bug-guix@gnu.org.
*** New service for Fossil SCM
*** TeX Live updated to 2026.1
** Programming interfaces
*** New (guix fossil-download) module, for fetching Fossil repositories
* Changes in 1.5.0 (since 1.4.0)
** Package management
*** New rpm format for the guix pack command

View File

@@ -1667,6 +1667,9 @@ can be turned into a version string via @code{git-version}, for example
@code{rust-pipewire-0.8.0.fd3d8f7} and @code{rust-pubgrub-0.3.0.b70cf70}.
@end table
When contributing Rust packages, we should have all modifications to these
two modules, in the same commit as the package we are contributing.
To avoid merge conflicts with changes from multiple branches, these two modules
are maintained by the Rust team (@pxref{Teams}).
@@ -1696,6 +1699,68 @@ tree.
@xref{Packaging Rust Crates,,, guix-cookbook, GNU Guix Cookbook}, for
packaging workflow.
@subsubsection Commit messages
The commit message must have a general brief mention to entry changes
in @code{(gnu packages rust-crates)}. For changes in @code{(gnu packages
rust-sources)}, the commit message must explicitly mention all changes to the
packages.
Here are some examples for different situations:
@itemize
@item
Adding a new Rust package:
@example
gnu: Add catppuccin-whiskers.
* gnu/packages/rust-apps.scm (catppuccin-whiskers): New variable.
* gnu/packages/rust-crates.scm (lookup-cargo-inputs)
[catppuccin-whiskers]: New entry.
@end example
@item
Updating a simple package:
@example
gnu: watchexec: Update to 2.3.2.
* gnu/packages/rust-apps.scm (watchexec): Update to 2.3.2.
* gnu/packages/rust-crates.scm (lookup-cargo-inputs)[watchexec]:
Update entry.
@end example
@item
Updating a package with sources:
@example
gnu: typst: Update to 0.14.0.
* gnu/packages/rust-apps.scm (typst): Update to 0.14.0.
[arguments]<#:rust>: Use rust-1.88.
* gnu/packages/rust-crates.scm (lookup-cargo-inputs)[typst]: Update
entry.
[rust-syntect-5]: Rename to rust-syntect-5.2.
[rust-syntect-5.3]: New entry.
* gnu/packages/rust-sources.scm (rust-hypher-0.1): Update to 0.1.6.
(rust-syntect-5): Rename to rust-syntect-5.2.
[inputs]: Rename cargo-inputs rust-syntect-5 to rust-syntect-5.2.
(rust-syntect-5.3): New variable.
@end example
@end itemize
@subsubsection Resolving merge conflicts in Pull Requests
For Rust crates, the recommended way to solve merge conflicts is to drop all
changes to @code{gnu/packages/rust-crates.scm}, rebase onto the desired branch
and run the lockfile importer again, manually adding back all relevant snippets
(if any).
@xref{Common Workflow for Resolving Merge Conflicts on Existing Pull Requests,,, guix-cookbook, GNU Guix Cookbook} for
a suggested workflow on resolving merge conflicts.
@node Elm Packages
@subsection Elm Packages
@@ -2650,6 +2715,7 @@ applications settings page}, granting read/write access to the
@cindex decision making
@cindex consensus seeking
Every contribution to the project involves a form of decision making.
It is expected from all contributors, and even more so from committers,
to help build consensus and make decisions based on consensus. By using
consensus, we are committed to finding solutions that everyone can live
@@ -2664,6 +2730,26 @@ resolve the deadlock. To learn what consensus decision making means and
understand its finer details, you are encouraged to read
@url{https://www.seedsforchange.org.uk/consensus}.
Day-to-day decision making, for instance discussions about pull requests
(@pxref{Reviewing the Work of Others}), happens informally among
interested parties such as contributors and members of the relevant
teams (@pxref{Teams}).
@cindex GCD, Guix Consensus Documents
@cindex Guix Consensus Documents (GCD)
Decisions that are expected to have an impact on most contributors
and/or on the broader user community---e.g., changes to project-wide
policies, to core functionality, and so on---are made following the
@acronym{GCD, Guix Consensus Document} process. The process provides a
framework to formalize proposals and draw attention to them, to leave
time for interested parties to discuss them, and to collectively accept
or withdraw them based on input from participating team members. It is
defined in
@uref{https://consensus.guix.gnu.org/gcd/001-gcd-process.html,
GCD@tie{}001}. Past GCDs can be seen at
@uref{https://consensus.guix.gnu.org}, and discussions take place at
@uref{https://codeberg.org/guix/guix-consensus-documents}.
@node Commit Access
@section Commit Access

View File

@@ -146,6 +146,8 @@ Packaging Rust Crates
* Common Workflow for Rust Packaging::
* Cargo Workspaces and Development Snapshots::
* Using Rust Libraries in Other Build Systems::
* Common Workflow for Updating Existing Rust Packages::
* Common Workflow for Resolving Merge Conflicts on Existing Pull Requests::
System Configuration
@@ -1647,6 +1649,8 @@ $ guix shell rust rust:cargo cargo-audit cargo-license
* Common Workflow for Rust Packaging::
* Cargo Workspaces and Development Snapshots::
* Using Rust Libraries in Other Build Systems::
* Common Workflow for Updating Existing Rust Packages::
* Common Workflow for Resolving Merge Conflicts on Existing Pull Requests::
@end menu
@node Common Workflow for Rust Packaging
@@ -1705,6 +1709,15 @@ $ cargo audit
$ cargo license
@end example
@quotation Note
Before running @command{cargo generate-lockfile}, make sure you have checked
out the correct tag for the version you are packaging. This ensures that
@code{Cargo.toml} matches the file used in the packages's @code{source} field.
To make sure, you can obtain the exact source with @command{./pre-inst-env guix
build --source <package>} and only then run @command{cargo generate-lockfile} on
that source tree.
@end quotation
@command{cargo generate-lockfile} updates dependencies to compatible versions.
Applying it to all Rust applications helps reduce a great number of Rust
libraries we need to check later. Although sometimes libraries may fail to
@@ -1987,6 +2000,316 @@ method, one of the most popular choices for Traditional Chinese users.")
(license license:lgpl2.1+)))
@end lisp
@node Common Workflow for Updating Existing Rust Packages
@subsubsection Common Workflow for Updating Existing Rust Packages
For this example, we'll update @code{niri}. The package definition looks like
this initially:
@lisp
(define-public niri
(package
(name "niri")
(version "25.08")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/YaLTeR/niri")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"09nsxd211mly8r1ys2lq6ia4jxgb980h1axrbgw748r0knfbbj7n"))))
(build-system cargo-build-system)
...
@end lisp
We start by running the usual @command{guix refresh -u niri}.
The @command{-u} flag will update in place the version and hash for the
@code{niri} package.
The package definition will then look like this:
@lisp
(define-public niri
(package
(name "niri")
(version "25.11")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/YaLTeR/niri")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0752qm245wc2gak0jhp0fnr0rdj3z54m2h97k3cxbjym9pcn658n"))))
(build-system cargo-build-system)
...
@end lisp
This means the source field was updated successfully, thus we can now proceed to
get the updated source with @command{guix build --source niri} as follows:
@example shell
$ cp -r $(./pre-inst-env guix build --source niri) /tmp
$ cd /tmp/<hash>-niri-25.11-checkout/
@end example
@quotation Note
In this specific example, the source is a git checkout, thus a directory. If the
package source is a compressed archive, you would at this point extract it to a
directory to proceed.
@end quotation
Now, given that we have access to the @code{Cargo.toml} file, we can now run
the following inside the checkout:
@example shell
$ guix shell rust rust:cargo -- cargo generate-lockfile
$ guix shell rust rust:cargo -- cargo audit
$ guix shell rust rust:cargo -- cargo license
@end example
@quotation Note
Sometimes the package will require a more up-to-date version of rust, that is
not yet the default rust on guix. For these cases you can use:
@example shell
$ guix shell -e "(@ (gnu packages rust) rust-1.90)" \
-e '`(,(@ (gnu packages rust) rust-1.90) "cargo")'
@end example
@end quotation
The first command will ensure that all cargo dependencies are up to date
and semver compatible, while also providing some other benefits, as further
explained in @ref{Common Workflow for Rust Packaging}.
The following command will warn if there are any known vulnerabilities in the
crates being imported. The last one will output the license information of all
the dependent crates.
If everything looks good, we can now replace the contents of the @code{niri}
indentifier, located inside the @code{lookup-cargo-inputs} variable on the
bottom of the @file{gnu/packages/rust-crates.scm} module, with the newer updated
crates by running the importer on the lockfile as follows:
@example shell
$ guix import -i /path/to/gnu/packages/rust-crates.scm \
crate -f Cargo.lock niri
@end example
@quotation Note
For the purpose of contributing a package to Guix (@pxref{Contributing,,,
guix, GNU Guix Reference Manual}), there is no need to cleanup the leftover
crates as a result of the package update. This is tasked to the rust-team
(@pxref{Teams,,, guix, GNU Guix Reference Manual}) to periodically run a
convenient script in @code{etc/teams/rust} to cleanup unused crates from
@file{gnu/packages/rust-crates.scm}.
@end quotation
We then need to check whether the importer has placed some TODOs for us,
inside @file{gnu/packages/rust-crates.scm} (you can use @command{git diff --
gnu/packages/rust-crates.scm} for this purpose).
There are a few types of TODO messages that you might encounter during this
step, each type requiring you to perform a different action.
The first one we encounter in our example is:
@lisp
(define rust-libdisplay-info-sys-0.3.0
;; TODO REVIEW: Check bundled sources.
(crate-source "libdisplay-info-sys" "0.3.0"
"07xmkc2aqcdn6d58321y87rd3gzdr4nx3ncm1mmrr7w1p1ahsn96"))
@end lisp
This specific TODO message tells us that there is a high probability of
encountering bundled sources within a crate definition generated by the
importer.
We then check if there are any bundled sources within the
@code{rust-libdisplay-info-sys-0.3.0} crate. Since there are none (in our
example), we can simply remove the TODO line, and continue to the next TODO.
If there were any bundled sources inside the crate, we would have to patch
it with a snippet, in order to unbundle it. You can see some examples on
how to unbundle inside @file{gnu/packages/rust-crates.scm} (search for the
@code{#:snippet} keyword).
@quotation Note
If the unbundle is considered too difficult to be executed (e.g. the effort
needed to unbundle is unreasonable), the @code{TODO REVIEW} line should be
converted to a regular TODO comment explicitly stating the unbundle was not done
(e.g. @code{TODO: Unbundle rust-libdisplay-info-sys.}).
@end quotation
Continuing, another TODO message we encounter in this example is the following:
@lisp
(define rust-smithay-0.7.0.d743e1a
;; TODO REVIEW: Define standalone package if this is a workspace.
(origin
(method git-fetch)
(uri (git-reference (url "https://github.com/Smithay/smithay.git")
(commit "d743e1a317fa0f01d1c4cadd96d277a1ec7b59d9")))
(file-name (git-file-name "rust-smithay" "0.7.0.d743e1a"))
(sha256 (base32 "11327mhxxf844bs0v5bw1g9bzjssnzhidsissywy6kwng16x727v"))))
@end lisp
This specific TODO message tells us that there is a high probability of the
@code{rust-smithay-0.7.0.d743e1a} crate being a workspace.
After verifying that it is indeed a workspace, we now need to make it an
actual package in @file{gnu/packages/rust-sources.scm}, referencing it in the
crate-source definition (see @ref{Common Workflow for Rust Packaging} for more
details).
@quotation Note
You can verify if a crate is a workspace by cloning the crate repository (in
this case @code{https://github.com/Smithay/smithay.git}), checking out the
specific revision (in this case @command{git checkout d743e1a}), and looking
for @code{[workspace]} in its main @file{Cargo.toml} file. If it does not have a
TOML @code{[workspace]} section, then it is not a workspace.
@end quotation
After defining the separate source package for the workspace in
@file{gnu/packages/rust-sources.scm} (see @ref{Common Workflow for Rust
Packaging} for more details on how to do this), the crate definition for
@code{rust-smithay-0.7.0.d743e1a} would then become the following (notice we
also remove the TODO line):
@lisp
(define rust-smithay-0.7.0.d743e1a package:rust-smithay-0.7.0.d743e1a)
@end lisp
If @code{rust-smithay-0.7.0.d743e1a} was not a workspace, we would simply remove
the TODO line and move on.
We then try to build the package with @command{guix build niri}, and make sure
whether it builds successfully, which it does.
As a good practice, we can further check the output of the
@code{check-for-pregenerated-files} phase to ensure there are no extraneous
pregenerated files inside the crates. If there are any, it is important to
snippet them out, like these:
@lisp
(define rust-winapi-x86-64-pc-windows-gnu-0.4.0
(crate-source "winapi-x86_64-pc-windows-gnu" "0.4.0"
"0gqq64czqb64kskjryj8isp62m2sgvx25yyj3kpc2myh85w24bki"
#:snippet '(delete-file-recursively "lib")))
(define rust-flate2-1.1.4
(crate-source "flate2" "1.1.4"
"1a8a3pk2r2dxays4ikc47ygydhpd1dcxlgqdi3r9kiiq9rb4wnnw"
#:snippet '(for-each delete-file-recursively '("examples" "tests"))))
(define rust-flo-curves-0.3.1
(crate-source "flo_curves" "0.3.1"
"16x293dp8825jh465kgms4yyvl4960j26gh37h3skflq9zxpy8hw"
#:snippet '(for-each delete-file '("logo-small.png" "logo.png"))))
(define rust-interception-sys-0.1.3
(crate-source "interception-sys" "0.1.3"
"1lgwbml7gzq5a5rriy708w68gx6yiw9cdg7xy2c5vsrrck7pbs5b"
#:snippet '(for-each delete-file (find-files "." "\\.(dll|lib)$"))))
@end lisp
@node Common Workflow for Resolving Merge Conflicts on Existing Pull Requests
@subsubsection Common Workflow for Resolving Merge Conflicts on Existing Pull Requests
Whenever a Rust package change is merged into our target branch from a different
Pull Request, we often encounter many merge conflicts in @code{(gnu packages
rust-crates)} when rebasing the Pull Request on top of the target branch. Since
we should avoid modifying the rust-crates file manually (e.g. using the git
interface to solve merge conflicts), it is recommended (and often much faster)
to drop all changes to @code{(gnu packages rust-crates)} and run the lockfile
importer once again, manually adding back all the manual changes.
This workflow describes one of many ways to do the described procedure.
In this example we'll update the @code{codeberg-cli} package, which has produced
some merge conflicts in @file{gnu/packages/rust-crates.scm} when we tried a git
pull rebase.
Before starting, make sure we're not in a rebase environment, by aborting the
rebase we tried previously (the one which created the merge conflicts by git
pulling):
@example
$ git rebase --abort
@end example
@cindex git rebase --interactive
@cindex interactive rebase
To begin, we interactively rebase our PR branch by marking as
@code{edit} the commit we want to edit, which is the one containing the
@file{gnu/packages/rust-crates.scm} changes:
@example
# Change 1 to the number of relevant commits
$ git rebase -i HEAD~1
@end example
In our example, we would mark the @code{codeberg-cli} commit like so:
@example
edit 6ef4f1ad043 # gnu: codeberg-cli: Update to 0.5.4.
@end example
After that, we'll be in rebase mode, where we can restore the changes made to
@file{gnu/packages/rust-crates.scm}:
@quotation Note
Notice that we will lose all manual changes we have previously made to
@file{gnu/packages/rust-crates.scm} (e.g. snippets, deleting TODO comments,
if there were any). We'll need to manually add them back after we run the guix
lockfile importer once again, so make sure you have them saved somewhere, for
example in your PR link under the @code{Files changed} tab.
@end quotation
@example
$ git restore --source=HEAD~ gnu/packages/rust-crates.scm
@end example
Having restored the file, we can stage the changes, commit, finish the rebase
and pull rebase from the target branch:
@example
$ git add gnu/packages/rust-crates.scm
$ git commit --amend --no-edit
$ git rebase --continue
$ git pull <remote> <target branch>
@end example
We then proceed to run the guix lockfile importer:
@quotation Note
Remember to checkout the correct tag you're packaging in the package repository
checkout. Don't forget to run @code{cargo generate-lockfile} before running
the lockfile importer, see @ref{Common Workflow for Rust Packaging} for more
detailed steps on what to do before running the guix lockfile importer.
@end quotation
@example
$ guix import --insert=gnu/packages/rust-crates.scm \
crate --lockfile=/path/to/Cargo.lock codeberg-cli
@end example
Now is the time we manually add back the snippets and remove the relevant TODOs
we have already checked (if there are any).
After running the lockfile importer and checking if there are any changes to
manually add back, we can finally:
@example
$ git add gnu/packages/rust-crates.scm
# Our target commit is the last one:
$ git commit --amend --no-edit
@end example
We now have a non-conflicting tree, from which we can now update our PR with.
@c *********************************************************************
@node System Configuration

View File

@@ -8737,6 +8737,52 @@ The example below denotes a version of gnu-standards to fetch:
@end deftp
For Fossil repositories, the module @code{(guix fossil-download)} defines
the @code{fossil-fetch} origin method and @code{fossil-reference} data type
for support of the Fossil @abbr{SCM, software configuration management} system.
@deffn {Procedure} fossil-fetch ref hash-algo hash [name]
Return a fixed-output derivation that fetches @var{ref}, a
@code{<fossil-reference>} object. The output is expected to have recursive
hash @var{hash} of type @var{hash-algo} (a symbol). Use @var{name} as
the file name, or a generic name if @code{#f}.
@end deffn
@deftp {Data Type} fossil-reference
This data type represents a Fossil reference
for @code{fossil-fetch} to retrieve.
@table @asis
@item @code{uri} (type: string)
The URI of a Fossil repository to clone, in one of the following forms,
in which @code{[...]} denotes optional elements:
@table @code
@item http[s]://[userid[:password]@@]host[:port][/path]
A HTTP/HTTPS URL.
@item [file://]path/to/repo.fossil
A file URI, where the path must have an extra leading @code{/}
to use an absolute path (without the URI scheme, the repository
is opened directly without cloning).
@end table
@item @code{check-in} (type: string)
A @url{https://fossil-scm.org/home/doc/trunk/www/checkin_names.wiki,
name of the check-in} to fetch, e.g.@: its canonical hexadecimal identifier,
associated tag and/or timestamp.
@end table
The example below denotes the @code{version-3.51.1} tag
of the SQLite repository:
@lisp
(fossil-reference
(uri "https://sqlite.org/src")
(check-in "version-3.51.1"))
@end lisp
@end deftp
@node Defining Package Variants
@section Defining Package Variants
@@ -8797,12 +8843,12 @@ dependencies than the original package. For example, the default
optional dependency, you can define a variant that removes that
dependency like so:
@findex package/inherit
@lisp
(use-modules (gnu packages gdb)) ;for 'gdb'
(define gdb-sans-guile
(package
(inherit gdb)
(package/inherit gdb
(inputs (modify-inputs inputs
(delete "guile")))))
@end lisp
@@ -8810,6 +8856,23 @@ dependency like so:
In the body of the @code{inputs} field above, @code{inputs} is bound to
the inherited value. Thus, the @code{modify-inputs} form above removes
the @code{"guile"} package from the @code{inputs} field of @code{gdb}.
@quotation Note
The example above uses @code{(package/inherit gdb @dots{})} instead of
the usual @code{(package (inherit gdb) @dots{})}. While the latter
would work, @code{package/inherit} does extra work: if @code{gdb} has a
@code{replacement} field (@pxref{Security Updates}),
@code{package/inherit} propagates the @code{inputs} changes of this
variant to the replacement.
In other words, @code{package/inherit} ensures the variant gets a
consistent @code{replacement} when the original package has one. Thus,
one should generally use @code{package/inherit} when creating a variant
for the same version, but not when targeting a different version, as in
the @code{hello} example we saw earlier, where the replacement may be
incorrect.
@end quotation
The @code{modify-inputs} macro is a helper that can prove useful anytime
you want to remove, add, or replace package inputs.
@@ -15488,7 +15551,7 @@ gnu/packages/qt.scm:452:13: qtbase would be upgraded from 5.15.8 to 5.15.10
@end example
@cindex partial version specification, guix refresh
A per-package equivalent to --target-version is made available by
A per-package equivalent to @option{--target-version} is made available by
prefixing the version specification with the @samp{~} (tilde) character.
For example:
@@ -16049,7 +16112,7 @@ it unchanged.
@item git-source
If the @code{home-page} is a Git repository (as per
@code{git-repository-url?}), and the actual Git repository is tagged
with @code{version} or @code{(string-append ``v'' version)}, change the
with a version string, possibly prefixed by ``v'', change the
package origin to the @code{git-fetch} method
(@pxref{origin Reference}). Consider this example:
@@ -16078,14 +16141,16 @@ its @code{source} field like to:
(inherit guile-json-3)
(name "guile-json")
(version "4.7.3")
(source (origin
(method git-fetch)
(uri (git-reference (url
"https://github.com/aconchillo/guile-json")
(commit version)))
(file-name (git-file-name name version))
(sha256 (base32
"0akhm8xjv8fl55fyq0w6c9c6hi5j7mifjx01w07np7qg1cjl9f06"))))))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/aconchillo/guile-json")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"0akhm8xjv8fl55fyq0w6c9c6hi5j7mifjx01w07np7qg1cjl9f06"))))))
@end lisp
@end table
@@ -27202,6 +27267,28 @@ Package object for GVfs.
@end table
@end deftp
@defvar kmonad-service-type
This is the type of the service that runs
@uref{https://github.com/kmonad/kmonad, KMonad}. Its value is a
@code{kmonad-configuration} object. This service allows spawning
@command{kmonad} configurations to manage keyboards.
@deftp {Data Type} kmonad-configuration
Configuration record for the KMonad service.
@table @asis
@item @code{kmonad} (default: @code{kmonad})
The KMonad package to use.
@item @code{keymaps}
A list of files with KMonad configurations. One shepherd service will be
created to control each configuration. Each configuration should target
a distinct input device as KMonad operates on a per-input basis.
@end table
@end deftp
@end defvar
@defvar colord-service-type
This is the type of the service that runs @command{colord}, a system
service with a D-Bus
@@ -53462,6 +53549,9 @@ Maximum time a cache entry for SSH keys is valid, in seconds.
@item @code{extra-content} (default: @code{""}) (type: raw-configuration-string)
Raw content to add to the end of @file{~/.gnupg/gpg-agent.conf}.
@item @code{shepherd-requirement} (default: @code{'()}) (type: list-of-symbols)
List of services that should be started before this service.
@end table
@end deftp

View File

@@ -16,6 +16,7 @@ exec $pre_inst_env_maybe guix repl -- "$0" "$@"
;;; Copyright © 2025 Cayetano Santos <csantosb@inventati.org>
;;; Copyright © 2025-2026 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2025 jgart <jgart@dismail.de>
;;; Copyright © 2026 Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -565,6 +566,7 @@ challenges"))
"guix/docker.scm"
"guix/download.scm"
"guix/elf.scm"
"guix/fossil-download.scm"
"guix/ftp-client.scm"
"guix/gexp.scm"
"guix/git-authenticate.scm"
@@ -689,6 +691,7 @@ ecosystem."
(team 'embedded
#:name "Embedded"
#:scope (list "gnu/packages/bootloaders.scm"
"gnu/packages/coreboot.scm"
"gnu/packages/firmware.scm")))
(define-team games
@@ -942,6 +945,7 @@ importer, and the ocaml-build-system."
#:scope
(list "gnu/packages/ocaml.scm"
"gnu/packages/coq.scm"
"gnu/packages/rocq.scm"
"guix/build/ocaml-build-system.scm"
"guix/build/dune-build-system.scm"
"guix/build-system/ocaml.scm"
@@ -1214,6 +1218,7 @@ the \"texlive\" importer."
"gnu/tests/version-control.scm"
"guix/build/bzr.scm"
"guix/build/cvs.scm"
"guix/build/fossil.scm"
"guix/build/git.scm"
"guix/build/hg.scm"
"guix/build/svn.scm")))
@@ -1244,6 +1249,11 @@ the \"texlive\" importer."
"jonsger")
mozilla)
(define-member (person "Denis Carikli"
"GNUtoo@cyberdimension.org"
"GNUtoo")
embedded)
(define-member (person "Ludovic Courtès"
"ludo@gnu.org"
"civodul")

View File

@@ -1,6 +1,6 @@
#!/usr/bin/env -S gawk -f
# GNU Guix --- Functional package management for GNU
# Copyright © 2025 Efraim Flashner <efraim@flashner.co.il>
# Copyright © 2025, 2026 Efraim Flashner <efraim@flashner.co.il>
#
# This file is part of GNU Guix.
#
@@ -21,20 +21,22 @@
# ./etc/teams/rust/audit-rust-crates ./path/to/file.scm
# Prints the output of cargo-audit to the shell.
# Make sure we have cargo-audit in our PATH
BEGIN {
if (system("which cargo-audit 1> /dev/null"))
exit 1;
"which cargo-audit" | getline cargoAudit
close("which cargo-audit")
cargoAudit = cargoAudit " audit --file -"
# Parse a record at a time.
RS = "\n\n"
cargoAudit = "cargo-audit audit --file -"
}
# Check the crate-source origin-only inputs
# Check the crate-source origin-only inputs, like in rust-crates.scm
/crate-source/ {
for(i=3; i <= NF-2; i++) {
if($i == "(crate-source") {
cargoLock = cargoLock "[[package]]\nname = " $(i+1) "\nversion = " $(i+2) "\n"
crateName = $(i+1)
crateVersion = $(i+2)
cargoLock = cargoLock "[[package]]\nname = " crateName "\nversion = " crateVersion "\n"
next
}
}
@@ -44,27 +46,64 @@ BEGIN {
/crate-uri/ {
for(i=3; i <= NF; i++) {
if($i == "(version")
crateVersion = $(i+1)
crateVersion = $(i+1)
if($i == "(crate-uri")
crateName = $(i+1)
crateName = $(i+1)
}
gsub(/)/, "", crateVersion)
cargoLock = cargoLock "[[package]]\nname = " crateName "\nversion = " crateVersion "\n"
next
}
# The xxxx-cargo-input variables have a set style
# TODO: Replace the last dash between the name and the version with a space!
# This doesn't take into account swapping between "-" and "_" so we skip it.
#( $2 ~ /-cargo-inputs/ ) {
# sub(/-cargo-inputs/, "", $2)
# gsub(/)/, "", $0)
# gsub(/rust-/, "", $0)
# #gensub(/([[:alpha:]])-([[:digit:]]+)/, "\\1 \\2", "g", $i)
# print "[[package]]\nname = \"" $2 "\"\nversion = \"1.0.0\"\ndependencies = ["
# for (i = 4; i <= NF; i++) {
# print "\"" $i "\","
# }
# print "]"
#}
# Parse the crates created from packages using 'cargo package'
/package:rust/ {
pkg = $2
split(pkg, name_version, "-")
crateVersion = name_version[length(name_version)]
crateName = substr(pkg, 6, (length(pkg) - length(crateVersion) - 6))
split(crateVersion, versionDots, ".")
if(crateVersion && (crateVersion != "(git-version") && (length(versionDots) == 3) && crateName) {
cargoLock = cargoLock "[[package]]\nname = \"" crateName "\"\nversion = \"" crateVersion "\"\n"
} else {
untested++
#print("Unable to test " $0)
}
next
}
END { print cargoLock | cargoAudit }
# We make an attempt to create the crate name from the package name otherwise
/git-reference/ {
for(i=3; i <= NF; i++) {
if($i == "(version")
crateVersion = $(i+1)
if($i == "(name")
crateName = $(i+1)
if($i == "(git-file-name") {
crateName = $(i+1)
crateVersion = $(i+2)
}
}
gsub(/)/, "", crateVersion)
gsub(/)/, "", crateName)
sub(/rust-/, "", crateName)
# The crate version MUST be major.minor.patch
split(crateVersion, versionParts, ".")
if(crateVersion && (crateVersion != "(git-version") && (length(versionParts) == 3) && crateName) {
cargoLock = cargoLock "[[package]]\nname = " crateName "\nversion = " crateVersion "\n"
} else {
untested++
#print("Unable to test " $0)
}
next
}
# Note those which we were unable to parse
/define rust/ {
if($3 == "#f)")
next
print("Unable to parse " $0)
}
{ untested++ }
END { print("Number of crates untested: " untested); print cargoLock | cargoAudit }

View File

@@ -26,7 +26,6 @@
(define %sundry-texlive-packages
(list bibtool
dvisvgm
rubber
texmaker
texstudio

View File

@@ -81,7 +81,10 @@ entry will be expired even if it has been accessed recently.")
"Maximum time a cache entry for SSH keys is valid, in seconds.")
(extra-content
(raw-configuration-string "")
"Raw content to add to the end of @file{~/.gnupg/gpg-agent.conf}."))
"Raw content to add to the end of @file{~/.gnupg/gpg-agent.conf}.")
(shepherd-requirement
(list-of-symbols '())
"List of services that should be started before this service."))
(define (home-gpg-agent-configuration-file config)
"Return the @file{gpg-agent.conf} file for @var{config}."
@@ -104,7 +107,7 @@ entry will be expired even if it has been accessed recently.")
(define (home-gpg-agent-shepherd-services config)
"Return the possibly-empty list of Shepherd services for @var{config}."
(match-record config <home-gpg-agent-configuration>
(gnupg ssh-support?)
(gnupg ssh-support? shepherd-requirement)
;; 'gpg-agent' is started on demand by GnuPG's programs, but it has to be
;; started explicitly when OpenSSH support is enabled (info "(gnupg) Agent
;; Options").
@@ -119,15 +122,21 @@ entry will be expired even if it has been accessed recently.")
#:socket-directory-permissions #o700))))
(list (shepherd-service
(provision '(gpg-agent ssh-agent))
(requirement shepherd-requirement)
(modules '((shepherd support))) ;for '%user-runtime-dir'
(start #~(make-systemd-constructor
(list #$(file-append gnupg "/bin/gpg-agent")
"--supervised" "--enable-ssh-support")
(list #$(endpoint "ssh" "S.gpg-agent.ssh")
#$(endpoint "browser" "S.gpg-agent.browser")
#$(endpoint "extra" "S.gpg-agent.extra")
;; #$(endpoint "scdaemon" "S.scdaemon")
#$(endpoint "std" "S.gpg-agent"))))
(start
#~(lambda args
((make-systemd-constructor
(list #$(file-append gnupg "/bin/gpg-agent")
"--supervised" "--enable-ssh-support")
(list #$(endpoint "ssh" "S.gpg-agent.ssh")
#$(endpoint "browser" "S.gpg-agent.browser")
#$(endpoint "extra" "S.gpg-agent.extra")
;; #$(endpoint "scdaemon" "S.scdaemon")
#$(endpoint "std" "S.gpg-agent"))
;; Inherit graphical session environment.
#:environment-variables (environ))
args)))
(stop #~(make-systemd-destructor))
(documentation "Start 'gpg-agent', the GnuPG passphrase
agent, with support for handling OpenSSH material."))))

View File

@@ -610,6 +610,7 @@ GNU_SYSTEM_MODULES = \
%D%/packages/rocm-apps.scm \
%D%/packages/rocm-libs.scm \
%D%/packages/rocm-tools.scm \
%D%/packages/rocq.scm \
%D%/packages/rpc.scm \
%D%/packages/rpm.scm \
%D%/packages/rrdtool.scm \
@@ -1130,9 +1131,10 @@ dist_patch_DATA = \
%D%/packages/patches/clucene-gcc-14.patch \
%D%/packages/patches/clucene-pkgconfig.patch \
%D%/packages/patches/coda-use-system-libs.patch \
%D%/packages/patches/codex-acp-0.9.2-remove-patch-sections.patch \
%D%/packages/patches/codex-acp-0.9.2-replace-result-flatten.patch \
%D%/packages/patches/codex-acp-0.11.1-disable-code-mode.patch \
%D%/packages/patches/codex-acp-0.11.1-remove-patch-sections.patch \
%D%/packages/patches/codex-0.98.0-remove-patch-sections.patch \
%D%/packages/patches/rust-codex-0.117.0-remove-patch-sections.patch \
%D%/packages/patches/cogl-fix-double-free.patch \
%D%/packages/patches/collada-dom-boost.patch \
%D%/packages/patches/collectd-5.11.0-noinstallvar.patch \
@@ -1616,7 +1618,6 @@ dist_patch_DATA = \
%D%/packages/patches/hurd-refcounts-assert.patch \
%D%/packages/patches/hurd-rumpdisk-no-hd.patch \
%D%/packages/patches/hurd-startup.patch \
%D%/packages/patches/hwloc-1-test-btrfs.patch \
%D%/packages/patches/hwloc-add-with-opencl.patch \
%D%/packages/patches/i3lock-blur-fix-build-on-gcc-10.patch \
%D%/packages/patches/i7z-gcc-10.patch \
@@ -1652,6 +1653,7 @@ dist_patch_DATA = \
%D%/packages/patches/id3lib-CVE-2007-4460.patch \
%D%/packages/patches/id3lib-UTF16-writing-bug.patch \
%D%/packages/patches/ilmbase-fix-tests.patch \
%D%/packages/patches/inetutils-drop-test.patch \
%D%/packages/patches/inferno-fix-crash.patch \
%D%/packages/patches/iniparser-remove-fetchcontent-usage.patch \
%D%/packages/patches/inkscape-libxml2.patch \
@@ -1698,6 +1700,7 @@ dist_patch_DATA = \
%D%/packages/patches/libcss-check-format.patch \
%D%/packages/patches/libeb-gcc-14.patch \
%D%/packages/patches/libextractor-tidy-support.patch \
%D%/packages/patches/libfossil-skip-amalgamation.patch \
%D%/packages/patches/libftdi-fix-paths-when-FTDIPP-set.patch \
%D%/packages/patches/libgeotiff-fix-tests-with-proj-9.1.1.patch \
%D%/packages/patches/libgeotiff-fix-tests-with-proj-9.3.0.patch \
@@ -1744,7 +1747,7 @@ dist_patch_DATA = \
%D%/packages/patches/kissfft-tflite-micro.patch \
%D%/packages/patches/kitty-fix-wayland-protocols.patch \
%D%/packages/patches/kmod-module-directory.patch \
%D%/packages/patches/kmscon-runtime-keymap-switch.patch \
%D%/packages/patches/kmscon-8-runtime-keymap-switch.patch \
%D%/packages/patches/knot-remove-runtime-deps.patch \
%D%/packages/patches/kobodeluxe-paths.patch \
%D%/packages/patches/kobodeluxe-enemies-pipe-decl.patch \
@@ -2114,6 +2117,7 @@ dist_patch_DATA = \
%D%/packages/patches/python-random2-getrandbits-test.patch \
%D%/packages/patches/python-pillow-use-zlib-1.3.patch \
%D%/packages/patches/python-pydocstyle-add-support-for-pep701.patch \
%D%/packages/patches/python-pynvim-fix-test-command-error.patch \
%D%/packages/patches/python-pypytools-python-3-fixes.patch \
%D%/packages/patches/python-pyreadstat-link-libiconv.patch \
%D%/packages/patches/python-sip-include-dirs.patch \
@@ -2256,6 +2260,7 @@ dist_patch_DATA = \
%D%/packages/patches/python-werkzeug-tests.patch \
%D%/packages/patches/qdigidoc-bundle-config-files.patch \
%D%/packages/patches/qdigidoc-bundle-tsl-files.patch \
%D%/packages/patches/qdigidoc-fix-icon.patch \
%D%/packages/patches/qemu-build-info-manual.patch \
%D%/packages/patches/qemu-fix-agent-paths.patch \
%D%/packages/patches/qemu-fix-test-virtio-version.patch \
@@ -2386,10 +2391,16 @@ dist_patch_DATA = \
%D%/packages/patches/rust-1.70-fix-rustix-build.patch \
%D%/packages/patches/rust-1.78-unwinding-fix.patch \
%D%/packages/patches/rust-1.81-fix-riscv64-bootstrap.patch \
%D%/packages/patches/rust-candle-0.9.1-add-candle-onnx-to-workspace.patch \
%D%/packages/patches/rust-codex-0.98.0-core-remove-self-dep.patch \
%D%/packages/patches/rust-codex-0.98.0-test-shebangs.patch \
%D%/packages/patches/rust-codex-0.98.0-test-timeout.patch \
%D%/packages/patches/rust-codex-0.98.0-windows-sandbox-protocol-version.patch \
%D%/packages/patches/rust-codex-0.117.0-core-remove-self-dep.patch \
%D%/packages/patches/rust-codex-0.120.0-core-remove-self-dep.patch \
%D%/packages/patches/rust-codex-0.120.0-connectors-cache-test-race.patch \
%D%/packages/patches/rust-codex-0.120.0-remove-libwebrtc.patch \
%D%/packages/patches/rust-codex-0.120.0-test-timeout.patch \
%D%/packages/patches/rust-ring-0.17-ring-core.patch \
%D%/packages/patches/rw-igraph-0.10.patch \
%D%/packages/patches/rxvt-unicode-fix-cursor-position.patch \
@@ -2520,10 +2531,11 @@ dist_patch_DATA = \
%D%/packages/patches/ultrastar-deluxe-no-freesans.patch \
%D%/packages/patches/unity-test-set-subdir-correctly.patch \
%D%/packages/patches/unity-test-support-int64.patch \
%D%/packages/patches/ungoogled-chromium-custom-compiler.patch \
%D%/packages/patches/ungoogled-chromium-empty-parsed-rustc-args.patch \
%D%/packages/patches/ungoogled-chromium-extension-search-path.patch \
%D%/packages/patches/ungoogled-chromium-RUNPATH.patch \
%D%/packages/patches/ungoogled-chromium-system-nspr.patch \
%D%/packages/patches/ungoogled-chromium-unbundle-icu-target.patch \
%D%/packages/patches/unknown-horizons-python-3.8-distro.patch \
%D%/packages/patches/unknown-horizons-python-3.9.patch \
%D%/packages/patches/unknown-horizons-python-3.10.patch \
@@ -2624,6 +2636,17 @@ dist_patch_DATA = \
%D%/packages/patches/yggdrasil-extra-config.patch \
%D%/packages/patches/ypsilon-Use-GNU-toolchain-as-default.patch \
%D%/packages/patches/zabbix-agent2-test-timezone-fix.patch \
%D%/packages/patches/zed-0.225.10-add-message-notification-action.patch \
%D%/packages/patches/zed-0.225.10-add-guix-container-support.patch \
%D%/packages/patches/zed-0.225.10-collapse-multiline-git-deps.patch \
%D%/packages/patches/zed-0.225.10-exclude-libwebrtc-from-audio.patch \
%D%/packages/patches/zed-0.225.10-disable-dlopen.patch \
%D%/packages/patches/zed-0.225.10-fix-sqlite-memory-mode.patch \
%D%/packages/patches/zed-0.225.10-fix-test-db-isolation.patch \
%D%/packages/patches/zed-0.225.10-fix-workspace-race.patch \
%D%/packages/patches/zed-0.225.10-keep-regular-file-workspaces.patch \
%D%/packages/patches/zed-0.225.10-remove-patch-crates-io.patch \
%D%/packages/patches/zed-0.225.10-use-mock-livekit-on-linux.patch \
%D%/packages/patches/zig-0.9-build-respect-PKG_CONFIG-env-var.patch \
%D%/packages/patches/zig-0.9-fix-runpath.patch \
%D%/packages/patches/zig-0.9-riscv-support.patch \

View File

@@ -1158,7 +1158,7 @@ on memory usage on GNU/Linux systems.")
(define-public htop
(package
(name "htop")
(version "3.4.1")
(version "3.5.0")
(source
(origin
(method git-fetch)
@@ -1166,7 +1166,7 @@ on memory usage on GNU/Linux systems.")
(url "https://github.com/htop-dev/htop")
(commit version)))
(sha256
(base32 "058y4a4mvx9m179dyr4wi8mlm6i4ybywshadaj4cvfn9fv0r0nkx"))
(base32 "1r07ri0dl9xz0jn1hc2g8q3l0q4clvnxs05yagpzsz0zigp4flj5"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(arguments
@@ -1309,7 +1309,8 @@ re-executing them as necessary.")
version ".tar.gz"))
(sha256
(base32
"11n01vsd51r7qraaaylhhx04hq4s6vcq0896zkz0yp1wvqfbwmm1"))))
"11n01vsd51r7qraaaylhhx04hq4s6vcq0896zkz0yp1wvqfbwmm1"))
(patches (search-patches "inetutils-drop-test.patch"))))
(build-system gnu-build-system)
(arguments
(list
@@ -3441,7 +3442,7 @@ modules and plugins that extend Ansible.")
(list ansible
bash-minimal
encfs
fuse-2
fuse
util-linux ;; for umount
findutils
git

View File

@@ -370,7 +370,7 @@ This package includes the following programs:
libjpeg-turbo
perl
python
v4l-utils-minimal))
v4l-utils))
(propagated-inputs
;; These are in 'requires' field of .pc files.
(list glib gtk+))

View File

@@ -765,7 +765,7 @@ file system.")
(sha256
(base32 "0r3xwk8xsfxvmxyw3d57sy2i9by24g0l1jl40735jiac9mypcg7n"))))
(build-system pyproject-build-system)
(inputs (list python-requests python-argcomplete python-urllib3
(propagated-inputs (list python-requests python-argcomplete python-urllib3
python-looseversion gnupg))
(native-inputs (list python-setuptools python-wheel python-requests-cache
python-defusedxml))
@@ -773,8 +773,7 @@ file system.")
(list $SSL_CERT_FILE))
(arguments
(list
#:test-flags
#~(list "-k" "test_*")
#:test-backend #~'unittest
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'patch-tests
@@ -793,11 +792,7 @@ file system.")
(lambda _
(substitute* "sdkmanager.py"
(("gpgv")
(string-append #$(this-package-input "gnupg") "/bin/gpgv")))))
(replace 'check
(lambda* (#:key tests? test-flags #:allow-other-keys)
(when tests?
(apply invoke "python" "-m" "unittest" test-flags)))))))
(string-append #$(this-package-input "gnupg") "/bin/gpgv"))))))))
(home-page "https://gitlab.com/fdroid/sdkmanager")
(synopsis "Replacement for Android sdkmanager written in Python")
(description
@@ -1182,14 +1177,16 @@ for communicating with Xiaomi smart appliances over miIO and MIoT protocols.")
(define-public fdroidserver
(package
(name "fdroidserver")
(version "2.4.2")
(version "2.4.3")
(source
(origin
(method url-fetch)
(uri (pypi-uri "fdroidserver" version))
(method git-fetch)
(uri (git-reference
(url "https://gitlab.com/fdroid/fdroidserver")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"06xybginrwi5c7bw000wz5s5hzi0aqrxskzwh8qc6wv463w2djax"))))
(base32 "1745fqxr2qfrls4wr6x9w1262b9pxmw9yvzd9b71ya2qmj74q17n"))))
(build-system pyproject-build-system)
(arguments
(list
@@ -1200,22 +1197,17 @@ for communicating with Xiaomi smart appliances over miIO and MIoT protocols.")
(lambda _
(setenv "HOME" "/tmp"))))))
(propagated-inputs
(list python-androguard
(list python-platformdirs
python-androguard
python-apache-libcloud
python-argcomplete
python-asn1crypto
python-clint
python-defusedxml
python-docker
python-gitpython
python-mwclient
python-oscrypto
python-paramiko
python-pillow
python-platformdirs
python-puremagic
python-pyasn1
python-pyasn1-modules
python-pyyaml
python-qrcode
python-requests

View File

@@ -62,6 +62,7 @@
;;; Copyright © 2026 Luis Guilherme Coelho <lgcoelho@disroot.org>
;;; Copyright © 2026 Noé Lopez <noelopez@free.fr>
;;; Copyright © 2026 Carlos Durán Domínguez <wurt@wurt.eu>
;;; Copyright © 2026 Daniel Martins <email@danielfm.me>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -3703,6 +3704,44 @@ compensation, (de)interleaving, and byte-swapping
;; original developer.
(license license:expat)))
(define-public rtcqs
(package
(name "rtcqs")
(version "0.6.7")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://codeberg.org/rtcqs/rtcqs")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1kc3niyaq4m8di68832pgfb1b0m54q5gm68dwlzwwilgxi61ifzc"))))
(build-system pyproject-build-system)
(arguments
(list
#:tests? #f ;no test suite
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'remove-gui
(lambda _
(substitute* "pyproject.toml"
(("\"FreeSimpleGUI\",?")
"")
(("rtcqs_gui = \"rtcqs\\.rtcqs_gui:main\"")
""))
(delete-file "src/rtcqs/rtcqs_gui.py")
(delete-file "src/rtcqs/rtcqs_qt_gui.py"))))))
(native-inputs (list python-setuptools))
(home-page "https://codeberg.org/rtcqs/rtcqs")
(synopsis "Linux audio real-time performance analyzer")
(description
"rtcqs analyzes a Linux system to detect possible bottlenecks that could
have a negative impact on real-time audio performance. It checks kernel
configuration, IRQ priorities, CPU governor, swappiness, and other settings
relevant to low-latency audio work.")
(license license:expat)))
(define-public rtosc
(package
(name "rtosc")
@@ -6490,22 +6529,23 @@ on the ALSA software PCM plugin.")
(define-public snd
(package
(name "snd")
(version "25.2")
(source (origin
(method url-fetch)
(uri (string-append "ftp://ccrma-ftp.stanford.edu/pub/Lisp/"
"snd-" version ".tar.gz"))
(sha256
(base32
"0fgxqk0byxdj6059mb9d5qic2dqjabz49j0szsrn2y3c9nz6iyq4"))))
(version "26.3")
(source
(origin
(method url-fetch)
(uri (string-append "https://ccrma.stanford.edu/software/snd/snd-"
version ".tar.gz"))
(sha256
(base32
"1d573mjlrn9rhl9g0a3d1rkar34q60ln8mwlbibfalpn8lsz59a0"))))
(build-system gnu-build-system)
(arguments
(list
#:tests? #f ; no tests
#:out-of-source? #f ; for the 'install-doc' phase
#:tests? #f ; No tests.
#:out-of-source? #f ; Required by 'install-doc'.
#:configure-flags
#~(let ((docdir (string-append #$output "/share/doc/"
#$name "-" #$version)))
#~(let
((docdir (string-append #$output "/share/doc/snd-" #$version)))
(list "--with-alsa"
"--with-jack"
"--with-gmp"
@@ -6513,18 +6553,20 @@ on the ALSA software PCM plugin.")
(string-append "--with-doc-dir=" docdir)))
#:phases
#~(modify-phases %standard-phases
(add-after 'install 'install-s7
(add-after 'install 'install-s7-h
(lambda _
(install-file "s7.h" (string-append #$output "/include"))))
(install-file "s7.h" (string-append #$output
"/include"))))
(add-after 'install 'install-doc
(lambda _
(let ((doc (string-append #$output "/share/doc/"
#$name "-" #$version)))
(let
((docdir (string-append #$output "/share/doc/snd-"
#$version)))
(for-each
(lambda (f)
(install-file f doc))
(install-file f docdir))
(find-files "." "\\.html$"))
(copy-recursively "pix" (string-append doc "/pix"))))))))
(copy-recursively "pix" (string-append docdir "/pix"))))))))
(native-inputs
(list pkg-config))
(inputs
@@ -6543,13 +6585,16 @@ on the ALSA software PCM plugin.")
timidity++
vorbis-tools
wavpack))
(home-page "https://ccrma.stanford.edu/software/snd/snd/snd.html")
(synopsis "Sound editor")
(home-page "https://ccrma.stanford.edu/software/snd/")
(description
"Snd is a sound editor modelled loosely after Emacs. It can be
customized and extended using either the s7 Scheme implementation (included in
the Snd sources), Ruby, or Forth.")
(license (license:non-copyleft "file://COPYING"))))
(license
;; INFO: pkgsrc classifies this as `esdl-license', a license not included
;; in OSI or FSF lists, despite being similar to ISC.
(license:non-copyleft "file://COPYING"))))
(define-public libspecbleach
(package

View File

@@ -22349,37 +22349,6 @@ combinatorial configurations.\", G. Ehrlich - Journal of the ACM (JACM),
1973. (Algorithm 7.)")
(license license:expat)))
(define-public fsom
(let ((commit "a6ef318fbd347c53189384aef7f670c0e6ce89a3"))
(package
(name "fsom")
(version (git-version "0.0.0" "1" commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/ekg/fsom/")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "0gw1lpvr812pywg9y546x0h1hhj261xwls41r6kqhddjlrcjc0pi"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; There are no tests to run.
#:phases
(modify-phases %standard-phases
(delete 'configure) ; There is no configure phase.
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let ((bin (string-append (assoc-ref outputs "out") "/bin")))
(install-file "fsom" bin)))))))
(native-inputs
(list gcc-6))
(home-page "https://github.com/ekg/fsom")
(synopsis "Manage SOM (Self-Organizing Maps) neural networks")
(description "A tiny C library for managing SOM (Self-Organizing Maps)
neural networks.")
(license license:gpl3))))
(define-public fastahack
(package
(name "fastahack")

View File

@@ -95,8 +95,8 @@ supported content to the Kodi media center.")
;; Arbitrary commit of branch master,
;; Update when updating uBlockOrigin.
(let* ((name "ublock-main-assets")
(commit "011eef4a5b36a7ebf4adedc486d96b77cfa25c54")
(revision "5")
(commit "004af606e6a0efc22bc65ab1016b553441cacb71")
(revision "6")
(version (git-version "0" revision commit)))
(origin
(method git-fetch)
@@ -105,14 +105,14 @@ supported content to the Kodi media center.")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "0ng8a88zdvrxg30fz83gswjy27b3hfx9q11n2i715id7az7kqf9x")))))
(base32 "1bfd2d53flrkgvjcr1kj9nbxj4y9a4pcr7m3dycccdhd21x6k0ln")))))
(define ublock-prod-assets
;; Arbitrary commit of branch gh-pages,
;; Update when updating uBlockOrigin.
(let* ((name "ublock-prod-assets")
(commit "6844322800de647da0c4fe06dd6a0b212a3942e4")
(revision "5")
(commit "6c15e4ef91888c610caf73829dc78ae9549ed24a")
(revision "6")
(version (git-version "0" revision commit)))
(origin
(method git-fetch)
@@ -121,12 +121,12 @@ supported content to the Kodi media center.")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "13vxq4z1wxivz5xklncxd2sj5aqkyhq919vzbbfp0fgh0imhikib")))))
(base32 "0n2h6drqh44b1zgl729bfr70n08mkm536a2vqgivw7dm5dmi8zd3")))))
(define ublock-origin
(package
(name "ublock-origin")
(version "1.66.2")
(version "1.70.0")
(home-page "https://github.com/gorhill/uBlock")
(source (origin
(method git-fetch)
@@ -136,7 +136,7 @@ supported content to the Kodi media center.")
(file-name (git-file-name name version))
(sha256
(base32
"16ph031hb8bf4rxyxvm6jr0bxmy0snza11jfrbjgfb390gax9r63"))))
"0j1m80nz86yc69c42hv5di5zza0vkycqmjaydb9jgx0abcvi19x5"))))
(build-system gnu-build-system)
(outputs '("xpi" "firefox" "chromium"))
(properties '((addon-id . "uBlock0@raymondhill.net")))

View File

@@ -275,14 +275,14 @@ generate such a compilation database.")
(define-public bmake
(package
(name "bmake")
(version "20260313")
(version "20260406")
(source
(origin
(method url-fetch)
(uri (string-append
"http://www.crufty.net/ftp/pub/sjg/bmake-" version ".tar.gz"))
(sha256
(base32 "0xgryknmv625idw37rq89mpl5rymwdb15j5w8zxwy1gf8b6z7j3n"))
(base32 "09nzd9v12n2pwxmf67056kzjnvxcpk5q2x1fs5qkrsk1ssh5yvpd"))
(patches (search-patches "bmake-run-check-separately.patch"))))
(build-system gnu-build-system)
(inputs
@@ -345,8 +345,8 @@ programs and other files depend.")
(license license:bsd-3)))
(define-public gn
(let ((commit "ee5b7e32b961a9da1933e9f46a018ba6cac8ef60")
(revision "2277")) ;as returned by `git describe`, used below
(let ((commit "6e8dcdebbadf4f8aa75e6a4b6e0bdf89dce1513a")
(revision "2354")) ;as returned by `git describe`, used below
(package
(name "gn")
(version (git-version "0.0" revision commit))
@@ -356,7 +356,7 @@ programs and other files depend.")
(uri (git-reference (url home-page) (commit commit)))
(sha256
(base32
"19kkvwxl66vlzlfppbq03fmi59i5g8a1yc71fsfgwqqmx4wywd6w"))
"0yz38czmbc72q1hkiv3cwxqh2i8ji2vkkvvk5ws2cjplmn2vj0x9"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(arguments
@@ -366,7 +366,8 @@ programs and other files depend.")
(lambda _
(setenv "CC" "gcc")
(setenv "CXX" "g++")
(setenv "CXXFLAGS" "-g -O2 -Wno-error=redundant-move")
(setenv "CXXFLAGS"
"-g -O2 -Wno-error=redundant-move -Wno-error=comment")
(setenv "AR" "ar")))
(replace 'configure
(lambda _

View File

@@ -3131,7 +3131,7 @@ time by mocking the datetime module.")
(define-public python-flaky
(package
(name "python-flaky")
(version "3.8.1")
(version "3.8.1") ; On bump, remove some skipped tests in python-cherrypy.
(source (origin
(method url-fetch)
(uri (pypi-uri "flaky" version))
@@ -3719,30 +3719,6 @@ system. The code under test requires no modification to work with pyfakefs.")
directories and files.")
(license license:expat)))
(define-public python-pytest-tornado5
(package
(name "python-pytest-tornado5")
(version "2.0.0")
(source (origin
(method url-fetch)
(uri (pypi-uri "pytest-tornado5" version))
(sha256
(base32
"0qb62jw2w0xr6y942yp0qxiy755bismjfpnxaxjjm05gy2pymr8d"))))
(build-system pyproject-build-system)
(arguments
;; Tests require pytest < 6
(list #:tests? #f))
(propagated-inputs (list python-pytest python-tornado))
(native-inputs (list python-setuptools python-wheel))
(home-page "https://github.com/vidartf/pytest-tornado")
(synopsis
"Fixtures and markers to simplify testing of Tornado applications")
(description
"This package provides a @code{py.test} plugin supplying fixtures and
markers to simplify testing of asynchronous tornado applications.")
(license license:asl2.0)))
(define-public guile-proba
(package
(name "guile-proba")

View File

@@ -580,7 +580,7 @@ stored with user-specified precision.")
python-sphinx))
(inputs
(list fftwf
`(,hwloc-2 "lib")
`(,hwloc "lib")
libtirpc
lmfit
muparser

View File

@@ -79,11 +79,13 @@
'("base/third_party/cityhash" ;Expat
"base/third_party/double_conversion" ;BSD-3
"base/third_party/icu" ;Unicode, X11-style
"base/third_party/nspr" ;MPL-2.0
"base/third_party/superfasthash" ;BSD-3
"base/third_party/symbolize" ;BSD-3
"base/third_party/xdg_user_dirs" ;Expat
"buildtools/third_party/libc++" ;BSD
"buildtools/third_party/libc++abi" ;BSD
"net/third_party/mozilla_security_manager" ;MPL-1.1/GPL2+/LGPL2.1+
"net/third_party/nss" ;MPL-2.0
"net/third_party/quiche" ;BSD-3
"net/third_party/uri_template" ;ASL2.0
"third_party/abseil-cpp" ;ASL2.0
@@ -104,8 +106,11 @@
"third_party/catapult" ;BSD-3
"third_party/catapult/common/py_vulcanize/third_party/rcssmin" ;ASL2.0
"third_party/catapult/common/py_vulcanize/third_party/rjsmin" ;ASL2.0
"third_party/catapult/third_party/beautifulsoup4-4.9.3" ;Expat
"third_party/catapult/third_party/html5lib-1.1" ;Expat
"third_party/catapult/third_party/polymer" ;BSD-3
"third_party/catapult/third_party/six" ;Expat
"third_party/catapult/third_party/typ" ;ASL2.0
;; XXX: This is a minified version of <https://d3js.org/>.
"third_party/catapult/tracing/third_party/d3" ;BSD-3
"third_party/catapult/tracing/third_party/gl-matrix" ;Expat
@@ -120,19 +125,12 @@
"third_party/cld_3" ;ASL2.0
"third_party/closure_compiler" ;ASL2.0
"third_party/compiler-rt" ;ASL2.0
"third_party/compiler-rt/src/lib" ;ASL2.0
"third_party/compiler-rt/src/lib/builtins" ;ASL2.0
"third_party/content_analysis_sdk" ;BSD-3
"third_party/cpuinfo" ;BSD-2
"third_party/crabbyavif" ;ASL2.0
"third_party/crabbyavif/src/sys/dav1d-sys" ;ASL2.0
"third_party/crabbyavif/src/sys/aom-sys" ;ASL2.0
"third_party/crabbyavif/src/sys/libgav1-sys" ;ASL2.0
"third_party/crabbyavif/src/sys/libyuv-sys" ;ASL2.0
"third_party/crabbyavif/src/sys/ndk-sys" ;ASL2.0
"third_party/crashpad" ;ASL2.0
"third_party/crashpad/crashpad/third_party/lss" ;ASL2.0
"third_party/crashpad/crashpad/third_party/zlib/zlib_crashpad.h" ;Zlib
"third_party/crashpad/crashpad/third_party/zlib" ;Zlib
"third_party/crc32c" ;BSD-3
"third_party/cros_system_api" ;BSD-3
"third_party/dav1d" ;BSD-2
@@ -140,19 +138,25 @@
;; TODO: can likely be unbundled when Vulkan is updated.
"third_party/dawn/third_party/khronos" ;ASL2.0
"third_party/dawn/third_party/gn/webgpu-cts" ;BSD-3
"third_party/dawn/third_party/renderdoc" ;Expat
"third_party/dawn/third_party/webgpu-headers" ;BSD-3
"third_party/depot_tools" ;BSD-3
"third_party/devscripts" ;GPL2.0
"third_party/devtools-frontend" ;BSD-3
"third_party/devtools-frontend/src/front_end"
"third_party/devtools-frontend/src/front_end/third_party"
"third_party/devtools-frontend/src/front_end/third_party/acorn" ;Expat
"third_party/devtools-frontend/src/front_end/third_party\
/additional_readme_paths.json" ;no explicit license; trivial
"third_party/devtools-frontend/src/front_end/third_party/json5" ;Expat
"third_party/devtools-frontend/src/front_end/third_party/axe-core" ;MPL2.0
"third_party/devtools-frontend/src/front_end/third_party/chromium" ;BSD-3
"third_party/devtools-frontend/src/front_end/third_party/codemirror" ;Expat
"third_party/devtools-frontend/src/front_end/third_party/csp_evaluator" ;BSD-3
"third_party/devtools-frontend/src/front_end/third_party/diff" ;ASL2.0
"third_party/devtools-frontend/src/front_end/third_party/i18n" ;ASL2.0
"third_party/devtools-frontend/src/front_end/third_party/intl-messageformat" ;BSD-3
"third_party/devtools-frontend/src/front_end/third_party/json5" ;Expat
"third_party/devtools-frontend/src/front_end/third_party/legacy-javascript" ;ASL-2.0
"third_party/devtools-frontend/src/front_end/third_party/lighthouse" ;ASL2.0
"third_party/devtools-frontend/src/front_end/third_party/lit" ;BSD-3
"third_party/devtools-frontend/src/front_end/third_party/marked" ;Expat, BSD-3
@@ -164,10 +168,12 @@
"third_party/devtools-frontend/src/front_end/third_party/puppeteer/third_party/parsel" ; Expat
"third_party/devtools-frontend/src/front_end/third_party/puppeteer/third_party/rxjs" ; ASL2.0
"third_party/devtools-frontend/src/front_end/third_party/puppeteer-replay" ;ASL2.0
"third_party/devtools-frontend/src/front_end/third_party/source-map-scopes-codec" ;BSD-3
"third_party/devtools-frontend/src/front_end/third_party\
/vscode.web-custom-data" ;Expat
"third_party/devtools-frontend/src/front_end/third_party/third-party-web" ;Expat
"third_party/devtools-frontend/src/front_end/third_party/wasmparser" ;ASL2.0
"third_party/devtools-frontend/src/front_end/third_party/web-vitals" ;Expat
"third_party/devtools-frontend/src/third_party/i18n" ;ASL2.0
"third_party/devtools-frontend/src/third_party/pyjson5" ;ASL2.0
@@ -179,6 +185,7 @@
"third_party/farmhash" ;Expat
"third_party/fast_float" ;ASL2.0, Boost1.0, Expat
"third_party/fdlibm" ;non-copyleft
"third_party/federated_compute/chromium/fcp/confidentialcompute" ;ASL2.0
"third_party/federated_compute/src/fcp/base" ;ASL2.0
"third_party/federated_compute/src/fcp/confidentialcompute" ;ASL2.0
"third_party/federated_compute/src/fcp/protos/confidentialcompute" ;ASL2.0
@@ -187,7 +194,9 @@
"third_party/fft2d" ;non-copyleft
"third_party/flatbuffers" ;ASL2.0
"third_party/fp16" ;Expat
"third_party/freetype" ;GPL2.0
"third_party/fusejs" ;ASL2.0
"third_party/fxdiv" ;Expat
"third_party/gemmlowp" ;ASL2.0
"third_party/google_input_tools" ;ASL2.0
"third_party/google_input_tools/third_party/closure_library" ;ASL2.0
@@ -196,6 +205,9 @@
"third_party/harfbuzz-ng" ;Expat
"third_party/highway" ;ASL2.0
"third_party/hunspell" ;MPL1.1/GPL2+/LGPL2.1+
"third_party/hyphenation-patterns" ;Expat
;; FIXME: Our icu does not have some headers such as udatamem.h.
"third_party/icu" ;Unicode3.0
"third_party/ink" ;ASL2.0
"third_party/ink_stroke_modeler" ;ASL2.0
"third_party/inspector_protocol" ;BSD-3
@@ -208,12 +220,14 @@
"third_party/libaddressinput" ;ASL2.0
"third_party/libaom" ;BSD-2 or "Alliance for Open Media Patent License 1.0"
"third_party/libaom/source/libaom/third_party/fastfeat" ;BSD-3
"third_party/libaom/source/libaom/third_party/SVT-AV1" ;BSD-3
"third_party/libaom/source/libaom/third_party/vector" ;Expat
"third_party/libaom/source/libaom/third_party/x86inc" ;ISC
"third_party/libc++" ;Expat
"third_party/libdrm" ; Expat
"third_party/libgav1" ;ASL2.0
"third_party/libjingle_xmpp" ;BSD-3
"third_party/libpfm4" ;BSD
"third_party/libpng" ;PNG2.0
"third_party/libphonenumber" ;ASL2.0
"third_party/libsecret" ;LGPL2.1+
"third_party/libsrtp" ;BSD-3
@@ -227,11 +241,15 @@
"third_party/libvpx/source/libvpx/third_party/x86inc" ;Expat
"third_party/libwebm" ;BSD-3
"third_party/libx11" ;BSD
"third_party/libxcb-keysyms" ;BSD
"third_party/libxml/chromium" ;BSD-3
"third_party/libyuv" ;BSD-3
"third_party/libzip" ;BSD-3
"third_party/lit" ;BSD-3
"third_party/lit/v3_0" ;BSD-3
"third_party/llvm-libc" ;ASL2.0
"third_party/llvm-libc/src/shared" ;ASL2.0
"third_party/lottie" ;Expat
"third_party/lss" ;BSD-3
"third_party/lzma_sdk" ;public domain
@@ -244,6 +262,7 @@
"third_party/modp_b64" ;BSD-3
"third_party/nasm" ;BSD-2
"third_party/nearby" ;ASL2.0
"third_party/neon_2_sse" ;BSD-2
"third_party/node" ;Expat
"third_party/oak/chromium/proto" ;ASL2.0
"third_party/oak/chromium/proto/attestation" ;ASL2.0
@@ -251,14 +270,20 @@
"third_party/one_euro_filter" ;BSD-3
"third_party/openscreen" ;BSD-3
"third_party/openscreen/src/third_party/tinycbor" ;Expat
"third_party/opus" ;BSD-3
"third_party/ots" ;BSD-3
"third_party/pdfium" ;BSD-3
"third_party/pdfium/third_party/agg23" ;Expat
"third_party/pdfium/third_party/bigint" ;Public domain, BSD-3
"third_party/pdfium/third_party/lcms" ;Expat
"third_party/pdfium/third_party/libopenjpeg" ;BDS-2
"third_party/pdfium/third_party/libtiff" ;non-copyleft
"third_party/pdfium/third_party/freetype/include/pstables.h" ;FreeType
"third_party/perfetto" ;ASL2.0
"third_party/perfetto/protos/third_party/chromium" ;BSD-3
"third_party/perfetto/protos/third_party/pprof" ;ASL2.0
"third_party/perfetto/protos/third_party/primes" ;ASL2.0
"third_party/perfetto/protos/third_party/simpleperf" ;ASL2.0
"third_party/pffft" ;the "FFTPACK" license
"third_party/ply" ;BSD-3
"third_party/polymer" ;BSD-3
@@ -268,6 +293,7 @@
"third_party/protobuf/third_party/utf8_range" ; Expat
"third_party/pthreadpool" ;BSD-2
"third_party/puffin" ;Non-copyleft
"third_party/pyyaml" ;Expat
"third_party/pyjson5" ;ASL2.0
"third_party/rapidhash" ;BSD-2
"third_party/readability" ;ASL2.0
@@ -279,11 +305,14 @@
"third_party/search_engines_data" ;BSD-3
"third_party/securemessage" ;ASL2.0
"third_party/selenium-atoms" ;ASL2.0
"third_party/sentencepiece" ;ASL2.0
"third_party/sentencepiece/src/third_party/darts_clone" ;BSD-3
"third_party/shell-encryption" ;ASL2.0
"third_party/simdutf" ;Non-copyleft
"third_party/simplejson" ; Non-copyleft
"third_party/six" ;Expat
"third_party/skia" ;BSD-3
"third_party/skia/third_party/vulkanmemoryallocator" ;BSD-3, Expat
"third_party/skia/include/third_party/vulkan" ;BSD-3
"third_party/smhasher" ;Expat, public domain
;; FIXME: the snappy "replacement" shim (see replace_gn_files.py below) does
@@ -338,7 +367,6 @@
"third_party/webrtc/modules/third_party/fft" ;Non-copyleft
"third_party/webrtc/modules/third_party/g711" ;Public domain
"third_party/webrtc/modules/third_party/g722" ;Public domain
"third_party/webrtc/rtc_base/third_party/sigslot" ;Public domain
"third_party/widevine/cdm/widevine_cdm_common.h" ;BSD-3
"third_party/woff2" ;ASL2.0
"third_party/wuffs" ;ASL2.0
@@ -372,7 +400,7 @@
;; run the Blink performance tests, just remove everything to save ~70MiB.
'("third_party/blink/perf_tests"))
(define %chromium-version "141.0.7390.65")
(define %chromium-version "147.0.7727.55")
(define %ungoogled-revision (string-append %chromium-version "-1"))
(define %debian-revision (string-append "debian/" %ungoogled-revision))
@@ -384,7 +412,7 @@
(file-name (git-file-name "ungoogled-chromium" %ungoogled-revision))
(sha256
(base32
"1hk4rww2gccly1qv0xnswd77haj02rlza82403dxdjm8fkdfndy6"))))
"0l6v4wf16067igawjlh90f3d287mkw0cq4j5lvrxxy17y1skynzc"))))
(define %debian-origin
(origin
@@ -397,7 +425,7 @@
((_ version) version))))
(sha256
(base32
"06s3kvwb3490xb28n6r3q5n1c0ylsvchiw6s4h1rrp8jqzwjbmc6"))))
"0gqarll08i7rcs1amapciv263xvzglc8p44ikavq3xd12yyvcd98"))))
(define (origin-file origin file)
(computed-file
@@ -410,26 +438,38 @@
(define %debian-patches
(map debian-patch
'("bookworm/clang19.patch"
"bookworm/foreach.patch"
'("bookworm/foreach.patch"
"debianization/safe-libcxx.patch"
"disable/enterprise-tests.patch"
"disable/node-version-ck.patch"
"disable/rustc-allow-features.patch"
"fixes/bytemuck.patch"
"fixes/gentoo-stylesheet.patch"
"fixes/libcpp-headers.patch"
"fixes/libpng-testonly.patch"
"fixes/rust-clanglib.patch"
"llvm-19/clang19.patch"
"llvm-19/clone-traits.patch"
"llvm-19/keyfactory.patch"
"llvm-19/value-or.patch"
"llvm-22/ignore-for-ubsan.patch"
"system/openjpeg.patch"
;; Remove after rust is past
;; <https://github.com/rust-lang/rust/pull/141061>.
"trixie/rust-no-alloc-shim.patch")))
"trixie/cookie-string-view.patch"
"trixie/nodejs-main.patch")))
(define %guix-patches
(list (local-file
(assume-valid-file-name
(search-patch
"ungoogled-chromium-extension-search-path.patch")))
"ungoogled-chromium-custom-compiler.patch")))
(local-file
(assume-valid-file-name
(search-patch
"ungoogled-chromium-unbundle-icu-target.patch")))
"ungoogled-chromium-empty-parsed-rustc-args.patch")))
(local-file
(assume-valid-file-name
(search-patch
"ungoogled-chromium-extension-search-path.patch")))
(local-file
(assume-valid-file-name
(search-patch
@@ -500,9 +540,8 @@
"#if 0"))
(invoke "python" "build/linux/unbundle/replace_gn_files.py"
"--system-libraries" "flac" "fontconfig" "freetype"
"harfbuzz-ng" "icu" "libjpeg"
"libpng" "libwebp" "libxml" "libxslt" "openh264" "opus"
"zlib")))))
"harfbuzz-ng" "libjpeg" "libpng" "libwebp" "libxml"
"libxslt" "openh264" "opus" "zlib")))))
(define opus+custom
(package/inherit opus
@@ -531,7 +570,7 @@
%chromium-version "-lite.tar.xz"))
(sha256
(base32
"09iwglswnr6d45zz3zsjw7jpm1xlwwkxlz9h5nlhqxyd933a04fq"))
"1salvlw5sykx3zmsbp7cgmf7y8yy6jlgb4b4zswzsbjrprk4jnap"))
(modules '((guix build utils)))
(snippet (force ungoogled-chromium-snippet))))
(build-system gnu-build-system)
@@ -548,6 +587,7 @@
;; directory for an exhaustive list of supported flags.
;; (Note: The 'configure' phase will do that for you.)
#~(list "is_debug=false"
"is_component_build=false"
;; Use the "official" release optimizations, as opposed to
;; a developer build.
"is_official_build=true"
@@ -555,6 +595,7 @@
"use_clang_modules=false"
"use_custom_libcxx=false" ; support for this is deprecated and to be removed.
"optimize_webui=false"
"webnn_use_tflite=false"
"safe_browsing_use_unrar=false"
"chrome_pgo_phase=0"
"use_sysroot=false"
@@ -572,12 +613,10 @@
"enable_service_discovery=false"
"enable_vr=false"
"enable_enterprise_companion=false"
"enable_glic=false"
"enable_iterator_debugging=false"
"enable_hangout_services_extension=false"
"enable_widevine=false"
;; Disable type-checking for the Web UI to avoid a Java dependency.
"enable_js_type_check=false"
"fatal_linker_warnings=false"
;; Disable code using TensorFlow until it has been scrutinized
;; by the ungoogled project.
"build_with_tflite_lib=false"
@@ -589,6 +628,11 @@
"angle_has_histograms=false"
"angle_build_tests=false"
"build_angle_perftests=false"
"enable_perfetto_unittests=false"
"skia_enable_skshapper_tests=false"
"tint_build_unittests=false"
"enable_nocompile_tests=false"
"enable_screen_ai_browsertests=false"
"clang_warning_suppression_file=\"\""
@@ -597,6 +641,8 @@
"is_cfi=false"
"symbol_level=0"
"blink_symbol_level=0"
"v8_symbol_level=0"
"v8_enable_backtrace=false"
;; Define a custom toolchain that simply looks up CC, AR and
@@ -628,26 +674,10 @@
;; invokation and fails if it's just the version number.
" (f6e511eec 2024-10-15) (built from a source tarball)\"")
;; Chromium's build/rust/std/BUILD.gn has a hardcoded
;; list of stdlib rlibs (stdlib_files) that GN uses to
;; declare build outputs. GN requires static output
;; declarations, so the list must exactly match what
;; rlibs exist in the Rust sysroot. Chromium's list
;; includes unicode_width because their bundled
;; toolchain (Rust 1.89) ships it as a dependency of
;; getopts 0.2.23. Our Rust 1.93 has getopts 0.2.24
;; which dropped that dependency, so unicode_width is
;; not in our sysroot. This GN arg removes it from
;; the list. (Chromium's own use of unicode_width via
;; codespan-reporting is a separate vendored copy under
;; third_party/rust/chromium_crates_io/ and is
;; unaffected.)
"removed_rust_stdlib_libs=[\"unicode_width\"]"
;; Prefer system libraries.
"use_system_freetype=true"
"use_system_harfbuzz=true"
"use_system_icu=true"
"use_system_icu=false"
"use_system_lcms2=true"
"use_system_libffi=true"
"use_system_libjpeg=true"
@@ -713,9 +743,9 @@
;; Many files try to include ICU headers from "third_party/icu/...".
;; Remove the "third_party/" prefix to use system headers instead.
(substitute* (find-files "chrome" "\\.cc$")
(("third_party/icu/source/(common|i18n)/")
""))
;(substitute* (find-files "chrome" "\\.cc$")
; (("third_party/icu/source/(common|i18n)/")
; ""))
;; XXX: Should be unnecessary when use_system_lcms2=true.
(substitute* "third_party/pdfium/core/fxcodec/icc/icc_transform.h"
@@ -732,16 +762,19 @@
(("include \"third_party/curl")
"include \"curl"))
;; Unknown flags as of clang-19, can be removed when building with
;; newer clang.
(substitute* "build/config/compiler/BUILD.gn"
(("-gsimple-template-names") ""))
;; Clang libs are not under bindgen root directory.
(substitute* "build/rust/rust_bindgen_generator.gni"
;; Our clang libs and rustfmt are not under bindgen root directory.
(substitute* '("build/rust/rust_bindgen_generator.gni"
"build/rust/rust_bindgen.gni")
(("(_libclang_path = )rust_bindgen_root" _ libclang)
(string-append libclang "clang_base_path"))))))
(add-after 'patch-stuff 'add-absolute-references
(string-append libclang "clang_base_path"))
(("(_rustfmt_path = \")\\$\\{rust_bindgen_root\\}" _ rustfmt)
(string-append rustfmt "${rust_sysroot_absolute}"))))))
(add-after 'patch-stuff 'include-pthreadpool
;; FIXME: Somehow the build system cannot locate this header.
(lambda _
(copy-file "third_party/pthreadpool/src/include/pthreadpool.h"
"pthreadpool.h")))
(add-after 'include-pthreadpool 'add-absolute-references
(lambda* (#:key inputs #:allow-other-keys)
(let ((cups-config (search-input-file inputs "/bin/cups-config"))
(libnssckbi.so (search-input-file inputs
@@ -763,13 +796,22 @@
(add-after 'add-absolute-references 'adjust-CPLUS_INCLUDE_PATH
;; The libcxx include/c++/v1 directory is not exposed via
;; CPLUS_INCLUDE_PATH by default, causing errors like
;; "fatal error: 'format' file not found".
;; "fatal error: 'format' file not found". Also clang is
;; unable to find gcc's bits/c++config.h which is machine
;; dependent.
(lambda* (#:key native-inputs inputs #:allow-other-keys)
(setenv "CPLUS_INCLUDE_PATH"
(string-append
(search-input-directory inputs
"/include/c++/v1")
":" (getenv "CPLUS_INCLUDE_PATH")))))
(let* ((libcxx-v1 (search-input-directory inputs
"include/c++/v1"))
(target-system #$(nix-system->gnu-triplet
(or (%current-target-system)
(%current-system))))
(target-include (string-append "include/c++/"
target-system))
(gcc-bits (search-input-directory inputs
target-include)))
(setenv "CPLUS_INCLUDE_PATH"
(string-append libcxx-v1 ":" gcc-bits ":"
(getenv "CPLUS_INCLUDE_PATH"))))))
(add-before 'configure 'prepare-build-environment
(lambda* (#:key native-inputs inputs #:allow-other-keys)
(let ((node (search-input-file (or native-inputs inputs)
@@ -955,7 +997,7 @@
glib
gtk+
harfbuzz
icu4c
icu4c-77
lcms
libcxx
libffi

View File

@@ -18,10 +18,10 @@
;;; This module is separate from (gnu packages rust-apps) to avoid a
;;; circular module dependency: (gnu packages rust-sources), which
;;; defines rust-codex-0.98.0, transitively loads (gnu packages
;;; defines rust-codex-0.120.0, transitively loads (gnu packages
;;; rust-apps) through its #:use-module chain. If the codex package
;;; lived in rust-apps.scm, loading rust-sources would trigger loading
;;; rust-apps before rust-codex-0.98.0 is defined, causing an unbound
;;; rust-apps before rust-codex-0.120.0 is defined, causing an unbound
;;; variable error.
(define-module (gnu packages codex)
@@ -36,33 +36,41 @@
#:use-module (gnu packages base)
#:use-module (gnu packages cmake)
#:use-module (gnu packages compression)
#:use-module (gnu packages linux)
#:use-module (gnu packages libunwind)
#:use-module (gnu packages llvm)
#:use-module (gnu packages lsof)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
#:use-module (gnu packages rust-sources)
#:use-module (gnu packages sqlite)
#:use-module (gnu packages textutils)
#:use-module (gnu packages nss)
#:use-module (gnu packages tls)
#:use-module (gnu packages version-control))
#:use-module (gnu packages version-control)
#:use-module (gnu packages virtualization))
(define-public codex
(package
(name "codex")
(version (package-version rust-codex-0.98.0))
(version (package-version rust-codex-0.120.0))
(source
(origin
(inherit (package-source rust-codex-0.98.0))
(inherit (package-source rust-codex-0.120.0))
(patches (search-patches
"codex-0.98.0-remove-patch-sections.patch"
"codex-acp-0.11.1-disable-code-mode.patch"
"rust-codex-0.117.0-remove-patch-sections.patch"
"rust-codex-0.120.0-connectors-cache-test-race.patch"
"rust-codex-0.120.0-remove-libwebrtc.patch"
"rust-codex-0.98.0-test-shebangs.patch"
"rust-codex-0.98.0-test-timeout.patch"))))
"rust-codex-0.120.0-test-timeout.patch"))))
(build-system cargo-build-system)
(arguments
(list
#:install-source? #f
#:cargo-install-paths '(list "cli" "exec" "exec-server"
"linux-sandbox" "mcp-server" "network-proxy"
"linux-sandbox" "mcp-server"
"app-server" "tui")
;; schema_fixtures_match_generated (upstream fixture is stale:
;; FileChange::Update in codex-protocol gained old_content,
@@ -71,72 +79,55 @@
#:cargo-test-flags '(list "--workspace"
"--exclude" "codex-app-server-protocol"
"--"
;; These tests exercise sandbox denial and
;; escalation, which requires Landlock to
;; cleanly deny filesystem access. Inside the
;; build container Landlock returns NotEnforced
;; and the sandbox binary panics instead.
;; Disabling Landlock would not help either,
;; since these tests need a working sandbox to
;; have anything to deny and escalate.
;;; BEGIN Landlock returns NotEnforced
;;; in the build container; the sandbox
;;; binary panics instead of cleanly
;;; denying filesystem access.
;; Sandbox denial and escalation tests.
"--skip" "sandbox_denied_shell_returns_original_output"
;; Sandbox denial and escalation tests.
"--skip" "shell_escalated_permissions_rejected_then_ok"
;; Sandbox denial and escalation tests.
"--skip" "unified_exec_runs_under_sandbox"
;; These tests (in codex-exec) directly call
;; spawn_command_under_linux_sandbox to verify
;; that python and bash work correctly inside
;; the Landlock sandbox. The sandbox binary
;; (codex-exec) panics with LandlockRestrict
;; (exit code 101) before the inner command
;; even starts.
;; codex-exec: spawn_command_under_linux_sandbox
;; panics with LandlockRestrict (exit 101).
"--skip" "python_getpwuid_works_under_sandbox"
;; Same as above.
"--skip" "python_multiprocessing_lock_works_under_sandbox"
;; Same as above.
"--skip" "sandbox_distinguishes_command_and_policy_cwds"
;; These linux-sandbox tests directly invoke
;; the Landlock sandbox via
;; process_exec_tool_call; same root cause.
;; linux-sandbox: process_exec_tool_call
;; invokes Landlock; same panic.
"--skip" "test_writable_root"
;; Same as above.
"--skip" "test_timeout"
;; Same as above.
"--skip" "test_root_read"
;; Same as above.
"--skip" "test_dev_null_write"
;; Same as above.
"--skip" "test_no_new_privs_is_enabled"
;; This test iterates many approval scenarios;
;; one of them
;; (danger_full_access_on_request_allows_network)
;; runs a command through the Landlock sandbox
;; binary, which panics with LandlockRestrict
;; inside the build container. Cargo --skip
;; cannot target individual scenarios, so we
;; skip the entire matrix.
;; One scenario runs through Landlock
;; which panics; cargo --skip cannot
;; target individual scenarios.
"--skip" "approval_matrix_covers_all_modes"
;; This test verifies session-level patch
;; approval caching: approve once, skip
;; future prompts for the same file. When
;; Landlock is unavailable (as in the Guix
;; build container) the sandbox binary panics,
;; triggering the escalation-retry path, which
;; interferes with the approval cache and
;; causes a spurious re-prompt on the second
;; patch.
;; Landlock panic triggers escalation-retry
;; which interferes with the approval cache.
"--skip" "approving_apply_patch_for_session_skips_future_prompts_for_same_file"
;; These tests expect to interrupt a
;; long-running 'sleep 60' and receive
;; TurnAborted. Default test config is
;; OnRequest + ReadOnly. What happens:
;; TurnAborted. What happens:
;;
;; 1. ReadOnly wraps the command with
;; codex-linux-sandbox (Landlock-based).
;; 2. Landlock is unavailable in the Guix
;; build container, so the sandbox
;; binary exits instantly (~1 ms).
;; 2. Landlock is unavailable, so the
;; sandbox binary exits instantly.
;; 3. Orchestrator gets SandboxErr::Denied.
;; wants_no_sandbox_approval(OnRequest)
;; returns false (sandboxing.rs:222),
;; so no escalation -- denial returned
;; directly.
;; returns false, so no escalation --
;; denial returned directly.
;; 4. ToolEmitter::finish sends the error
;; to the mock model as
;; function_call_output.
;; to the mock model.
;; 5. Second mock SSE response fires,
;; turn finishes with TurnComplete.
;; 6. Op::Interrupt arrives 100 ms later,
@@ -150,74 +141,213 @@
;; has only one mock response (so the turn
;; cannot complete first).
"--skip" "interrupt_persists_turn_aborted_marker_in_next_request"
;; Same causal chain as above.
"--skip" "interrupt_tool_records_history_entries"
;; Upstream bug: test hardcodes "0.0.0" in the
;; expected user-agent string but the workspace
;; version is "0.98.0".
"--skip" "get_user_agent_returns_current_codex_user_agent"
;; Same upstream bug: mcp-server tests
;; check the initialize response which
;; includes "version": "0.0.0" but the
;; server returns "0.98.0".
;; WorkspaceWrite sandbox policy wraps
;; commands with codex-linux-sandbox;
;; Landlock panics, command never runs,
;; exit_code is None instead of Some(0).
"--skip" "request_permissions_grants_apply_to_later_exec_command_calls"
;; Same root cause.
"--skip" "request_permissions_grants_apply_to_later_shell_command_calls"
;; Same root cause.
"--skip" "partial_request_permissions_grants_do_not_preapprove_new_permissions"
;;; END Landlock
;;; BEGIN mcp_process.rs initialize
;;; assertion expects "version":"0.0.0"
;;; but the server returns "0.120.0".
"--skip" "test_codex_tool_passes_base_instructions"
"--skip" "test_shell_command_approval_triggers_elicitation"
"--skip" "test_patch_approval_triggers_elicitation"
;; These codex-exec-server tests need
;; "dotslash", a Meta tool that lazily
;; downloads pre-built binaries from a
;; JSON manifest. The test helper
;; create_transport runs
;; `dotslash -- fetch <path>` to obtain a
;; custom bash binary described in
;; exec-server/tests/suite/bash.
;; dotslash is not available in the build
;; container.
"--skip" "list_tools"
"--skip" "accept_elicitation_for_prompt_rule"
;;; Test isolation bug: each test in
;;; state/src/runtime.rs calls
;;; unique_temp_dir() to get its own
;;; temporary directory (and thus its
;;; own SQLite database). That function
;;; names directories using the current
;;; nanosecond timestamp, so when tests
;;; run in parallel several can receive
;;; the same name and open the same
;;; database. The initial SQLite
;;; migration runs CREATE TABLE threads
;;; (without IF NOT EXISTS), so any init
;;; after the first panics with "table
;;; threads already exists". Any of
;;; these tests
;;; can be the victim.
;;; END version mismatch
;;; BEGIN Test isolation bug:
;;; unique_temp_dir() in
;;; state/src/runtime.rs names dirs
;;; using nanosecond timestamps, so
;;; parallel tests can collide. The
;;; SQLite migration runs CREATE TABLE
;;; threads (without IF NOT EXISTS),
;;; so the second init panics with
;;; "table threads already exists".
"--skip" "init_removes_legacy_state_db_files"
"--skip" "upsert_and_get_thread_memory"
"--skip" "get_last_n_thread_memories_for_cwd_matches_exactly"
"--skip" "upsert_thread_memory_errors_for_unknown_thread"
"--skip" "get_last_n_thread_memories_for_cwd_zero_returns_empty"
"--skip" "get_last_n_thread_memories_for_cwd_does_not_prefix_match"
"--skip" "deleting_thread_cascades_thread_memory")
"--skip" "deleting_thread_cascades_thread_memory"
;;; END SQLite test isolation
;; The test spawns 'sh' after
;; env_clear() with an empty env map;
;; glibc execvp uses confstr(_CS_PATH)
;; ("/bin:/usr/bin") when PATH is
;; unset, but /bin/sh does not exist
;; in the build container.
"--skip" "cancellation_expiration_keeps_process_alive_until_terminated"
;; Proxy baseline_policy returns 403
;; "not_allowed_local" for example.com;
;; test expects 200.
"--skip" "managed_network_proxy_decider_survives_full_access_start"
;;; BEGIN bash_snapshot_script() uses
;;; "compgen -e" to list exports but
;;; bash-minimal lacks programmable
;;; completion; export section is empty.
;; stdout.contains("VALID_NAME") fails.
"--skip" "bash_snapshot_filters_invalid_exports"
;; stdout.contains("MULTILINE_CERT") fails.
"--skip" "bash_snapshot_preserves_multiline_exports"
;; snapshot.contains("PATH") fails.
"--skip" "linux_bash_snapshot_includes_sections"
;;; END compgen
;; substitute* patches PAGER to store
;; path of cat; test expects bare "cat".
"--skip" "unified_exec_env_injects_defaults"
;;; BEGIN V8 disabled (codex-code-mode
;;; default-features = false).
"--skip" "suite::code_mode::"
"--skip" "suite::js_repl::"
"--skip" "suite::view_image::js_repl_"
;;; END V8 disabled
;;; BEGIN same compgen root cause:
;;; assert_posix_snapshot_sections
;;; asserts snapshot.contains("PATH").
"--skip" "linux_shell_command_uses_shell_snapshot"
"--skip" "linux_unified_exec_uses_shell_snapshot"
"--skip" "shell_command_snapshot_still_intercepts_apply_patch"
;;; END compgen / shell snapshot
;;; BEGIN These sandbox tests set
;;; exclude_slash_tmp: true which makes
;;; bwrap exclude /tmp from its mount
;;; namespace. Since Guix builds under
;;; /tmp, the codex-linux-sandbox binary
;;; becomes invisible to bwrap even though
;;; the test adds the helper dir as a
;;; filesystem carve-out -- the parent /tmp
;;; bind-mount is absent so the carve-out
;;; has nothing to carve out of.
"--skip" "sandbox_reenables_writable_subpaths_under_unreadable_parents"
"--skip" "managed_proxy_mode_routes_through_bridge_and_blocks_direct_egress"
;;; END exclude_slash_tmp
;; Expects 3 TerminalInteraction events
;; across timed poll windows; under CPU
;; contention events merge into 2.
"--skip" "unified_exec_terminal_interaction_captures_delayed_output"
;;; BEGIN assert_parallel_duration
;;; requires < 1600 ms for parallel ops.
;; Two 300 ms test_sync_tool calls.
"--skip" "read_file_tools_run_in_parallel"
;; Two "sleep 0.25" shell commands.
"--skip" "shell_tools_run_in_parallel"
;; One test_sync_tool + one shell sleep.
"--skip" "mixed_parallel_tools_run_in_parallel"
;;; END assert_parallel_duration
;; Asserts elapsed >= 4500 ms and
;; < 5800 ms for a 5 s timeout; under
;; contention elapsed drifts past 5800.
"--skip" "remote_models_request_times_out_after_5s"
;; Queued inter-agent mail must be
;; injected between the reasoning/
;; commentary item and the gate release;
;; under contention the gate fires before
;; the mail is processed, so the snapshot
;; shows the stale function_call instead
;; of the expected mail message.
"--skip" "queued_inter_agent_mail_triggers_follow_up_after_commentary_message_item"
;; Same root cause: snapshot mismatch at
;; pending_input.rs assert_two_responses_
;; input_snapshot; expects mail at position
;; 04 but gets function_call/shell instead.
"--skip" "queued_inter_agent_mail_triggers_follow_up_after_reasoning_item"
;;; BEGIN DNS for hostnames like
;;; example.com fails in the build
;;; sandbox. host_resolves_to_non_
;;; public_ip() in runtime.rs treats
;;; failed DNS as non-public and
;;; returns NotAllowedLocal, so tests
;;; expecting Allowed or Decider get
;;; Deny/BaselinePolicy instead.
"--skip" "host_blocked_requires_allowlist_match"
"--skip" "add_allowed_domain_removes_matching_deny_entry"
"--skip" "host_blocked_subdomain_wildcards_exclude_apex"
"--skip" "host_blocked_global_wildcard_allowlist_allows_public_hosts_except_denylist"
"--skip" "evaluate_host_policy_emits_domain_event_for_decider_ask"
"--skip" "evaluate_host_policy_emits_domain_event_for_decider_allow_override"
"--skip" "http_connect_accept_blocks_in_limited_mode"
"--skip" "http_connect_accept_allows_allowlisted_host_in_full_mode"
"--skip" "mitm_policy_blocks_disallowed_method_and_records_telemetry"
;;; END DNS failure / NotAllowedLocal
;;; BEGIN Flaky: wiremock mock expects
;;; 1 POST to /codex/safety/arc but
;;; receives 0. Passes in some builds,
;;; fails in others with identical code
;;; and env. The identical custom_
;;; variant always passes; only the
;;; CODEX_APPS_MCP_SERVER_NAME variant
;;; flakes, suggesting a timing race
;;; in the async POST under contention.
"--skip" "approve_mode_blocks_when_arc_returns_interrupt_for_model"
"--skip" "approve_mode_blocks_when_arc_returns_interrupt_without_annotations"
;;; END ARC monitor flake
;;; BEGIN nss-certs sets SSL_CERT_FILE
;;; which makes build_reqwest_client load
;;; 171 CA certs via add_root_certificate.
;;; This changes the reqwest TLS backend
;;; configuration; the ARC safety POST to
;;; the localhost mock server never arrives
;;; (wiremock expects 1 request, gets 0).
"--skip" "approve_mode_blocks_when_arc_returns_interrupt_for_model"
"--skip" "approve_mode_blocks_when_arc_returns_interrupt_without_annotations"
;;; END nss-certs / ARC monitor
;; Upstream bug: JsonRpcConnection has
;; no websocket keepalive or read timeout.
;; When the exec-server is killed, the
;; client's reader task blocks on
;; websocket_reader.next() forever because
;; TCP doesn't detect the dead peer without
;; a write or keepalive probe. Previously
;; masked because empty env made "sleep 10"
;; fail instantly; with PATH the process
;; lives long enough to hit the deadlock.
"--skip" "remote_exec_process_reports_transport_disconnect"
;; 500 ms timeout on MCP list response
;; (mcp_server_status.rs timeout at
;; Duration::from_millis(500)). With
;; nss-certs TLS now works, so the
;; startup plugin sync HTTP requests
;; (chatgpt.com, api.github.com) wait
;; for TCP timeout instead of failing
;; instantly at TLS, eating the budget.
"--skip" "mcp_server_status_list_tools_and_auth_only_skips_slow_inventory_calls")
#:cargo-package-crates
''(;;; Tier 0: No internal deps.
"codex-ansi-escape"
"codex-async-utils"
"codex-backend-openapi-models"
"codex-client"
"codex-execpolicy"
"codex-file-search"
"codex-git"
"codex-git-utils"
"codex-keyring-store"
"codex-process-hardening"
"codex-utils-absolute-path"
"codex-utils-cache"
"codex-utils-cargo-bin"
"codex-utils-elapsed"
"codex-utils-fuzzy-match"
"codex-utils-home-dir"
"codex-utils-json-to-toml"
"codex-utils-path"
"codex-utils-plugins"
"codex-utils-pty"
"codex-utils-readiness"
"codex-utils-rustls-provider"
"codex-utils-sleep-inhibitor"
"codex-utils-stream-parser"
"codex-utils-string"
"codex-backend-openapi-models"
"codex-process-hardening"
"codex-ansi-escape"
;;; Tier 1: Depends on tier 0.
"codex-utils-template"
;;; Tier 1.
"codex-utils-image"
"codex-utils-output-truncation"
"codex-apply-patch"
"codex-protocol"
"codex-windows-sandbox"
@@ -226,35 +356,60 @@
"codex-secrets"
"codex-execpolicy-legacy"
"codex-debug-client"
"codex-analytics"
"codex-rollout"
"codex-terminal-detection"
"codex-utils-approval-presets"
"codex-utils-cli"
;;; Tier 2.
"codex-app-server-protocol"
"codex-rmcp-client"
"codex-otel"
"codex-state"
"codex-core"
"codex-linux-sandbox"
"codex-features"
"codex-config"
"codex-hooks"
"codex-instructions"
"codex-code-mode"
"codex-feedback"
"codex-skills"
"codex-core"
"codex-utils-sandbox-summary"
"codex-linux-sandbox"
"codex-sandboxing"
"codex-connectors"
"codex-core-skills"
;;; Tier 3.
"codex-arg0"
"codex-lmstudio"
"codex-login"
"codex-ollama"
"codex-common"
"codex-utils-oss"
"codex-mcp-server"
"codex-backend-client"
"codex-responses-api-proxy"
"codex-shell-command"
"codex-shell-escalation"
"codex-plugin"
"codex-model-provider-info"
"codex-models-manager"
;;; Tier 4.
"codex-cloud-requirements"
"codex-exec"
"codex-exec-server"
"codex-stdio-to-uds"
"codex-network-proxy"
"codex-stdio-to-uds"
"codex-chatgpt"
"codex-cloud-tasks-client"
"codex-cloud-tasks-mock-client"
"codex-tools"
"codex-mcp"
"codex-collaboration-mode-templates"
;;; Tier 5.
"codex-app-server"
"codex-app-server-test-client"
"codex-tui"
"codex-response-debug-context"
;;; Tier 6.
"codex-cloud-tasks"
;; The main executable.
@@ -270,7 +425,7 @@
;; Update them to match the actual package version.
(let ((snap-files (find-files "." "\\.snap$")))
(substitute* snap-files
(("\\(v0\\.0\\.0\\) ") "(v0.98.0)")))))
(("\\(v0\\.0\\.0\\) ") "(v0.120.0) ")))))
(add-after 'chdir-to-workspace 'patch-git-deps-to-vendor
(lambda _
;; Replace git dependencies with version references so cargo
@@ -279,23 +434,34 @@
(("nucleo = \\{ git = [^}]+\\}")
"nucleo = \"0.5.0\"")
(("runfiles = \\{ git = [^}]+\\}")
"runfiles = \"0.1.0\""))))
(add-after 'chdir-to-workspace 'add-version-to-workspace-deps
"runfiles = \"0.1.0\""))
;; Remove workspace members that have unbuildable deps
;; (libwebrtc requires git fetch, v8-poc requires V8).
(substitute* "Cargo.toml"
(("\"v8-poc\",") "")
(("\"code-mode\",") ""))
;; Disable V8 runtime in codex-code-mode: remove path
;; so cargo resolves it from the vendor (where it has
;; optional = true on v8) and disable default features.
(substitute* "Cargo.toml"
(("codex-code-mode = \\{ path = \"code-mode\" \\}")
"codex-code-mode = { version = \"0.120.0\", default-features = false }"))))
(add-after 'patch-git-deps-to-vendor 'add-version-to-workspace-deps
(lambda _
;; cargo package requires all dependencies to have versions.
;; cargo package requires all dependencies to have versions.
;; Add version = "0.98.0" to internal path dependencies.
;; Add version = "0.120.0" to internal path dependencies.
(let ((cargo-files (find-files "." "^Cargo\\.toml$")))
(substitute* cargo-files
;; Handle inline deps: name = { path = "..." }
(("(codex-[a-z0-9-]+) = \\{ path = " all name)
(string-append name " = { version = \"0.98.0\", path = "))
(string-append name " = { version = \"0.120.0\", path = "))
;; Handle inline deps with package: name = { package = "...", path = "..." }
(("(codex-[a-z0-9-]+) = \\{ package = " all name)
(string-append name " = { version = \"0.98.0\", package = "))
(string-append name " = { version = \"0.120.0\", package = "))
;; Handle section deps: [dependencies.X] with path = "..."
(("^(path = \"\\.\\./[^\"]*\")" all path-line)
(string-append path-line "\nversion = \"0.98.0\""))))))
(string-append path-line "\nversion = \"0.120.0\""))))))
(add-after 'chdir-to-workspace 'patch-hardcoded-paths
(lambda* (#:key inputs #:allow-other-keys)
(let ((bash-bin (string-append
@@ -325,6 +491,14 @@
(string-append "\"" bash-bin "/bash "))
(("\"/bin/sh ")
(string-append "\"" bash-bin "/sh "))
;; Single-quoted paths in test assertion strings,
;; e.g. "exec '/bin/bash' -c ...". Must match the
;; double-quoted substitutions above so both sides
;; of assert_eq!/contains use the store path.
(("'/bin/bash'")
(string-append "'" bash-bin "/bash'"))
(("'/bin/sh'")
(string-append "'" bash-bin "/sh'"))
;; coreutils.
(("\"/bin/(cat|cp|date|echo|head|ls|rm|sleep|true|touch)\"" all cmd)
(string-append "\"" coreutils-bin "/" cmd "\""))
@@ -339,28 +513,120 @@
(string-append "\"" git-bin "/git\""))
(("\"/usr/bin/sed\"")
(string-append "\"" sed-bin "/sed\"")))
;; Bare Command::new("git") and Command::new("ls")
;; in codex source files that exec internally.
(substitute* (find-files "git-utils" "\\.rs$")
(("Command::new\\(\"git\"\\)")
(string-append "Command::new(\"" git-bin "/git\")")))
(substitute* "tui/src/get_git_diff.rs"
(("Command::new\\(\"git\"\\)")
(string-append "Command::new(\"" git-bin "/git\")")))
(substitute* "core/src/turn_diff_tracker.rs"
(("Command::new\\(\"git\"\\)")
(string-append "Command::new(\"" git-bin "/git\")")))
(substitute* "cloud-tasks/src/env_detect.rs"
(("Command::new\\(\"git\"\\)")
(string-append "Command::new(\"" git-bin "/git\")")))
(substitute* "core/src/plugins/startup_sync.rs"
(("\"git\",")
(string-append "\"" git-bin "/git\",")))
(substitute* "file-search/src/lib.rs"
(("Command::new\\(\"ls\"\\)")
(string-append "Command::new(\"" coreutils-bin "/ls\")")))
;; Neutralize pager with absolute path to cat.
(substitute* "core/src/unified_exec/process_manager.rs"
(("\"PAGER\", \"cat\"")
(string-append "\"PAGER\", \"" coreutils-bin "/cat\""))
(("\"GIT_PAGER\", \"cat\"")
(string-append "\"GIT_PAGER\", \"" coreutils-bin "/cat\""))
(("\"GH_PAGER\", \"cat\"")
(string-append "\"GH_PAGER\", \"" coreutils-bin "/cat\"")))
;; Bare /bin/sleep inside a format! string
;; (no surrounding double quotes, so the main
;; pattern does not match).
(substitute*
"shell-escalation/src/unix/escalate_server.rs"
(("/bin/sleep")
(string-append coreutils-bin "/sleep")))
;; @SHELL@ placeholder from test-shebangs patch
(substitute*
(list "rmcp-client/src/program_resolver.rs"
"tui/src/external_editor.rs")
(("@SHELL@")
(string-append bash-bin "/sh")))
;; shebang in test-only file
;; Shebangs inside raw string literals (r#"..."#)
;; that are written to scripts at runtime. The
;; main "/bin/sh" patterns only match double-quoted
;; occurrences; these shebangs have no surrounding
;; double quotes.
(substitute*
"core/tests/suite/user_notification.rs"
(list "core/src/plugins/startup_sync_tests.rs"
"core/tests/suite/client.rs"
"core/tests/suite/js_repl.rs"
"core/tests/suite/skill_approval.rs"
"core/tests/suite/user_notification.rs"
"login/src/auth/auth_tests.rs"
"models-manager/src/manager_tests.rs"
"sandboxing/src/bwrap_tests.rs")
(("#!/bin/bash")
(string-append "#!" bash-bin "/bash"))))))
(string-append "#!" bash-bin "/bash"))
(("#!/bin/sh")
(string-append "#!" bash-bin "/sh")))
;; Test helpers pass env: Default::default() to the
;; spawn code which calls env_clear(), leaving
;; processes with no PATH. Inject the build-time
;; PATH so tests find coreutils, bash, etc.
(substitute* (find-files "." "\\.rs$")
(("env: Default::default\\(\\)")
(string-append
"env: std::env::var(\"PATH\")"
".into_iter()"
".map(|p| (\"PATH\".to_string(), p))"
".collect()")))
;; Test-only absolute path; bare name works via PATH.
(substitute* "exec-server/tests/exec_process.rs"
(("\"/usr/bin/python3\"")
"\"python3\""))
;; Same empty-env issue but in JSON literals
;; (serde_json::json! macro).
(substitute* "exec-server/tests/process.rs"
(("\"env\": \\{\\}")
(string-append
"\"env\": {\"PATH\": \""
(getenv "PATH")
"\"}"))))))
(add-before 'build 'set-bubblewrap-source
(lambda* (#:key inputs #:allow-other-keys)
(setenv "CODEX_BWRAP_SOURCE_DIR"
(string-append
(assoc-ref inputs "bubblewrap-source")
"/"))))
(add-before 'build 'create-node-version-file
(lambda _
(call-with-output-file "guix-vendor/node-version.txt"
(lambda (port)
(display "22.22.0" port)))))
(add-before 'check 'set-home
(lambda _
(setenv "HOME" "/tmp")
;; HOME must not be a prefix of /tmp, otherwise
;; the TUI's path shortener replaces /tmp/... with
;; ~/... and 30 snapshot tests fail.
(setenv "HOME" "/tmp/guix-home")
(mkdir-p "/tmp/guix-home")
(setenv "USER" "nixbld"))))))
(native-inputs (list clang ;bindgen uses libclang to parse BoringSSL's C headers
cmake-minimal ;BoringSSL is compiled from C source
libunwind ;BoringSSL tests verify stack unwinding in assembly
perl python-minimal ;for tests
pkg-config))
(native-inputs `(("bubblewrap" ,bubblewrap) ;tests need bwrap on PATH
("clang" ,clang)
("cmake-minimal" ,cmake-minimal)
("libunwind" ,libunwind)
("lsof" ,lsof) ;app-server tests
("nss-certs-for-test" ,nss-certs-for-test) ;OTLP gRPC TLS
("perl" ,perl)
("procps" ,procps) ;tests use ps
("python-minimal" ,python-minimal)
("pkg-config" ,pkg-config)
("bubblewrap-source" ,(package-source bubblewrap))))
(inputs (cons* bash-minimal coreutils git-minimal sed
openssl sqlite `(,zstd "lib")
libcap oniguruma openssl sqlite zlib `(,zstd "lib")
(cargo-inputs 'codex)))
(home-page "https://github.com/openai/codex")
(synopsis "AI-assisted coding CLI and TUI")
@@ -368,13 +634,15 @@
"Codex is an AI-powered coding assistant that runs in the terminal.
It provides an interactive TUI for conversations with AI models, with
support for shell command execution, file editing, and code generation.
Configure providers via @file{~/.codex/config.toml}.")
Configure providers via @file{~/.codex/config.toml}.
codex-code-mode's V8 Javascript executor is disabled.")
(license license:asl2.0)))
(define-public codex-acp
(package
(name "codex-acp")
(version "0.9.2")
(version "0.11.1")
(source
(origin
(method git-fetch)
@@ -383,9 +651,8 @@ Configure providers via @file{~/.codex/config.toml}.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "190sq6s6jfz8dkj1y8305r7x6ln86qqr2j1bnfjci7f1x2wyzmsj"))
(patches (search-patches "codex-acp-0.9.2-remove-patch-sections.patch"
"codex-acp-0.9.2-replace-result-flatten.patch"))))
(base32 "1rlgkbvrbdl5jhf49sjn2mifn2rq6z0vwf0gard23y1bz6sr3wmr"))
(patches (search-patches "codex-acp-0.11.1-remove-patch-sections.patch"))))
(build-system cargo-build-system)
(arguments
(list
@@ -393,13 +660,43 @@ Configure providers via @file{~/.codex/config.toml}.")
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'patch-codex-deps
(lambda _
(lambda* (#:key inputs #:allow-other-keys)
;; Rewrite git dependencies to use vendored sources from rust-codex
(substitute* "Cargo.toml"
(("git = \"https://github.com/zed-industries/codex\", branch = \"acp\"")
"version = \"0.0.0\"")))))))
(native-inputs (list pkg-config))
(inputs (cons* openssl sqlite `(,zstd "lib") (cargo-inputs 'codex-acp)))
(("git = \"https://github.com/openai/codex\", tag = \"rust-v0.117.0\"")
"version = \"0.117.0\""))
;; Disable V8 runtime in codex-code-mode (transitive dep).
(let ((port (open-file "Cargo.toml" "a")))
(display "
[dependencies.codex-code-mode]
version = \"0.117.0\"
default-features = false
" port)
(close-port port))
;; Point codex-linux-sandbox at system bubblewrap source.
(setenv "CODEX_BWRAP_SOURCE_DIR"
(string-append
(assoc-ref inputs "bubblewrap-source")
"/"))))
(add-before 'check 'set-home
(lambda _
(setenv "HOME" "/tmp")
(setenv "USER" "nixbld")))
(add-before 'build 'create-node-version-file
(lambda _
;; codex-core's js_repl uses include_str! to read
;; node-version.txt four directories up from its source;
;; create it where the vendored crate expects it.
(call-with-output-file "guix-vendor/node-version.txt"
(lambda (port)
(display "22.22.0" port))))))))
(native-inputs
`(("cmake-minimal" ,cmake-minimal)
("clang" ,clang)
("pkg-config" ,pkg-config)
("bubblewrap-source" ,(package-source bubblewrap))))
(inputs (cons* libcap openssl sqlite zlib `(,zstd "lib")
(cargo-inputs 'codex-acp)))
(home-page "https://github.com/zed-industries/codex-acp")
(synopsis "ACP-compatible agent bridging Zed Codex with ACP clients")
(description

View File

@@ -150,7 +150,7 @@ as created by Podman, CRI-O and containerd.")))
(define-public crun
(package
(name "crun")
(version "1.25.1")
(version "1.26")
(source
(origin
(method url-fetch)
@@ -160,7 +160,7 @@ as created by Podman, CRI-O and containerd.")))
"/crun-" version ".tar.gz"))
(sha256
(base32
"02kksvnja234k8mpq5j7yms8npbpvh8iz3k03h21lwcqzqsb88rx"))))
"1hdwk5dpsz9danxiyfli07b7sqid6hr34qmhs5qjl2dcc00is89j"))))
(build-system gnu-build-system)
(arguments
(list
@@ -714,7 +714,7 @@ Its main purpose is to support the key usage by @code{docker-init}:
(define-public podman
(package
(name "podman")
(version "5.8.1")
(version "5.8.2")
(outputs '("out" "docker"))
(properties
`((output-synopsis "docker" "docker alias for podman")
@@ -727,7 +727,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 "1wdsdc0nj4m1v8mn95dhavi87ad0adqmld70da59gvp2abff5f0f"))
(base32 "12bmzbfyjsf0mwnam38cw9ib54wj1znh5b7lxzdyll9cvvkhqisr"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(arguments

View File

@@ -42,20 +42,24 @@
#:use-module (guix utils)
#:use-module (srfi srfi-26))
(define %coreboot-version "26.03")
(define %coreboot-origin
(origin
(method git-fetch)
(uri (git-reference
(url "https://review.coreboot.org/coreboot")
(commit %coreboot-version)))
(file-name (git-file-name "coreboot" %coreboot-version))
(sha256
(base32
"0436rr0vibh35phvkxrc939njvrmnfq9xw87y1b0nlllglvq07kk"))))
(define-public bincfg
(package
(name "bincfg")
(version "25.09")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://review.coreboot.org/coreboot")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"1a1n64dwr5fzdnaj45bjci85ap5yra5gwz4x056zn6481xwvbsmv"))))
(version %coreboot-version)
(source %coreboot-origin)
(build-system gnu-build-system)
(arguments
(list
@@ -126,17 +130,8 @@ It also comes with example files generated by bincfg.")
(define-public ifdtool
(package
(name "ifdtool")
(version "25.09")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://review.coreboot.org/coreboot")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"1a1n64dwr5fzdnaj45bjci85ap5yra5gwz4x056zn6481xwvbsmv"))))
(version %coreboot-version)
(source %coreboot-origin)
(build-system gnu-build-system)
(arguments
(list
@@ -160,16 +155,8 @@ dump Intel Firmware Descriptor data of an image file.")
(define-public intelmetool
(package
(name "intelmetool")
(version "25.09")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://review.coreboot.org/coreboot")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"1a1n64dwr5fzdnaj45bjci85ap5yra5gwz4x056zn6481xwvbsmv"))))
(version %coreboot-version)
(source %coreboot-origin)
(build-system gnu-build-system)
(arguments
(list
@@ -201,17 +188,8 @@ Management Engine (ME). You need to @code{sudo rmmod mei_me} and
(define-public nvramtool
(package
(name "nvramtool")
(version "25.09")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://review.coreboot.org/coreboot")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"1a1n64dwr5fzdnaj45bjci85ap5yra5gwz4x056zn6481xwvbsmv"))))
(version %coreboot-version)
(source %coreboot-origin)
(build-system gnu-build-system)
(arguments
(list

View File

@@ -276,18 +276,17 @@ Ed448-Goldilocks and Curve448, using the Decaf encoding.")
(define-public libsodium
(package
(name "libsodium")
(version "1.0.18")
(source (origin
(method url-fetch)
(uri (list (string-append
"https://download.libsodium.org/libsodium/"
"releases/libsodium-" version ".tar.gz")
(string-append
"https://download.libsodium.org/libsodium/"
"releases/old/libsodium-" version ".tar.gz")))
(sha256
(base32
"1h9ncvj23qbbni958knzsli8dvybcswcjbx0qjjgi922nf848l3g"))))
(version "1.0.22")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/jedisct1/libsodium")
(commit (string-append version "-RELEASE"))))
(file-name (git-file-name name version))
(sha256
(base32
"05lqdn6nzldsia5mv5a9xfvc5k0kybh9snwv7qsb135gva4bpjwk"))))
(build-system gnu-build-system)
(synopsis "Portable NaCl-based crypto library")
(description

View File

@@ -69,6 +69,8 @@
;;; Copyright © 2025 Simen Endsjø <contact@simendsjo.me>
;;; Copyright © 2025 bdunahu <bdunahu@operationnull.com>
;;; Copyright © 2026 Spencer King <spencer.king@wustl.edu>
;;; Copyright © 2026 Peter Polidoro <peter@polidoro.io>
;;; Copyright © 2026 Josep Bigorra <jjbigorra@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -125,6 +127,7 @@
#:use-module (gnu packages gperf)
#:use-module (gnu packages gtk)
#:use-module (gnu packages guile)
#:use-module (gnu packages guile-xyz)
#:use-module (gnu packages icu4c)
#:use-module (gnu packages jemalloc)
#:use-module (gnu packages language)
@@ -197,6 +200,7 @@
#:use-module (guix build-system emacs)
#:use-module (guix build-system gnu)
#:use-module (guix build-system go)
#:use-module (guix build-system guile)
#:use-module (guix build-system meson)
#:use-module (guix build-system perl)
#:use-module (guix build-system pyproject)
@@ -3096,6 +3100,64 @@ Driver.")
;; COPYING contains copy of lgpl2.1 - but copyright notices just say "LGPL"
(home-page "https://www.unixodbc.org")))
(define-public sqliteodbc
(package
(name "sqliteodbc")
(version "0.99991")
(source (origin
(method url-fetch)
(uri (string-append "http://www.ch-werner.de/sqliteodbc/"
name "-" version ".tar.gz"))
(sha256
(base32
"0p4avhqxnd2l49g3vpzwrmdi8wxyqzy0vswalaagmqfdsfwav52d"))))
(build-system gnu-build-system)
(arguments
(list
#:tests? #f ; no check target
#:configure-flags
#~(list "--disable-static"
(string-append "--with-sqlite3=" #$(this-package-input "sqlite"))
(string-append "--with-odbc=" #$(this-package-input "unixodbc")))
#:phases
#~(modify-phases %standard-phases
(add-before 'install 'create-lib-directory
(lambda _
(mkdir-p (string-append #$output "/lib"))))
(add-after 'install 'remove-extra-sqlite-extensions
(lambda _
;; Keep this package focused on the ODBC driver itself.
(for-each delete-file
(find-files (string-append #$output "/lib")
"^libsqlite3_mod_.*\\.(la|so)$"))))
(add-after 'install 'install-odbcinst.ini
(lambda _
(let ((dir (string-append #$output "/share/sqliteodbc")))
(mkdir-p dir)
(call-with-output-file (string-append dir "/odbcinst.ini")
(lambda (port)
(display
(string-append
"[SQLite3]\n"
"Description = SQLite3 ODBC Driver\n"
"Driver = " #$output "/lib/libsqlite3odbc.so\n"
"Setup = " #$output "/lib/libsqlite3odbc.so\n"
"Threading = 2\n")
port)))))))))
(native-search-paths
(list (search-path-specification
(variable "ODBCSYSINI")
(files '("share/sqliteodbc"))
(separator #f))))
(inputs (list sqlite unixodbc))
(home-page "http://www.ch-werner.de/sqliteodbc/")
(synopsis "ODBC driver for SQLite")
(description
"SQLiteODBC provides an ODBC driver for SQLite 3 databases. It installs
the shared library and a driver registration file so applications using
unixODBC can resolve the @code{SQLite3} driver name from a Guix profile.")
(license license:tcl/tk)))
(define-public nanodbc
(package
(name "nanodbc")
@@ -4987,6 +5049,54 @@ postgresql = postgresql://nixbld@/yoyo_test~%")))
files or Python scripts that define a list of migration steps.")
(license license:asl2.0)))
(define-public mutastructura
(package
(name "mutastructura")
(version "0.6.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://codeberg.org/jjba23/mutastructura")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "08vzlc5imavqf3bdzgbh70c7z44xjhf05gr7i2g5ksl49lv39gzh"))))
(build-system guile-build-system)
(arguments
(list
#:source-directory "src"
#:phases
#~(modify-phases %standard-phases
(add-before 'build 'install-program-files
(lambda _
(let* ((bin (string-append #$output "/bin"))
(share (string-append #$output "/share")))
(copy-recursively "resources"
(string-append share "/resources"))
(install-file "scripts/mutastructura" bin)
(install-file "scripts/log.bash"
(string-append share "/scripts/"))
(chmod (string-append bin "/mutastructura") #o755)))))))
(native-inputs (list guile-3.0))
(propagated-inputs (list guile-dbi
guile-dbd-mysql
guile-dbd-sqlite3
guile-dbd-postgresql
guile-gcrypt))
(inputs (list guile-3.0 bash-minimal))
(home-page "https://codeberg.org/jjba23/mutastructura")
(synopsis "Relational database schema migrations powered by Guile Scheme")
(description
"Mutastructura provides a familiar, declarative and transactional
approach to managing database states. It exposes a user-friendly
@acronym{CLI, command-line interface} and has support for PostgreSQL, MySQL, and SQLite.
It also exposes library functions and can be imported and used directly from other Guile code.
Features include executing migrations transactionally and computing SHA256
checksums to track schema evolution in a @code{migrations_history} table.")
(license license:agpl3+)))
(define-public python-mysqlclient
(package
(name "python-mysqlclient")

View File

@@ -31,7 +31,7 @@
;;; Copyright © 2023 Zheng Junjie <873216071@qq.com>
;;; Copyright © 2024-2025 Sharlatan Hellseher <sharlatanus@gmail.com>
;;; Copyright © 2025 Ashish SHUKLA <ashish.is@lostca.se>
;;; Copyright © 2025 Vinicius Monego <monego@posteo.net>
;;; Copyright © 2025, 2026 Vinicius Monego <monego@posteo.net>
;;; Copyright © 2025 Grigory Shepelev <shegeley@gmail.com>
;;; Copyright © 2026 Luis Guilherme Coelho <lgcoelho@disroot.org>
@@ -94,6 +94,8 @@
#:use-module (gnu packages gnome)
#:use-module (gnu packages gnupg)
#:use-module (gnu packages golang-build)
#:use-module (gnu packages golang-check)
#:use-module (gnu packages golang-compression)
#:use-module (gnu packages golang-xyz)
#:use-module (gnu packages graphics)
#:use-module (gnu packages gtk)
@@ -420,6 +422,49 @@ tables, and it understands a variety of different formats.")
similarity.")
(license license:gpl3+)))
(define-public gdu
(package
(name "gdu")
(version "5.35.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/dundee/gdu")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "051xf3wncdiavjwyl9djmni5vd2dqjgn6drkw2nm21c9l0rjfv6d"))))
(build-system go-build-system)
(arguments
(list
#:install-source? #f
#:import-path "github.com/dundee/gdu/v5/cmd/gdu"
#:unpack-path "github.com/dundee/gdu/v5"))
(native-inputs
(list go-github-com-dgraph-io-badger-v4
go-github-com-fatih-color
go-github-com-gdamore-tcell-v2
go-github-com-h2non-filetype
go-github-com-maruel-natural
go-github-com-mattn-go-isatty
go-github-com-pkg-errors
go-github-com-rivo-tview
go-github-com-sirupsen-logrus
go-github-com-spf13-cobra
go-github-com-stretchr-testify
go-github-com-ulikunitz-xz
go-golang-org-x-sys
go-golang-org-x-text
go-gopkg-in-yaml-v3
go-modernc-org-sqlite))
(home-page "https://github.com/dundee/gdu")
(synopsis "Disk usage analyzer")
(description "Gdu is a disk usage analyzer written in Go. It is intended
primarily for SSD disks where it can fully utilize parallel processing, but it
also works on HDDs.")
(license license:expat)))
(define-public gpart
;; The latest (0.3) release is from 2015 and is missing a crash fix.
(let ((commit "ec03350a01ad69708b5a3e2d47b8e002b0eba6c9")

View File

@@ -108,9 +108,7 @@
(lambda _
(invoke "cmake" "--install" "."))))))
(inputs
`(("libconfig" ,libconfig)
("libedit" ,libedit)
("zlib" ,zlib)))
`(("zlib" ,zlib)))
(native-inputs
`(("lld-wrapper" ,(make-lld-wrapper lld-17 #:lld-as-ld? #t))
("llvm" ,llvm-17)

View File

@@ -77,6 +77,8 @@
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages protobuf)
#:use-module (gnu packages python)
#:use-module (gnu packages python-build)
#:use-module (gnu packages python-web)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages ragel)
#:use-module (gnu packages serialization)
@@ -93,6 +95,8 @@
#:use-module (guix build-system glib-or-gtk)
#:use-module (guix build-system gnu)
#:use-module (guix build-system meson)
#:use-module (guix build-system pyproject)
#:use-module (guix build-system python)
#:use-module (guix download)
#:use-module (guix gexp)
#:use-module (guix git-download)
@@ -303,6 +307,58 @@ protocol.")
(home-page "https://github.com/earlchew/cloudflare-cli")
(license license:expat))))
(define-public ddclient
(package
(name "ddclient")
(version "4.0.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/ddclient/ddclient")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0sz4f7qx4yjg6q6ybhzilb7f0kshz46c54y3i4hq2nww2bhkc8a4"))))
(build-system gnu-build-system)
(arguments
(list
#:phases
#~(modify-phases %standard-phases
(add-before 'bootstrap 'patch-ddclient.in-shebang
(lambda _
;; This is run in the bootstrap phase, so patch before
(patch-shebang "ddclient.in")))
(add-after 'install 'wrap-program
(lambda* (#:key inputs #:allow-other-keys)
(wrap-program (string-append #$output "/bin/ddclient")
`("PERL5LIB" ":" prefix
,(map (lambda (input-name)
(string-append (assoc-ref inputs input-name)
"/lib/perl5/site_perl"))
'("perl-json")))))))))
(native-inputs
(list autoconf
automake
perl-http-daemon
perl-plack
perl-test-mockmodule
perl-test-tcp
perl-test-warnings))
(inputs
(list curl
perl
perl-json
bash-minimal))
(home-page "https://github.com/ddclient/ddclient")
(synopsis "Dynamic DNS update client")
(description
"ddclient is used to update dynamic DNS entries for accounts on many
dynamic DNS services. It supports a wide range of routers and protocols,
including Cloudflare, Namecheap, DynDNS, FreeDNS, Google Domains, and many
more.")
(license license:gpl2+)))
(define-public ldns
(package
(name "ldns")
@@ -498,6 +554,39 @@ and BOOTP/TFTP for network booting of diskless machines.")
;; Source files only say GPL2 and GPL3 are allowed.
(license (list license:gpl2 license:gpl3))))
(define-public dnsupdate
(package
(name "dnsupdate")
(version "0.4.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/lopsided98/dnsupdate")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0bp6mm0yhg4hs698xdmvcfad4jqf5rgb1cab88pfzyx9w52x0ag6"))))
(build-system pyproject-build-system)
(arguments
(list #:test-backend #~'unittest
#:test-flags #~'("discover" "-p" "*_test.py")))
(native-inputs
(list python-setuptools))
(propagated-inputs
(list python-beautifulsoup4
python-netifaces
python-pyyaml
python-requests))
(home-page "https://github.com/lopsided98/dnsupdate")
(synopsis "Modern and flexible dynamic DNS client")
(description
"Dnsupdate is a dynamic DNS client that provides support for multiple DNS
services, including Afraid.org FreeDNS, Cloudflare, IETF standard DNS
updates (nsupdate), and custom HTTP-based services. It uses YAML
configuration files and supports multiple address detection methods.")
(license license:gpl3+)))
;; 'bind' is the name of a built-in Guile procedure, which is why we choose a
;; different name here.
(define-public isc-bind

View File

@@ -1069,7 +1069,7 @@ characterization result in a liberty library file.")
(define-public kicad
(package
(name "kicad")
(version "10.0.0")
(version "10.0.1")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -1077,7 +1077,7 @@ characterization result in a liberty library file.")
(commit version)))
(sha256
(base32
"1470x1276yvd8li3w25zjg73fkpl2qp4dsx7adanafq5c4l47rmc"))
"1mnlv8fyz03pfg8pkqwdl5gjz6vsk98c6414lf3wkvrkb85ljaav"))
(file-name (git-file-name name version))))
(build-system cmake-build-system)
(arguments
@@ -1185,7 +1185,9 @@ characterization result in a liberty library file.")
"Kicad is a program for the formation of printed circuit
boards and electrical circuits. The software has a number of programs that
perform specific functions, for example, pcbnew (Editing PCB), eeschema (editing
electrical diagrams), gerbview (viewing Gerber files) and others.")
electrical diagrams), gerbview (viewing Gerber files) and others. To use
SQLite-backed database libraries, install the optional @code{sqliteodbc}
package.")
(license license:gpl3+)))
(define-public kicad-doc
@@ -1200,7 +1202,7 @@ electrical diagrams), gerbview (viewing Gerber files) and others.")
(file-name (git-file-name name version))
(sha256
(base32
"1k0ayxsy0nnv9qxkii9yrxs7jx9y3wfjpsv5yl9wql3vdg3qay69"))))
"1c0vn13rp0z12rlqhl321pk2gj9577dyky6xj3i6hb040i3v7zrr"))))
(build-system cmake-build-system)
(arguments
`(#:configure-flags (list "-DBUILD_FORMATS=html"
@@ -1232,7 +1234,7 @@ electrical diagrams), gerbview (viewing Gerber files) and others.")
(file-name (git-file-name name version))
(sha256
(base32
"0khfnln0f2zsz5hy31nw2rr0nflb2z3s9n9f7g41g03m9l3s43v2"))))
"0iz4lb33wdsw4f82a0ln8ycgaf39gjws03mvl2j1q9npwj6xl1cm"))))
(build-system cmake-build-system)
(native-inputs (list python-wrapper))
(arguments
@@ -1262,7 +1264,7 @@ libraries.")
(file-name (git-file-name name version))
(sha256
(base32
"0ymmd1rzrczpvcqzw1mld9x8xhbka0vvjy3kdqwysg4ri97f5wrm"))))
"0jqgyi1yb2zc6w56ba7xama0wnhrqwbbnf2fqvr47xihvdcvs87v"))))
(synopsis "Official KiCad footprint libraries")
(description "This package contains the official KiCad footprint libraries.")))
@@ -1279,7 +1281,7 @@ libraries.")
(file-name (git-file-name name version))
(sha256
(base32
"0k91iw661fpzb7saryjxdcdvk1kis7dhbcpzp7xzjk84i4jvxrp5"))))
"0jr70ry6inzc2fy3s300z0zlmihbq95ba1zckyd1wwbpplaj1gbl"))))
(synopsis "Official KiCad 3D model libraries")
(description "This package contains the official KiCad 3D model libraries.")))

View File

@@ -290,7 +290,7 @@ based upon the Common Locale Data Repository (CLDR).")
(package
(inherit elixir-ex-cldr-minimal)
(name "elixir-ex-cldr")
(version "2.43.2")
(version "2.47.2")
(source
(origin
;; The hex.pm package ships only the en locale.
@@ -300,7 +300,7 @@ based upon the Common Locale Data Repository (CLDR).")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1wgwp74ya0gkvd5pk4qv9s38p85r5yw370y4wv7jywy3hrbrj9f5"))))
(base32 "1rivy61aq0c9zfklm4bpvvkj7lzjgy316rwxl8qz92xqp6xa292y"))))
(arguments
(list
#:phases

View File

@@ -303,7 +303,17 @@ purposes. Its goal is to be as close as possible to
(list
#:test-flags
;; These tests require network access to badssl.com.
#~(list "--exclude" "network")))
#~(list "--exclude" "network")
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'make-reproducible
(lambda _
;; Buffer size has been increased in OTP 28+. For more info see:
;; https://github.com/erlang/otp/issues/9722#issuecomment-2808683303
(substitute* "test/httpoison_test.exs"
(("stream/20") "stream/100")
(("<= expected_length") "<= expected_length * 1.1")
((">= max_length") ">= max_length * 0.9")))))))
(native-inputs
(list erlang-cowboy
elixir-earmark

View File

@@ -164,7 +164,8 @@ Mix.CLI.main()"
'("ERL_LIBS" prefix ("${GUIX_ELIXIR_LIBS}"))))
programs))))))))
(outputs '("out" "src"))
(inputs (list bash-minimal erlang rebar3 git))
(inputs (list bash-minimal erlang rebar3))
(native-inputs (list git-minimal))
(native-search-paths
(list (search-path-specification
(variable "GUIX_ELIXIR_LIBS")

View File

@@ -56,7 +56,7 @@
;;; Copyright © 2019 Jelle Licht <jlicht@fsfe.org>
;;; Copyright © 2019 Björn Höfling <bjoern.hoefling@bjoernhoefling.de>
;;; Copyright © 2019 Stephen Webber <montokapro@gmail.com>
;;; Copyright © 2019, 2021 Liliana Marie Prikler <liliana.prikler@gmail.com>
;;; Copyright © 2019, 2021—2026 Liliana Marie Prikler <liliana.prikler@gmail.com>
;;; Copyright © 2019 David Wilson <david@daviwil.com>
;;; Copyright © 2020 Paul Garlick <pgarlick@tourbillion-technology.com>
;;; Copyright © 2020 Robert Smith <robertsmith@posteo.net>
@@ -147,7 +147,7 @@
;;; Copyright © 2024 Artyom V. Poptsov <poptsov.artyom@gmail.com>
;;; Copyright © 2024, 2025 Spencer King <spencer.king@wustl.edu>
;;; Copyright © 2024 emma thompson <bigbookofbug@proton.me>
;;; Copyright © 2024-2025 Liam Hupfer <liam@hpfr.net>
;;; Copyright © 2024-2026 Liam Hupfer <liam@hpfr.net>
;;; Copyright © 2024-2025 Alvin Hsu <aurtzy@gmail.com>
;;; Copyright © 2024 Olivier Rojon <o.rojon@posteo.net>
;;; Copyright © 2024 Divya Ranjan Pattanaik <divya@subvertising.org>
@@ -264,6 +264,7 @@
#:use-module (gnu packages lisp-xyz)
#:use-module (gnu packages lsof)
#:use-module (gnu packages lua)
#:use-module (gnu packages machine-learning)
#:use-module (gnu packages maths)
#:use-module (gnu packages music)
#:use-module (gnu packages version-control)
@@ -655,6 +656,30 @@ supported algorithm is chosen to ensure interoperability with
Emacs Lisp.")
(license license:gpl3)))
(define-public emacs-org-arbeitszeit
(package
(name "emacs-org-arbeitszeit")
(version "0.0.5")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/bkaestner/org-arbeitszeit")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0krxainwpn7bnnvbrrhivmh302i9dyfixs6l5wb7xw7qpjgwqzc8"))))
(build-system emacs-build-system)
(arguments (list #:tests? #f)) ; no tests
(home-page "https://github.com/bkaestner/org-arbeitszeit")
(synopsis "Calculate your worktime")
(description
"This package provides a new dynamic block for Org called \"arbeitszeit\"
(German for \"working hours\"). The dynamic block collects all clocked hours and
provides a weekly table to quickly see your accumulated overtime. To insert a
new block, use @samp{M-x org-dynamic-block-insert-dblock}.")
(license license:gpl3+)))
(define-public emacs-perl-doc
(package
(name "emacs-perl-doc")
@@ -784,7 +809,7 @@ reading the extensive documentation about BookmarkPlus on the Emacs Wiki.")
(package
(name "emacs-bqn-mode")
;; Upstream releases are tagged by date.
(version "2025-07-06")
(version "2026-02-08")
(source
(origin
(method git-fetch)
@@ -793,7 +818,7 @@ reading the extensive documentation about BookmarkPlus on the Emacs Wiki.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1b25k66nn4qa4ryhm8mzc53qvsvhgjzdngisw28cpdh109627iz3"))))
(base32 "1m9l4if3a9i6r76v370gh6azgj2lwqcnpavfv2bkvm9ad56f3pa8"))))
(build-system emacs-build-system)
(arguments
(list #:tests? #f)) ;No tests found in source.
@@ -833,7 +858,7 @@ input via a small child-frame spawned at the position of the cursor.")
(define-public emacs-arei
(package
(name "emacs-arei")
(version "0.9.6")
(version "0.9.7")
(source
(origin
(method git-fetch)
@@ -843,10 +868,13 @@ input via a small child-frame spawned at the position of the cursor.")
(file-name (git-file-name name version))
(sha256
(base32
"1m8ic5pcshz2y2maxvbgg70n4k2kgxvj98zisqal15j7djz0hzji"))))
"1fp4l8rzfd7cds80p8c9jgwwlb7rsw35djh0hs50g89h937w5s02"))))
(build-system emacs-build-system)
(arguments (list #:tests? #f)) ; no tests
(propagated-inputs (list emacs-eros emacs-sesman emacs-queue))
(arguments
(list #:lisp-directory "lisp"
#:tests? #f)) ; no tests
(propagated-inputs
(list emacs-consult emacs-eros emacs-sesman emacs-queue))
(home-page "https://git.sr.ht/~abcdw/emacs-arei")
(synopsis "Asynchronous Reliable Extensible IDE")
(description "Sleek Guile IDE for Emacs.")
@@ -4328,25 +4356,39 @@ perform static analysis of Perl code.")
(license license:gpl3+)))
(define-public emacs-flymake-flycheck
(package
(name "emacs-flymake-flycheck")
(version "20210404.2128")
(source
(origin
(method url-fetch)
(uri (string-append "https://melpa.org/packages/flymake-flycheck-"
version ".el"))
(sha256
(base32 "1m59ahd5gjlfwf328labwdlpcxh8ywywkwgfrlsy5jyxfc9ss4nv"))))
(build-system emacs-build-system)
(propagated-inputs (list emacs-flycheck))
(home-page "https://github.com/purcell/flymake-flycheck")
(synopsis "Use Flycheck checkers as Flymake backends")
(description
"This package provides support for running any Flycheck checker as a
(let ((commit "cbc0fc81bf369b36fe29a49d9e24708027f6da38")
(revision "0"))
(package
(name "emacs-flymake-flycheck")
(version (git-version "0.2" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/purcell/flymake-flycheck")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "0fda1n8hhklbq6p1s2dlvgc9xd0qy7qzb8yvxq89idx1irjx0785"))))
(build-system emacs-build-system)
(arguments
(list
#:tests? #f)) ; There is only a lint-check
(propagated-inputs
(list emacs-flycheck))
(home-page "https://github.com/purcell/flymake-flycheck")
(synopsis "Use Flycheck checkers as Flymake backends")
(description
"This package provides support for running any Flycheck checker as a
Flymake diagnostic backend. The effect is that Flymake will control when the
checker runs, and Flymake will receive its errors.")
(license license:gpl3+)))
(license license:gpl3+))))
(define-public emacs-flymake-flycheck-superseded-version
(package
(inherit emacs-flymake-flycheck)
(version "20210404.2128")
(properties (list (cons 'superseded emacs-flymake-flycheck)))))
(define-public emacs-flymake-quickdef
;; This particular commit includes bug fixes on top of 1.0.0 release.
@@ -8478,23 +8520,36 @@ them whenever another command is invoked.")
(license license:gpl3+)))
(define-public emacs-keyfreq
(let ((commit "c6955162307f37c2ac631d9daf118781009f8dda")
(revision "0"))
(package
(name "emacs-keyfreq")
(version (git-version "1.8" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/dacap/keyfreq")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"18iw0jwr9hmxv5vikqf28sknml0k14rvddp80s2cm6bglaz4sdc3"))))
(build-system emacs-build-system)
(arguments
(list
#:tests? #f)) ; No tests
(home-page "https://github.com/dacap/keyfreq")
(synopsis "Track Emacs command frequencies")
(description
"@code{emacs-keyfeq} tracks and shows how many times you used a command.")
(license license:gpl3+))))
(define-public emacs-keyfreq-superseded-version
(package
(name "emacs-keyfreq")
(inherit emacs-keyfreq)
(version "20160516.716")
(source
(origin
(method url-fetch)
(uri (string-append "http://melpa.org/packages/keyfreq-"
version ".el"))
(sha256
(base32
"008hd7d06qskc3mx0bbdgpgy2pwxr8185fzlyqf9qjg49y74p6g8"))))
(build-system emacs-build-system)
(home-page "https://github.com/dacap/keyfreq")
(synopsis "Track Emacs command frequencies")
(description "@code{emacs-keyfeq} tracks and shows how many times you used
a command.")
(license license:gpl3+)))
(properties (list (cons 'superseded emacs-keyfreq)))))
(define-public emacs-khalel
(package
@@ -13490,8 +13545,8 @@ for compilation, debugging, documentation lookup, and so on.")
(license (list license:gpl2+ license:public-domain))))
(define-public emacs-sliver
(let ((commit "d08d41947bb943f25ee2de9573459a6c720e027f")
(revision "0"))
(let ((commit "b4cb9cd2a810ba59c946e2592c4a4d56060a8d22")
(revision "1"))
(package
(name "emacs-sliver")
;; No tagged releases. Version comes from source code.
@@ -13504,7 +13559,7 @@ for compilation, debugging, documentation lookup, and so on.")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "08qycim0mxyiqbik9hjlmzpdggl506bcsv1q1icxzd05bm73sh6n"))))
(base32 "1wddivmp5f4m6fdib96vfylqp4kgcw3ipdsi4b9w50dqzvrqrfjh"))))
(build-system emacs-build-system)
(arguments
(list
@@ -13806,6 +13861,28 @@ structure as input representing the HTML tree you want to generate and
generates it as a string. Please see the homepage for usage examples.")
(license license:gpl3+))))
(define-public emacs-jag
(package
(name "emacs-jag")
(version "0.5")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://codeberg.org/martianh/jag.el")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0hfv3hf0p7y5imrzb6rv90cjxd22ih2n529ggc7fwgd1n40zvgj8"))))
(build-system emacs-build-system)
(propagated-inputs (list emacs-string-inflection emacs-swagg))
(home-page "https://codeberg.org/martianh/jag.el")
(synopsis "Generate API client libraries in elisp using swagg.el")
(description
"This package provides utilities to use swagg.el to generate API client
libraries from Swagger specs.")
(license license:gpl3+)))
(define-public emacs-jedi
(package
(name "emacs-jedi")
@@ -15230,25 +15307,39 @@ markdown features.")
(license license:gpl3)))
(define-public emacs-2048-game
(package
(name "emacs-2048-game")
(version "20151026.1233")
(source
(origin
(method url-fetch)
(uri (string-append "https://melpa.org/packages/2048-game-"
version ".el"))
(sha256
(base32
"0gy2pvz79whpavp4jmz8h9krzn7brmvv3diixi1d4w51pcdvaldd"))))
(build-system emacs-build-system)
(home-page "https://hg.sr.ht/~zck/game-2048")
(synopsis "Implementation of the game 2048 in Emacs Lisp")
(description
"This program is an implementation of 2048 for Emacs.
;; No tagged releases. Version comes from 2048-game.el
(let ((changeset "0e7210d05e6faf53c7bdc8be2381dc0d4c8b19f3")
(revision "0"))
(package
(name "emacs-2048-game")
(version (hg-version "2023.8.8.1" revision changeset))
(source
(origin
(method hg-fetch)
(uri (hg-reference
(url "https://hg.sr.ht/~zck/game-2048")
(changeset changeset)))
(file-name (hg-file-name name version))
(sha256
(base32
"01xzmi2613d4zwnrh9iywipxx8ml76yqik90mx4mpyar19a6ypi8"))))
(build-system emacs-build-system)
(arguments
(list
#:tests? #f)) ; No tests
(home-page "https://hg.sr.ht/~zck/game-2048")
(synopsis "Implementation of the game 2048 in Emacs Lisp")
(description
"This program is an implementation of 2048 for Emacs.
The goal of this game is to create a tile with value 2048. The size of the
board and goal value can be customized.")
(license license:gpl3+)))
(license license:gpl3+))))
(define-public emacs-2048-game-superseded-version
(package
(inherit emacs-2048-game)
(version "20151026.1233")
(properties (list (cons 'superseded emacs-2048-game)))))
(define-public emacs-chess
(package
@@ -15733,8 +15824,16 @@ versions utilizing Consult's internal API.")
(arguments
(list
#:tests? #f ;no tests
#:include #~(cons "^extensions\\/consult-eglot-embark"
%default-include)))
#:phases
#~(modify-phases %standard-phases
;; Move the extensions source files to the top level, which is
;; included in the EMACSLOADPATH.
(add-after 'unpack 'move-source-files
(lambda _
(let ((el-files (find-files "./extensions" ".*\\.el$")))
(for-each (lambda (f)
(rename-file f (basename f)))
el-files)))))))
(propagated-inputs (list emacs-consult emacs-eglot emacs-embark))
(home-page "https://github.com/mohkale/consult-eglot")
(synopsis "Consulting-read interface for eglot")
@@ -16816,6 +16915,32 @@ The following completions are currently available:
@end itemize")
(license license:gpl3+)))
(define-public emacs-swagg
(package
(name "emacs-swagg")
(version "0.4.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/isamert/swagg.el")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1xlknc7j5vz1sv5gwr8v6vyfginflsksjyzx6qz1svibkdwp223g"))))
(build-system emacs-build-system)
(propagated-inputs (list emacs-compat
emacs-dash
emacs-s
emacs-request
emacs-yaml))
(home-page "https://github.com/isamert/swagg.el")
(synopsis "UI to interact with OpenAPI definations")
(description
"This package provides a practical Emacs UI for OpenAPI definitions. It
lets you fetch and interact with OpenAPI (formerly Swagger) definitions.")
(license license:gpl3+)))
(define-public emacs-sway
(let ((commit "84eae5e16a643eb00b0a422ded751cceb17cc8f0")
(revision "0"))
@@ -24580,6 +24705,13 @@ Meows motions.")
#:tests? #f ; no test suite
#:phases
#~(modify-phases %standard-phases
(add-before 'patch-el-files 'patch-xauth-path
;; Uses xauth directly at runtime to authenticate with the X server.
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "xcb.el"
(("xauth list")
(string-append (search-input-file inputs "/bin/xauth")
" list")))))
(add-after 'expand-load-path 'regenerate-el-files
(lambda* (#:key inputs native-inputs #:allow-other-keys)
(substitute* "xelb-gen"
@@ -24587,6 +24719,7 @@ Meows motions.")
(invoke "make"
(format #f "PROTO_PATH=~a/share/xcb"
#$(this-package-native-input "xcb-proto"))))))))
(inputs (list xauth))
(native-inputs (list xcb-proto))
(propagated-inputs (list emacs-compat))
(home-page "https://github.com/emacs-exwm/xelb")
@@ -24973,7 +25106,7 @@ lines, and @code{gc} to comment out the target of a motion.")
(define-public emacs-eglot
(package
(name "emacs-eglot")
(version "1.21")
(version "1.23")
(source
(origin
(method url-fetch)
@@ -24981,7 +25114,7 @@ lines, and @code{gc} to comment out the target of a motion.")
".tar"))
(sha256
(base32
"03fx22rv8ijxq0jnn7xlfqhkpk2b109ygpjbcchp41sa4q7d6nbl"))))
"1l83c90rdamlk576bd859jkg6406hgxi7w4c6ixlw509c66qr3s6"))))
(build-system emacs-build-system)
(propagated-inputs
(list emacs-eldoc
@@ -25694,6 +25827,52 @@ available key bindings that follow C-x (or as many as space allows given your
settings).")
(license license:gpl3+)))
(define-public emacs-whisper-el
(let ((commit "fd9bf5787a99dd31a4bdf54d2bd9821aacf84e93")
(revision "0"))
(package
(name "emacs-whisper-el")
(version "0.4.7")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/natrys/whisper.el")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"0za55s117v7sc7cj4xlxxhkaamjlggs1g319n7fz54saa2wzmdj5"))))
(build-system emacs-build-system)
(arguments
(list
#:tests? #f ;no tests
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'set-external-programs
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "whisper.el"
(("\\(executable-find \"ffmpeg\"\\)")
"t")
(("\"ffmpeg\"")
(string-append "\"" #$(this-package-input "ffmpeg")
"/bin/ffmpeg\""))
((",\\(whisper--find-whispercpp-main\\)")
(string-append "\"" #$(this-package-input "whisper-cpp")
"/bin/whisper-cli\"")))
(emacs-substitute-variables "whisper.el"
("whisper-install-whispercpp" 'nil)))))))
(inputs
(list ffmpeg whisper-cpp))
(home-page "https://github.com/natrys/whisper.el")
(synopsis "Speech to text interface for Emacs")
(description
"@code{emacs-whisper-el} captures audio with an input device, and
transcribes text inserted into current Emacs buffer, optionally after
translating to English from your local language. Transcription uses the
C/C++ port whisper.cpp for inference.")
(license license:gpl3+))))
;; Tagged release upstream is from before the package was orphaned.
;; The base version is extracted from the "Version" keyword in the main file
;; with "-git" suffix removed.
@@ -31894,6 +32073,31 @@ leverages the Parinfer Rust Emacs library to do most of the heavy lifting.")
bookmarks and history.")
(license license:gpl3+)))
(define-public emacs-shr-syntax-highlight
(package
(name "emacs-shr-syntax-highlight")
(version "0.1.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://codeberg.org/coopi/emacs-shr-syntax-highlight")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "04ax8svpw2s0085pp93dsz5xhhbqr58ghkr1ab2g38pczlsbz18s"))))
(build-system emacs-build-system)
(home-page "https://codeberg.org/coopi/emacs-shr-syntax-highlight")
(synopsis "Syntax highlighting for code blocks rendered by shr")
(description
"This package adds syntax highlighting to @code{<pre>} code blocks
rendered by @acronym{@code{shr}, Simple @acronym{HTML, HyperText Markup
Language} Renderer}, used by @acronym{EWW, Emacs Web Wowser} and similar
interfaces. It reads @acronym{CSS, Cascading Style Sheets} class annotations
such as @code{language-python} and fontifies block contents using the
corresponding Emacs major mode.")
(license license:agpl3+)))
(define-public emacs-stumpwm-mode
(let ((commit "920f8fc1488f7953f205e1dda4c2ecbbbda56d6")
(revision "3"))
@@ -35412,12 +35616,199 @@ files are easily readable and they work nicely with version control systems.")
(build-system emacs-build-system)
(arguments
(list #:include #~(cons "^data\\/" %default-include)
#:tests? #f)) ; no tests
#:tests? #f ; no tests
#:phases
#~(modify-phases %standard-phases
;; The nerd-icons-install-fonts function would otherwise
;; download fonts from the network. Replace it with a stub
;; that instructs the user to install the font via Guix.
(add-after 'unpack 'disable-font-installer
(lambda _
(emacs-batch-edit-file "nerd-icons.el"
'(progn
(search-forward "(defun nerd-icons-install-fonts")
(beginning-of-line)
(kill-sexp)
(insert "\
(defun nerd-icons-install-fonts (&optional pfx)
(interactive \"P\")
(message \"To use nerd-icons fonts, install `font-nerd-symbols' using
`guix package -i font-nerd-symbols' or add it to your manifest or home config.
Remember, that you may have to run `fc-cache -rv' to refresh the font cache.\
\"))")
(basic-save-buffer))))))))
(synopsis "Library for easily using nerd font icons inside Emacs")
(description "Nerd-icons an alternative to all-the-icons. It works on both
GUI and terminal, and requires a nerd font installed on your system.")
(license license:gpl3+))))
(define-public emacs-nerd-icons-dired
;; No tags provided upstream
(let ((commit "adf9a2bb5f3f13be7a676923639337f3fcc5d8c3")
(revision "0"))
(package
(name "emacs-nerd-icons-dired")
(version (git-version "0.0.1" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/rainstormstudio/nerd-icons-dired")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "0x1xmwlfjgbk5kk4bxvgz4ykwwgiwmdbzhgsw49kpzz678a3qzrp"))))
(build-system emacs-build-system)
(arguments
(list
#:tests? #f)) ;no tests
(propagated-inputs (list emacs-nerd-icons))
(home-page "https://github.com/rainstormstudio/nerd-icons-dired")
(synopsis "Icons for Dired via Nerd Icons")
(description
"This package adds icons to Dired, using the @code{nerd-icons} package.")
(license license:gpl3+))))
(define-public emacs-nerd-icons-ivy-rich
;; Tagged release is not up-to-date, according to the "Version:" keyword in
;; main file.
(let ((commit "5006f91b49e86e232cdc1a628501b76124c41dac")
(revision "0"))
(package
(name "emacs-nerd-icons-ivy-rich")
(version (git-version "1.0.1" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/seagle0128/nerd-icons-ivy-rich")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "0m62l4cl9j3ssd25rz40vgrv99bmwn6l4ig2sf8zzi0fpzm8axgh"))))
(build-system emacs-build-system)
(arguments
(list
#:tests? #f)) ;tests require Cask
(propagated-inputs
(list emacs-ivy-rich
emacs-nerd-icons))
(home-page "https://github.com/seagle0128/nerd-icons-ivy-rich")
(synopsis "Icons for Ivy via Nerd Icons")
(description
"This package adds icons to Ivy, using the @code{ivy-rich} and
@code{nerd-icons} packages.")
(license license:gpl3+))))
(define-public emacs-nerd-icons-ibuffer
(package
(name "emacs-nerd-icons-ibuffer")
(version "1.0.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/seagle0128/nerd-icons-ibuffer")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1wj6kcgvh700maj9i5pmgzc48lbj0dbxx849a8w519m4anr7b23s"))))
(build-system emacs-build-system)
(arguments
(list
#:tests? #f)) ;tests require Cask
(propagated-inputs
(list emacs-nerd-icons))
(home-page "https://github.com/seagle0128/nerd-icons-ibuffer")
(synopsis "Icons for Ibuffer via Nerd Icons")
(description
"This package adds icons to ibuffer in Emacs, using the @code{nerd-icons}
package.")
(license license:gpl3+)))
(define-public emacs-nerd-icons-completion
;; No tags provided upstream
(let ((commit "63a6b3f1eb98bb381c86a1658ac401c8967079b8")
(revision "0"))
(package
(name "emacs-nerd-icons-completion")
(version (git-version "0.0.1" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/rainstormstudio/nerd-icons-completion")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "08p361rh5mv3ng10av1381kzl9s4msdjyca96hsgsh05qwq5pdrf"))))
(build-system emacs-build-system)
(arguments
(list
#:tests? #f)) ;no tests
(propagated-inputs (list emacs-nerd-icons))
(home-page "https://github.com/rainstormstudio/nerd-icons-completion")
(synopsis "Icons for Emacs minibuffer completion via Nerd Icons")
(description
"This package adds icons to minibuffer completion in Emacs, using the
@code{nerd-icons} package. It supports @code{vertico} and @code{marginalia}.")
(license license:gpl3+))))
(define-public emacs-nerd-icons-corfu
(package
(name "emacs-nerd-icons-corfu")
(version "1.0.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/LuigiPiucco/nerd-icons-corfu")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "036p45wqwrqhn5xv5sn3gsm2mb79gj6fk24zpkfa7wrv45qqgb21"))))
(build-system emacs-build-system)
(arguments
(list
#:tests? #f)) ;no tests
(propagated-inputs
(list emacs-corfu
emacs-nerd-icons))
(home-page "https://github.com/LuigiPiucco/nerd-icons-corfu")
(synopsis "Icons for Corfu via Nerd Icons")
(description
"This package adds icons to @code{corfu}, using the @code{nerd-icons}
package.")
(license license:gpl3+)))
(define-public emacs-nerd-icons-mode-line
;; No tags provided upstream
(let ((commit "23eca8e16799524889d661f4140355e81b8f929c")
(revision "0"))
(package
(name "emacs-nerd-icons-mode-line")
(version (git-version "0.0.1" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/grolongo/nerd-icons-mode-line")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "0l2bg22cllab9wz5wxd6zhrywavqrlvv1a6y49ij63qhlsfncy6s"))))
(build-system emacs-build-system)
(arguments
(list
#:tests? #f)) ;no tests
(propagated-inputs (list emacs-nerd-icons))
(home-page "https://github.com/grolongo/nerd-icons-mode-line")
(synopsis "Icons for the Emacs modeline via Nerd Icons")
(description
"This package adds icons to the modeline in Emacs, using the
@code{nerd-icons} package.")
(license license:gpl3+))))
(define-public emacs-all-the-icons
;; The latest release was on 3 June 2021.
(let ((commit "4778632b29c8c8d2b7cd9ce69535d0be01d846f9")
@@ -41089,7 +41480,7 @@ time.")
(define-public emacs-mastodon
(package
(name "emacs-mastodon")
(version "2.0.12")
(version "2.0.16")
(source
(origin
(method git-fetch)
@@ -41098,7 +41489,7 @@ time.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0q02v1vizzj1r35b7b6cw185jjibhc6izj9ih4sm6c83l9yb99yh"))))
(base32 "1z8qwnc01d9hx5m1xj3acpdzllfh4rxmypzcr3jl4ipp6dybzbx6"))))
(build-system emacs-build-system)
(arguments
(list
@@ -41211,7 +41602,17 @@ Lisp's (relatively new) EIEIO object oriented libraries.")
(sha256
(base32 "1y3k82q5iii7ddm6yj7397x2jscbcnvapd04zc5wjkqdr50cay3l"))))
(build-system emacs-build-system)
(arguments (list #:tests? #f)) ;depends on exemplify-ert
(arguments
(list
#:test-command #~(list "make" "tests")
#:phases
#~(modify-phases %standard-phases
(add-before 'check 'remove-cask
(lambda _
(substitute* "Makefile"
(("cask ") "")))))))
(native-inputs
(list emacs-el-mock emacs-exemplify-ert emacs-exemplify-eval))
(propagated-inputs (list emacs-fedi emacs-magit emacs-tp emacs-transient))
(home-page "https://codeberg.org/martianh/fj.el")
(synopsis "Client for Forgejo instances")
@@ -44904,6 +45305,57 @@ Features:
@end itemize\n")
(license license:gpl3+)))
(define-public emacs-exemplify-ert
(package
(name "emacs-exemplify-ert")
(version "0.6.3")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://git.sr.ht/~flandrew/exemplify-ert")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0y98pf3hq595h7vkqs1rrwhdsizi22y32mv345drvrc6xysyb7hr"))))
(build-system emacs-build-system)
(arguments
(list
#:test-command #~(list "emacs" "-Q" "--batch"
"-l" "dev/examples.el"
"-f" "ert-run-tests-batch-and-exit")))
(propagated-inputs (list emacs-dash emacs-f emacs-s))
(home-page "https://git.sr.ht/~flandrew/exemplify-ert")
(synopsis "Emacs library to implement regression tests")
(description
"This Emacs package is an extension to @code{ert}. It aims at writing
test cases in a simplified form.")
(license license:gpl3+)))
(define-public emacs-exemplify-eval
(package
(name "emacs-exemplify-eval")
(version "0.3.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://git.sr.ht/~flandrew/exemplify-eval")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0f2rfgjcmpw45y0ayx8ww9d9q86y0jwkb46ixp1qd7782qxpa5lg"))))
(build-system emacs-build-system)
(arguments
(list #:tests? #f)) ;no tests
(home-page "https://git.sr.ht/~flandrew/exemplify-eval")
(synopsis "Create arrowified examples from sexps")
(description
"This Emacs package is an extension to @code{ert}, and creates
@code{emacs-exemplify-ert}like examples. It aims at writing test cases in a
simplified form.")
(license license:gpl3+)))
(define-public emacs-pcmpl-args
(package
(name "emacs-pcmpl-args")

View File

@@ -3452,7 +3452,7 @@ This is a part of the TiLP project.")
(define-public mame
(package
(name "mame")
(version "0.252")
(version "0.287")
(source
(origin
(method git-fetch)
@@ -3461,16 +3461,16 @@ This is a part of the TiLP project.")
(commit (apply string-append "mame" (string-split version #\.)))))
(file-name (git-file-name name version))
(sha256
(base32 "07qhcm1v47sy2wj30nx3cbhvcbgki0cl83gabr0miiw60fhgyn6j"))
(base32 "1p9v71gvaqiyj6sa1b0wkdksa9wnr6yr2a43ckycljjfas5s36kq"))
(modules '((guix build utils)))
(snippet
;; Remove bundled libraries.
'(begin
(with-directory-excursion "3rdparty"
(for-each delete-file-recursively
'("asio" "expat" "glm" "libflac" "libjpeg" "lua"
"portaudio" "portmidi" "pugixml" "rapidjson" "SDL2"
"SDL2-override" "sqlite3" "utf8proc" "zlib")))))))
'("asio" "expat" "glm" "flac" "libjpeg" "lua"
"portaudio" "portmidi" "pugixml" "rapidjson"
"sqlite3" "utf8proc" "zlib")))))))
(build-system gnu-build-system)
(arguments
(list
@@ -3604,7 +3604,9 @@ This is a part of the TiLP project.")
libjpeg-turbo
libxi
libxinerama
lua
;; MAME requires Lua compiled as C++ to work correctly.
;; See https://www.mamedev.org/?p=523
lua-5.4-for-c++
portaudio
portmidi
pugixml

View File

@@ -2730,7 +2730,7 @@ dynamics is used by FreeCAD 1.0.0 for its new Assembly workbench.")
(define-public freecad
(package
(name "freecad")
(version "1.1.0")
(version "1.1.1")
(source
(origin
(method git-fetch)
@@ -2740,7 +2740,7 @@ dynamics is used by FreeCAD 1.0.0 for its new Assembly workbench.")
(recursive? #t))) ;needed for the AddonManager
(file-name (git-file-name name version))
(sha256
(base32 "029ndw1dypx0xhs4fyiinf7gpk8am0vm9b24idvdsx9x7ghrqz4j"))
(base32 "05dx7ifx33705mxb0vc82j0mzzkazakgadfgq5bws30qrxp49xgg"))
(snippet
#~(begin
(use-modules (guix build utils))

View File

@@ -50,7 +50,7 @@
(define-public erlang
(package
(name "erlang")
(version "27.3.4.6")
(version "28.4.3")
(source (origin
(method git-fetch)
;; The tarball from http://erlang.org/download contains many
@@ -62,7 +62,7 @@
(file-name (git-file-name name version))
(sha256
(base32
"0dhz2c7w28ss0ypj7jh88pfs3kc8hbwiiq91in1j2miy5sn4cp3x"))
"1dsdmp2rccc0rhzy2w8r4amxmc6nr9hbi053j2s0bg9db30b48rc"))
(patches (search-patches "erlang-man-path.patch"))))
(build-system gnu-build-system)
(native-inputs
@@ -75,7 +75,7 @@
"/OTP-" version "/otp_doc_man_" version ".tar.gz"))
(sha256
(base32
"1j1fcli7ma9vi4qyv67lq7yiznhpnfvcmh57bn8qxvha6ky2pngm"))))))
"1g17wzv8j12g9272yvv55nj4wqs09hxkv3i0vnp7d6gcs24bmphi"))))))
(inputs
(list ncurses openssl wxwidgets))
(propagated-inputs

View File

@@ -220,6 +220,7 @@ testing InfiniBand networks.")
"--disable-assertions"
"--disable-params-check"
"--enable-mt"
(string-append "--with-verbs="
#$(this-package-input "rdma-core"))

View File

@@ -148,6 +148,11 @@ client.")
(list (search-path-specification
(variable "FCITX_ADDON_DIRS")
(files '("lib/fcitx5")))
(search-path-specification
(variable "GUIX_GTK2_IM_MODULE_FILE")
(file-type 'regular)
(separator #f)
(files '("lib/gtk-2.0/2.10.0/immodules-gtk2.cache")))
(search-path-specification
(variable "GUIX_GTK3_IM_MODULE_FILE")
(file-type 'regular)

View File

@@ -165,7 +165,7 @@
;; <https://bitcoincore.org/en/lifecycle/#schedule>.
(package
(name "bitcoin-core")
(version "30.2")
(version "31.0")
(source (origin
(method url-fetch)
(uri
@@ -173,7 +173,7 @@
version "/bitcoin-" version ".tar.gz"))
(sha256
(base32
"1jw4djh22v0nih0n7irdbknfbqavlc4l3b8176b5qgc88a60pl3g"))))
"1qxkcyq8nwq6sw4qi660z8n8356mqdsf4jvpq5ndkvrsx9gfz80b"))))
(build-system qt-build-system)
(arguments
(list #:qtbase qtbase
@@ -197,9 +197,7 @@
"python3" "./test/functional/test_runner.py" "--timeout-factor=2"
(string-append "--jobs=" (number->string (parallel-job-count)))))))))
(native-inputs
(list bash ; provides the sh command for system_tests
coreutils ; provides the cat, echo and false commands for system_tests
pkg-config
(list pkg-config
python ; for the tests
python-pyzmq ; for the tests
qttools))

View File

@@ -4658,46 +4658,6 @@ is a stylish type with a polished yet relaxed feel. Its versatility makes it
suitable for a wide range of uses.")
(license license:silofl1.1))))
(define-public font-cozette
(package
(name "font-cozette")
(version "1.13.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/slavfox/Cozette")
(commit (string-append "v." version))))
(file-name (git-file-name name version))
(sha256
(base32
"178i812n4sfsvid7jhnm683jlxqmrv4ck6qbb4nwyllhwg3gyq60"))))
(build-system font-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'dont-depend-on-git
(lambda _
(substitute* "build.py"
;; Merely importing this module requires a git repository.
;; We don't use get_changelog, so just disable the import.
(("from cozette_builder\\.changeloggen import get_changelog")
""))))
(add-before 'install 'build
(lambda _
(invoke "python3" "build.py" "fonts"))))))
(native-inputs
(list fontforge
python
python-crayons
python-fonttools
python-numpy
python-pillow))
(home-page "https://github.com/slavfox/Cozette")
(synopsis "Bitmap programming font")
(description "Cozette is a 6x13px (bounding box) bitmap font based on Dina
and heavily inspired by Creep.")
(license license:expat)))
(define-public font-montserrat
(package
(name "font-montserrat")
@@ -5559,6 +5519,39 @@ technical and idiosyncratic feel—perfect for headers and pull-quotes. Made to
work well together with Mona Sans.")
(license license:silofl1.1)))
(define-public font-open-sans
(package
(name "font-open-sans")
(version "3.003")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/googlefonts/opensans")
(commit "bd7e37632246368c60fdcbd374dbf9bad11969b6")))
(file-name (git-file-name name version))
(sha256
(base32 "1mlnybaci1cr8z5xzxm7l2xpwfq27x9hqv649hc2ni1cjsyhpjp8"))))
(build-system font-build-system)
(arguments
(list
#:phases
#~(modify-phases %standard-phases
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
;; Install the variable fonts only.
(let ((%install (assoc-ref %standard-phases 'install)))
(with-directory-excursion "fonts/variable"
(%install #:outputs outputs))))))))
(home-page "https://github.com/googlefonts/opensans")
(synopsis "Humanist sans-serif typeface by Steve Matteson")
(description
"Open Sans is an open source humanist sans-serif typeface
that was designed by Steve Matteson under commission from Google. It was
released in 2011 and is based on his earlier design called Droid Sans, which
was specifically created for Android mobile devices but with slight
modifications to its width.")
(license license:silofl1.1)))
(define-public font-peppercarrot
(package

View File

@@ -3454,7 +3454,7 @@ interfaces.")
(string-append (assoc-ref outputs "out")
"/share/doc/" ,name)))))))
(native-inputs
(list cmake-minimal pkg-config))
(list cmake-minimal pkg-config scdoc))
(inputs (list elogind
bash-minimal
grim

View File

@@ -5521,7 +5521,7 @@ falling, themeable graphics and sounds, and replays.")
(name "wesnoth")
;; Even-numbered minor versions indicate stable versions:
;; https://wiki.wesnoth.org/ReleasingWesnoth#Version_numbering
(version "1.18.6")
(version "1.18.7")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -5530,27 +5530,17 @@ falling, themeable graphics and sounds, and replays.")
(file-name (git-file-name name version))
(sha256
(base32
"0cdlczxczqgzdaqwydb9gfgi7d9jc39li72p2rb5nk1rlgfff79s"))))
"0hdrp4xm9d8kj8id2g5q0wwdwykx4a0f1cs8a7fghmv0czryfv7f"))))
(build-system cmake-build-system)
(arguments
(list #:tests? #f ;no test target
#:configure-flags #~'("-DENABLE_SYSTEM_LUA=ON")
#:phases
#~(modify-phases %standard-phases
(add-before 'configure 'pre-configure
(lambda _
;; XXX: Our Lua doesn't have a C++ library, force C linkage.
(substitute* '("src/lua/wrapper_lua.h"
"src/lua/wrapper_lualib.h"
"src/lua/wrapper_lauxlib.h")
(("#include \"(lua|lualib|lauxlib)\\.h\"")
"#include \"lua.hpp\"")))))))
#:configure-flags #~'("-DENABLE_SYSTEM_LUA=ON")))
(inputs
(list boost-1.83
curl
dbus
libvorbis
lua-5.4
lua-5.4-for-c++
openssl
pango
sdl2
@@ -5937,7 +5927,7 @@ Transport Tycoon Deluxe.")
(add-after 'unpack 'patch-sources
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "src/music/fluidsynth.cpp"
(("default_sf\\[\\] = \\{" all)
(("_default_soundfonts\\[\\] = \\{" all)
(string-append all "
\t/* Guix hardcoded :P */
\t\"" (search-input-file inputs "/share/soundfonts/FreePatsGM.sf2") "\",
@@ -5964,7 +5954,7 @@ Transport Tycoon Deluxe.")
(package
(inherit openttd)
(name "openttd-jgrpp")
(version "0.70.2")
(version "0.71.1")
(source
(origin
(method git-fetch)
@@ -5973,7 +5963,7 @@ Transport Tycoon Deluxe.")
(commit (string-append "jgrpp-" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1jzzvribf2cqvjl9cympyx9qpplljvmhqrrlw7aq4ckzl92d87z3"))))
(base32 "1cy1ghc1mc61hdz8lykx2ggs5nld30jdgj8y4vdli2v1ffhy7xy9"))))
(inputs (modify-inputs inputs
(append zstd harfbuzz)))
(arguments
@@ -6749,7 +6739,7 @@ in-window at 640x480 resolution or fullscreen.")
(define-public warzone2100
(package
(name "warzone2100")
(version "4.6.1")
(version "4.6.3")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/warzone2100/releases/"
@@ -6765,7 +6755,7 @@ in-window at 640x480 resolution or fullscreen.")
"inih" "re2" "utf8proc" "utfcpp")))))
(sha256
(base32
"02x5ihkpfkpjxwvh00d8yqzd796af7d684nk96hzhhq28qw5bb16"))))
"0fmiy0pm56yy69c0nhynjdiaslwlfg8cdvfl5s78g5pzdi1y47s3"))))
(build-system cmake-build-system)
(arguments (list #:configure-flags #~'("-GNinja"
"-DWZ_DISTRIBUTOR=Guix"
@@ -6802,7 +6792,7 @@ in-window at 640x480 resolution or fullscreen.")
opusfile
physfs
re2
sdl2
sdl3
sqlite
utf8proc
utfcpp
@@ -13508,8 +13498,8 @@ rules to solve permissions issues.")
(define-public steam-devices-udev-rules
;; Last release from 2019-04-10
(let ((commit "13443480a64fe8f10676606bd57da6de89f8ccb1")
(revision "1"))
(let ((commit "7dde9ecb3c386363ecd9bd0a3b77e4756d200704")
(revision "2"))
(package
(name "steam-devices-udev-rules")
(version (git-version "1.0.0.61" revision commit))
@@ -13521,7 +13511,7 @@ rules to solve permissions issues.")
(file-name (git-file-name name version))
(sha256
(base32
"0i086gmnk93q76sw1laa9br6b7zj2r6nrrw7d64y4q9wcrlxw2bi"))))
"0w0xkgi9fpvdbpl57f8fy2nwy2icm6iag39b8ifpkijlxgclx1p3"))))
(build-system copy-build-system)
(arguments
'(#:install-plan '(("./" "lib/udev/rules.d"

View File

@@ -2936,7 +2936,7 @@ to the OSM opening hours specification.")
(define-public josm
(package
(name "josm")
(version "19539")
(version "19555")
(source (origin
(method svn-fetch)
(uri (svn-reference
@@ -2945,7 +2945,7 @@ to the OSM opening hours specification.")
(recursive? #f)))
(sha256
(base32
"05kslpvdwl4fldjzl6m2kmqvbmjv5yvipfavg01l30ywhw2c7v7v"))
"0kpshdj8kf9ag7h1qqrh9jqc6c9iv8v369mk60a8g7cbzf0xpblw"))
(file-name (string-append name "-" version "-checkout"))
(modules '((guix build utils)))
(snippet

View File

@@ -19,10 +19,12 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages gkrellm)
#:use-module (guix build-system gnu)
#:use-module (guix download)
#:use-module (guix gexp)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu)
#:use-module (guix utils)
#:use-module (gnu packages gettext)
#:use-module (gnu packages gtk)
#:use-module (gnu packages pkg-config)
@@ -31,32 +33,27 @@
(define-public gkrellm
(package
(name "gkrellm")
(version "2.3.11")
(version "2.5.1")
(source
(origin
(method url-fetch)
(uri (string-append "http://gkrellm.srcbox.net/releases/gkrellm-"
version ".tar.bz2"))
(sha256
(base32 "01lccz4fga40isv09j8rjgr0qy10rff9vj042n6gi6gdv4z69q0y"))))
(method url-fetch)
(uri (string-append "https://gkrellm.srcbox.net/releases/gkrellm-"
version ".tar.bz2"))
(sha256
(base32 "0qvy2xmwmfy5f0g09yn9lr262shnx82ba04r5il2wj4qscg3r7h8"))))
(build-system gnu-build-system)
(inputs
`(("gettext" ,gettext-minimal)
("gtk+" ,gtk+-2)
("libice" ,libice)
("libsm" ,libsm)))
(native-inputs
(list pkg-config))
(inputs (list gtk+-2 libsm))
(native-inputs (list gettext-minimal pkg-config))
(arguments
`(#:tests? #f ; there is no check target
#:phases
(modify-phases %standard-phases
(delete 'configure)) ; no configure script
#:make-flags
(let ((out (assoc-ref %outputs "out")))
(list (string-append "INSTALLROOT=" out)
"CC=gcc"))))
(home-page "http://gkrellm.srcbox.net/")
(list
#:tests? #f ;there is no check target
#:phases
#~(modify-phases %standard-phases
(delete 'configure)) ;no configure script
#:make-flags
#~(list (string-append "INSTALLROOT=" #$output)
(string-append "CC=" #$(cc-for-target)))))
(home-page "https://gkrellm.srcbox.net/")
(synopsis "System monitors")
(description
"GKrellM is a single process stack of system monitors which supports

View File

@@ -1335,6 +1335,74 @@ animation of closing windowed applications.")
GNOME Shell, including the top panel, dash and overview.")
(license license:gpl3)))
(define-public gnome-shell-extension-caffeine
(package
(name "gnome-shell-extension-caffeine")
(version "59")
(source
(origin
(method git-fetch)
(uri (git-reference
(url
"https://github.com/eonpatapon/gnome-shell-extension-caffeine")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0sv0iqfb6kjhgcg4pb59n91dyf667vax96kfhz5ik5hhx9n0z43w"))))
(build-system copy-build-system)
(arguments
(list
#:install-plan
#~'(("caffeine@patapon.info"
"share/gnome-shell/extensions/caffeine@patapon.info"
#:include-regexp ("icons" "locale" "preferences" "schemas"
"\\.js(on)?$")))
#:phases
#~(modify-phases %standard-phases
(add-before 'install 'compile-schemas
(lambda _
(with-directory-excursion "caffeine@patapon.info/schemas"
(invoke "glib-compile-schemas" ".")))))))
(native-inputs (list `(,glib "bin")))
(synopsis "Disable screensaver and auto suspend in Gnome")
(description "This extension provides a quick setting toggle to enable or
disable the Gnome auto-suspend and screensaver.")
(home-page "https://github.com/eonpatapon/gnome-shell-extension-caffeine")
(license license:gpl2+)))
(define-public gnome-shell-extension-hot-edge
(package
(name "gnome-shell-extension-hot-edge")
(version "27")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/jdoda/hotedge")
(commit "90e9cdd6f2a171a676a96a4e6ad0126316317e4d")))
(file-name (git-file-name name version))
(sha256
(base32 "08jqz6n04yvqa77930sghgip5qfj8i4dm8wsm5cqjc4sqm4pn9yy"))))
(build-system copy-build-system)
(arguments
(list
#:install-plan
#~'(("." "share/gnome-shell/extensions/hotedge@jonathan.jdoda.ca"
#:include-regexp ("\\.css$" "\\.js(on)?$" "schemas")))
#:phases
#~(modify-phases %standard-phases
(add-before 'install 'compile-schemas
(lambda _
(with-directory-excursion "schemas"
(invoke "glib-compile-schemas" ".")))))))
(native-inputs (list `(,glib "bin")))
(synopsis "Add a hot edge to the bottom of the screen in Gnome")
(description
"Add a hot edge that activates the overview to the bottom of the screen.
This provides a better mouse-based workflow and can be an alternative to a dock.")
(home-page "https://github.com/jdoda/hotedge")
(license license:gpl2+)))
(define-public gnome-shell-extension-radio
(let ((commit "860e55b9e704eb3dde43e6bbeccec5748242498e")
(revision "0"))

View File

@@ -2598,6 +2598,92 @@ of Evince is to replace the multiple document viewers that exist
on the GNOME Desktop with a single simple application.")
(license license:gpl2+)))
(define-public papers
(package
(name "papers")
(version "50.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/papers/"
(version-major version) "/"
"papers-" version ".tar.xz"))
(sha256
(base32 "01dws72fb19i9jwp3r0khr7ym2ns51fifdzafb5dcr5w8vmj06rh"))))
(build-system meson-build-system)
(arguments
(list
#:glib-or-gtk? #t
#:configure-flags
#~(list (string-append "-Dc_link_args=-Wl,-rpath=" #$output "/lib"))
#:imported-modules `(,@%meson-build-system-modules
,@%cargo-build-system-modules)
#:modules `(((guix build cargo-build-system) #:prefix cargo:)
(guix build meson-build-system)
(guix build utils))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'prepare-for-build
(lambda _
(substitute* "meson.build"
(("gtk_update_icon_cache: true")
"gtk_update_icon_cache: false")
(("update_desktop_database: true")
"update_desktop_database: false"))
(substitute* "meson.build"
(("'Cargo.lock',")
""))
(delete-file "Cargo.lock")))
(add-after 'configure 'prepare-cargo-build-system
(lambda args
(for-each
(lambda (phase)
(format #t "Running cargo phase: ~a~%" phase)
(apply (assoc-ref cargo:%standard-phases phase)
#:vendor-dir "vendor"
#:cargo-target #$(cargo-triplet)
args))
'(unpack-rust-crates
configure
check-for-pregenerated-files
patch-cargo-checksums))
(setenv "RUSTFLAGS"
(string-append (or (getenv "RUSTFLAGS") "")
" -C link-arg=-Wl,-rpath,"
#$output "/lib")))))))
(native-inputs
(cons* blueprint-compiler
gettext-minimal
`(,glib "bin")
gobject-introspection
gi-docgen
itstool
pkg-config
rust
`(,rust "cargo")
(or (and=> (%current-target-system)
(compose list make-rust-sysroot))
'())))
(inputs
(cons* appstream
djvulibre
exempi
gtk
libadwaita
libarchive
libspelling
libtiff
nautilus ; for nautilus extension
poppler-next
zlib
(cargo-inputs 'papers)))
(home-page "https://apps.gnome.org/Papers")
;; TODO: drop “new” when updating to GNOME 49 or newer.
(synopsis "GNOME's new document viewer")
(description "Papers is a document viewer capable of displaying multiple
and single page document formats like PDF and DejaVu.")
(license license:gpl2+)))
(define-public gsettings-desktop-schemas
(package
(name "gsettings-desktop-schemas")
@@ -10542,7 +10628,6 @@ playing media, scanning, and much more.")
cheese
decibels
epiphany
evince
file-roller
gnome-calculator
gnome-calendar
@@ -10562,6 +10647,7 @@ playing media, scanning, and much more.")
localsearch
loupe
nautilus
papers
simple-scan
showtime
xdg-desktop-portal-gnome

View File

@@ -165,14 +165,14 @@ tool to extract metadata from a file and print the results.")
(define-public libmicrohttpd
(package
(name "libmicrohttpd")
(version "1.0.2")
(version "1.0.3")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/libmicrohttpd/libmicrohttpd-"
version ".tar.gz"))
(sha256
(base32
"1ix843yqhcl8d5gh5652pw2scx4p5n836ca80ymms5rl136lycnz"))))
"0shj6kk4xp3k45vv696bzgx4s2jzpvhp11syck1zb70rmrxba5kq"))))
(build-system gnu-build-system)
(arguments
(list #:configure-flags

View File

@@ -48,6 +48,34 @@
#:use-module (gnu packages xml)
#:use-module (ice-9 match))
(define-public fsviewer
(package
(name "fsviewer")
(version "0.2.7")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/roblillack/fsviewer")
(commit (string-append "v" version))))
(sha256
(base32
"067fvbq7b4lbnn1flmwf8lm0vq4n6qz5yz6hhab30l4gksfk51cg"))
(file-name (git-file-name name version))))
(build-system cmake-build-system)
(arguments (list #:tests? #f)) ;no tests
(inputs
(list windowmaker libxmu libxpm))
(native-inputs
(list pkg-config))
(home-page "https://github.com/roblillack/fsviewer")
(synopsis "File viewer for Window Maker")
(description "FSViewer is a NeXT FileViewer lookalike for Window
Maker supporting browser mode and list mode. This version is a fork of
FSViewer.app originally written by George Clernon (1998-99) and later
maintained by Guido Scholz (2002-07).")
(license license:gpl2)))
(define-public gnustep-make
(package
(name "gnustep-make")

View File

@@ -605,9 +605,9 @@ in the case of Firefox, it is browser/locales/all-locales."
"zh-TW"))
;;; Please keep these versions in sync with icedove.
(define %icecat-base-version "140.9.0")
(define %icecat-base-version "140.10.0")
(define %icecat-version (string-append %icecat-base-version "-gnu1"))
(define %icecat-build-id "20260324000000") ;must be of the form YYYYMMDDhhmmss
(define %icecat-build-id "20260421000000") ;must be of the form YYYYMMDDhhmmss
;; 'icecat-source' is a "computed" origin that generates an IceCat tarball
;; from the corresponding upstream Firefox ESR tarball, using the 'makeicecat'
@@ -627,9 +627,9 @@ in the case of Firefox, it is browser/locales/all-locales."
"firefox-" upstream-firefox-version ".source.tar.xz"))
(sha256
(base32
"0b79x61w51fjf12p5sr9pipg4b3fjdnbsg0j20fdai3jq6jb4wmr"))))
"06996548nfmn4r4mfw3wvgb1mp35majc5hjyhs1krgp33ck2m1f0"))))
(gnuzilla-commit "10a8be3fcf725ed01ffb7279ec27c2fba55dd2d2")
(gnuzilla-commit "02125f31250c0240ee2ab1aa629ce66d4ffb9f30")
(gnuzilla-source
(origin
(method git-fetch)
@@ -640,7 +640,7 @@ in the case of Firefox, it is browser/locales/all-locales."
(string-take gnuzilla-commit 8)))
(sha256
(base32
"076s3zpq0cj24a2pjarb57k1xv9z45xazps8rgypzw8yc4pxi9rj"))))
"1hgx286gp0j46pklzzh5kvsnari1j3s0bff384m505m942k6l4hf"))))
;; 'search-patch' returns either a valid file name or #f, so wrap it
;; in 'assume-valid-file-name' to avoid 'local-file' warnings.
@@ -1249,13 +1249,173 @@ testing.")
(cpe-name . "firefox_esr")
(cpe-version . ,(first (string-split version #\-)))))))
(define %icedove-build-id "20260324000000") ;must be of the form YYYYMMDDhhmmss
;;; TEMPORARY old version of icecat-source for use by icedove until it is updated.
(define %icecat-140.9.1-base-version "140.9.1")
(define %icecat-140.9.1-version (string-append %icecat-140.9.1-base-version "-gnu1"))
(define icecat-140.9.1-source
(let* ((major-version (first (string-split %icecat-140.9.1-base-version #\.)))
(minor-version (second (string-split %icecat-140.9.1-base-version #\.)))
(sub-version (third (string-split %icecat-140.9.1-base-version #\.)))
(upstream-firefox-version (string-append %icecat-140.9.1-base-version "esr"))
(upstream-firefox-source
(origin
(method url-fetch)
(uri (string-append
"https://ftp.mozilla.org/pub/firefox/releases/"
upstream-firefox-version "/source/"
"firefox-" upstream-firefox-version ".source.tar.xz"))
(sha256
(base32
"1hld2kbzvrmr7pqq0r5hw639xl8kw29lm2hsbn0m4kxang1fdlj5"))))
(gnuzilla-commit "f3595923458a5255f61a3853bd83bb5f004dc3bc")
(gnuzilla-source
(origin
(method git-fetch)
(uri (git-reference
(url "git://git.savannah.gnu.org/gnuzilla.git")
(commit gnuzilla-commit)))
(file-name (git-file-name "gnuzilla"
(string-take gnuzilla-commit 8)))
(sha256
(base32
"03kc08cvmdv3sxihf5hfhw2k91mg1y6f46b3x47p7q98phgk03cv"))))
;; 'search-patch' returns either a valid file name or #f, so wrap it
;; in 'assume-valid-file-name' to avoid 'local-file' warnings.
(makeicecat-patch
(local-file (assume-valid-file-name
(search-patch "icecat-makeicecat.patch")))))
(origin
(method computed-origin-method)
(file-name (string-append "icecat-" %icecat-140.9.1-version ".tar.zst"))
(sha256 #f)
(uri
(delay
(with-imported-modules '((guix build utils))
#~(begin
(use-modules (guix build utils))
(let ((firefox-dir
(string-append "firefox-" #$%icecat-140.9.1-base-version))
(icecat-dir
(string-append "icecat-" #$%icecat-140.9.1-version)))
(set-path-environment-variable
"PATH" '("bin")
(list #+python
#+(canonical-package bash)
#+(canonical-package coreutils)
#+(canonical-package findutils)
#+(canonical-package patch)
#+(canonical-package xz)
#+(canonical-package zstd)
#+(canonical-package sed)
#+(canonical-package grep)
#+(canonical-package bzip2)
#+(canonical-package gzip)
#+(canonical-package tar)))
(set-path-environment-variable
"PYTHONPATH"
(list #+(format #f "lib/python~a/site-packages"
(version-major+minor
(package-version python))))
'#+(cons python-jsonschema
(map second
(package-transitive-propagated-inputs
python-jsonschema))))
;; We copy the gnuzilla source directory because it is
;; read-only in 'gnuzilla-source', and the makeicecat script
;; uses "cp -a" to copy parts of it and assumes that the
;; copies will be writable.
(copy-recursively #+gnuzilla-source "/tmp/gnuzilla"
#:log (%make-void-port "w"))
(with-directory-excursion "/tmp/gnuzilla"
(make-file-writable "makeicecat")
(invoke "patch" "--force" "--no-backup-if-mismatch"
"-p1" "--input" #+makeicecat-patch)
(patch-shebang "makeicecat")
(substitute* "makeicecat"
(("^readonly FFMAJOR=(.*)" all ffmajor)
(unless (string=? #$major-version
(string-trim-both ffmajor))
;; The makeicecat script cannot be expected to work
;; properly on a different version of Firefox, even if
;; no errors occur during execution.
(error "makeicecat major version mismatch"))
(string-append "readonly FFMAJOR=" #$major-version "\n"))
(("^readonly FFMINOR=.*")
(string-append "readonly FFMINOR=" #$minor-version "\n"))
(("^readonly FFSUB=.*")
(string-append "readonly FFSUB=" #$sub-version "\n"))
(("^readonly DATADIR=.*")
"readonly DATADIR=/tmp/gnuzilla/data\n")
(("^readonly SOURCEDIR=.*")
(string-append "readonly SOURCEDIR=" icecat-dir "\n"))
(("/bin/sed")
#+(file-append (canonical-package sed) "/bin/sed"))))
(format #t "Unpacking upstream firefox tarball...~%")
(force-output)
(invoke "tar" "xf" #+upstream-firefox-source)
(rename-file firefox-dir icecat-dir)
(with-directory-excursion icecat-dir
(format #t "Populating l10n directory...~%")
(force-output)
(mkdir "l10n")
(with-directory-excursion "l10n"
(for-each
(lambda (locale)
(let ((locale-dir (string-append #+mozilla-l10n "/"
locale)))
(format #t " ~a~%" locale)
(force-output)
(copy-recursively locale-dir locale
#:log (%make-void-port "w"))
(for-each make-file-writable (find-files locale))
(with-directory-excursion locale
(mkdir-p "browser/chrome/browser/preferences")
(call-with-output-file "browser/chrome/browser/\
preferences/advanced-scripts.dtd"
(lambda (port) #f)))))
'#+%icecat-locales)
(copy-recursively #+mozilla-compare-locales
"compare-locales"
#:log (%make-void-port "w"))
(delete-file "compare-locales/.gitignore")))
(format #t "Running makeicecat script...~%")
(force-output)
(invoke "bash" "/tmp/gnuzilla/makeicecat")
(format #t "Packing IceCat source tarball...~%")
(force-output)
(setenv "ZSTD_NBTHREADS" (number->string (parallel-job-count)))
(invoke "tar" "cfa" #$output
;; Avoid non-determinism in the archive. We set the
;; mtime of files in the archive to early 1980 because
;; the build process fails if the mtime of source
;; files is pre-1980, due to the creation of zip
;; archives.
"--mtime=@315619200" ; 1980-01-02 UTC
"--owner=root:0"
"--group=root:0"
"--sort=name"
icecat-dir)))))))))
(define %icedove-build-id "20260403000000") ;must be of the form YYYYMMDDhhmmss
;;; See <https://product-details.mozilla.org/1.0/thunderbird_versions.json>
;;; for the source of truth regarding Thunderbird releases.
;;; Please keep these version numbers in sync with icecat.
;;; Please also update thunderbird-comm-source and thunderbird-comm-l10n to
;;; the icedove version.
(define %icedove-version "140.9.0")
(define %icedove-version "140.9.1")
;; Provides the "comm" folder which is inserted into the icecat source.
;; Avoids the duplication of Icecat's source tarball. Pick the changeset that
@@ -1267,11 +1427,11 @@ testing.")
(method hg-fetch)
(uri (hg-reference
(url "https://hg.mozilla.org/releases/comm-esr140")
(changeset "8be9f2d3072c225a1e5f153745a18984c2babf8f")))
(changeset "427d792f23672fc4adbe9436ce7dddbb2bfb287a")))
(file-name (string-append "thunderbird-" %icedove-version "-checkout"))
(sha256
(base32
"04j35957x03m5x7mhh8zxa86mwjy0is2vb614sr4inkvvz4rs2hg"))
"09fj375a0zb5kgvw94f13997zhcj67a4g5ylpdbjzfql0chh572p"))
(patches (search-patches "icedove-observer-fix.patch"))))
;;; To regenerate, see the `format-locales' helper defined above.
@@ -1383,7 +1543,7 @@ testing.")
;; Extract the base Icecat tarball, renaming its top-level
;; directory.
(invoke "tar" "--transform" (string-append "s,[^/]*," #$name ",")
"-xf" #$icecat-source)
"-xf" #$icecat-140.9.1-source)
(chdir #$name)
;; Merge the Thunderdbird localization data.

View File

@@ -31,6 +31,7 @@
;;; Copyright © 2025 Arthur Rodrigues <arthurhdrodrigues@proton.me>
;;; Copyright © 2025 Patrick Norton <patrick.147.norton@gmail.com>
;;; Copyright © 2025 Giacomo Leidi <therewasa@fishinthecalculator.me>
;;; Copyright © 2026 Evgeny Pisemsky <mail@pisemsky.site>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -2873,7 +2874,7 @@ package.")
(define-public go-github-com-refraction-networking-utls
(package
(name "go-github-com-refraction-networking-utls")
(version "1.6.0")
(version "1.8.2")
(source
(origin
(method git-fetch)
@@ -2882,7 +2883,7 @@ package.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1iywar5vqsml4b177k2nkcxmjm8mw92g3p112yjsrpmikiwpwpyw"))))
(base32 "03kgwxdm2lg28fn2w5q7ql2szsiwj2xjdf477h1g3a4a9y9j6zk0"))))
(build-system go-build-system)
(arguments
`(#:import-path "github.com/refraction-networking/utls"
@@ -3640,6 +3641,39 @@ algorithm described in @url{https://rfc-editor.org/rfc/rfc2898.html,RFC 2898}
and @url{https://rfc-editor.org/rfc/rfc8018.html,RFC 8018}.")
(license license:asl2.0)))
(define-public go-github-com-xtls-reality
(package
(name "go-github-com-xtls-reality")
(version "0.0.0-20260322125925-9234c772ba8f")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/xtls/reality")
(commit (go-version->git-ref version))))
(file-name (git-file-name name version))
(sha256
(base32 "1wncy5aph6nmq4814xjhj6b5p1wm2fyrqn83dw0xlyxvq2z6iqfs"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/xtls/reality"))
(propagated-inputs
(list go-github-com-cloudflare-circl
go-github-com-juju-ratelimit
go-github-com-pires-go-proxyproto
go-github-com-refraction-networking-utls
go-golang-org-x-crypto
go-golang-org-x-sys))
(home-page "https://github.com/xtls/reality")
(synopsis "Implementation of REALITY protocol")
(description
"This package provides an implementation of REALITY protocol, which is
intented to eliminate the detectable TLS fingerprint on the server side, while
still maintain the secrecy. It achieves full real TLS that is
undistingwishable with the specified SNI to the middleman.")
(license (list license:bsd-3 license:mpl2.0))))
(define-public go-github-com-youmark-pkcs8
(package
(name "go-github-com-youmark-pkcs8")

View File

@@ -49,6 +49,8 @@
;;; Copyright © 2025 Jared Klingenberger <jkling@noreply.codeberg.org>
;;; Copyright © 2026 Carlos Durán Domínguez <wurt@wurt.eu>
;;; Copyright © 2026 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2026 Evgeny Pisemsky <mail@pisemsky.site>
;;; Copyright © 2026 Vinicius Monego <monego@posteo.net>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -386,6 +388,7 @@ devices.")
;; - cloud.google.com/go/kms
;; - cloud.google.com/go/longrunning
;; - cloud.google.com/go/monitoring
;; - cloud.google.com/go/security
;; - cloud.google.com/go/storage
(for-each delete-file-recursively
(list "auth"
@@ -394,6 +397,7 @@ devices.")
"kms"
"longrunning"
"monitoring"
"security"
"storage"))))))
(build-system go-build-system)
(arguments
@@ -783,6 +787,51 @@ its service definition.")
"This package provides a Go Client Library for Cloud Monitoring API.")
(license license:asl2.0)))
(define-public go-cloud-google-com-go-security
(package
(name "go-cloud-google-com-go-security")
(version "1.21.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/googleapis/google-cloud-go")
(commit (go-version->git-ref version #:subdir "security"))))
(file-name (git-file-name name version))
(sha256
(base32 "1pn77lf1d22sqpkia9zccdhdihlqc48lls6y9npc2wrp4lman2kv"))
(modules '((guix build utils)
(ice-9 ftw)
(srfi srfi-26)))
(snippet #~(begin
(define (delete-all-but directory . preserve)
(with-directory-excursion directory
(let* ((pred (negate (cut member <>
(cons* "." ".." preserve))))
(items (scandir "." pred)))
(for-each (cut delete-file-recursively <>) items))))
(delete-all-but "." "security")))))
(build-system go-build-system)
(arguments
(list
#:skip-build? #t
#:import-path "cloud.google.com/go/security"
#:unpack-path "cloud.google.com/go"))
(propagated-inputs
(list go-cloud-google-com-go-iam
go-cloud-google-com-go-longrunning
go-github-com-googleapis-gax-go-v2
go-google-golang-org-api
go-google-golang-org-genproto
go-google-golang-org-genproto-googleapis-api
go-google-golang-org-grpc
go-google-golang-org-protobuf))
(home-page "https://cloud.google.com/go")
(synopsis "Google Cloud Certificate Authority API")
(description
"This package provides a Go Client Library for Certificate Authority API.")
(license license:asl2.0)))
(define-public go-cloud-google-com-go-storage
(package
(name "go-cloud-google-com-go-storage")
@@ -10214,6 +10263,54 @@ Call}.")
(propagated-inputs
(list go-golang-org-x-net))))
(define-public go-github-com-jellydator-ttlcache-v3
(package
(name "go-github-com-jellydator-ttlcache-v3")
(version "3.4.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/jellydator/ttlcache")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0c7k99d0km5vplfikb58j2wbriy3mzzrrfrc0d85x50km0y4g4ln"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/jellydator/ttlcache/v3"
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'remove-examples-and-benchmarks
(lambda* (#:key tests? import-path #:allow-other-keys)
(with-directory-excursion (string-append "src/" import-path)
(delete-file-recursively "bench")
(delete-file-recursively "examples")))))))
(native-inputs
(list go-github-com-stretchr-testify
go-go-uber-org-goleak))
(propagated-inputs
(list go-golang-org-x-sync))
(home-page "https://github.com/jellydator/ttlcache")
(synopsis "In-memory cache with item expiration and generics")
(description
"TTLCache is an in-memory cache with item expiration and generics which
provides the following features:
@itemize
@item simple API
@item type parameters
@item item expiration and automatic deletion
@item automatic expiration time extension on each Get call
@item loader interface that may be used to load/lazily initialize missing
citem items
@item thread safety
@item event handlers (insertion, update, and eviction)
@item metrics
@end itemize")
(license license:expat)))
(define-public go-github-com-jeremija-gosubmit
(package
(name "go-github-com-jeremija-gosubmit")
@@ -10515,6 +10612,33 @@ jsoniter and variable type declarations (if any). jsoniter interfaces gives
https://github.com/flynn/noise crypto protocols.")
(license license:expat)))
(define-public go-github-com-juju-ratelimit
(package
(name "go-github-com-juju-ratelimit")
(version "1.0.2")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/juju/ratelimit")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1qbjcm4y53awkqmpxb1nm9c1xdylc44vph4mn30qjb5wrcqy7c1r"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/juju/ratelimit"))
(native-inputs
(list go-gopkg-in-check-v1))
(home-page "https://github.com/juju/ratelimit")
(synopsis "Efficient token bucket implementation")
(description
"The ratelimit package provides an efficient
@url{http://en.wikipedia.org/wiki/Token_bucket, token bucket} implementation
that can be used to limit the rate of arbitrary things.")
(license license:lgpl3)))
(define-public go-github-com-julienschmidt-httprouter
(package
(name "go-github-com-julienschmidt-httprouter")
@@ -15975,6 +16099,512 @@ support.")
kinds of referrer URLs (search, social, ...).")
(license license:expat)))
(define-public go-github-com-sigstore-rekor
(package
(name "go-github-com-sigstore-rekor")
(version "1.4.3")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/sigstore/rekor")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1g2xma0fzy7a4nv7bj04pj9vqg4hbbz3j3jxkir0sxql5ragj36d"))))
(build-system go-build-system)
(arguments
(list
#:skip-build? #t
#:import-path "github.com/sigstore/rekor"
;; XXX: Remove when all inputs are packaged.
#:test-subdirs
#~(list "pkg/events/newentry"
"pkg/indexstorage/mysql"
"pkg/pki/minisign"
"pkg/pki/pgp"
"pkg/pki/ssh"
"pkg/pki/tuf"
"pkg/pki/x509"
"pkg/pubsub/gcp"
"pkg/util")))
(native-inputs
(list go-github-com-asaskevich-govalidator
go-github-com-data-dog-go-sqlmock
go-github-com-golang-mock
go-github-com-google-go-cmp
go-github-com-spf13-cobra
go-github-com-spf13-pflag
go-github-com-spf13-viper
go-github-com-stretchr-testify
go-go-uber-org-goleak
go-sigs-k8s-io-release-utils))
(propagated-inputs
(list go-cloud-google-com-go-iam
go-github-com-asaskevich-govalidator
go-github-com-blang-semver
go-github-com-cyberphone-json-canonicalization
go-github-com-go-chi-chi-v5
go-github-com-go-openapi-errors
go-github-com-go-openapi-loads
go-github-com-go-openapi-runtime
go-github-com-go-openapi-spec
go-github-com-go-openapi-strfmt
go-github-com-go-openapi-swag
go-github-com-go-openapi-swag-conv
go-github-com-go-openapi-validate
go-github-com-go-sql-driver-mysql
go-github-com-go-viper-mapstructure-v2
go-github-com-google-trillian
go-github-com-grpc-ecosystem-go-grpc-middleware
go-github-com-hashicorp-go-cleanhttp
go-github-com-hashicorp-go-retryablehttp
go-github-com-in-toto-in-toto-golang
go-github-com-jedisct1-go-minisign
go-github-com-jmoiron-sqlx
go-github-com-prometheus-client-golang
go-github-com-redis-go-redis-v9
go-github-com-rs-cors
go-github-com-secure-systems-lab-go-securesystemslib
go-github-com-sigstore-protobuf-specs
go-github-com-sigstore-sigstore
go-github-com-sigstore-sigstore-pkg-signature-kms-aws
go-github-com-sigstore-sigstore-pkg-signature-kms-azure
go-github-com-sigstore-sigstore-pkg-signature-kms-gcp
go-github-com-sigstore-sigstore-pkg-signature-kms-hashivault
go-github-com-theupdateframework-go-tuf
go-github-com-tink-crypto-tink-go-awskms-v2
go-github-com-tink-crypto-tink-go-gcpkms-v2
go-github-com-tink-crypto-tink-go-v2
go-github-com-transparency-dev-merkle
go-github-com-veraison-go-cose
go-go-uber-org-zap
go-golang-org-x-crypto
go-golang-org-x-mod
go-golang-org-x-net
go-golang-org-x-sync
go-google-golang-org-api
go-google-golang-org-genproto-googleapis-rpc
go-google-golang-org-grpc
go-google-golang-org-protobuf
go-gopkg-in-ini-v1
go-gopkg-in-yaml-v2
go-sigs-k8s-io-yaml
;; TODO: Complete packaging.
;; go-cloud-google-com-go-profiler
;; go-cloud-google-com-go-pubsub
;; go-cloud-google-com-go-pubsub-v2
;; go-github-com-adamkorcz-go-fuzz-headers-1
;; go-github-com-cavaliercoder-go-rpm
;; go-github-com-go-redis-redismock-v9
;; go-github-com-google-rpmpack
;; go-github-com-sassoftware-relic
;; go-github-com-sassoftware-relic-v7
;; go-go-step-sm-crypto
#;go-gocloud-dev))
(home-page "https://github.com/sigstore/rekor")
(synopsis "Sigstore transparency log")
(description
"Rekor provides an immutable tamper-resistant ledger of metadata generated
within a software project's supply chain. It enables software maintainers
and consumers to transparently record signed metadata to a ledger.")
(license license:asl2.0)))
(define-public go-github-com-sigstore-rekor-tiles-v2
(package
(name "go-github-com-sigstore-rekor-tiles-v2")
(version "2.0.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/sigstore/rekor-tiles")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0z9is3mf31abzwappwp05z1pzci6f25z1ax27qgghmdisxmd3c6k"))))
(build-system go-build-system)
(arguments
(list
#:skip-build? #t
#:import-path "github.com/sigstore/rekor-tiles/v2"
;; XXX: Remove when all inputs are packaged.
#:test-subdirs
#~(list "internal/algorithmregistry"
"internal/safeint"
"pkg/client/write"
"pkg/types/dsse"
"pkg/types/hashedrekord"
"pkg/types/verifier"
"pkg/verifier/certificate"
"pkg/verifier/publickey"
"pkg/verify")))
(native-inputs
(list go-github-com-go-test-deep
go-github-com-spf13-cobra
go-github-com-spf13-viper
go-github-com-stretchr-testify
go-sigs-k8s-io-release-utils))
(propagated-inputs
(list go-cloud-google-com-go-storage
go-github-com-aws-aws-sdk-go-v2
go-github-com-aws-aws-sdk-go-v2-config
go-github-com-aws-aws-sdk-go-v2-credentials
go-github-com-aws-aws-sdk-go-v2-service-s3
go-github-com-aws-smithy-go
go-github-com-cyberphone-json-canonicalization
go-github-com-grpc-ecosystem-go-grpc-middleware
go-github-com-grpc-ecosystem-go-grpc-middleware-providers-prometheus
go-github-com-grpc-ecosystem-go-grpc-middleware-v2
go-github-com-grpc-ecosystem-grpc-gateway-v2
go-github-com-prometheus-client-golang
go-github-com-secure-systems-lab-go-securesystemslib
go-github-com-sigstore-protobuf-specs
go-github-com-sigstore-sigstore
;; go-github-com-sigstore-sigstore-go ;cycles
go-github-com-sigstore-sigstore-pkg-signature-kms-aws
go-github-com-sigstore-sigstore-pkg-signature-kms-gcp
go-github-com-tink-crypto-tink-go-awskms-v2
go-github-com-tink-crypto-tink-go-gcpkms-v2
go-github-com-tink-crypto-tink-go-v2
go-github-com-transparency-dev-formats
go-github-com-transparency-dev-merkle
go-go-opentelemetry-io-otel
go-go-opentelemetry-io-otel-exporters-prometheus
go-go-opentelemetry-io-otel-sdk-metric
go-golang-org-x-exp
go-golang-org-x-mod
go-golang-org-x-sync
go-google-golang-org-api
go-google-golang-org-genproto-googleapis-api
go-google-golang-org-grpc
go-google-golang-org-protobuf
go-k8s-io-klog-v2
;; TODO: Complete packaging.
;; go-cloud-google-com-go-spanner
;; go-github-com-chainguard-dev-clog
;; go-github-com-transparency-dev-tessera
#;go-go-step-sm-crypto))
(home-page "https://github.com/sigstore/rekor-tiles")
(synopsis "Tile-based transparency log for Sigstore")
(description
"This package provides a tile-based implementation of a transparency log
for the Sigstore ecosystem, supporting efficient verification of log entries.")
(license license:asl2.0)))
(define-public go-github-com-sigstore-sigstore-go
(package
(name "go-github-com-sigstore-sigstore-go")
(version "1.1.4")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/sigstore/sigstore-go")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0jr8jj4wibzxawn3dzv1j4cxmbh2b5g356mh2bqq9d0p78idf7k3"))))
(build-system go-build-system)
(arguments
(list
#:skip-build? #t
#:import-path "github.com/sigstore/sigstore-go"
#:embed-files #~(list ".*\\.json")
#:test-subdirs
#~(list "pkg/bundle"
"pkg/fulcio/certificate"
"pkg/tlog"
"pkg/tuf")))
(native-inputs
(list go-github-com-stretchr-testify))
(propagated-inputs
(list go-github-com-cyberphone-json-canonicalization
go-github-com-digitorus-timestamp
go-github-com-go-openapi-runtime
go-github-com-go-openapi-strfmt
go-github-com-go-openapi-swag-conv
go-github-com-google-certificate-transparency-go
go-github-com-in-toto-attestation
go-github-com-in-toto-in-toto-golang
go-github-com-secure-systems-lab-go-securesystemslib
go-github-com-sigstore-protobuf-specs
go-github-com-sigstore-rekor
go-github-com-sigstore-rekor-tiles-v2
go-github-com-sigstore-sigstore
go-github-com-sigstore-timestamp-authority-v2
go-github-com-theupdateframework-go-tuf-v2
go-golang-org-x-crypto
go-golang-org-x-mod
go-google-golang-org-protobuf))
(home-page "https://github.com/sigstore/sigstore-go")
(synopsis "Go client library for Sigstore")
(description
"This package provides a Go client library for Sigstore, enabling
verification of signatures and attestations produced by Sigstore tools.")
(license license:asl2.0)))
(define-public go-github-com-sigstore-sigstore-pkg-signature-kms-aws
(package
(name "go-github-com-sigstore-sigstore-pkg-signature-kms-aws")
(version "1.10.5")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/sigstore/sigstore")
(commit (go-version->git-ref version
#:subdir
"pkg/signature/kms/aws"))))
(file-name (git-file-name name version))
(sha256
(base32 "0shnvcgz4g7v65biwraahjrbsmr13qmb903al50giak2694qhyyk"))
(modules '((guix build utils)
(ice-9 ftw)
(srfi srfi-26)))
(snippet
#~(begin
(define (delete-all-but directory . preserve)
(with-directory-excursion directory
(let* ((pred (negate (cut member <>
(cons* "." ".." preserve))))
(items (scandir "." pred)))
(for-each (cut delete-file-recursively <>) items))))
(delete-all-but "." "pkg")
(delete-all-but "pkg" "signature")
(delete-all-but "pkg/signature" "kms")
(delete-all-but "pkg/signature/kms" "aws")))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/sigstore/sigstore/pkg/signature/kms/aws"
#:unpack-path "github.com/sigstore/sigstore"))
(native-inputs
(list go-github-com-stretchr-testify))
(propagated-inputs
(list go-github-com-aws-aws-sdk-go-v2
go-github-com-aws-aws-sdk-go-v2-config
go-github-com-aws-aws-sdk-go-v2-service-kms
go-github-com-jellydator-ttlcache-v3
go-github-com-sigstore-sigstore))
(home-page "https://github.com/sigstore/sigstore")
(synopsis "Utilities related to AWS KMS")
(description
"Package aws implement the interface with Amazon AWS KMS service.")
(license license:asl2.0)))
(define-public go-github-com-sigstore-sigstore-pkg-signature-kms-azure
(package
(name "go-github-com-sigstore-sigstore-pkg-signature-kms-azure")
(version "1.10.5")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/sigstore/sigstore")
(commit (go-version->git-ref version
#:subdir
"pkg/signature/kms/azure"))))
(file-name (git-file-name name version))
(sha256
(base32 "0shnvcgz4g7v65biwraahjrbsmr13qmb903al50giak2694qhyyk"))
(modules '((guix build utils)
(ice-9 ftw)
(srfi srfi-26)))
(snippet
#~(begin
(define (delete-all-but directory . preserve)
(with-directory-excursion directory
(let* ((pred (negate (cut member <>
(cons* "." ".." preserve))))
(items (scandir "." pred)))
(for-each (cut delete-file-recursively <>) items))))
(delete-all-but "." "pkg")
(delete-all-but "pkg" "signature")
(delete-all-but "pkg/signature" "kms")
(delete-all-but "pkg/signature/kms" "azure")))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/sigstore/sigstore/pkg/signature/kms/azure"
#:unpack-path "github.com/sigstore/sigstore"))
(propagated-inputs
(list go-github-com-azure-azure-sdk-for-go-sdk-azcore
go-github-com-azure-azure-sdk-for-go-sdk-azidentity
go-github-com-azure-azure-sdk-for-go-sdk-security-keyvault-azkeys
go-github-com-go-jose-go-jose-v4
go-github-com-google-go-cmp
go-github-com-jellydator-ttlcache-v3
go-github-com-sigstore-sigstore
go-golang-org-x-crypto))
(home-page "https://github.com/sigstore/sigstore")
(synopsis "Utilities related to Microsoft Azure KMS")
(description
"Package azure implement the interface with Microsoft Azure KMS
service.")
(license license:asl2.0)))
(define-public go-github-com-sigstore-sigstore-pkg-signature-kms-gcp
(package
(name "go-github-com-sigstore-sigstore-pkg-signature-kms-gcp")
(version "1.10.5")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/sigstore/sigstore")
(commit (go-version->git-ref version
#:subdir
"pkg/signature/kms/gcp"))))
(file-name (git-file-name name version))
(sha256
(base32 "0shnvcgz4g7v65biwraahjrbsmr13qmb903al50giak2694qhyyk"))
(modules '((guix build utils)
(ice-9 ftw)
(srfi srfi-26)))
(snippet
#~(begin
(define (delete-all-but directory . preserve)
(with-directory-excursion directory
(let* ((pred (negate (cut member <>
(cons* "." ".." preserve))))
(items (scandir "." pred)))
(for-each (cut delete-file-recursively <>) items))))
(delete-all-but "." "pkg")
(delete-all-but "pkg" "signature")
(delete-all-but "pkg/signature" "kms")
(delete-all-but "pkg/signature/kms" "gcp")))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/sigstore/sigstore/pkg/signature/kms/gcp"
#:unpack-path "github.com/sigstore/sigstore"))
(propagated-inputs
(list go-cloud-google-com-go-kms
go-github-com-jellydator-ttlcache-v3
go-github-com-sigstore-sigstore
go-golang-org-x-oauth2
go-google-golang-org-api
go-google-golang-org-protobuf))
(home-page "https://github.com/sigstore/sigstore")
(synopsis "Utilities related to Google Cloud Platform KMS")
(description
"Package gcp implement the interface with Google Cloud KMS service.")
(license license:asl2.0)))
(define-public go-github-com-sigstore-sigstore-pkg-signature-kms-hashivault
(package
(name "go-github-com-sigstore-sigstore-pkg-signature-kms-hashivault")
(version "1.10.5")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/sigstore/sigstore")
(commit (go-version->git-ref version
#:subdir
"pkg/signature/kms/hashivault"))))
(file-name (git-file-name name version))
(sha256
(base32 "0shnvcgz4g7v65biwraahjrbsmr13qmb903al50giak2694qhyyk"))
(modules '((guix build utils)
(ice-9 ftw)
(srfi srfi-26)))
(snippet
#~(begin
(define (delete-all-but directory . preserve)
(with-directory-excursion directory
(let* ((pred (negate (cut member <>
(cons* "." ".." preserve))))
(items (scandir "." pred)))
(for-each (cut delete-file-recursively <>) items))))
(delete-all-but "." "pkg")
(delete-all-but "pkg" "signature")
(delete-all-but "pkg/signature" "kms")
(delete-all-but "pkg/signature/kms" "hashivault")))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/sigstore/sigstore/pkg/signature/kms/hashivault"
#:unpack-path "github.com/sigstore/sigstore"))
(native-inputs
(list go-github-com-stretchr-testify))
(propagated-inputs
(list go-github-com-hashicorp-vault-api
go-github-com-jellydator-ttlcache-v3
go-github-com-mitchellh-go-homedir
go-github-com-sigstore-sigstore))
(home-page "https://github.com/sigstore/sigstore")
(synopsis "Utilities related to Hashivault KMS")
(description
"Package hashivault implement the interface with
@url{https://www.hashicorp.com/en/products/vault HashiCorp Vault} KMS
service.")
(license license:asl2.0)))
(define-public go-github-com-sigstore-timestamp-authority-v2
(package
(name "go-github-com-sigstore-timestamp-authority-v2")
(version "2.0.4")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/sigstore/timestamp-authority")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1pgdxwkyrl10ayhw02n72r02q362gxg7110l9h9isiyqwbrmw2lp"))))
(build-system go-build-system)
(arguments
(list
#:skip-build? #t
#:import-path "github.com/sigstore/timestamp-authority/v2"
#:embed-files #~(list ".*\\.json")
#:test-subdirs #~(list "pkg/client" "pkg/x509")))
(native-inputs
(list go-github-com-go-playground-validator-v10
go-github-com-google-go-cmp
go-github-com-prometheus-client-golang
go-github-com-sigstore-sigstore
go-github-com-spf13-cobra
go-github-com-spf13-pflag
go-github-com-spf13-viper
go-github-com-tink-crypto-tink-go-v2
go-sigs-k8s-io-release-utils))
(propagated-inputs
(list go-cloud-google-com-go-security
go-github-com-beevik-ntp
go-github-com-digitorus-pkcs7
go-github-com-digitorus-timestamp
go-github-com-go-chi-chi
go-github-com-go-openapi-errors
go-github-com-go-openapi-loads
go-github-com-go-openapi-runtime
go-github-com-go-openapi-spec
go-github-com-go-openapi-strfmt
go-github-com-go-openapi-swag
go-github-com-pkg-errors
go-github-com-rs-cors
go-github-com-sigstore-sigstore-pkg-signature-kms-aws
go-github-com-sigstore-sigstore-pkg-signature-kms-azure
go-github-com-sigstore-sigstore-pkg-signature-kms-gcp
go-github-com-sigstore-sigstore-pkg-signature-kms-hashivault
go-github-com-tink-crypto-tink-go-awskms-v2
go-github-com-tink-crypto-tink-go-gcpkms-v2
go-github-com-tink-crypto-tink-go-hcvault-v2
go-github-com-urfave-negroni
;; go-go-step-sm-crypto ;not packaged yet in Guix
go-sigs-k8s-io-yaml))
(home-page "https://github.com/sigstore/timestamp-authority")
(synopsis "RFC 3161 timestamp verification for Sigstore")
(description
"This package provides timestamp verification functionality for the
Sigstore ecosystem, implementing RFC 3161 timestamp response validation.")
(license license:asl2.0)))
(define-public go-github-com-shurcool-githubv4
(package
(name "go-github-com-shurcool-githubv4")
@@ -17007,6 +17637,90 @@ Features:
@end itemize")
(license license:expat)))
(define-public go-github-com-tink-crypto-tink-go-awskms-v2
(package
(name "go-github-com-tink-crypto-tink-go-awskms-v2")
(version "2.1.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/tink-crypto/tink-go-awskms")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0crsky461yyvl04g0gbsz9gh2zmlmgd5li5qk4k7zvmj103gmwlr"))))
(build-system go-build-system)
(arguments
(list
#:skip-build? #t
#:import-path "github.com/tink-crypto/tink-go-awskms/v2"))
(propagated-inputs
(list go-github-com-aws-aws-sdk-go
go-github-com-tink-crypto-tink-go-v2))
(home-page "https://github.com/tink-crypto/tink-go-awskms")
(synopsis "Tink Go AWS KMS extension")
(description
"This is an extension to the @url{https://github.com/tink-crypto/tink-go,
Tink Go} library that provides support for AWS KMS.")
(license license:asl2.0)))
(define-public go-github-com-tink-crypto-tink-go-gcpkms-v2
(package
(name "go-github-com-tink-crypto-tink-go-gcpkms-v2")
(version "2.2.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/tink-crypto/tink-go-gcpkms")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0hf31f26lmpg81k64flsvcx83ngkhazkkf792i5qkq14q4ndsdhw"))))
(build-system go-build-system)
(arguments
(list
#:skip-build? #t
#:import-path "github.com/tink-crypto/tink-go-gcpkms/v2"))
(propagated-inputs
(list go-github-com-tink-crypto-tink-go-v2
go-google-golang-org-api))
(home-page "https://github.com/tink-crypto/tink-go-gcpkms")
(synopsis "Tink Go Google Cloud KMS extension")
(description
"This is an extension to the @url{https://github.com/tink-crypto/tink-go,
Tink Go} library that provides support for Google Cloud KMS.")
(license license:asl2.0)))
(define-public go-github-com-tink-crypto-tink-go-hcvault-v2
(package
(name "go-github-com-tink-crypto-tink-go-hcvault-v2")
(version "2.4.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/tink-crypto/tink-go-hcvault")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1ifwxrsyynkss652wnn2ivhfj8n84m8rz7fjpi8gcx2cppmx9zrv"))))
(build-system go-build-system)
(arguments
(list
#:skip-build? #t
#:import-path "github.com/tink-crypto/tink-go-hcvault/v2"))
(propagated-inputs
(list go-github-com-hashicorp-vault-api
go-github-com-tink-crypto-tink-go-v2))
(home-page "https://github.com/tink-crypto/tink-go-hcvault")
(synopsis "Tink Go HashiCorp Vault extension")
(description
"This is an extension to the @url{https://github.com/tink-crypto/tink-go,
Tink Go} library that provides support for HashiCorp Vault.")
(license license:asl2.0)))
(define-public go-github-com-tj-go-elastic
(package
(name "go-github-com-tj-go-elastic")
@@ -19292,6 +20006,36 @@ at
Tracer implementation from the @code{OpenTracing} project.")
(license license:asl2.0)))
(define-public go-go-opentelemetry-io-contrib-zpages
(package
(name "go-go-opentelemetry-io-contrib-zpages")
(version "0.68.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/open-telemetry/opentelemetry-go-contrib")
(commit (go-version->git-ref version
#:subdir "zpages"))))
(file-name (git-file-name name version))
(sha256
(base32 "0nh7g1zxr3drqcbhsnnkqaz2hn1rnawg8jalixng23c9hwfgqaly"))))
(build-system go-build-system)
(arguments
(list
#:go go-1.25
#:import-path "go.opentelemetry.io/contrib/zpages"
#:unpack-path "go.opentelemetry.io/contrib"))
(native-inputs (list go-github-com-stretchr-testify))
(propagated-inputs (list go-go-opentelemetry-io-otel
go-go-opentelemetry-io-otel-sdk
go-go-opentelemetry-io-otel-trace))
(home-page "https://opentelemetry.io/")
(synopsis "Display telemetry stats")
(description "Package zPages implements a collection of HTML pages that
display telemetry stats.")
(license license:asl2.0)))
(define-public go-go-opentelemetry-io-otel
(package
(name "go-go-opentelemetry-io-otel")
@@ -21769,6 +22513,7 @@ feature set and features are added on as the need arises.")
(build-system go-build-system)
(arguments
(list
#:go go-1.25
#:build-flags #~(list (string-append "-ldflags="
"-X main.lyrebirdVersion="
#$version " -s -w"))

View File

@@ -74,6 +74,8 @@
;;; Copyright © 2025 Aleksandr Lebedev <alex.lebedev2003@icloud.com>
;;; Copyright © 2026 Carlos Durán Domínguez <wurt@wurt.eu>
;;; Copyright © 2026 Giacomo Leidi <therewasa@fishinthecalculator.me>
;;; Copyright © 2026 Evgeny Pisemsky <mail@pisemsky.site>
;;; Copyright © 2026 Vinicius Monego <monego@posteo.net>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -8035,7 +8037,7 @@ supports concurrent serializable transactions.")
(package
(inherit go-github-com-dgraph-io-badger)
(name "go-github-com-dgraph-io-badger-v4")
(version "4.5.2")
(version "4.9.1")
(source
(origin
(method git-fetch)
@@ -8044,7 +8046,7 @@ supports concurrent serializable transactions.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0v4c69whypm3k40hrx8bw9rjrcb0swz43v056s0fadqr04j0ncwj"))))
(base32 "0a9lk7fw06yb89wy9rp4q50ircw5imm1cqzhyhs92d0cia5qbhh6"))))
(arguments
(list
#:tests? #f ; TODO: tests hang, find out why.
@@ -8057,7 +8059,8 @@ supports concurrent serializable transactions.")
go-github-com-klauspost-compress
go-github-com-pkg-errors
go-github-com-spf13-cobra
go-go-opencensus-io
go-go-opentelemetry-io-contrib-zpages
go-go-opentelemetry-io-otel
go-golang-org-x-net
go-golang-org-x-sys
go-google-golang-org-protobuf))))
@@ -17603,7 +17606,7 @@ implementing features like:
(define-public go-github-com-maruel-natural
(package
(name "go-github-com-maruel-natural")
(version "1.1.1")
(version "1.3.0")
(source
(origin
(method git-fetch)
@@ -17612,7 +17615,7 @@ implementing features like:
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "040aikizdd7c4zm8xindb2ps16s60i0fkf8gkll2rir7lwv6q7ks"))))
(base32 "1nr1ai3b7yvz4wz4k0jqvjq3978hpk9yxarn7g7i3d2sxbdc0g4q"))))
(build-system go-build-system)
(arguments
(list
@@ -22785,16 +22788,16 @@ it is capable of logging at some or all levels.")
(define-public go-github-com-rivo-tview
(package
(name "go-github-com-rivo-tview")
(version "0.0.0-20241227133733-17b7edb88c57")
(version "0.42.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/rivo/tview")
(commit (go-version->git-ref version))))
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1w59vyvs8k5mzl7k39zpwcwwdgam2pbz0rnrfnnjgvkld1rh81dc"))))
(base32 "0jw47h92l0vp1lg6s5kng4hjv81hi8qxx9h5yilc7rzrr8l9ksd2"))))
(build-system go-build-system)
(arguments
(list #:import-path "github.com/rivo/tview"))

View File

@@ -1022,56 +1022,6 @@ in the style of communicating sequential processes (@dfn{CSP}).")
(map (lambda (suffix) (string-append "armv9" suffix "-a"))
'("" ".1" ".2" ".3" ".4" ".5"))))
(define-public go-1.23
(package
(inherit go-1.22)
(name "go")
(version "1.23.12")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/golang/go")
(commit (string-append "go" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0nxcp8wikn93zxipm829dyyagwys13yhf452ai357wzbdzqihm7x"))))
(arguments
(substitute-keyword-arguments (package-arguments go-1.22)
((#:phases phases)
#~(modify-phases #$phases
(replace 'disable-more-tests
(lambda _
#$@(cond
((target-aarch64?)
;; https://go-review.googlesource.com/c/go/+/151303
;; This test is known buggy on aarch64 and is enabled and
;; disabled upstream with some regularity.
#~((substitute* "src/plugin/plugin_test.go"
(("package plugin_test")
(string-append "// +build !linux linux,!arm64\n\n"
"package plugin_test")))))
((target-arm32?)
;; This test fails when run on aarch64-linux.
#~((substitute* "src/cmd/link/internal/ld/elf_test.go"
(("TestElfBindNow.*" all)
(string-append
all
" if runtime.GOARCH == \"arm\" {\n"
" t.Skipf(\"skipping; flaky on armhf\")\n"
" }\n")))))
(else (list #t)))))))))
(properties
`((compiler-cpu-architectures
("aarch64" ,@%go-1.23-arm64-micro-architectures)
("armhf" ,@%go-1.17-arm-micro-architectures)
("powerpc64le" ,@%go-1.17-powerpc64le-micro-architectures)
("x86_64" ,@%go-1.18-x86_64-micro-architectures))))
(native-inputs
;; setarch was added to the tsan test suite in 1.23.12
`(("go" ,util-linux)
,@(package-native-inputs go-1.22)))))
(define-public go-1.24
(package
(inherit go-1.22)
@@ -1239,7 +1189,6 @@ in the style of communicating sequential processes (@dfn{CSP}).")
(define-public go-std-1.20 (make-go-std go-1.20))
(define-public go-std-1.21 (make-go-std go-1.21))
(define-public go-std-1.22 (make-go-std go-1.22))
(define-public go-std-1.23 (make-go-std go-1.23))
(define-public go-std-1.24 (make-go-std go-1.24))
(define-public go-std-1.25 (make-go-std go-1.25))
(define-public go-std-1.26 (make-go-std go-1.26))

View File

@@ -129,7 +129,7 @@
libxv
mesa
sdl
v4l-utils-minimal))
v4l-utils))
(synopsis "1394-Based Digital Camera Control Library")
(description "LibDC1394 is a library that provides functionality to control
any camera that conforms to the 1394-Based Digital Camera Specification written
@@ -721,7 +721,7 @@ for the GStreamer multimedia library.")
speex
taglib
twolame
v4l-utils-minimal
v4l-utils
wavpack
zlib))
(propagated-inputs
@@ -942,7 +942,7 @@ model to base your own plug-in on, here it is.")
tinyalsa
transcode
usrsctp
v4l-utils-minimal
v4l-utils
vo-aacenc
vo-amrwbenc
vulkan-headers

View File

@@ -517,22 +517,19 @@ functions which were removed.")
"0pik2d3995z0rjcjhb4hsj5fsph3m8khg6j10k6mx4j2j727aq6l"))))
(build-system waf-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-before 'configure 'set-flags
(lambda* (#:key outputs #:allow-other-keys)
;; Allow 'bin/ganv_bench' to find libganv-1.so.
(setenv "LDFLAGS"
(string-append "-Wl,-rpath="
(assoc-ref outputs "out") "/lib"))
#t)))
#:tests? #f)) ; no check target
(inputs
`(("gtk" ,gtk+-2)
("gtkmm" ,gtkmm-2)))
(list
#:tests? #f ; no check target
#:phases
#~(modify-phases %standard-phases
(add-before 'configure 'set-flags
(lambda _
;; Allow 'bin/ganv_bench' to find libganv-1.so.
(setenv "LDFLAGS"
(string-append "-Wl,-rpath=" #$output "/lib")))))))
(native-inputs
(list `(,glib "bin") ; for glib-genmarshal, etc.
pkg-config))
(inputs (list gtk+-2 gtkmm-2))
(home-page "https://drobilla.net/software/ganv/")
(synopsis "GTK+ widget for interactive graph-like environments")
(description
@@ -1460,10 +1457,9 @@ exceptions, macros, and a dynamic programming environment.")
(inherit guile-cairo)
(name "guile2.2-cairo")
(inputs
`(("guile" ,guile-2.2)
("guile-lib" ,guile2.2-lib)
,@(fold alist-delete (package-inputs guile-cairo)
'("guile" "guile-lib"))))))
(modify-inputs inputs
(delete "guile" "guile-lib")
(append guile-2.2 guile2.2-lib)))))
(define-public guile-cairo-next
;; A commit with cairo-pointer->context, missing from guile-cairo@1.11.2
@@ -1579,11 +1575,10 @@ images onto Cairo surfaces.")
(inherit guile-rsvg)
(name "guile2.2-rsvg")
(inputs
`(("guile" ,guile-2.2)
("guile-lib" ,guile2.2-lib)
,@(fold alist-delete (package-inputs guile-rsvg)
'("guile" "guile-lib"))))
(propagated-inputs `(("guile-cairo" ,guile2.2-cairo)))))
(modify-inputs inputs
(delete "guile" "guile-lib")
(append guile-2.2 guile2.2-lib)))
(propagated-inputs (list guile2.2-cairo))))
(define-public guile-present
(package
@@ -1649,9 +1644,7 @@ documents.")
(name "guile2.2-present")
(inputs (list guile-2.2))
(propagated-inputs
`(("guile-lib" ,guile2.2-lib)
("guile-cairo" ,guile2.2-cairo)
("guile-rsvg" ,guile2.2-rsvg)))))
(list guile2.2-lib guile2.2-cairo guile2.2-rsvg))))
;;;
;;; C++ bindings.

View File

@@ -60,6 +60,7 @@
;;; Copyright © 2025 Andy Tai <atai@atai.org>
;;; Copyright © 2025 Ekaitz Zarraga <ekaitz@elenq.tech>
;;; Copyright © 2026 Matt Wette <matt.wette@gmail.com>
;;; Copyright © 2026 Dzianis Jackievič <mail@miesta.by>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -1167,7 +1168,7 @@ is not available for Guile 2.0.")
(package
(inherit guile-fibers-1.3)
(name "guile-fibers")
(version "1.4.2")
(version "1.4.3")
(source
(origin (inherit (package-source guile-fibers-1.3))
(file-name (git-file-name name version))
@@ -1176,7 +1177,7 @@ is not available for Guile 2.0.")
(commit (string-append "v" version))))
(sha256
(base32
"0qh0czz5qvk5mmrc8x2gmvl5psdfd22q2rhzj4jrpan6k3d55bl8"))
"1q0a9y0cc8rld1z7mcj61fkldhd0kn9n4yq25izxslbgg4g5h9j6"))
(patches '())))
(arguments
(if (target-aarch64?)
@@ -1256,30 +1257,8 @@ is not available for Guile 2.0.")
(modify-inputs native-inputs
(replace "guile" guile-2.2)))))
(define-public guile-fibers-next
(let ((commit "297359f0ad655378bcc3ff0d4e96101965ef39b4")
(revision "0"))
(package
(inherit guile-fibers)
(name "guile-fibers-next")
(version (git-version "1.4.2"
revision
commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://codeberg.org/guile/fibers.git")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"0qh0czz5qvk5mmrc8x2gmvl5psdfd22q2rhzj4jrpan6k3d55bl8"))))
(inputs
(modify-inputs inputs
(replace "guile" guile-next)))
(native-inputs
(modify-inputs native-inputs
(replace "guile" guile-next))))))
;; Deprecated on 2026-04-23
(define-deprecated-package guile-fibers-next guile-fibers)
(define-public guile-kracht
(package
@@ -1537,7 +1516,7 @@ order to provide IDE functionality for Guile Scheme.")
(define-public guile-ares-rs
(package
(name "guile-ares-rs")
(version "0.9.6")
(version "0.9.7")
(source
(origin
(method git-fetch)
@@ -1547,35 +1526,40 @@ order to provide IDE functionality for Guile Scheme.")
(file-name (git-file-name name version))
(sha256
(base32
"1vkww3vc0lsh5f8yh6fnh402rx3rsm0ss69rdkmplhzp4c7c4z1d"))))
"1xbznh5zjswfydgqg53g50ya7zm0hidin74g2glk849l9j45szw3"))))
(build-system guile-build-system)
(arguments
(list
#:source-directory "src/guile"
#:phases
#~(modify-phases %standard-phases
(add-after 'build 'install-script
(add-after 'build 'install-scripts
(lambda _
(let* ((bin (string-append #$output "/bin"))
(oldpath (string-append
#$output
;; This file will be named ares-nrepl.scm for
;; the next version.
"/share/guile/site/3.0/ares/scripts/ares.scm"))
(newpath (string-append bin "/ares-nrepl")))
(mkdir bin)
(symlink oldpath newpath)
(wrap-program newpath
`("GUILE_LOAD_PATH" ":" =
,(list (string-append #$output "/share/guile/site/3.0")
(getenv "GUILE_LOAD_PATH")))
`("GUILE_LOAD_COMPILED_PATH" ":" =
,(list (string-append #$output "/lib/guile/3.0/site-ccache")
(getenv "GUILE_LOAD_COMPILED_PATH"))))
;; Not needed since the wrapper followed the symlink.
(delete-file (string-append bin "/.ares-nrepl-real"))))))))
(inputs (list bash-minimal guile-3.0))
(propagated-inputs (list guile-fibers guile-custom-ports))
(define bin (string-append #$output "/bin"))
(define site (string-append #$output "/share/guile/site/3.0"))
(define ccache
(string-append #$output "/lib/guile/3.0/site-ccache"))
(define (install-script name)
(let ((oldpath
(string-append site "/ares/scripts/" name ".scm"))
(newpath
(string-append bin "/" name)))
(symlink oldpath newpath)
(wrap-program newpath
`("GUILE_LOAD_PATH" ":" =
,(list site
(getenv "GUILE_LOAD_PATH")))
`("GUILE_LOAD_COMPILED_PATH" ":" =
,(list ccache
(getenv "GUILE_LOAD_COMPILED_PATH"))))
;; Not needed since the wrapper followed the symlink.
(delete-file (string-append bin "/." name "-real"))))
(mkdir bin)
(for-each install-script '("ares-nrepl" "ares-suitbl")))))))
(inputs (list bash-minimal guile-3.0-latest))
(propagated-inputs (list guile-fibers))
(home-page "https://git.sr.ht/~abcdw/guile-ares-rs")
(synopsis "Asynchronous Reliable Extensible Sleek RPC Server for Guile")
(description "Asynchronous Reliable Extensible Sleek RPC Server for
@@ -5707,27 +5691,32 @@ perform geometrical transforms on JPEG images.")
(license license:gpl3+))))
(define-public guile-jtd
(package
(name "guile-jtd")
(version "220323a")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/mwette/guile-jtd")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1l8fyqhvksarvpbr903i3ss3432jzvyvhgcqa15j922ngqh4ds6f"))))
(build-system guile-build-system)
(native-inputs (list guile-3.0))
(home-page "https://github.com/mwette/guile-jtd")
(synopsis "Python's @code{pdb.set_trace()} but for Guile")
(description
"The @code{(jtd)} module for Guile provides a procedure
;; There are a few unreleased commits that include niceties such as warning
;; that the debug VM must be used; use the latest commit until the next
;; release comes.
(let ((commit "425f86ae954d6445aaedacfd4ecd50aa0022e59d")
(revision "0"))
(package
(name "guile-jtd")
(version (git-version "220323a" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/mwette/guile-jtd")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"1l8fyqhvksarvpbr903i3ss3432jzvyvhgcqa15j922ngqh4ds6f"))))
(build-system guile-build-system)
(native-inputs (list guile-3.0))
(home-page "https://github.com/mwette/guile-jtd")
(synopsis "Python's @code{pdb.set_trace()} but for Guile")
(description
"The @code{(jtd)} module for Guile provides a procedure
@code{jump-to-debugger} for escaping to the Guile REPL for the purpose of
debugging code.")
(license license:lgpl2.1+)))
(license license:lgpl2.1+))))
(define-public guile-png
(package
@@ -5787,6 +5776,43 @@ reading and writing PNG data, as well as some graphic primitives and basic image
processing filters.")
(license license:gpl3+)))
(define-public guile-pnm
(package
(name "guile-pnm")
(version "0.2.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/artyom-poptsov/guile-pnm")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "06kgp1gh8hdj1j6w7i981prx93wfjpayrnjlydlzs7l5j04l4m3a"))))
(build-system gnu-build-system)
(arguments
(list
#:make-flags
#~(list "GUILE_AUTO_COMPILE=0"))) ;to prevent guild warnings
(native-inputs (list autoconf
automake
pkg-config
texinfo
;; needed when cross-compiling.
guile-3.0
guile-lib
guile-smc))
(inputs (list guile-3.0 guile-lib))
(propagated-inputs (list guile-smc))
(home-page "https://github.com/artyom-poptsov/guile-pnm")
(synopsis "NetBPM (PNM) library for GNU Guile")
(description
"@code{guile-pnm} is a GNU Guile library for working with the
@url{https://en.wikipedia.org/wiki/Netpbm, NetPBM} format (also known as PNM),
including portable bitmap (PBM), portable graymap (PGM) and portable
pixel (PPM) variants.")
(license license:gpl3+)))
(define-public guile-cv
(package
(name "guile-cv")
@@ -6362,6 +6388,87 @@ as signed sessions, multipart message support, etc.")
(propagated-inputs
(list guile2.2-irregex guile2.2-gcrypt))))
(define-public guile-compose
(package
(name "guile-compose")
(version "0.1.2")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://codeberg.org/jadzi/guile-compose.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1g68gczs96nrb0vf1hv4n07zsp2516gpiwq1wwlhcq4rzynhf12h"))))
(build-system gnu-build-system)
(arguments
(list
#:make-flags
#~'("GUILE_AUTO_COMPILE=0")))
(inputs (list guile-3.0))
(native-inputs (list autoconf-2.72 automake pkg-config guile-3.0 texinfo))
(synopsis "Procedure composition utilities for Guile Scheme")
(description
"This tiny package provides some procedures and macros to extend
Guile Scheme procedure composition facilities. For example, there is
a @code{compose-top}, a reverse-order analog to native @code{compose}
procedure. The @code{compose-cont} is a macro, utilizing some power of
continuations to build really flexible flows.
This library is intended to stay basic and small, so it has no any
external dependencies and can be a good base for other packages, like e.g.
@code{guile-web-middleware}.")
(license (list license:lgpl3+))
(home-page "https://jadzi.codeberg.page/guile-compose")))
(define-public guile-web-middleware
(package
(name "guile-web-middleware")
(version "0.11.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://codeberg.org/jadzi/guile-web-middleware.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "01wb8v0lszphdv08ly4aqv59qm5h8yw2fgm025vkn61djspsq4j9"))))
(build-system gnu-build-system)
(arguments
(list
#:make-flags
#~'("GUILE_AUTO_COMPILE=0")))
(inputs (list guile-3.0 guile-compose))
(native-inputs (list autoconf-2.72 automake pkg-config guile-3.0 texinfo))
(synopsis "Web application middleware composition for Guile Scheme")
(description
"This package provides means to compose a web application by
chaining procedures, a.k.a. middlewares. By those means, composed
procedures form a standard request handler for any Guile's web server
implementation.
Each middleware has its own limited responsibility in request
processing. Also, middlewares are simple Scheme procedures, so they
can be easily tested and shared among web applications.
Out of the box, this package provides several procedures for commonly
required tasks. Among them:
@itemize
@item Error handling with customizable page contents.
@item Request filtering.
@item Request logging.
@item Serving static files, file URL generation.
@item Request routing, handling parameters, route URL generation.
@item Middleware nesting, composing whole apps.
@end itemize
This package relies on @code{guile-compose} package as its only dependency.")
(license (list license:lgpl3+))
(home-page "https://jadzi.codeberg.page/guile-web-middleware")))
(define-public guile-web-driver-ng
(package
(name "guile-web-driver-ng")
@@ -7654,11 +7761,11 @@ is an attempt to combine both into something useful.")
(license license:asl2.0))))
(define-public guile-knots
(let ((commit "d79284b4715efc347b22d510c3e3134a0c584b17")
(revision "32"))
(let ((commit "f767eca066495e6582e89ba1b91907c0c5657878")
(revision "34"))
(package
(name "guile-knots")
(version (git-version "0" revision commit))
(version (git-version "0.1" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
@@ -7666,7 +7773,7 @@ is an attempt to combine both into something useful.")
(commit commit)))
(sha256
(base32
"0i87jc3dznw6pdib0yy49d8066c1jvwp2m01xi92amx45dkl8ixc"))
"18fqmpyrrxy8phxxm5b7d1qhhvc3rsrs243xiinkj2hn2ca1cqi8"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(arguments
@@ -7679,13 +7786,13 @@ is an attempt to combine both into something useful.")
(list pkg-config
autoconf
automake
guile-next
guile-3.0-latest
guile-lib
guile-fibers-next))
guile-fibers))
(inputs
(list guile-next))
(list guile-3.0-latest))
(propagated-inputs
(list guile-fibers-next))
(list guile-fibers))
(home-page "https://cbaines.codeberg.page/guile-knots/")
(synopsis "Patterns and functionality to use with Guile Fibers")
(description
@@ -7901,14 +8008,16 @@ This module implements this interface by use of Guile's dynamic FFI.")
(define-public guile-bstructs
(package
(name "guile-bstructs")
(version "0.1.0")
(version "0.2.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://files.dthompson.us/releases"
"/guile-bstructs/guile-bstructs-" version ".tar.gz"))
(sha256
(base32 "0f847aiyzhrlvd2jmckyqrkrvi7i9mg8rmyhbh7fs1vzykcf67wb"))))
(origin
(method git-fetch)
(uri (git-reference
(url "https://git.dthompson.us/guile-bstructs.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "18dwhcsbcjix61hy32ckjyvgmg1r9smq2krp2m1yc6sinlszh0f2"))))
(build-system gnu-build-system)
(native-inputs (list autoconf automake guile-3.0 pkg-config texinfo))
(inputs (list guile-3.0))
@@ -7979,14 +8088,14 @@ application to open a given file or URL based on given configurations.")
(define-public guile-goblins
(package
(name "guile-goblins")
(version "0.17.0")
(version "0.18.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://files.spritely.institute/releases"
"/guile-goblins/guile-goblins-" version ".tar.gz"))
(sha256
(base32 "16jkmfspsnza2fdk5jr05a5pfh7x856gpg031i21s1yvy43l8mi0"))))
(base32 "0gj5018wmq97ln1z7x03a13z3p35xc8762id9bl9fgkxwm01df1a"))))
(build-system gnu-build-system)
(arguments
(list

View File

@@ -1004,7 +1004,7 @@ Guile's foreign function interface.")
(file-name (string-append "guile-lzlib-" version ".tar.gz"))
(sha256
(base32
"1whgmwkr1v8m63p4aaqn8blwl9vcrswwhbfv4bm0aghl5a6rryd7"))
"1v1pfqp6hwl0rivs7swhqnfgznxlfnws9ldmn6avnhd10filfa3a"))
(patches (search-patches "guile-lzlib-gcc-14.patch"
"guile-lzlib-hurd64.patch"))))
(build-system gnu-build-system)

View File

@@ -914,7 +914,7 @@ regular) Diffie Hellman key exchanges, and many extensions.")
(list #:extra-directories (list "openssl")
#:configure-flags
#~(list "--ghc-options=-optc=-Wno-incompatible-pointer-types")))
(inputs (list ghc-network openssl))
(inputs (list ghc-network openssl-3.0))
(home-page "https://github.com/haskell-cryptography/HsOpenSSL")
(synopsis "Partial OpenSSL binding for Haskell")
(description

View File

@@ -489,11 +489,22 @@ lost.
"0b9d2i22ghyjarwi1c596q5mf7gj1k04k784hnmrd2d4x9hgv9ax"))))
(build-system gnu-build-system)
(arguments
(list #:configure-flags #~(list "--with-corosync" "--disable-static"
(list #:configure-flags #~(list "--with-corosync"
"--disable-static"
"--localstatedir=/var"
(string-append "--with-initdir="
#$output "/etc/init.d")
(string-append "--with-ocfdir="
#$output "/lib"))))
#$output "/lib"))
#:phases
#~(modify-phases %standard-phases
(add-before 'configure 'pre-configure
(lambda _
;; Do not attempt to install /var.
(substitute* '("Makefile.am"
"daemons/schedulerd/Makefile.am")
(("install-exec-local:")
"install-exec-local-disabled:")))))))
(native-inputs (list autoconf
automake
cmocka

View File

@@ -669,7 +669,7 @@ and WebP.")
(define-public mcomix
(package
(name "mcomix")
(version "3.1.0")
(version "3.1.1")
(source
(origin
(method url-fetch)
@@ -677,7 +677,7 @@ and WebP.")
"mcomix-" version ".tar.gz"))
(sha256
(base32
"09y4nhlcqvvhz0wscx4zpqxmyhiwh8wrjnhk52awxhzvgyx6wa7r"))))
"1y6fps1fbzjc4sdm381432zvrq97iadbz4yyxxsfnzf0ggnsl2m1"))))
(build-system pyproject-build-system)
(arguments
(list
@@ -720,8 +720,14 @@ and WebP.")
(wrap-program prog
`("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))))))))
(native-inputs (list python-setuptools))
(inputs
(list bash-minimal p7zip python python-pillow python-pygobject python-pycairo gtk+))
(inputs (list bash-minimal
gobject-introspection
gtk+
p7zip
python
python-pillow
python-pycairo
python-pygobject))
(home-page "https://sourceforge.net/p/mcomix/wiki/Home/")
(synopsis "Image viewer for comics")
(description "MComix is a customizable image viewer that specializes as

View File

@@ -339,30 +339,6 @@ coverage.")
;; that list in further version.
(supported-systems (list "x86_64-linux"))))
(define-public lttng-modules
(package
(name "lttng-modules")
(version "2.13.14")
(source (origin
(method url-fetch)
(uri (string-append "https://lttng.org/files/lttng-modules/"
"lttng-modules-" version ".tar.bz2"))
(sha256
(base32
"19jx1yz1hsbr4vwfp2nr6z52a5g50iimaak962k49diay5zryi66"))))
(build-system linux-module-build-system)
(arguments
`(#:tests? #f ; no tests
#:make-flags (list "CONFIG_LTTNG=m"
"CONFIG_LTTNG_CLOCK_PLUGIN_TEST=m")))
(home-page "https://lttng.org/")
(synopsis "LTTng kernel modules for the LTTng tracer toolset")
(description
"LTTng kernel modules are Linux kernel modules which make
LTTng kernel tracing possible. They include essential control modules and
many probes which instrument numerous interesting parts of Linux.")
(license (list license:lgpl2.1 license:gpl2 license:expat))))
(define-public lttng-ust
(package
(name "lttng-ust")

View File

@@ -55,13 +55,12 @@
(modify-phases %standard-phases
(add-after 'unpack 'make-git-checkout-writable
(lambda _
(for-each make-file-writable (find-files "."))
#t))
(for-each make-file-writable (find-files "."))))
(add-before 'build 'remove-binaries
(lambda _
(delete-file "lib/org/xerial/snappy/OSInfo.class")
(delete-file-recursively "src/main/resources/org/xerial/snappy/native")
#t))
(delete-file-recursively
"src/main/resources/org/xerial/snappy/native")))
(add-before 'build 'build-jni
(lambda _
;; Rebuild one of the binaries we removed earlier
@@ -98,36 +97,33 @@
(add-after 'build-jni 'copy-jni
(lambda _
(copy-recursively "src/main/resources/org/xerial/snappy/native"
"build/classes/org/xerial/snappy/native")
#t))
"build/classes/org/xerial/snappy/native")))
(add-before 'build 'set-test-memory-size
(lambda _
(substitute* "build.xml"
(("<junit printsummary=") "<junit maxmemory=\"2G\" printsummary="))
#t))
(("<junit printsummary=")
"<junit maxmemory=\"2G\" printsummary="))))
(add-before 'check 'fix-failing
(lambda _
(with-directory-excursion "src/test/java/org/xerial/snappy"
;; This package assumes maven build, which puts results in "target".
;; We put them in "build" instead, so fix that.
;; This package assumes maven build, which puts results in
;; "target". We put them in "build" instead, so fix that.
(substitute* "SnappyLoaderTest.java"
(("target/classes") "build/classes"))
;; This requires Hadoop, which is not in Guix yet.
(delete-file "SnappyHadoopCompatibleOutputStreamTest.java"))
#t)))))
(delete-file "SnappyHadoopCompatibleOutputStreamTest.java")))))))
(inputs
`(("osgi-framework" ,java-osgi-framework)))
(list java-osgi-framework))
(propagated-inputs
`(("bitshuffle" ,bitshuffle-for-snappy)
("snappy" ,snappy)))
(list bitshuffle-for-snappy snappy))
(native-inputs
`(("junit" ,java-junit)
("hamcrest" ,java-hamcrest-core)
("xerial-core" ,java-xerial-core)
("classworlds" ,java-plexus-classworlds)
("commons-lang" ,java-commons-lang)
("commons-io" ,java-commons-io)
("perl" ,perl)))
(list java-junit
java-hamcrest-core
java-xerial-core
java-plexus-classworlds
java-commons-lang
java-commons-io
perl))
(home-page "https://github.com/xerial/snappy-java")
(synopsis "Compression/decompression algorithm in Java")
(description "Snappy-java is a Java port of snappy, a fast C++
@@ -156,13 +152,13 @@ compressor/decompressor.")
(add-before 'build 'remove-binaries
(lambda _
(delete-file "lib/org/xerial/snappy/OSInfo.class")
(delete-file-recursively "src/main/resources/org/xerial/snappy/native")
#t))
(delete-file-recursively
"src/main/resources/org/xerial/snappy/native")))
(add-before 'build 'build-jni
(lambda _
;; Rebuild one of the binaries we removed earlier
(invoke "javac" "src/main/java/org/xerial/snappy/OSInfo.java"
"-d" "lib")
"-d" "lib")
;; Link to the dynamic snappy, not the static ones
(substitute* "Makefile.common"
(("-shared") "-shared -lsnappy"))
@@ -184,16 +180,14 @@ compressor/decompressor.")
(add-after 'build-jni 'copy-jni
(lambda _
(copy-recursively "src/main/resources/org/xerial/snappy/native"
"build/classes/org/xerial/snappy/native")
#t))
"build/classes/org/xerial/snappy/native")))
(add-before 'check 'fix-tests
(lambda _
(mkdir-p "src/test/resources/org/xerial/snappy/")
(copy-recursively "src/test/java/org/xerial/snappy/testdata"
"src/test/resources/org/xerial/snappy/testdata")
(install-file "src/test/java/org/xerial/snappy/alice29.txt"
"src/test/resources/org/xerial/snappy/")
#t)))))))
"src/test/resources/org/xerial/snappy/"))))))))
(define-public java-iq80-snappy
(package

View File

@@ -22,6 +22,7 @@
;;; Copyright © 2024, 2025 Nicolas Graves <ngraves@ngraves.fr>
;;; Copyright © 2024-2025 Sharlatan Hellseher <sharlatanus@gmail.com>
;;; Copyright © 2025 Ghislain Vaillant <ghislain.vaillant@inria.fr>
;;; Copyright © 2026 Vinicius Monego <monego@posteo.net>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -52,7 +53,9 @@
#:use-module (gnu packages bash)
#:use-module (gnu packages check)
#:use-module (gnu packages cpp)
#:use-module (gnu packages databases)
#:use-module (gnu packages docker)
#:use-module (gnu packages freedesktop)
#:use-module (gnu packages linux)
#:use-module (gnu packages monitoring)
#:use-module (gnu packages networking)
@@ -1710,13 +1713,13 @@ analyzing Jupyter Notebooks.")
(define-public python-qtconsole
(package
(name "python-qtconsole")
(version "5.7.0")
(version "5.7.2")
(source
(origin
(method url-fetch)
(uri (pypi-uri "qtconsole" version))
(sha256
(base32 "0w9i0s70dm39cxgn3vh4wcaxdywzp9j0ac7f49q4qmggx4f3fcqd"))))
(base32 "088m56fav6xlcw55srxz96yf7rj2ndmycy4f3m69498r2swqbd17"))))
(build-system pyproject-build-system)
(arguments
(list
@@ -1764,6 +1767,67 @@ analyzing Jupyter Notebooks.")
rich media output.")
(license license:bsd-3)))
(define-public python-spyder-kernels
(package
(name "python-spyder-kernels")
(version "3.1.4")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/spyder-ide/spyder-kernels")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0yhrifh148g93qkwx9ggsh2kr9789apzlw91ais4dyas5yf1xj8w"))))
(build-system pyproject-build-system)
(arguments
(list
#:test-flags
#~(list "-k" (string-append
;; Avoid pulling Django for a single test.
"not test_django_settings"
;; AssertionError.
" and not test_umr_reload_modules"))
#:phases
#~(modify-phases %standard-phases
(add-before 'check 'redirect-HOME
(lambda _
(setenv "HOME" "/tmp"))))))
(propagated-inputs (list python-cloudpickle
python-ipykernel
python-ipython
python-jupyter-client
python-packaging
python-pyxdg
python-pyzmq
python-traitlets
python-wurlitzer))
(native-inputs (list python-anyio
python-cython
python-dask
python-h5py
python-matplotlib
python-numpy
python-pandas
python-pillow
python-polars
python-pyarrow
python-pydicom
python-pytest
python-scipy
python-setuptools
python-xarray))
(home-page "https://github.com/spyder-ide/spyder-kernels")
(synopsis "Jupyter kernels for Spyder's console")
(description "This package provides Jupyter kernels for use with the
consoles of Spyder, the Scientific Python Development Environment.
These kernels can be launched either through Spyder itself or in an
independent Python session, and allow for interactive or file-based execution
of Python code inside Spyder.")
(license license:expat)))
(define-public python-voila
(package
(name "python-voila")

View File

@@ -37,6 +37,7 @@
#:use-module (guix packages)
#:use-module (guix utils)
#:use-module (gnu packages)
#:use-module (gnu packages bash)
#:use-module (gnu packages boost)
#:use-module (gnu packages compression)
#:use-module (gnu packages crypto)
@@ -189,16 +190,17 @@ framework. It builds XMPP clients complying with the XMPP Compliance Suites
(package
(name "kaidan")
(version "0.15.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://kde/unstable/kaidan/" version
"/kaidan-" version ".tar.xz"))
(modules '((guix build utils)))
(snippet
#~(begin
(delete-file-recursively "3rdparty")))
(sha256
(base32 "11g4lifji6gh9zmpgyx4dnmxyzzwkhhj84j2w9r4bvgqm2pxdhnd"))))
(source
(origin
(method url-fetch)
(uri (string-append "mirror://kde/unstable/kaidan/" version
"/kaidan-" version ".tar.xz"))
(modules '((guix build utils)))
(snippet
#~(begin
(delete-file-recursively "3rdparty")))
(sha256
(base32 "11g4lifji6gh9zmpgyx4dnmxyzzwkhhj84j2w9r4bvgqm2pxdhnd"))))
(build-system qt-build-system)
(arguments
(list
@@ -209,10 +211,18 @@ framework. It builds XMPP clients complying with the XMPP Compliance Suites
(add-before 'check 'set-home
(lambda _
;; Tests need write permission in $HOME.
(setenv "HOME" "/tmp"))))))
(setenv "HOME" "/tmp")))
(add-after 'install 'wrap-program
(lambda _
(let ((gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH")))
(wrap-program (string-append #$output "/bin/kaidan")
`("GST_PLUGIN_SYSTEM_PATH" ":" prefix
(,gst-plugin-path)))))))))
(native-inputs (list extra-cmake-modules
pkg-config))
(inputs (list gstreamer
(inputs (list bash-minimal
gst-plugins-good-qt
gstreamer
icu4c
kcrash
kdsingleapplication

View File

@@ -1191,37 +1191,42 @@ CDs.")
(define-public plasmatube
(package
(name "plasmatube")
(version "25.12.2")
(source (origin
(method url-fetch)
(uri (string-append "mirror://kde/stable/release-service/" version
"/src/plasmatube-" version ".tar.xz"))
(sha256
(base32
"1jc6iqcxz0zyai26vx80nyfr818r4cj8lpw0b1pbvb1vya12v8zy"))))
(version "26.04.0")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://kde/stable/release-service/" version
"/src/plasmatube-" version ".tar.xz"))
(sha256
(base32 "0dby9wypbrhg6g03kvl8fc40zpnri03hf3kk3vi1z16pwc7sn093"))))
(build-system qt-build-system)
(native-inputs (list extra-cmake-modules pkg-config python-minimal))
(inputs
(list kconfig
kcoreaddons
kdbusaddons
kdeclarative ; for org.kde.kquickcontrolsaddons
ki18n
kirigami
kirigami-addons
ki18n
kitemmodels
kwindowsystem
mpvqt
purpose
qqc2-desktop-style ; for org.kde.desktop
qtdeclarative
qtkeychain-qt6
qtmultimedia
qtsvg
qtkeychain-qt6
qtwayland
sonnet
yt-dlp))
(arguments (list #:qtbase qtbase))
(home-page "https://apps.kde.org/plasmatube/")
(synopsis "Kirigami YouTube video player")
(description "This package provides YouTube video player based
on QtMultimedia and @command{yt-dlp}.")
(synopsis "YouTube and PeerTube video player")
(description
"Plasmatube is a YouTube video player that uses Invidious and Piped
APIs. It can also play videos from PeerTube sources.")
(license license:gpl3+)))
(define-public rattlesnake

View File

@@ -1853,6 +1853,9 @@ for xdg-desktop-portal that is using Qt/KF5.")
breeze-icons ;default mouse icon
colord
discover
ffmpegthumbs
flatpak ;for discover
flatpak-kcm ;to manage flatpak app permissions
kactivitymanagerd
kdeclarative ;required by sddm breeze theme
kde-cli-tools

View File

@@ -33,6 +33,7 @@
#:use-module (gnu packages libusb)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
#:use-module (gnu packages python-build)
#:use-module (gnu packages swig)
#:use-module (gnu packages textutils))
@@ -95,7 +96,7 @@
"/html"))))))
#:tests? #f)) ; tests fail without access to USB
(native-inputs
(list doxygen graphviz pkg-config python swig-4.0))
(list doxygen graphviz pkg-config python python-setuptools swig))
(inputs
(list boost libconfuse))
(propagated-inputs

View File

@@ -2767,32 +2767,6 @@ This package provides the @command{corefreqd} data collection daemon, the
(supported-systems (list "x86_64-linux"))
(license license:gpl2)))
(define-public librem-ec-acpi-linux-module
(package
(name "librem-ec-acpi-linux-module")
(version "0.9.2")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://source.puri.sm/nicole.faerber/librem-ec-acpi-dkms")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0m8hamf0550083jnk5q4hv20l8lfiardnkxbib4hhvqghpzzbxl0"))))
(build-system linux-module-build-system)
(arguments
(list #:tests? #f)) ; no test suite
(home-page "https://source.puri.sm/nicole.faerber/librem-ec-acpi-dkms")
(synopsis "Linux kernel module to control the Librem Embedded Controller")
(description
"This is the Linux kernel @acronym{ACPI, Advanced Configuration and Power
Interface} platform driver for the @acronym{EC, Embedded Controller} firmware
on Purism Librem laptop computers. It allows user-space control over the
battery charging thresholds, keyboard backlight, fans and thermal monitors,
and the notification, WiFi, and Bluetooth LED.")
(license license:gpl2)))
(define-public tuxedo-keyboard
(package
(name "tuxedo-keyboard")
@@ -2823,70 +2797,6 @@ kernel modules to control the keyboard on most Tuxedo computers. The @code{tuxed
module is also needed for the @code{tuxedo-control-center} (short tcc) package.")
(license license:gpl2+)))
(define-public evdi
(package
(name "evdi")
(version "1.14.8") ;inherited by libevdi
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/DisplayLink/evdi")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "18n8kk4gbbj252a2dqb7mbpscfb437x42flh1fsl4g5c8brczc77"))))
(build-system linux-module-build-system)
(arguments
(list #:tests? #f ;no test suite
#:phases #~(modify-phases %standard-phases
(add-after 'unpack 'chdir
(lambda _
(chdir "module"))))))
(home-page "https://github.com/DisplayLink/evdi")
(synopsis
"@acronym{EVDI, Extensible Virtual Display Interface} Linux kernel module")
(description
"The @acronym{EVDI, Extensible Virtual Display Interface} is a Linux kernel
module that enables management of multiple screens, allowing user-space programs
to take control over what happens with the image. It is essentially a virtual
display for which applications using the @code{libevdi} library can add, remove,
and receive screen updates.
The EVDI driver uses the standard Linux @acronym{DRM, Direct Rendering Manager}.
Its displays can be controlled by standard tools such as @command{xrandr} and
display settings applets in graphical environments")
(license license:gpl2)))
(define-public libevdi
(package
(inherit evdi)
(name "libevdi")
(build-system gnu-build-system)
(arguments
(list #:tests? #f ;no test suite
#:make-flags
#~(list (string-append "CC=" #$(cc-for-target)))
#:phases #~(modify-phases %standard-phases
(delete 'configure)
(add-after 'unpack 'chdir
(lambda _
(chdir "library")))
(replace 'install
(lambda* _
(let* ((lib (string-append #$output "/lib")))
(mkdir-p lib)
(install-file "libevdi.so" lib)))))))
(inputs (list libdrm))
(native-inputs (list pkg-config))
(synopsis
"@acronym{EVDI, Extensible Virtual Display Interface} user-space library")
(description
"Libevdi is a library that gives applications easy access to
@acronym{EVDI, Extensible Virtual Display Interface} devices provided by the
@code{evdi} driver package.")
(license license:lgpl2.1)))
(define-public ec
(package
(name "ec")
@@ -2912,62 +2822,6 @@ registers of the @acronym{EC, Embedded Controller} supported by the
@code{ec_sys} Linux driver.")
(license license:gpl2)))
(define-public lkrg
(package
(name "lkrg")
(version "0.9.7")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/lkrg-org/lkrg")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0k0z9caj48nqjwk3bapgfcdzi1lkizxcjj4r1dvkvwsk38mbk1c4"))))
(build-system linux-module-build-system)
(arguments
(list #:linux linux-libre
#:tests? #f
#:make-flags #~(list (string-append "CC="
#$(cc-for-target))
(string-append "SYSSRC="
(assoc-ref %build-inputs
"linux-module-builder")
"/lib/modules/build"))))
(inputs (list bash-minimal))
(home-page "https://lkrg.org/")
(synopsis "Linux Kernel Runtime Guard")
(description
"This package performs runtime integrity checking of the Linux kernel and
detection of security vulnerability exploits against the kernel.")
(license license:gpl2)))
(define-public vhba-module
(package
(name "vhba-module")
(version "20211218")
(source
(origin
(method url-fetch)
(uri (string-append
"http://downloads.sourceforge.net/cdemu/vhba-module/vhba-module-"
version ".tar.xz"))
(sha256
(base32 "1dkprnnya0i8121p7ip4g8cww99drk7fzbwcxx65x02jqk0siibj"))))
(build-system linux-module-build-system)
(arguments
(list #:tests? #f)) ; no test suite
(home-page "https://cdemu.sourceforge.io/")
(synopsis "Linux kernel module that emulates SCSI devices")
(description
"The @acronym{VHBA, Virtual SCSI Host Bus Adapter} module is the link
between the CDemu user-space daemon and the kernel Linux. It acts as a
low-level SCSI driver that emulates a virtual SCSI adapter which can have
multiple virtual devices attached to it. Its typical use with CDEmu is to
emulate optical devices such as DVD and CD-ROM drives.")
(license license:gpl2+)))
(define-public bbswitch-module
;; Use "develop" branch since stable release does not build on Linux >= 5.6.
;; See https://github.com/Bumblebee-Project/bbswitch/issues/205.
@@ -3164,36 +3018,6 @@ Linux kernel module, it also contains a modprobe configuration and udev rules,
which need to be installed separately.")
(license license:gpl3+)))
(define-public vendor-reset-linux-module
(let ((commit "4b466e92a2d9f76ce1082cde982c7be0be91e248")
(revision "0"))
(package
(name "vendor-reset-linux-module")
(version (git-version "0.1.0" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/gnif/vendor-reset")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"1gaf4j20grng689c9fylcqri3j9ycnhr2bsva2z6qcdqvzl6yxbi"))))
(build-system linux-module-build-system)
(arguments
(list #:tests? #f)) ;no test suite
(home-page "https://github.com/gnif/vendor-reset")
(synopsis
"Kernel module that resets GPUs that are affected by the reset bug")
(description
"This package provides a kernel module that is capable of
resetting hardware devices into a state where they can be
re-initialized or passed through into a virtual machine (VFIO).
While it would be great to have these in the kernel as PCI quirks,
some of the reset procedures are very complex and would never be
accepted as a quirk (ie AMD Vega 10).")
(license license:gpl2))))
;;;
;;; Pluggable authentication modules (PAM).
@@ -4914,7 +4738,7 @@ transparently through a bridge.")
(define-public libnl
(package
(name "libnl")
(version "3.7.0")
(version "3.12.0")
(source (origin
(method url-fetch)
(uri (string-append
@@ -4923,7 +4747,7 @@ transparently through a bridge.")
"/libnl-" version ".tar.gz"))
(sha256
(base32
"0faryrbvp0x4s2zhg5d78vd5q4w34lrr736gpm9wcwpaxv5krr4z"))))
"066xq01y2mx0xi7bwa5y6ciw1ygla15qdlzzyvyzb8zijrqwllgw"))))
(build-system gnu-build-system)
(native-inputs
`(("bison" ,bison)
@@ -4938,7 +4762,7 @@ transparently through a bridge.")
(string-join (string-split version #\.) "_")
"/libnl-doc-" version ".tar.gz"))
(sha256
(base32 "1ra8xdf06q9hlsrnc1yz67xkp4kd9sd27ff02mlixixnyyjp32sp"))))))
(base32 "18f14pdycghy6fcd27faqgh19zpam6b45s8bgsk85kb9wwzq3yd4"))))))
(outputs `("out" "doc"))
(arguments
`(#:phases
@@ -5000,7 +4824,6 @@ configuration and monitoring interfaces.")
(with-directory-excursion "./python" (python-inst ,python))
#t))))))))
(define-public libnl-python2 (libnl-python-package "python2"))
(define-public libnl-python3 (libnl-python-package "python3"))
(define-public iw
@@ -12095,7 +11918,7 @@ provides user-space tools for creating EROFS file systems.")
(define-public rasdaemon
(package
(name "rasdaemon")
(version "0.8.3")
(version "0.8.4")
(source
(origin
(method git-fetch)
@@ -12104,9 +11927,17 @@ provides user-space tools for creating EROFS file systems.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0vfw4vf75fnpbxnfsmpdwdzhplnccz24j23bg6nsb3b4wa8hv4sa"))))
(base32 "1930g35igfdw5bzcd6diy59rm1q4yirpjgqznfqfsichnmk04kmf"))))
(native-inputs (list autoconf automake libtool pkg-config))
(inputs (list bash-minimal libtraceevent perl perl-dbd-sqlite sqlite dmidecode kmod))
(inputs
(list bash-minimal
dmidecode
kmod
libtraceevent
pciutils
perl
perl-dbd-sqlite
sqlite))
(arguments
(list
#:configure-flags

View File

@@ -12982,8 +12982,8 @@ score. When evaluated, the musical score is rendered to an image.")
(sbcl-package->ecl-package sbcl-cmn))
(define-public sbcl-coalton
(let ((commit "939342495f55991812c2c2767322c5e51e755216")
(revision "4"))
(let ((commit "bf475c8c53e02a2e0cb29deab4d101d25743bfca")
(revision "5"))
(package
(name "sbcl-coalton")
(version (git-version "0.0.1" revision commit))
@@ -12995,7 +12995,7 @@ score. When evaluated, the musical score is rendered to an image.")
(commit commit)))
(file-name (git-file-name "cl-coalton" version))
(sha256
(base32 "08qzj3v4fvn9h87whyqg650rpap8lva7jr94d1akv6m2z62l5q68"))))
(base32 "0zrp2s82n2mxx7knbnbsdj64zar21nnnf8iwzrqzs4g3v6xpyz9z"))))
(build-system asdf-build-system/sbcl)
(native-inputs
(list sbcl-fiasco))

View File

@@ -33,6 +33,7 @@
;;; Copyright © 2024 Suhail Singh <suhail@bayesians.ca>
;;; Copyright © 2024 David Pflug <david@pflug.io>
;;; Copyright © 2024 Janneke Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2026 Igorj Gorjaĉev <igor@goryachev.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -912,7 +913,7 @@ assembler, PEG) is less than 1MB.")
(define-public jpm
(package
(name "jpm")
(version "1.1.0")
(version "1.2.0")
(source
(origin
(method git-fetch)
@@ -921,7 +922,7 @@ assembler, PEG) is less than 1MB.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "05rdxigmiy7vf93s16a8n2029lq33073jccz1rjl4iisxj6piw4l"))))
(base32 "06ywq1ajvqx3lfpldwbakc21hxhb313r0196xnmrrbb6k1f8hsfx"))))
(build-system copy-build-system)
(arguments
(list

View File

@@ -89,6 +89,7 @@
#:use-module (gnu packages wget)
#:use-module (gnu packages xml)
#:use-module (gnu packages xorg)
#:use-module (ice-9 match)
#:use-module ((srfi srfi-1) #:hide (zip)))
(define (lua-search-paths version)
@@ -170,6 +171,22 @@ for configuration, scripting, and rapid prototyping.")
"lua-5.4-search-paths.patch"))))
(native-search-paths (lua-search-paths "5.4"))))
(define-public lua-5.4-for-c++
(let ((lua-pkg lua-5.4))
(hidden-package
(package/inherit lua-pkg
(name (string-append (package-name lua-pkg) "-for-c++"))
(arguments
(substitute-keyword-arguments (package-arguments lua-pkg)
((#:make-flags old-flags)
(map
(match-lambda
((string-append "CC=" _)
`(string-append "CC=" ,(cxx-for-target)))
(else else))
old-flags))))))))
(define-public lua-5.2
(package (inherit lua)
(version "5.2.4")

View File

@@ -57,7 +57,7 @@
(define-public luanti
(package
(name "luanti")
(version "5.15.1")
(version "5.15.2")
(source
(origin
(method git-fetch)
@@ -66,7 +66,7 @@
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "07g41ljv117pmw6402mqznccwl1hd9jp2l8wkb4l211cbm4c6vv9"))
(base32 "1mcbsgf549y2jg9qds95wwgd1699mkk4byv9ls4lpg43bd829dhk"))
(modules '((guix build utils)
(srfi srfi-26)
(ice-9 ftw)))
@@ -488,7 +488,7 @@ with different rules and mechanics.")
(define-public luanti-mineclonia
(package
(name "luanti-mineclonia")
(version "0.120.1")
(version "0.121.1")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -497,7 +497,7 @@ with different rules and mechanics.")
(file-name (git-file-name name version))
(sha256
(base32
"135xllkvdravry25y1f94wqn7nxb0pnrpn7xiagh2b5vjbajhdg4"))))
"1c3x59iq04vfc0fa09z6g8davrr2vhdywppdbgyw64n7vk4f6br9"))))
(build-system copy-build-system)
(arguments
`(#:install-plan

View File

@@ -9647,7 +9647,7 @@ researchers and developers alike to get started on SAT.")
(define-public kissat
(package
(name "kissat")
(version "4.0.1")
(version "4.0.4")
(source
(origin
(method git-fetch)
@@ -9657,7 +9657,7 @@ researchers and developers alike to get started on SAT.")
(file-name (git-file-name name version))
(sha256
(base32
"0acg61cfcjg13if2i375cyl4xvwmabhfhi9z8pnw971046am6bzv"))))
"1snimig4cp97p570nin2i38my72zvwypldyhr125i1z6cd9pa046"))))
(build-system gnu-build-system)
(inputs (list xz gzip lzip bzip2 p7zip))
(arguments
@@ -9668,6 +9668,10 @@ researchers and developers alike to get started on SAT.")
#~(modify-phases %standard-phases
(add-after 'unpack 'patch-source
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "test/testfile.c"
;; Don't check if /etc/passwd isn't writable.
;; When building in a container/chroot, this fails spuriously.
((".*/etc/passwd.*") ""))
(substitute* "scripts/generate-build-header.sh"
;; by default BUILD includes the build date which
;; makes the build not reproducible.

View File

@@ -1151,7 +1151,7 @@ simultaneously and therefore appear under the same nickname on IRC.")
(define-public python-nbxmpp
(package
(name "python-nbxmpp")
(version "7.1.0")
(version "7.2.0")
(source
(origin
(method git-fetch)
@@ -1160,7 +1160,7 @@ simultaneously and therefore appear under the same nickname on IRC.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1n7b6yv2k89hsmhmx9pi7m8l3aq97xppaz3hm7mvqgvxnlw0c1kr"))))
(base32 "1dyf4jh76ffbl45x4cpk6rsn1r4wck54b3d8wfd2swxaqq4p7lis"))))
(build-system pyproject-build-system)
(arguments (list #:test-backend #~'unittest))
(propagated-inputs
@@ -1184,7 +1184,7 @@ of xmpppy.")
(define-public gajim
(package
(name "gajim")
(version "2.4.5")
(version "2.4.6")
(source
(origin
(method url-fetch)
@@ -1192,7 +1192,7 @@ of xmpppy.")
(version-major+minor version)
"/gajim-" version ".tar.gz"))
(sha256
(base32 "1rkxzf1pfd29rip5bw4730fl7b2xk12zpiwnfkyzxlkmbh4j3kp2"))
(base32 "0ilpgkzw45scjlnag94p8v6np629v7w0ihci5a2w5d742gpqvq6c"))
(patches
(search-patches "gajim-honour-GAJIM_PLUGIN_PATH.patch"))))
(build-system pyproject-build-system)
@@ -1278,7 +1278,6 @@ of xmpppy.")
glib
glib-networking
gsettings-desktop-schemas
gsound
libspelling
libadwaita
gstreamer
@@ -1293,6 +1292,7 @@ of xmpppy.")
libsoup
libxscrnsaver
network-manager
python-cryptography
python-css-parser
python-dbus-1.2
python-emoji
@@ -2690,23 +2690,6 @@ validating international phone numbers.")
(home-page "https://github.com/google/libphonenumber")
(license license:asl2.0)))
(define-public libphonenumber-8.11
(package/inherit libphonenumber
(name (package-name libphonenumber))
(version "8.11.5")
(source (origin
(inherit (package-source libphonenumber))
(uri (git-reference
(url "https://github.com/google/libphonenumber")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1y4ivhy3kwgggrr3g521zaf97334aan0yqpzzryss80k326q5rhf"))))
(inputs
(modify-inputs inputs
(delete "abseil-cpp" "icedtea")))))
(define-public chatty
(package
(name "chatty")
@@ -3454,14 +3437,14 @@ notifications.")
(define-public pounce
(package
(name "pounce")
(version "3.1")
(version "3.2")
(source
(origin
(method url-fetch)
(uri (string-append "https://git.causal.agency/pounce/snapshot/pounce-"
version ".tar.gz"))
(sha256
(base32 "0kk0jrfiwfaybr0i5xih3b0yd4i6v3bz866a7xal1j8wddalbwlp"))
(base32 "1i0s76mip9kfmi85bfk10p4k1kg5wkq1gm4l9gadnq9ssxnvzvjs"))
(patches (search-patches "pounce-readable-checks.patch"))))
(outputs '("out" "debug"))
(build-system gnu-build-system)

View File

@@ -76,95 +76,7 @@
#:use-module (srfi srfi-1)
#:use-module (ice-9 match))
(define-public hwloc-1
(package
(name "hwloc")
(version "1.11.13")
(source (origin
(method url-fetch)
(uri (string-append "https://www.open-mpi.org/software/hwloc/v"
(version-major+minor version)
"/downloads/hwloc-" version ".tar.bz2"))
(sha256
(base32
"1j69p8a1pjpbpwn4w7l4dfxmaxxqikchjzqw1ncw05zmcmvlnjd4"))
(patches (search-patches "hwloc-1-test-btrfs.patch"))))
(properties
;; Tell the 'generic-html' updater to monitor this URL for updates.
`((release-monitoring-url
. "https://www-lb.open-mpi.org/software/hwloc/current")))
(build-system gnu-build-system)
(outputs '("out" ;'lstopo' & co., depends on Cairo, libx11, etc.
"lib" ;small closure
"doc" ;400+ section 3 man pages
"debug"))
(inputs
(append (if (%current-target-system)
'() ;fewer dependencies when cross-compiling
(list libx11 cairo ncurses expat))
(if (target-arm32?) '() (list numactl))))
(propagated-inputs
;; hwloc.pc lists it in 'Requires.private'.
(list libpciaccess))
(native-inputs
(list pkg-config))
(arguments
(list #:configure-flags
#~(list "--localstatedir=/var")
#:phases
#~(modify-phases %standard-phases
(add-before 'check 'skip-linux-libnuma-test
(lambda _
;; Arrange to skip 'tests/linux-libnuma', which fails on some
;; machines: <https://github.com/open-mpi/hwloc/issues/213>.
(substitute* "tests/linux-libnuma.c"
(("numa_available\\(\\)")
"-1"))))
(add-after 'install 'refine-libnuma
;; Give -L arguments for libraries to avoid propagation
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "lib"))
(numa (assoc-ref inputs "numactl")))
(substitute* (map (lambda (f) (string-append out "/" f))
'("lib/pkgconfig/hwloc.pc" "lib/libhwloc.la"))
(("-lnuma" lib)
(string-append "-L" numa "/lib " lib))))))
(add-after 'install 'avoid-circular-references
(lambda* (#:key outputs #:allow-other-keys)
(let ((lib (assoc-ref outputs "lib")))
;; Suppress the 'prefix=' and 'exec_prefix=' lines so that the
;; "lib" output doesn't refer to "out".
(substitute* (string-append lib "/lib/pkgconfig/hwloc.pc")
(("^.*prefix=.*$")
"")))))
(add-after 'install 'move-man3-pages
(lambda* (#:key outputs #:allow-other-keys)
;; Move section 3 man pages to the "doc" output.
(let ((out (assoc-ref outputs "out"))
(doc (assoc-ref outputs "doc")))
(copy-recursively (string-append out "/share/man/man3")
(string-append doc "/share/man/man3"))
(delete-file-recursively
(string-append out "/share/man/man3"))))))))
(home-page "https://www.open-mpi.org/projects/hwloc/")
(synopsis "Abstraction of hardware architectures")
(description
"hwloc provides a portable abstraction (across OS,
versions, architectures, ...) of the hierarchical topology of modern
architectures, including NUMA memory nodes, sockets, shared caches, cores and
simultaneous multithreading. It also gathers various attributes such as cache
and memory information. It primarily aims at helping high-performance
computing applications with gathering information about the hardware so as to
exploit it accordingly and efficiently.
hwloc may display the topology in multiple convenient formats. It also offers
a powerful programming interface to gather information about the hardware,
bind processes, and much more.")
(license license:bsd-3)))
(define-public hwloc-2
(define-public hwloc
(package
(name "hwloc")
(version "2.13.0")
@@ -274,10 +186,6 @@ a powerful programming interface to gather information about the hardware,
bind processes, and much more.")
(license license:bsd-3)))
(define-public hwloc
;; The latest stable series of hwloc.
hwloc-2)
(define-public openmpi-4
(package
(name "openmpi")
@@ -306,7 +214,7 @@ bind processes, and much more.")
(package-supported-systems package)))
(list package)
'()))))
(append (list `(,hwloc-2 "lib")
(append (list `(,hwloc "lib")
gfortran
libfabric-1 ;fails to build with 2.3
libevent
@@ -699,7 +607,7 @@ arrays) that expose a buffer interface.")
(build-system gnu-build-system)
(inputs
`(,zlib
(,hwloc-2 "lib")
(,hwloc "lib")
,slurm
,@(if (and (not (%current-target-system))
(member (%current-system) (package-supported-systems ucx)))

View File

@@ -171,6 +171,7 @@
#:use-module (gnu packages lua)
#:use-module (gnu packages machine-learning)
#:use-module (gnu packages man)
#:use-module (gnu packages messaging)
#:use-module (gnu packages mp3)
#:use-module (gnu packages mpd)
#:use-module (gnu packages mruby-xyz)
@@ -593,6 +594,38 @@ updates via @command{mopidy local scan} while Mopidy is running, so you can
scan your media library periodically, for example from a cron job.")
(license license:asl2.0)))
(define-public mopidy-mopiqtt
(package
(name "mopidy-mopiqtt")
(version "1.2.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/fmarzocca/mopiqtt")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1gaxxbpws9xshsbknq78h0c1k3ynvc466hkq4952pv00q203zqk4"))
;; XXX: https://github.com/fmarzocca/Mopiqtt/issues/6
(modules '((guix build utils)))
(snippet
'(begin
(substitute* "tests/test_smoke.py"
(("mqtt")
"mopiqtt"))
(substitute* "tests/conftest.py"
(("mqtt")
"mopiqtt"))))))
(build-system pyproject-build-system)
(native-inputs (list python-pytest python-setuptools))
(propagated-inputs (list mopidy python-paho-mqtt python-pykka))
(home-page "https://github.com/fmarzocca/mopiqtt")
(synopsis "MQTT interface for Mopidy")
(description
"This package provides an MQTT interface extension for Mopidy music server.")
(license license:asl2.0)))
(define-public clementine
;; Clementine has one automatic release per commit at
;; <https://github.com/clementine-player/Clementine/releases>.

View File

@@ -966,7 +966,7 @@ fi"
icu4c-76
libuv-for-node-lts
`(,nghttp2 "lib")
openssl
openssl-3.0
zlib
; ngtcp2? nghttp3?
;; Regular build-time dependencies.
@@ -986,7 +986,7 @@ fi"
ngtcp2
nghttp3
`(,nghttp2 "lib")
openssl
openssl-3.0
zlib))
(supported-systems
(cons "riscv64-linux" (package-supported-systems node-bootstrap)))

View File

@@ -81,72 +81,3 @@
(description "This tool extracts cooking recipe from HTML structured data
in the @url{https://schema.org/Recipe} format.")
(license asl2.0)))
(define-public gourmet
;; Use the latest commit to gain Python 3 support.
(let ((revision "0")
(commit "8af29c8ded24528030e5ae2ea3461f61c1e5a575"))
(package
(name "gourmet")
(version (git-version "0.17.4" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/thinkle/gourmet")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"08fbw6zp32ws6w9czwy2sqc9c9izlkglsskshj2114d0l79z4gj8"))
(patches (search-patches "gourmet-sqlalchemy-compat.patch"))))
(build-system pyproject-build-system)
(arguments
(list
#:test-flags
;; XXX: Some tests in deeper directories or otherwise discovered by
;; Pytest are broken.
#~(list "--ignore-glob=gourmet/tests/**/*.py")
#:phases
#~(modify-phases %standard-phases
(add-before 'build 'set-environemnt
(lambda _
(setenv "HOME" "/tmp")
(system "Xvfb &")
(setenv "DISPLAY" ":0")))
(add-after 'install 'install-dekstop-file-and-icons
(lambda _
(define share (string-append #$output "/share"))
(install-file ".flatpak/io.github.thinkle.Gourmet.desktop"
(string-append share "/applications"))
(install-file ".flatpak/io.github.thinkle.Gourmet.svg"
(string-append share "/icons/Gourmet")))))))
(native-inputs
(list python-dogtail
python-pytest
python-selenium
python-setuptools
xorg-server-for-tests))
(inputs
(list gtk+
python-argcomplete
python-beautifulsoup4
python-gst
python-keyring
python-lxml
python-pillow
python-pycairo
python-pyenchant
python-pygobject
python-requests
python-scrape-schema-recipe
python-sqlalchemy
python-toml))
(home-page "https://thinkle.github.io/gourmet/")
(synopsis "Recipe organizer")
(description
"Gourmet Recipe Manager is a recipe organizer that allows you to collect,
search, organize, and browse your recipes. Gourmet can also generate shopping
lists and calculate nutritional information. It imports Mealmaster,
MasterCook and KRecipe files and exports PDFs, webpages, and other formats.")
(license gpl2+))))

View File

@@ -1,8 +1,4 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 Marek Benc <merkur32@gmail.com>
;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2024 Herman Rimm <herman@rimm.ee>
;;; Copyright © 2025 Janneke Nieuwenhuizen <janneke@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -20,98 +16,8 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages nvi)
#:use-module (gnu packages)
#:use-module (gnu packages autotools)
#:use-module (gnu packages dbm)
#:use-module (gnu packages ncurses)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu)
#:use-module (guix gexp)
#:use-module (guix licenses)
#:use-module (guix utils))
#:use-module (gnu packages text-editors)
#:use-module (guix deprecation))
(define-public nvi
(package
(name "nvi")
(version "1.81.6")
(source
(origin
(method url-fetch)
(uri ;; sites.google.coma/bostic.com/keithbostic/vi is stale.
(string-append "http://harrier.slackbuilds.org/misc/nvi-" version
".tar.bz2"))
(sha256
(base32 "0nbbs1inyrqds0ywn3ln5slv54v5zraq7lszkg8nsavv4kivhh9l"))
(patches (search-patches "nvi-assume-preserve-path.patch"
"nvi-dbpagesize-binpower.patch"
"nvi-add-function-prototypes.patch"
"nvi-db4.patch"))
(modules '((guix build utils)))
(snippet
;; Create a wrapper for the configure script, make it executable.
'(let ((conf-wrap (open-output-file "configure")))
(display "#!/bin/sh" conf-wrap)
(newline conf-wrap)
(display
"../nvi-1.81.6/dist/configure --srcdir=../nvi-1.81.6/dist $@"
conf-wrap)
(newline conf-wrap)
(close-output-port conf-wrap)
(chmod "configure" #o0755)
;; Glibc 2.30 removed the deprecated <sys/stropts.h>, so fall back
;; to the internal PTY allocation logic.
(substitute* "ex/ex_script.c"
(("#ifdef HAVE_SYS5_PTY")
"#if defined(HAVE_SYS5_PTY) && !defined(__GLIBC__)"))
#t))))
(build-system gnu-build-system)
(arguments
(list
#:out-of-source? #t
#:configure-flags
#~'("--enable-widechar"
#$@(if (%current-target-system)
'("vi_cv_sprintf_count=yes")
'()))
#:make-flags
#~(list
;; Add CFLAGS to relax gcc-14's strictness.
;; nvi's configure chokes on passing CFLAGS and ignores
;; CFLAGS set in the environment.
(string-append "CFLAGS=-g -O2"
" -Wno-error=incompatible-pointer-types"))
#:phases
#~(modify-phases %standard-phases
(add-before 'configure 'fix-configure
(lambda* (#:key inputs native-inputs #:allow-other-keys)
;; Replace outdated config.sub and config.guess:
(with-directory-excursion "dist"
(for-each
(lambda (file)
(chmod file #o755)
(install-file
(format #f "~a/share/automake-~a/~a"
(assoc-ref (or native-inputs inputs)
"automake")
#$(version-major+minor
(package-version automake))
file)
"."))
'("config.sub" "config.guess"))))))))
(inputs
(list bdb ncurses))
(native-inputs
(list automake)) ;Up to date 'config.guess' and 'config.sub'.
(synopsis "The Berkeley Vi Editor")
(description
"Vi is the original screen based text editor for Unix systems. It is
considered the standard text editor, and is available on almost all Unix
systems. Nvi is intended as a \"bug-for-bug compatible\" clone of the
original BSD vi editor. As such, it doesn't have a lot of snazzy features as
do some of the other vi clones such as elvis and vim. However, if all you
want is vi, this is the one to get.")
(home-page "https://sites.google.com/a/bostic.com/keithbostic/vi")
(license bsd-3)))
(define-deprecated/public-alias nvi
(@ (gnu packages text-editors) nvi))

View File

@@ -91,6 +91,7 @@
#:use-module (gnu packages tls)
#:use-module (gnu packages unicode)
#:use-module (gnu packages version-control)
#:use-module (gnu packages vim)
#:use-module (gnu packages virtualization)
#:use-module (gnu packages web)
#:use-module (gnu packages web-browsers)
@@ -797,30 +798,29 @@ describing upgrade scenarios in package-based software distributions.")
(define-public ocaml-mccs
(package
(name "ocaml-mccs")
(version "1.1+14")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/AltGr/ocaml-mccs")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"17bvm0jhhs8h3p5sbb65asj53a8sxl634cc0kvcivpams74837zq"))))
(version "1.1+19")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/AltGr/ocaml-mccs")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1x1y5rhj4f0xakbgfn9f90a9xy09v99p8mc42pbnam5kghyjmxy6"))))
(build-system dune-build-system)
(propagated-inputs (list ocaml-cudf))
(home-page "https://www.i3s.unice.fr/~cpjm/misc/")
(synopsis "Upgrade path problem solver")
(description "Mccs (Multi Criteria CUDF Solver) is a CUDF problem solver.
(description
"Mccs (Multi Criteria CUDF Solver) is a CUDF problem solver.
Mccs take as input a CUDF problem and computes the best solution according to
a set of criteria. It relies on a Integer Programming solver or a
Pseudo Boolean solver to achieve its task. Mccs can use a wide set of
underlying solvers like Cplex, Gurobi, Lpsolver, Glpk, CbC, SCIP or WBO.")
(license (list
license:bsd-3
license:gpl3+
;; With static-linking exception
license:lgpl2.1+))))
(license (list license:bsd-3 license:gpl3+
;; With static-linking exception
license:lgpl2.1+))))
(define-public ocaml-dose3
(package
@@ -945,47 +945,156 @@ the opam file format.")
;; With static-linking exception
(license license:lgpl2.1+)))
(define-public ocaml-swhid-core
(package
(name "ocaml-swhid-core")
(version "0.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/OCamlPro/swhid_core")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0h3zndyk94lf2lakc3cb8b7a00jqh0y1m8xk6mg61gj2kdpdbfdq"))))
(build-system dune-build-system)
(properties `((upstream-name . "swhid_core")))
(home-page "https://github.com/ocamlpro/swhid_core")
(synopsis "OCaml library to work with swhids")
(description
"swhid_core is an OCaml library to work with Software Heritage persistent
identifiers (swhids). This is the core library, for most use cases you should
use the swhid library instead.")
(license license:isc)))
(define-public ocaml-spdx-licenses
(package
(name "ocaml-spdx-licenses")
(version "1.3.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/kit-ty-kate/spdx_licenses")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "08vh9mfkq34f0l5ka94hhklc43kvz09wd04x1gkxkawn4786rf9z"))))
(build-system dune-build-system)
(native-inputs (list ocaml-alcotest))
(properties `((upstream-name . "spdx_licenses")))
(home-page "https://github.com/kit-ty-kate/spdx_licenses")
(synopsis "Strict SPDX License Expression parser")
(description
"This package provides an up-to-date and strict SPDX License Expression
parser. It implements the format described in:
https://spdx.github.io/spdx-spec/v2.3/SPDX-license-expressions/
See https://spdx.org/licenses/ for more details.")
(license license:expat)))
(define-public ocaml-0install-solver
(package
(name "ocaml-0install-solver")
(version "2.18")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/0install/0install")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1hm72k355qwgh16hngmnd77bgawf20ipnqxfncdzl10rqrc0640b"))))
(build-system dune-build-system)
(arguments
`(#:package "0install-solver"))
(native-inputs (list ocaml-ounit2))
(home-page "https://docs.0install.net/developers/solver/")
(synopsis "Package dependency solver")
(description
"This package provides a package dependency resolver based on a SAT solver.
This was originally written for the 0install package manager, but is now
generic and is also used as a solver backend for opam. The SAT solver is
based on @code{MiniSat} (http://minisat.se/Papers.html) and the application to
package management is based on OPIUM (Optimal Package Install/Uninstall
Manager). 0install-solver uses a (novel?) strategy to find the optimal
solution extremely quickly (even for a SAT-based solver).")
(license license:lgpl2.1+)))
(define-public ocaml-opam-0install-cudf
(package
(name "ocaml-opam-0install-cudf")
(version "0.5.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/ocaml-opam/opam-0install-cudf")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "12v1bgnxcxdylgxbsjlcr90rzwcp39rjlv191cy8g2s33nyxyi2c"))))
(build-system dune-build-system)
(propagated-inputs (list ocaml-cudf ocaml-0install-solver))
(native-inputs (list ocaml-alcotest))
(home-page "https://opam.ocaml.org")
(synopsis "Opam solver using 0install backend using the CUDF interface")
(description
"Opam's default solver is designed to maintain a set of packages over time,
minimising disruption when installing new programs and finding a compromise
solution across all packages. In many situations (e.g. CI, local roots or
duniverse builds) this is not necessary, and we can get a solution much faster
by using a different algorithm. This package provides a generic solver library
which uses 0install's solver library. The library uses the CUDF library in
order to interface with opam as it is the format common used to talk to all the
supported solvers.")
(license license:isc)))
(define ocaml-opam-core
(package
(name "ocaml-opam-core")
(version "2.1.5")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/ocaml/opam")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"0ckd87rcmcz11iyhhm5qnmy27jbdffx6n1fr06hvrqqrzi00jljh"))))
(version "2.5.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/ocaml/opam")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "10diw6wdl6v89kbvb8x22dbfacw1ikhl63hybyp2s7560450hygc"))))
(build-system dune-build-system)
(arguments `(#:package "opam-core"
;; tests are run with the opam package
#:tests? #f
#:phases
(modify-phases %standard-phases
(add-before 'build 'pre-build
(lambda* (#:key inputs make-flags #:allow-other-keys)
(let ((bash (assoc-ref inputs "bash"))
(bwrap (search-input-file inputs "/bin/bwrap")))
(substitute* "src/core/opamSystem.ml"
(("\"/bin/sh\"")
(string-append "\"" bash "/bin/sh\""))
(("getconf")
(which "getconf")))))))))
(propagated-inputs
(list ocaml-graph
ocaml-re
ocaml-cppo))
(arguments
`(#:package "opam-core"
;; tests are run with the opam package
#:tests? #f
#:phases (modify-phases %standard-phases
(add-before 'build 'pre-build
(lambda* (#:key inputs make-flags #:allow-other-keys)
(let ((bash (assoc-ref inputs "bash"))
(bwrap (search-input-file inputs "/bin/bwrap")))
(substitute* "src/core/opamSystem.ml"
(("\"/bin/sh\"")
(string-append "\"" bash "/bin/sh\""))
(("getconf")
(which "getconf")))))))))
(propagated-inputs (list ocaml-graph
ocaml-re
ocaml-patch
ocaml-uutf
ocaml-swhid-core
ocaml-jsonm
ocaml-sha))
(inputs (list bubblewrap))
(home-page "https://opam.ocamlpro.com/")
(home-page "https://opam.ocaml.org")
(synopsis "Package manager for OCaml")
(description
"OPAM is a tool to manage OCaml packages. It supports multiple
simultaneous compiler installations, flexible package constraints, and a
Git-friendly development workflow.")
;; The 'LICENSE' file waives some requirements compared to LGPLv3.
(license license:lgpl3)))
;; The 'LICENSE' file waives some requirements compared to LGPLv2.1.
(license license:lgpl2.1)))
(define ocaml-opam-format
(package
@@ -1002,24 +1111,56 @@ Git-friendly development workflow.")
(define-public opam-installer
(package
(inherit ocaml-opam-core)
(name "opam-installer")
(native-inputs (list ocaml-opam-format
ocaml-cmdliner))
(inputs '())
(propagated-inputs '())
(arguments `(#:package "opam-installer"
;; requires all of opam
#:tests? #f))
(version "2.5.1")
;; opam has some library dependencies that in turn depend on
;; opam-installer (https://codeberg.org/guix/guix/issues/3588). To break
;; the cycle, we build opam-installer from a version of the release that
;; vendors all dependencies. Then the remaining opam packages can be built
;; in the usual way from git sources.
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/ocaml/opam/releases/download/"
version "/opam-full-" version ".tar.gz"))
(sha256
(base32 "1v9k00az5lkdrlb64xb9h8xasnsz73kms0j0bz64hh2wbypvzia8"))))
(build-system gnu-build-system)
(arguments
(list
;; Tests depend on the full opam package.
#:tests? #f
#:configure-flags
#~'("--with-vendored-deps")
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'fix-shell-path
(lambda _
(let ((sh (which "sh")))
(substitute* "configure"
(("/bin/sh") sh)))))
;; The Makefile builds both opam and opam-installer, but we
;; only want the latter.
(replace 'install
(lambda _
(define (install source dest-dir)
(install-file source
(string-append #$output "/" dest-dir)))
(install "opam-installer" "bin")
(install "_build/default/doc/man/opam-installer.1"
"share/man/man1"))))))
(native-inputs (list ocaml))
(home-page "https://opam.ocaml.org")
(synopsis "Tool for installing OCaml packages")
(description "@var{opam-installer} is a tool for installing OCaml packages
(description
"@var{opam-installer} is a tool for installing OCaml packages
based on @code{.install} files defined by the OPAM package manager. It is
useful for installing OCaml packages without requiring the entirety of
OPAM.")
(properties
;; opam-installer is used as a tool and not as a library, we can use the
;; OCaml 4.14 compiled opam until opam is compatible with OCaml 5.0.
`((ocaml5.0-variant . ,(delay opam-installer))))))
(properties `((ocaml5.0-variant unquote
(delay opam-installer))))
;; The 'LICENSE' file waives some requirements compared to LGPLv2.1.
(license license:lgpl2.1)))
(define ocaml-opam-repository
(package
@@ -1056,7 +1197,7 @@ OPAM.")
(string-append "add_sys_mounts "
(%store-directory)
" /run/current-system /usr")))))))))
(inputs (list bubblewrap))
(inputs (list bubblewrap ocaml-spdx-licenses))
(propagated-inputs (list ocaml-opam-repository))))
(define ocaml-opam-solver
@@ -1066,7 +1207,8 @@ OPAM.")
(inputs '())
(propagated-inputs (list ocaml-opam-format
ocaml-mccs
ocaml-dose3))
ocaml-dose3
ocaml-opam-0install-cudf))
(arguments `(#:package "opam-solver"
;; tests are run with the opam package
#:tests? #f
@@ -1093,7 +1235,7 @@ OPAM.")
ocaml-opam-repository
ocaml-base64
ocaml-re
ocaml-cmdliner))))
ocaml-spdx-licenses))))
(define-public opam
(package
@@ -1102,120 +1244,171 @@ OPAM.")
(build-system dune-build-system)
(arguments
`(#:package "opam"
#:phases
(modify-phases %standard-phases
(add-before 'check 'prepare-checks
(lambda* (#:key inputs #:allow-other-keys)
;; Opam tests need to run an isolated environment from a writable
;; home directory.
(mkdir-p "test-home")
(setenv "HOME" (string-append (getcwd) "/test-home"))
(with-output-to-file (string-append (getcwd) "/test-home/.gitconfig")
(lambda _
(display "[user]
#:phases (modify-phases %standard-phases
(add-before 'check 'prepare-checks
(lambda* (#:key inputs #:allow-other-keys)
;; Opam tests need to run an isolated environment from a writable
;; home directory.
(mkdir-p "test-home")
(setenv "HOME"
(string-append (getcwd) "/test-home"))
(with-output-to-file (string-append (getcwd)
"/test-home/.gitconfig")
(lambda _
(display "[user]
email = guix@localhost.none
name = Guix Builder")
(newline)))
name = Guix Builder
;; Opam tests require data from opam-repository. Instead of
;; downloading them with wget from the guix environment, copy the
;; content to the expected directory.
(substitute* "tests/reftests/dune.inc"
(("tar -C.*opam-archive-([0-9a-f]*)[^)]*" _ commit)
(string-append "rmdir %{targets}) (run cp -r "
(assoc-ref inputs (string-append "opam-repo-" commit))
"/ %{targets}) (run chmod +w -R %{targets}"))
(("wget[^)]*") "touch %{targets}")
;; Disable a failing test because it tries to clone a git
;; repository from inside bwrap
(("diff upgrade-format.test upgrade-format.out") "run true")
;; Disable a failing test because it tries to figure out which
;; distro this is, and it doesn't know Guix
(("diff pin.unix.test pin.unix.out") "run true")
;; Disable a failing test because of a failed expansion
(("diff opamroot-versions.test opamroot-versions.out") "run true")
;; Disable a failing test, probably because the repository we
;; replaced is not as expected
(("diff opamrt-big-upgrade.test opamrt-big-upgrade.out") "run true")
;; Disable a failing test because of missing sandboxing
;; functionality
(("diff init.test init.out") "run true"))
(substitute* "tests/reftests/dune"
;; Because of our changes to the previous file, we cannot check
;; it can be regenerated
(("diff dune.inc dune.inc.gen") "run true"))
;; Ensure we can run the generated build.sh (no /bin/sh)
(substitute* '("tests/reftests/legacy-local.test"
"tests/reftests/legacy-git.test")
(("#! ?/bin/sh")
(string-append "#!"
(search-input-file inputs "/bin/sh"))))
(substitute* "tests/reftests/testing-env"
(("OPAMSTRICT=1")
(string-append "OPAMSTRICT=1\nLIBRARY_PATH="
(assoc-ref inputs "libc") "/lib"))))))))
(native-inputs
(let ((opam-repo (lambda (commit hash)
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/ocaml/opam-repository")
(commit commit)))
(file-name (git-file-name "opam-repo" commit))
(sha256 (base32 hash))))))
`(("dune" ,dune)
("ocaml-cppo" ,ocaml-cppo)
[protocol \"file\"]
allow = always")
(newline)))
;; For tests.
("git" ,git-minimal/pinned)
("openssl" ,openssl)
("python" ,python-wrapper)
("rsync" ,rsync)
("unzip" ,unzip)
("which" ,which)
;; Opam tests require data from opam-repository. Instead
;; of downloading them with wget from the guix
;; environment, copy the content to the expected
;; directory.
(substitute* "tests/reftests/dune.inc"
(("tar -C.*opam-archive-([0-9a-f]*)[^)]*" _ commit)
(string-append "rmdir %{targets}) (run cp -r "
(begin
;; When updating opam, uncomment the following
;; call. It will list "opam-repo" commit-ish
;; required to run tests (see native-inputs
;; below). Remove versions that are no longer
;; required, and add new ones if necessary.
;;
;; (pk commit)
(assoc-ref inputs
(string-append "opam-repo-" commit)))
"/ %{targets}) (run chmod +w -R %{targets}"))
(("wget[^)]*")
"touch %{targets}")
;; Data for tests
("opam-repo-0070613707"
,(opam-repo "00706137074d536d2019d2d222fbe1bea929deda"
"1gv1vvmfscj7wirfv6qncp8pf81wygnpzjwd0lyqcxm7g8r8lb4w"))
("opam-repo-009e00fa"
,(opam-repo "009e00fa86300d11c311309a2544e5c6c3eb8de2"
"1wwy0rwrsjf4q10j1rh1dazk32fbzhzy6f7zl6qmndidx9b1bq7w"))
("opam-repo-7090735c"
,(opam-repo "7090735c9d1dd2dc481c4128c5ef4d3667238f15"
"1bccsgjhlp64lmvfjfn6viywf3x73ji75myg9ssf1ij1fkmabn0z"))
("opam-repo-a5d7cdc0"
,(opam-repo "a5d7cdc0c91452b0aef4fa71c331ee5237f6dddd"
"0z7kawqisy07088p5xjxwpvmvzlbj1d9cgdipsj90yx7nc5qh369"))
("opam-repo-ad4dd344"
,(opam-repo "ad4dd344fe5cd1cab49ced49d6758a9844549fb4"
"1a1qj47kj8xjdnc4zc50ijrix1kym1n7k20n3viki80a7518baw8"))
("opam-repo-c1842d168d"
,(opam-repo "c1842d168de956caf06d7ac8588e65020d7594d8"
"142y1ac7sprygyh91shcp0zcyfxjjkshi9g44qgg4rx60rbsbhai"))
("opam-repo-c1d23f0e"
,(opam-repo "c1d23f0e17ec83a036ebfbad1c78311b898a2ca0"
"0j9abisx3ifzm66ci3p45mngmz4f0fx7yd9jjxrz3f8w5jffc9ii"))
("opam-repo-f372039d"
,(opam-repo "f372039db86a970ef3e662adbfe0d4f5cd980701"
"0ld7fcry6ss6fmrpswvr6bikgx299w97h0gwrjjh7kd7rydsjdws"))
("opam-repo-11ea1cb"
,(opam-repo "11ea1cb6f2418b1f8a6679e4422771a04c9c3655"
"1s4p0wfn3bx97yvm8xvj3yhzv2pz0jwml68g2ybv37hj9mpbrsq0"))
("opam-repo-297366c"
,(opam-repo "297366cd01c3aaf29b967bf0b34ccc7989d4d5b3"
"1ysg69gys37nc2cxivs2ikh6xp0gj85if4rcrr874mqb9z12dm0j"))
("opam-repo-3235916"
,(opam-repo "3235916a162a59d7c82dac3fe24214975d48f1aa"
"1yf73rv2n740a4s9g7a9k4j91b4k7al88nwnw9cdw0k2ncbmr486"))
("opam-repo-de897adf36c4230dfea812f40c98223b31c4521a"
,(opam-repo "de897adf36c4230dfea812f40c98223b31c4521a"
"1m18x9gcwnbar8yv9sbfz8a3qpw412fp9cf4d6fb7syn0p0h96jw")))))
(inputs (list ocaml-opam-client))
(properties
;; OPAM is used as a tool and not as a library, we can use the OCaml 4.14
;; compiled opam until opam is compatible with OCaml 5.0.
`((ocaml5.0-variant . ,(delay opam))))))
;; Selectively disable a fraction of opam's "reftests"
;; (CRAM-style regression tests). Most of these tests
;; make assumptions about the build environment that
;; don't hold for Guix.
;; Test tries to clone a git repository from inside
;; bwrap
(("diff upgrade-format.test upgrade-format.out")
"run true")
;; Test tries to figure out which distro this is, and
;; it doesn't know Guix
(("diff pin.unix.test pin.unix.out")
"run true")
;; A variable expansion fails.
(("diff opamroot-versions.test opamroot-versions.out")
"run true")
;; The repository we replaced is probably not as
;; expected
(("diff opamrt-big-upgrade.test opamrt-big-upgrade.out")
"run true")
;; Disable a failing test because of missing sandboxing
;; functionality
(("diff init.test init.out")
"run true")
;; These tests try to normalize output to exclude
;; version strings, but this seems to break some
;; output assertions if $BASEDIR happens to include
;; the version.
(("diff cli-versioning.test cli-versioning.out")
"run true")
(("diff hooks-variables.test hooks-variables.out")
"run true")
;; Fails on noisy git output.
(("diff action-disk.test action-disk.out")
"run true")
;; Requires network access.
(("diff download.test download.out")
"run true")
(("diff swhid.unix.test swhid.unix.out")
"run true")
;; Depends on 3rd-party git repos.
(("diff lock.test lock.out")
"run true"))
(substitute* "tests/reftests/dune"
;; Because of our changes to the previous file, we
;; cannot check it can be regenerated
(("diff dune.inc dune.inc.gen")
"run true"))
;; Ensure we can run the generated build.sh (no /bin/sh)
(substitute* '("tests/reftests/legacy-local.test"
"tests/reftests/legacy-git.test")
(("#! ?/bin/sh")
(string-append "#!"
(search-input-file inputs "/bin/sh"))))
(substitute* "tests/reftests/testing-env"
(("OPAMSTRICT=1")
(string-append "OPAMSTRICT=1\nLIBRARY_PATH="
(assoc-ref inputs "libc") "/lib"))))))))
(native-inputs (let ((opam-repo (lambda (commit hash)
(origin
(method git-fetch)
(uri (git-reference
(url
"https://github.com/ocaml/opam-repository")
(commit commit)))
(file-name (git-file-name "opam-repo"
commit))
(sha256 (base32 hash))))))
`(("dune" ,dune)
;; For tests.
("git" ,git-minimal/pinned)
("openssl" ,openssl)
("python" ,python-wrapper)
("rsync" ,rsync)
("unzip" ,unzip)
("which" ,which)
("xxd" ,xxd)
;; Data for tests
("opam-repo-0070613707" ,(opam-repo
"00706137074d536d2019d2d222fbe1bea929deda"
"1gv1vvmfscj7wirfv6qncp8pf81wygnpzjwd0lyqcxm7g8r8lb4w"))
("opam-repo-009e00fa" ,(opam-repo
"009e00fa86300d11c311309a2544e5c6c3eb8de2"
"1wwy0rwrsjf4q10j1rh1dazk32fbzhzy6f7zl6qmndidx9b1bq7w"))
("opam-repo-11ea1cb" ,(opam-repo
"11ea1cb6f2418b1f8a6679e4422771a04c9c3655"
"1s4p0wfn3bx97yvm8xvj3yhzv2pz0jwml68g2ybv37hj9mpbrsq0"))
("opam-repo-143dd2a2f59f5befbf3cb90bb2667f911737fbf8" ,
(opam-repo "143dd2a2f59f5befbf3cb90bb2667f911737fbf8"
"1kliiy9n2j8myxhbz1brq6yingfy0si1bmv15j1hbnbpyi3bavr9"))
("opam-repo-297366c" ,(opam-repo
"297366cd01c3aaf29b967bf0b34ccc7989d4d5b3"
"1ysg69gys37nc2cxivs2ikh6xp0gj85if4rcrr874mqb9z12dm0j"))
("opam-repo-3235916" ,(opam-repo
"3235916a162a59d7c82dac3fe24214975d48f1aa"
"1yf73rv2n740a4s9g7a9k4j91b4k7al88nwnw9cdw0k2ncbmr486"))
("opam-repo-7090735c" ,(opam-repo
"7090735c9d1dd2dc481c4128c5ef4d3667238f15"
"1bccsgjhlp64lmvfjfn6viywf3x73ji75myg9ssf1ij1fkmabn0z"))
("opam-repo-7371c1d9" ,(opam-repo
"7371c1d9c53000840fb9a6d8ec13d87ffaa98401"
"0lmy3rmp5liyp2dsx4s90rjdwc012947ig2fz6y97s3pmwsbf9g8"))
("opam-repo-a5d7cdc0" ,(opam-repo
"a5d7cdc0c91452b0aef4fa71c331ee5237f6dddd"
"0z7kawqisy07088p5xjxwpvmvzlbj1d9cgdipsj90yx7nc5qh369"))
("opam-repo-ad4dd344" ,(opam-repo
"ad4dd344fe5cd1cab49ced49d6758a9844549fb4"
"1a1qj47kj8xjdnc4zc50ijrix1kym1n7k20n3viki80a7518baw8"))
("opam-repo-c1842d168d" ,(opam-repo
"c1842d168de956caf06d7ac8588e65020d7594d8"
"142y1ac7sprygyh91shcp0zcyfxjjkshi9g44qgg4rx60rbsbhai"))
("opam-repo-c1ba97dafe95c865d37ad4d88f6e57c9ffbe7f0a" ,
(opam-repo "c1ba97dafe95c865d37ad4d88f6e57c9ffbe7f0a"
"0sllm110dvs3w1k7qhias5y8v6ikkk2knw97v1fk9lnw4lq45gv6"))
("opam-repo-de897adf36c4230dfea812f40c98223b31c4521a" ,
(opam-repo "de897adf36c4230dfea812f40c98223b31c4521a"
"1m18x9gcwnbar8yv9sbfz8a3qpw412fp9cf4d6fb7syn0p0h96jw"))
("opam-repo-f372039d" ,(opam-repo
"f372039db86a970ef3e662adbfe0d4f5cd980701"
"0ld7fcry6ss6fmrpswvr6bikgx299w97h0gwrjjh7kd7rydsjdws")))))
(inputs (list ocaml-opam-client))))
(define-public ocaml-opam-monorepo
(package
@@ -4124,6 +4317,32 @@ and command-line tool.")
length of domain names are preserved throughout the module.")
(license license:isc)))
(define-public ocaml-patch
(package
(name "ocaml-patch")
(version "3.1.0")
(build-system dune-build-system)
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/hannesm/patch")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1zg35f427ixd3jhkiwk91sil45pmf6ns7yfcgyi6gf2r0y241xn3"))))
(native-inputs (list ocaml-alcotest))
(home-page "https://github.com/hannesm/patch")
(synopsis "Applies unified diffs in pure OCaml")
(description
"This package applies unified diffs in pure OCaml.
The loosely specified diff file format is widely used for transmitting
differences of line-based information. The motivating example is opam, which
is able to validate updates being cryptographically signed (e.g. conex) by
providing a unified diff.")
(license license:isc)))
(define-public ocaml-macaddr
(package
(name "ocaml-macaddr")
@@ -6153,7 +6372,7 @@ serializers and deserializers from type definitions.")
(build-system dune-build-system)
(propagated-inputs (list ocaml-yojson))
(properties `((upstream-name . "ppx_yojson_conv_lib")))
(synopsis "Runtime library used by ocaml PPX yojson convertor")
(synopsis "Runtime library used by ocaml PPX yojson converter")
(description "Ppx_yojson_conv_lib is the runtime library used by
ppx_yojson_conv, a ppx rewriter that can be used to convert ocaml types
to a Yojson.Safe value.")

View File

@@ -75,7 +75,7 @@
(add-after 'unpack 'relax-requirements
(lambda _
(substitute* "setup.py"
;; Relax hard requirment of PIP.
;; Relax hard requirement of PIP.
((".*pip>=18.0.*") ""))))
(add-before 'check 'pre-check
(lambda _

View File

@@ -32,6 +32,7 @@
;;; Copyright © 2025-2026 Sharlatan Hellseher <sharlatanus@gmail.com>
;;; Copyright © 2026 Carlos Durán Domínguez <wurt@wurt.eu>
;;; Copyright © 2025 unwox <me@unwox.com>
;;; Copyright © 2026 Owen T. Heisler <writer@owenh.net>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -816,7 +817,33 @@ high-performance computing} clusters.")
(list
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'register-guix-extension
(add-after 'unpack 'set-load-paths-in-entry-point
(lambda _
(define load-path
(cons (string-append #$output
"/share/guile/site/"
(target-guile-effective-version))
(parse-path (getenv "GUILE_LOAD_PATH"))))
(define load-compiled-path
(cons (string-append #$output
"/lib/guile/"
(target-guile-effective-version)
"/site-ccache")
(parse-path (getenv "GUILE_LOAD_COMPILED_PATH"))))
(define search-paths-header
`(begin
(set! %load-path
(append (list ,@load-path) %load-path))
(set! %load-compiled-path
(append (list ,@load-compiled-path)
%load-compiled-path))))
(substitute* "guix/extensions/toys.scm"
(("^\\(define-module \\(guix extensions toys\\)")
(string-append
(with-output-to-string
(lambda () (write search-paths-header)))
"\n(define-module (guix extensions toys)")))))
(add-after 'set-load-paths-in-entry-point 'register-guix-extension
(lambda* (#:key outputs #:allow-other-keys)
(let ((ext-path (string-append #$output "/share/guix/extensions")))
(mkdir-p ext-path)
@@ -1198,13 +1225,13 @@ transactions from C or Python.")
automake
;; Guile libraries are needed here for cross-compilation.
guile-next
guile-3.0-latest
guile-gnutls
guile-json-4
guix
guix-data-service
guix-build-coordinator
guile-fibers-next
guile-fibers
guile-knots
guile-pfds
guile-prometheus
@@ -1215,7 +1242,7 @@ transactions from C or Python.")
guix
guix-data-service
guix-build-coordinator
guile-fibers-next
guile-fibers
guile-knots
guile-pfds
guile-prometheus
@@ -1498,7 +1525,7 @@ manage (install/update) them for you.")
"--ignore=tests/trust/test_signature_verification.py"
"-k" (string-join
;; XXX: Issues salad: network access, can't detect Conda
;; environemnt, assertion failed; review if they may be
;; environment, assertion failed; review if they may be
;; fixed.
;;
;; test_info_all: Fails due to parallel test interference.
@@ -2133,8 +2160,8 @@ environments.")
"153bgcjqw6jp0yl0vj0k67k9c8lw82vac6b0cnacrjrcb24lcpdq")))))))
(define-public guix-build-coordinator
(let ((commit "bd3467e7b60f22089c4a3bf6d32caafbd03625f0")
(revision "137"))
(let ((commit "a52e17ae733de601ef3d4aa72b88ff7ed02aceb7")
(revision "138"))
(package
(name "guix-build-coordinator")
(version (git-version "0" revision commit))
@@ -2145,7 +2172,7 @@ environments.")
(commit commit)))
(sha256
(base32
"0h9kxpijilrn9v2s8dy7sdifshri4fxvdgvxxacvvbw01fb3llmv"))
"164k3ygn69h0z6bbsqpk22psnn2b1lbpidmaixf3kaj6kfjvz7xw"))
(file-name (string-append name "-" version "-checkout"))))
(build-system gnu-build-system)
(arguments
@@ -2184,7 +2211,7 @@ environments.")
"guile-gnutls"
#$@(if (target-hurd?)
'()
'("guile-fibers-next"
'("guile-fibers"
"guile-knots")))))
(wrap-program file
`("PATH" ":" prefix
@@ -2228,12 +2255,12 @@ environments.")
guile-gcrypt
guix
guile-prometheus
guile-fibers-next
guile-fibers
guile-knots
guile-lib
guile-next))
guile-3.0-latest))
(inputs
(list guile-next
(list guile-3.0-latest
sqlite-next
bash-minimal
(libc-utf8-locales-for-target)
@@ -2248,7 +2275,7 @@ environments.")
guile-sqlite3
guix
guile-gnutls
guile-fibers-next
guile-fibers
guile-knots))
(home-page "https://git.cbaines.net/guix/build-coordinator/")
(synopsis "Tool to help build derivations")
@@ -2284,9 +2311,9 @@ outputs of those builds.")
guix
guile-prometheus
guile-lib
guile-next))
guile-3.0-latest))
(inputs
(list guile-next
(list guile-3.0-latest
guix
guile-prometheus
guile-gcrypt
@@ -2388,8 +2415,8 @@ in an isolated environment, in separate namespaces.")
(license license:gpl3+)))
(define-public nar-herder
(let ((commit "cc1e9052785de0a08b05f85a7c7c400d95e339e7")
(revision "52"))
(let ((commit "44ca801e2352b64e19921c72177b35b2e49a7a09")
(revision "53"))
(package
(name "nar-herder")
(version (git-version "0" revision commit))
@@ -2400,7 +2427,7 @@ in an isolated environment, in separate namespaces.")
(commit commit)))
(sha256
(base32
"0qsyvmxr5kkayvvda8f5lmamz098vcjrfgpbwd5519fcw8xbnk8q"))
"15sc9rgna1fxsns1q9q1xlrqfqc4r5lcmmddw0af2lhll75kj7v2"))
(file-name (string-append name "-" version "-checkout"))))
(build-system gnu-build-system)
(arguments
@@ -2437,7 +2464,7 @@ in an isolated environment, in separate namespaces.")
"guile-prometheus"
"guile-sqlite3"
"guile-gnutls"
"guile-fibers-next"
"guile-fibers"
"guile-knots")))
(wrap-program file
`("GUILE_LOAD_PATH" ":" prefix
@@ -2467,10 +2494,12 @@ in an isolated environment, in separate namespaces.")
;; Guile libraries are needed here for cross-compilation.
guile-next
guile-3.0-latest
guile-aws
guile-json-4
guile-gcrypt
guix
guile-fibers-next
guile-fibers
guile-knots
guile-prometheus
guile-lib
@@ -2479,12 +2508,13 @@ in an isolated environment, in separate namespaces.")
guile-sqlite3))
(inputs
(list bash-minimal
guile-next))
guile-3.0-latest))
(propagated-inputs
(list guile-json-4
(list guile-aws
guile-json-4
guile-gcrypt
guix
guile-fibers-next
guile-fibers
guile-knots
guile-prometheus
guile-lib
@@ -2742,6 +2772,8 @@ cp -r /tmp/locale/*/en_US.*")))
(propagated-inputs (list glib-networking
gnupg
gsettings-desktop-schemas
;; Required for flatpak-validate-icon SVG validation.
(librsvg-for-system)
;; The following are listed in Requires.private of
;; `flatpak.pc'.
curl

View File

@@ -254,7 +254,7 @@ when jobs finish.")
(inputs
(append
(list freeipmi
`(,hwloc-2 "lib")
`(,hwloc "lib")
json-c
linux-pam)
(if (supported-package? openpmix-4)

View File

@@ -39,6 +39,7 @@
#:use-module (gnu packages ncurses)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages qt)
#:use-module (gnu packages xml)
#:use-module (gnu packages xorg)
#:use-module (ice-9 match))
@@ -323,7 +324,7 @@ Pascal programs.")
(define-public lazarus
(package
(name "lazarus")
(version "2.2.6")
(version "4.6")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -336,48 +337,95 @@ Pascal programs.")
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"0hpk6fxmy1h1q0df41jg1vnp8g8vynrg5v5ad43lv229nizfs3wj"))))
"1mkimvd5hiwlsxpjwqnhd7lwb0x2icnf9ks09wza7j5xaq7xjswy"))))
(build-system gnu-build-system)
(arguments
(list #:tests? #f ;No tests exist
#:make-flags #~(list (string-append "INSTALL_PREFIX="
#$output))
#:phases #~(modify-phases %standard-phases
(delete 'configure)
(replace 'build
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((libdirs (map (lambda (x)
(assoc-ref inputs x))
'("glib" "gdk-pixbuf"
"gtk+"
"libx11"
"libx11"
"pango"
"cairo"
"at-spi2-core")))
(libs (append (map (lambda (name)
(string-append "-Fl"
name
"/lib"))
libdirs)
(map (lambda (name)
(string-append
"-k-rpath=" name
"/lib")) libdirs))))
(setenv "LAZARUS_LIBPATHS"
(string-join libs " "))
(setenv "MAKEFLAGS"
(string-append "LHELP_OPT="
(string-join libs "\\ "))))
(invoke "make" "bigide"))))))
(native-inputs (list fpc pkg-config))
(inputs (list glib
gdk-pixbuf
gtk+-2
libx11
pango
cairo
at-spi2-core))
#$output)
"LCL_PLATFORM=qt6")
#:phases
#~(modify-phases %standard-phases
(delete 'configure)
;; lcl/interfaces/qt6/cbindings/ ships the C++ source of
;; libQt6Pas -- the Qt6 C-ABI bridge that LCL's qt6
;; widgetset calls into. Build it with qmake6 and stage
;; the library so the IDE finds it at runtime.
(add-before 'build 'build-qt6pas
(lambda _
(with-directory-excursion "lcl/interfaces/qt6/cbindings"
(invoke "qmake6" "Qt6Pas.pro"
(string-append "PREFIX=" #$output))
(invoke "make" "-j"
(number->string (parallel-job-count))))))
(replace 'build
(lambda* (#:key inputs make-flags #:allow-other-keys)
(let* ((qt6pas-build
(string-append (getcwd)
"/lcl/interfaces/qt6/cbindings"))
(qt6pas-runtime
(string-append #$output "/lib"))
(input-libs
(map (lambda (x)
(string-append (assoc-ref inputs x) "/lib"))
'("qtbase" "libx11")))
;; Link against the build tree so the linker
;; resolves libQt6Pas now; bake the final
;; $out/lib into RUNPATH so the installed
;; binary finds it at runtime.
(fpc-args
(append (map (lambda (d)
(string-append "-Fl" d))
(cons qt6pas-build input-libs))
(map (lambda (d)
(string-append "-k-rpath=" d))
(cons qt6pas-runtime input-libs)))))
(setenv "LAZARUS_LIBPATHS"
(string-join fpc-args " "))
(setenv "MAKEFLAGS"
(string-append "LHELP_OPT="
(string-join fpc-args "\\ "))))
(apply invoke "make" "bigide" make-flags)))
(add-after 'install 'wrap-qt
(lambda* (#:key inputs #:allow-other-keys)
;; Qt6 apps load their platform plugins
;; (libqxcb.so, libqwayland.so, ...) from
;; QT_PLUGIN_PATH; each qt input has its plugins
;; under lib/qt6/plugins/. Wrap lazarus-ide so the
;; wayland/xcb platform plugins are found at runtime.
(let ((plugin-path
(string-join
(map (lambda (i)
(string-append (assoc-ref inputs i)
"/lib/qt6/plugins"))
'("qtbase" "qtsvg" "qtwayland"))
":")))
(for-each
(lambda (prog)
(wrap-program (string-append #$output "/bin/" prog)
`("QT_PLUGIN_PATH" ":" prefix (,plugin-path))))
'("lazarus-ide" "startlazarus")))))
(add-after 'install 'install-qt6pas
(lambda _
;; qmake's `make install' tries to copy libQt6Pas.so
;; into Qt's install prefix (read-only store path);
;; place it under $out/lib/ instead.
(let ((src "lcl/interfaces/qt6/cbindings")
(dst (string-append #$output "/lib")))
(mkdir-p dst)
(for-each
(lambda (f)
(let ((sf (string-append src "/" f))
(df (string-append dst "/" f)))
(if (eq? 'symlink (stat:type (lstat sf)))
(symlink (readlink sf) df)
(copy-file sf df))))
'("libQt6Pas.so"
"libQt6Pas.so.6"
"libQt6Pas.so.6.2"
"libQt6Pas.so.6.2.10"))))))))
(native-inputs (list fpc pkg-config qtbase qttools))
(inputs (list qtbase qtsvg qtwayland libx11))
(synopsis "Integrated development environment for Pascal")
(description "This package provides an integrated development environment
for Pascal.")

View File

@@ -1798,7 +1798,7 @@ is the community-enhanced, \"jumbo\" version of John the Ripper.")
(home-page "https://github.com/hashcat/maskprocessor")
(synopsis "High-Performance word generator")
(description "Maskprocessor is a high-performance word generator with a
per-position configureable charset.")
per-position configurable charset.")
(license (list license:expat))))
(define-public fpm2

View File

@@ -0,0 +1,128 @@
Author: Danny Milosavljevic <dannym@friendly-machines.com>
Date: 2026-04-13
License: ASL2.0
Make V8 an optional dependency in codex-code-mode.
The V8 engine is only needed for actually executing JavaScript in the
code-mode sandbox. The description helpers, tool name constants, and
data types do not require V8. Gate the runtime and service modules
behind a "v8-runtime" feature so that consumers like codex-acp that
never use code-mode can avoid the V8 build dependency.
--- a/codex-rs/code-mode/Cargo.toml 2026-04-13 16:14:49.459504037 +0000
+++ codex-rs/code-mode/Cargo.toml 2026-04-13 16:14:49.466438318 +0000
@@ -12,6 +12,10 @@
[lints]
workspace = true
+[features]
+default = ["v8-runtime"]
+v8-runtime = ["dep:v8"]
+
[dependencies]
async-trait = { workspace = true }
serde = { workspace = true, features = ["derive"] }
@@ -19,7 +23,7 @@
tokio = { workspace = true, features = ["macros", "rt", "sync", "time"] }
tokio-util = { workspace = true, features = ["rt"] }
tracing = { workspace = true }
-v8 = { workspace = true }
+v8 = { workspace = true, optional = true }
[dev-dependencies]
pretty_assertions = { workspace = true }
--- a/codex-rs/code-mode/src/lib.rs 2026-04-13 16:14:49.461337956 +0000
+++ codex-rs/code-mode/src/lib.rs 2026-04-13 16:14:49.470869556 +0000
@@ -1,6 +1,8 @@
mod description;
mod response;
+#[cfg(feature = "v8-runtime")]
mod runtime;
+#[cfg(feature = "v8-runtime")]
mod service;
pub use description::CODE_MODE_PRAGMA_PREFIX;
@@ -16,15 +18,82 @@
pub use description::render_json_schema_to_typescript;
pub use response::FunctionCallOutputContentItem;
pub use response::ImageDetail;
+
+#[cfg(feature = "v8-runtime")]
pub use runtime::DEFAULT_EXEC_YIELD_TIME_MS;
+#[cfg(feature = "v8-runtime")]
pub use runtime::DEFAULT_MAX_OUTPUT_TOKENS_PER_EXEC_CALL;
+#[cfg(feature = "v8-runtime")]
pub use runtime::DEFAULT_WAIT_YIELD_TIME_MS;
+#[cfg(feature = "v8-runtime")]
pub use runtime::ExecuteRequest;
+#[cfg(feature = "v8-runtime")]
pub use runtime::RuntimeResponse;
+#[cfg(feature = "v8-runtime")]
pub use runtime::WaitRequest;
+#[cfg(feature = "v8-runtime")]
pub use service::CodeModeService;
+#[cfg(feature = "v8-runtime")]
pub use service::CodeModeTurnHost;
+#[cfg(feature = "v8-runtime")]
pub use service::CodeModeTurnWorker;
+// Stub types when V8 is not available.
+#[cfg(not(feature = "v8-runtime"))]
+pub const DEFAULT_EXEC_YIELD_TIME_MS: u64 = 10_000;
+#[cfg(not(feature = "v8-runtime"))]
+pub const DEFAULT_MAX_OUTPUT_TOKENS_PER_EXEC_CALL: usize = 10_000;
+#[cfg(not(feature = "v8-runtime"))]
+pub const DEFAULT_WAIT_YIELD_TIME_MS: u64 = 10_000;
+
+#[cfg(not(feature = "v8-runtime"))]
+pub struct ExecuteRequest {
+ pub tool_call_id: String,
+ pub enabled_tools: Vec<ToolDefinition>,
+ pub source: String,
+ pub stored_values: std::collections::HashMap<String, serde_json::Value>,
+ pub yield_time_ms: Option<u64>,
+ pub max_output_tokens: Option<usize>,
+}
+
+#[cfg(not(feature = "v8-runtime"))]
+#[derive(Clone, Debug)]
+pub struct WaitRequest {
+ pub cell_id: String,
+ pub yield_time_ms: u64,
+ pub terminate: bool,
+}
+
+#[cfg(not(feature = "v8-runtime"))]
+#[derive(Debug, PartialEq)]
+pub enum RuntimeResponse {
+ Yielded { cell_id: String, content_items: Vec<FunctionCallOutputContentItem> },
+ Terminated { cell_id: String, content_items: Vec<FunctionCallOutputContentItem> },
+ Result { cell_id: String, content_items: Vec<FunctionCallOutputContentItem>, stored_values: std::collections::HashMap<String, serde_json::Value>, error_text: Option<String> },
+}
+
+#[cfg(not(feature = "v8-runtime"))]
+#[async_trait::async_trait]
+pub trait CodeModeTurnHost: Send + Sync {
+ async fn invoke_tool(&self, tool_name: String, input: Option<serde_json::Value>, cancellation_token: tokio_util::sync::CancellationToken) -> Result<serde_json::Value, String>;
+ async fn notify(&self, call_id: String, cell_id: String, text: String) -> Result<(), String>;
+}
+
+#[cfg(not(feature = "v8-runtime"))]
+pub struct CodeModeService;
+
+#[cfg(not(feature = "v8-runtime"))]
+impl CodeModeService {
+ pub fn new() -> Self { Self }
+ pub async fn stored_values(&self) -> std::collections::HashMap<String, serde_json::Value> { Default::default() }
+ pub async fn replace_stored_values(&self, _values: std::collections::HashMap<String, serde_json::Value>) {}
+ pub async fn execute(&self, _request: ExecuteRequest) -> Result<RuntimeResponse, String> { Err("code-mode requires v8-runtime feature".into()) }
+ pub async fn wait(&self, _request: WaitRequest) -> Result<RuntimeResponse, String> { Err("code-mode requires v8-runtime feature".into()) }
+ pub fn start_turn_worker(&self, _host: std::sync::Arc<dyn CodeModeTurnHost>) -> CodeModeTurnWorker { CodeModeTurnWorker }
+}
+
+#[cfg(not(feature = "v8-runtime"))]
+pub struct CodeModeTurnWorker;
+
pub const PUBLIC_TOOL_NAME: &str = "exec";
pub const WAIT_TOOL_NAME: &str = "wait";

View File

@@ -0,0 +1,20 @@
Author: Danny Milosavljevic <dannym@friendly-machines.com>
Date: 2026-02-08
License: ASL2.0
Remove [patch.crates-io] section.
This section points to git repositories which are unavailable in an
offline build. The vendored tokio-tungstenite and tungstenite forks
are provided as cargo-inputs instead.
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -52,7 +52,3 @@
let-underscore = "warn"
rust-2018-idioms = "warn"
unused = "warn"
-
-[patch.crates-io]
-tokio-tungstenite = { git = "https://github.com/openai-oss-forks/tokio-tungstenite", rev = "132f5b39c862e3a970f731d709608b3e6276d5f6" }
-tungstenite = { git = "https://github.com/openai-oss-forks/tungstenite-rs", rev = "9200079d3b54a1ff51072e24d81fd354f085156f" }

View File

@@ -1,21 +0,0 @@
Author: Danny Milosavljevic <dannym@friendly-machines.com>
Date: 2026-02-08
License: ASL2.0
Remove [patch.crates-io] and [patch.'ssh://...'] sections.
These sections point to git repositories which are unavailable in an
offline build. The vendored tokio-tungstenite and tungstenite forks
are provided as cargo-inputs instead.
diff -u a/Cargo.toml b/Cargo.toml
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -47,8 +47,2 @@
unused = "warn"
-
-[patch.crates-io]
-tokio-tungstenite = { git = "https://github.com/JakkuSakura/tokio-tungstenite", branch = "proxy-support" }
-
-[patch.'ssh://git@github.com/JakkuSakura/tungstenite-rs.git']
-tungstenite = { git = "https://github.com/JakkuSakura/tungstenite-rs", branch = "proxy-support" }

View File

@@ -1,52 +0,0 @@
Author: Danny Milosavljevic <dannym@friendly-machines.com>
Date: 2026-02-08
License: ASL2.0
Replace Result::flatten() with and_then(|x| x).
Result::flatten() was stabilized in Rust 1.89.0 but the build
toolchain only provides Rust 1.88.0. Use the equivalent
.and_then(|x| x) form which works on all stable Rust versions.
diff -u a/src/local_spawner.rs b/src/local_spawner.rs
--- a/src/local_spawner.rs
+++ b/src/local_spawner.rs
@@ -156,7 +156,7 @@
});
rx.recv()
.map_err(|e| std::io::Error::other(e.to_string()))
- .flatten()
+ .and_then(|x| x)
}
fn write(&self, path: &std::path::Path, contents: &[u8]) -> std::io::Result<()> {
@@ -174,7 +174,7 @@
});
rx.recv()
.map_err(|e| std::io::Error::other(e.to_string()))
- .flatten()
+ .and_then(|x| x)
}
}
@@ -207,7 +207,7 @@
let file = rx
.await
.map_err(|e| std::io::Error::other(e.to_string()))
- .flatten()?;
+ .and_then(|x| x)?;
Ok(Box::new(tokio::io::BufReader::new(Cursor::new(file.into_bytes()))) as _)
})
diff -u a/src/thread.rs b/src/thread.rs
--- a/src/thread.rs
+++ b/src/thread.rs
@@ -1817,7 +1817,7 @@
let mut new_custom_prompts = load_custom_prompts
.await
.map_err(|_| Error::internal_error())
- .flatten()
+ .and_then(|x| x)
.inspect_err(|e| error!("Failed to load custom prompts {e:?}"))
.unwrap_or_default();

View File

@@ -1,54 +0,0 @@
From 093316a897a2eb4972a7a3a5888f40975d03f6bf Mon Sep 17 00:00:00 2001
From: Brice Goglin <Brice.Goglin@inria.fr>
Date: Tue, 5 Apr 2022 17:39:50 +0200
Subject: [PATCH] linux: (partial) fix the discovery of hugepages on btrfs
fsroot
btrfs always returns 1 in directory stat.st_nlink.
It breaks make check in tests/linux/ because the hugepages discovery
uses st_nlink to allocate the memory page_types array.
Always allocate at least 3 page_types slots
(enough for all known cases, 1 for normal, 2 for huge pages)
(partially cherry-picked from commit 7f351cec9bfe54a031f35ad16c9cfb99784d76dc)
We don't reallocate later if needed as in 2.x commit 7f351cec9bfe54a031f35ad16c9cfb99784d76dc
because v1.11 doesn't deserve a complete fix. Just commit the minimal change
so that tests/linux/2i386-2t-hugepagesizecount with HWLOC_PAGESIZE_DEBUG=4096
doesn't crash in btrfs anymore (test-topology.sh fails during make check if /tmp is in btrfs).
Thanks to Philippe Swartvagher for the report.
Signed-off-by: Brice Goglin <Brice.Goglin@inria.fr>
---
src/topology-linux.c | 11 +++++++++--
1 file changed, 9 insertions(+), 2 deletions(-)
diff --git a/src/topology-linux.c b/src/topology-linux.c
index 58c275fea..269eca7f5 100644
--- a/src/topology-linux.c
+++ b/src/topology-linux.c
@@ -1,6 +1,6 @@
/*
* Copyright © 2009 CNRS
- * Copyright © 2009-2019 Inria. All rights reserved.
+ * Copyright © 2009-2022 Inria. All rights reserved.
* Copyright © 2009-2013, 2015 Université Bordeaux
* Copyright © 2009-2014 Cisco Systems, Inc. All rights reserved.
* Copyright © 2015 Intel, Inc. All rights reserved.
@@ -2329,7 +2329,14 @@ hwloc_get_procfs_meminfo_info(struct hwloc_topology *topology,
err = hwloc_stat("/sys/kernel/mm/hugepages", &st, data->root_fd);
if (!err) {
- types = 1 + st.st_nlink-2;
+ types = 1 /* normal non-huge size */ + st.st_nlink - 2 /* ignore . and .. */;
+ if (types < 3)
+ /* some buggy filesystems (e.g. btrfs when reading from fsroot)
+ * return wrong st_nlink for directories (always 1 for btrfs).
+ * use 3 as a sane default (default page + 2 huge sizes).
+ * hwloc_parse_hugepages_info() will extend it if needed.
+ */
+ types = 3;
has_sysfs_hugepages = 1;
}

View File

@@ -0,0 +1,26 @@
To be remove when updating inetutils.
See
https://cgit.git.savannah.gnu.org/cgit/inetutils.git/commit/?id=556621adc3dcb62dbb28c54905cef15837947115
https://codeberg.org/guix/guix/issues/7995
diff --git a/tests/libls.sh b/tests/libls.sh
index 827020f2..9fdef8be 100755
--- a/tests/libls.sh
+++ b/tests/libls.sh
@@ -91,7 +91,6 @@ REPLY_a1=`$LS -a1 $LSDIR`
REPLY_A1=`$LS -A1 $LSDIR`
REPLY_C=`$LS -C $LSDIR`
-REPLY_Cf=`$LS -Cf $LSDIR`
REPLY_Cr=`$LS -Cr $LSDIR`
REPLY_Ct=`$LS -Ct $LSDIR`
REPLY_x=`$LS -x $LSDIR`
@@ -130,9 +129,6 @@ test `echo "$diff" | $GREP -c -v '^[.]\{1,2\}$'` -eq 0 ||
fi
}
-test x"$REPLY_C" != x"$REPLY_Cf" ||
- { errno=1; echo >&2 'Failed to disable sorting with "-f".'; }
-
test x"$REPLY_C" != x"$REPLY_Cr" ||
{ errno=1; echo >&2 'Failed to reverse sorting with "-r".'; }

View File

@@ -0,0 +1,43 @@
--- a/Makefile.in
+++ b/Makefile.in
@@ -265,15 +265,11 @@
amal.flags = -nc
amal.run = TOPDIR="$(DIR.top)" $(SHELL.bash) $(bin.make-amal) --quiet
libfossil.c: $(amal.deps)
$(amal.run) $(amal.flags)
-libfossil.h: libfossil.c
-all: libfossil.c
@if ENABLE_CXX
-libfossil.hpp: libfossil.c
-libfossil.c++: libfossil.c
amal.flags += -c++
@endif
.PHONY: amal
amal: libfossil.c
@@ -287,19 +283,16 @@
fossil uv sync
@endif
@endif
install: install-headers
-install-headers: libfossil.h $(install-dir.include)
- $(INSTALL.noexec) libfossil.h $(install-dir.include)
+install-headers: include/libfossil.h $(install-dir.include)
+ $(INSTALL.noexec) $< $(install-dir.include)
@if ENABLE_CXX
-libfossil++.hpp: libfossil.h
-libfossil++.cpp: libfossil++.hpp
-all: libfossil++.cpp
install-headers: install-headers++
-install-headers++: libfossil++.hpp $(install-dir.include)
- $(INSTALL.noexec) libfossil++.hpp $(install-dir.include)
+install-headers++: include/libfossil.hpp $(install-dir.include)
+ $(INSTALL.noexec) $< $(install-dir.include)
@endif # ENABLE_CXX
clean: clean-amalgamation
clean-amalgamation:
rm -f libfossil.c libfossil.h libfossil++.cpp libfossil++.hpp
rm -f libfossil-config.h libfossil-amalgamation.zip VERSION.h

View File

@@ -0,0 +1,29 @@
Fix test_command_error for neovim 0.12.x.
In neovim 0.12.0, the error message for an invalid cursor position changed from
"Cursor position outside buffer" to "Invalid cursor line: out of range". Update
the test to accept both messages.
Taken from upstream commit d89b62ed622976c8d6dbc7733a99dac371b01cbf.
diff --git a/test/test_vim.py b/test/test_vim.py
index 8a76f5e..26e2fce 100644
--- a/test/test_vim.py
+++ b/test/test_vim.py
@@ -1,6 +1,7 @@
"""Tests interaction with neovim via Nvim API (with child process)."""
import os
+import re
import sys
import tempfile
from pathlib import Path
@@ -50,7 +51,7 @@ def test_command_output(vim: Nvim) -> None:
def test_command_error(vim: Nvim) -> None:
with pytest.raises(vim.error) as excinfo:
vim.current.window.cursor = -1, -1
- assert excinfo.value.args == ('Cursor position outside buffer',)
+ assert re.search(r"Cursor position outside buffer|Invalid cursor line", excinfo.value.args[0])
def test_eval(vim: Nvim) -> None:

View File

@@ -0,0 +1,14 @@
Upstream-status: https://github.com/open-eid/DigiDoc4-Client/pull/1398
diff --git a/client/Application.cpp b/client/Application.cpp
index c979020..dac13d9 100644
--- a/client/Application.cpp
+++ b/client/Application.cpp
@@ -307,6 +307,7 @@ Application::Application( int &argc, char **argv )
{
setApplicationName(QStringLiteral("qdigidoc4"));
setApplicationVersion(QStringLiteral(VERSION_STR));
+ setDesktopFileName("ee.ria.qdigidoc4");
setOrganizationDomain(QStringLiteral("ria.ee"));
setOrganizationName(QStringLiteral("RIA"));
setWindowIcon(QIcon(QStringLiteral(":/images/Icon.svg")));

View File

@@ -0,0 +1,21 @@
Author: Danny Milosavljevic <dannym@friendly-machines.com>
Subject: Move candle-onnx from exclude to members so cargo package can build it.
Date: 2026-03-01
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -4,6 +4,7 @@
"candle-datasets",
"candle-examples",
"candle-nn",
+ "candle-onnx",
"candle-pyo3",
"candle-transformers",
"candle-wasm-examples/*",
@@ -15,7 +16,6 @@
"candle-flash-attn",
"candle-kernels",
"candle-metal-kernels",
- "candle-onnx",
]
resolver = "2"

View File

@@ -0,0 +1,20 @@
Author: Danny Milosavljevic <dannym@friendly-machines.com>
Date: 2026-02-08
License: ASL2.0
Subject: Remove codex-core circular dev-dependencies.
codex-core has a dev-dependency on codex-arg0 which in turn depends on
codex-core. This causes cargo package to fail when resolving from the
vendor directory because codex-arg0 is not yet available at the time
codex-core is packaged.
--- a/codex-rs/core/Cargo.toml
+++ b/codex-rs/core/Cargo.toml
@@ -144,7 +144,6 @@
[dev-dependencies]
assert_cmd = { workspace = true }
assert_matches = { workspace = true }
-codex-arg0 = { workspace = true }
codex-otel = { workspace = true, features = [
"disable-default-metrics-exporter",
] }

View File

@@ -0,0 +1,30 @@
Author: Danny Milosavljevic <dannym@friendly-machines.com>
Date: 2026-02-08
License: ASL2.0
Subject: Remove [patch.crates-io] and [patch.'ssh://...'] sections.
The [patch] sections point to git repositories which are unavailable
in an offline build. The vendored crossterm, ratatui,
tokio-tungstenite and tungstenite forks are provided as cargo-inputs
instead.
--- a/codex-rs/Cargo.toml
+++ b/codex-rs/Cargo.toml
@@ -423,17 +423,3 @@
debug = 1 # Reduce debug symbol size
inherits = "test"
opt-level = 0
-
-[patch.crates-io]
-# Uncomment to debug local changes.
-# ratatui = { path = "../../ratatui" }
-crossterm = { git = "https://github.com/nornagon/crossterm", branch = "nornagon/color-query" }
-ratatui = { git = "https://github.com/nornagon/ratatui", branch = "nornagon-v0.29.0-patch" }
-tokio-tungstenite = { git = "https://github.com/openai-oss-forks/tokio-tungstenite", rev = "132f5b39c862e3a970f731d709608b3e6276d5f6" }
-tungstenite = { git = "https://github.com/openai-oss-forks/tungstenite-rs", rev = "9200079d3b54a1ff51072e24d81fd354f085156f" }
-
-# Uncomment to debug local changes.
-# rmcp = { path = "../../rust-sdk/crates/rmcp" }
-
-[patch."ssh://git@github.com/openai-oss-forks/tungstenite-rs.git"]
-tungstenite = { git = "https://github.com/openai-oss-forks/tungstenite-rs", rev = "9200079d3b54a1ff51072e24d81fd354f085156f" }

View File

@@ -0,0 +1,26 @@
Author: Danny Milosavljevic <dannym@friendly-machines.com>
Date: 2026-04-14
License: ASL2.0
Subject: Fix race condition in codex-connectors cache test.
ALL_CONNECTORS_CACHE is a single global Option, not a map. When Rust's
test runner executes tests in parallel, the
list_all_connectors_merges_and_normalizes_directory_apps test can
overwrite the cache entry between the two calls in
list_all_connectors_uses_shared_cache, causing a key mismatch and a
spurious "cache should have been used" failure.
Fix by clearing the cache at the start of the cache test so it does not
depend on execution order relative to other tests.
--- a/codex-rs/connectors/src/lib.rs
+++ b/codex-rs/connectors/src/lib.rs
@@ -441,6 +441,9 @@
#[tokio::test]
async fn list_all_connectors_uses_shared_cache() -> anyhow::Result<()> {
+ // Clear any stale cache entry left by a concurrently running test.
+ *ALL_CONNECTORS_CACHE.lock().unwrap() = None;
+
let calls = Arc::new(AtomicUsize::new(0));
let call_counter = Arc::clone(&calls);
let key = cache_key("shared");

Some files were not shown because too many files have changed in this diff Show More