[bug#77802] gnu: Add pay-respects.

Message ID d303a5a5d593ae6c1fed39fbfb1eaa95bb319e6d.1744638198.git.gabrielsantosdesouza@disroot.org
State New
Headers
Series [bug#77802] gnu: Add pay-respects. |

Commit Message

Gabriel Santos April 14, 2025, 1:43 p.m. UTC
  * gnu/packages/rust-apps.scm (pay-respects): New variable.
* gnu/packages/rust-crates.scm (pay-respects-cargo-inputs): New variable.

Change-Id: Ic1d49812ba469873eab13da941e5ed0ba15ee52e
---
 gnu/packages/rust-apps.scm   |  32 +++-
 gnu/packages/rust-crates.scm | 298 +++++++++++++++++++++++++++++++++++
 2 files changed, 329 insertions(+), 1 deletion(-)


base-commit: 920dbca3b03b3b862326a6e576d2fb771edcdd33
  

Comments

Hilton Chain April 14, 2025, 3:06 p.m. UTC | #1
Hi Gabriel Santos,

Thanks for the first patch using the new workflow :)

On Mon, 14 Apr 2025 21:43:18 +0800,
Gabriel Santos wrote:
>
> * gnu/packages/rust-apps.scm (pay-respects): New variable.
> * gnu/packages/rust-crates.scm (pay-respects-cargo-inputs): New variable.
>
> Change-Id: Ic1d49812ba469873eab13da941e5ed0ba15ee52e
> ---
>  gnu/packages/rust-apps.scm   |  32 +++-
>  gnu/packages/rust-crates.scm | 298 +++++++++++++++++++++++++++++++++++
>  2 files changed, 329 insertions(+), 1 deletion(-)
>
> diff --git a/gnu/packages/rust-apps.scm b/gnu/packages/rust-apps.scm
> index 02de57bea4..2168d847ed 100644
> --- a/gnu/packages/rust-apps.scm
> +++ b/gnu/packages/rust-apps.scm
> @@ -38,7 +38,7 @@
>  ;;; Copyright © 2025 Andrew Wong <wongandj@icloud.com>
>  ;;; Copyright © 2024 Danny Milosavljevic <dannym@friendly-machines.com>
>  ;;; Copyright © 2024 David Elsing <david.elsing@posteo.net>
> -;;; Copyright © 2025 Gabriel Santos <gabriel.santos.smtp@gmail.com>
> +;;; Copyright © 2025 Gabriel Santos <gabrielsantosdesouza@disroot.org>
>  ;;;
>  ;;; This file is part of GNU Guix.
>  ;;;
> @@ -4878,3 +4878,33 @@ (define-public matugen
>       "@command{matugen} generates a 'Material You' color palette based on a
>  specified image or color, easing the process of theme creation.")
>      (license license:gpl2)))
> +
> +(define-public pay-respects
> +  (package
> +    (name "pay-respects")
> +    (version "0.7.5")
> +    (source
> +     (origin
> +       (method url-fetch)
> +       (uri (crate-uri "pay-respects" version))
> +       (file-name (string-append name "-" version ".tar.gz"))
> +       (sha256
> +        (base32 "0slwj5s53s0vpfvj2hsimaicgyv75av318z6hi1knpqf6adynk1w"))))
> +    (build-system cargo-build-system)
> +    (arguments
> +     (list
> +      #:install-source? #f))
> +    (inputs (cargo-inputs 'pay-respects))
> +    (home-page "https://codeberg.org/iff/pay-respects")
> +    (synopsis "Correct mistyped console command by pressing f")

When describing a keybinding, use @kbd.  But it's actually a command, right?
"pressing" is not accurate here.

> +    (description
> +     "@command{pay-respects} is a program that either corrects mistyped commands,
> +or suggests a correction after the user inputs @command{f}.  This is similar to
> +the @command{thefuck} program.

Installing this package doesn't brings you a @command{thefuck} program, you may
refer to it as @code{thefuck} package.

> +Additional support for instaling packages adding missing binaries is available.
> +For Guix, a user just has to index their store with the @command{guix locate}
> +command.  Additional support for Nix is also available, but that requires the
> +instalation of @command{nix-index} from Nix for it to work (and it also has
> +a lower priority, as package managers are checked in alphabetical order).")

Can you rephrase these sentences without the "For Guix"?  Also Nix isn't
relevant here I think?

> +    (license license:agpl3+)))
> diff --git a/gnu/packages/rust-crates.scm b/gnu/packages/rust-crates.scm
> index 9c40134008..b9bab15e09 100644
> --- a/gnu/packages/rust-crates.scm
> +++ b/gnu/packages/rust-crates.scm
> @@ -1,5 +1,6 @@
>  ;;; GNU Guix --- Functional package management for GNU
>  ;;; Copyright © 2025 Hilton Chain <hako@ultrarare.space>
> +;;; Copyright © 2025 Gabriel Santos <gabrielsantosdesouza@disroot.org>

I personally won't accept a copyright line unless you have made modifications to
the generated content.

I think in practice committers should import dependencies again and check all
added sources after applying the patch locally, so not sure about how to count
copyright for this module.
  
Gabriel Santos April 14, 2025, 4:08 p.m. UTC | #2
>Thanks for the first patch using the new workflow :)

Glad I could be the first one to use it :)

>When describing a keybinding, use @kbd.  But it's actually a command, right?

Yes, since this is a CLI, sending "f" to the terminal isn't really
a keybind.

>"pressing" is not accurate here.

"inputting" f?

>Installing this package doesn't brings you a @command{thefuck} program, you may
>refer to it as @code{thefuck} package.

@code{} to refer to packages, got it.

>> +Additional support for instaling packages adding missing binaries is available.
>> +For Guix, a user just has to index their store with the @command{guix locate}
>> +command.  Additional support for Nix is also available, but that requires the
>> +instalation of @command{nix-index} from Nix for it to work (and it also has
>> +a lower priority, as package managers are checked in alphabetical order).")
>
>Can you rephrase these sentences without the "For Guix"?  Also Nix isn't
>relevant here I think?

I added Nix because we have it packaged, but I can remove this line.

>I think in practice committers should import dependencies again and check all
>added sources after applying the patch locally, so not sure about how to count
>copyright for this module.

So I should:

1. Import the patch, with something like mumi.
2. Run "guix import -i" again.
3. Check the source with "tar xf $(guix build --source pay-respects) -C /tmp"
4. Check the sources of the dependencies too.

Right?

>so not sure about how to count copyright for this module.

I think not adding copyright to this module could create a bigger
issue down the line, a similar example being what happend to .dir-locals.el:

<https://lists.gnu.org/archive/html/guix-patches/2025-02/msg02189.html>

And that is just V1 of the patch-more authors had to be added.

I'dd add the copyright so it doesn't create a similar issue down the
line, but you decide.
  
Gabriel Santos April 14, 2025, 5:49 p.m. UTC | #3
>So I should:
>
>1. Import the patch, with something like mumi.
>2. Run "guix import -i" again.
>3. Check the source with "tar xf $(guix build --source pay-respects) -C /tmp"
>4. Check the sources of the dependencies too.
>
>Right?

I tried to build the dependencies following the instructions in
the Cookbook:

>./pre-inst-env guix build --expression=('@@@@ (gnu packages rust-crates) rust-askama-0.13.0)'

But got an error saying that "@@@@" was an unbound variable.

But then I found this cargo-clone[1] subcommand
(got it from Nix) that seems to do the job, because the downloaded
sources have ".cargo_vcs_info.json" and other files that
indicates the crates.io origin.

From my evaluation, the only ones that could be bundling
sources are "basic-toml@0.1.10" (claims to include tests from
"toml-test", inside tests/README.md, but seems to be just
a case of copying existing code) and "rust-rust-i18n-3.1.4"
(has a build.rs file, but doesn't seem to actually be bundling
anything, I don't see another package here).

[1] <https://github.com/JanLikar/cargo-clone>
  
Gabriel Santos April 15, 2025, 3:43 p.m. UTC | #4
I updated the commit to match your suggested changes:

- Replace the inaccurate "pressing" in the synopsis
(with "inputting")
- Replace "@command{thefuck} program" with "@code{thefuck}
package" in the description.
- Rephrased the package installation part of the description
to only talk about Guix
- Removed the copyright notice from rust-crates.scm

I also checked all dependencies as mentioned on a
previous message.

Can I send a V2 today?
  
Gabriel Santos April 15, 2025, 4:28 p.m. UTC | #5
I updated the commit to match your suggested changes:

- Replace the inaccurate "pressing" in the synopsis
(with "inputting")
- Replace "@command{thefuck} program" with "@code{thefuck}
package" in the description.
- Rephrased the package installation part of the description
to only talk about Guix
- Removed the copyright notice from rust-crates.scm

I also checked all dependencies as mentioned on a
previous message.

Can I send a V2 today?
  
Hilton Chain April 16, 2025, 5:36 a.m. UTC | #6
On Tue, 15 Apr 2025 01:49:39 +0800,
Gabriel Santos wrote:
>
> >So I should:
> >
> >1. Import the patch, with something like mumi.
> >2. Run "guix import -i" again.
> >3. Check the source with "tar xf $(guix build --source pay-respects) -C /tmp"
> >4. Check the sources of the dependencies too.
> >
> >Right?
>
> I tried to build the dependencies following the instructions in
> the Cookbook:
>
> >./pre-inst-env guix build --expression=('@@@@ (gnu packages rust-crates) rust-askama-0.13.0)'
>
> But got an error saying that "@@@@" was an unbound variable.

‘@’ begins a Texinfo markup, ‘@@’ in Texinfo means a literal ‘@’.

For what @@ means, lookup it in Guile manual.

> But then I found this cargo-clone[1] subcommand
> (got it from Nix) that seems to do the job, because the downloaded
> sources have ".cargo_vcs_info.json" and other files that
> indicates the crates.io origin.
>
> From my evaluation, the only ones that could be bundling
> sources are "basic-toml@0.1.10" (claims to include tests from
> "toml-test", inside tests/README.md, but seems to be just
> a case of copying existing code) and "rust-rust-i18n-3.1.4"
> (has a build.rs file, but doesn't seem to actually be bundling
> anything, I don't see another package here).
>
> [1] <https://github.com/JanLikar/cargo-clone>
  
Hilton Chain April 16, 2025, 5:36 a.m. UTC | #7
On Wed, 16 Apr 2025 00:28:58 +0800,
Gabriel Santos wrote:
>
> I updated the commit to match your suggested changes:
>
> - Replace the inaccurate "pressing" in the synopsis
> (with "inputting")
> - Replace "@command{thefuck} program" with "@code{thefuck}
> package" in the description.
> - Rephrased the package installation part of the description
> to only talk about Guix
> - Removed the copyright notice from rust-crates.scm
>
> I also checked all dependencies as mentioned on a
> previous message.
>
> Can I send a V2 today?

Of course, you can send at any time.
  
Gabriel Santos April 16, 2025, 9:33 a.m. UTC | #8
>‘@’ begins a Texinfo markup, ‘@@’ in Texinfo means a literal ‘@’.
>
>For what @@ means, lookup it in Guile manual.

Oh thanks, I've seen "@@" used before, but I don't know
what it is, I'll look in the manual. But, from what I've
seen, it allows you to interact with symbols that
have not been made public/exported in the module.
  

Patch

diff --git a/gnu/packages/rust-apps.scm b/gnu/packages/rust-apps.scm
index 02de57bea4..2168d847ed 100644
--- a/gnu/packages/rust-apps.scm
+++ b/gnu/packages/rust-apps.scm
@@ -38,7 +38,7 @@ 
 ;;; Copyright © 2025 Andrew Wong <wongandj@icloud.com>
 ;;; Copyright © 2024 Danny Milosavljevic <dannym@friendly-machines.com>
 ;;; Copyright © 2024 David Elsing <david.elsing@posteo.net>
-;;; Copyright © 2025 Gabriel Santos <gabriel.santos.smtp@gmail.com>
+;;; Copyright © 2025 Gabriel Santos <gabrielsantosdesouza@disroot.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -4878,3 +4878,33 @@  (define-public matugen
      "@command{matugen} generates a 'Material You' color palette based on a
 specified image or color, easing the process of theme creation.")
     (license license:gpl2)))
+
+(define-public pay-respects
+  (package
+    (name "pay-respects")
+    (version "0.7.5")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "pay-respects" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "0slwj5s53s0vpfvj2hsimaicgyv75av318z6hi1knpqf6adynk1w"))))
+    (build-system cargo-build-system)
+    (arguments
+     (list
+      #:install-source? #f))
+    (inputs (cargo-inputs 'pay-respects))
+    (home-page "https://codeberg.org/iff/pay-respects")
+    (synopsis "Correct mistyped console command by pressing f")
+    (description
+     "@command{pay-respects} is a program that either corrects mistyped commands,
+or suggests a correction after the user inputs @command{f}.  This is similar to
+the @command{thefuck} program.
+
+Additional support for instaling packages adding missing binaries is available.
+For Guix, a user just has to index their store with the @command{guix locate}
+command.  Additional support for Nix is also available, but that requires the
+instalation of @command{nix-index} from Nix for it to work (and it also has
+a lower priority, as package managers are checked in alphabetical order).")
+    (license license:agpl3+)))
diff --git a/gnu/packages/rust-crates.scm b/gnu/packages/rust-crates.scm
index 9c40134008..b9bab15e09 100644
--- a/gnu/packages/rust-crates.scm
+++ b/gnu/packages/rust-crates.scm
@@ -1,5 +1,6 @@ 
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2025 Hilton Chain <hako@ultrarare.space>
+;;; Copyright © 2025 Gabriel Santos <gabrielsantosdesouza@disroot.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -353,6 +354,18 @@  (define rust-ashpd-0.6.8
   (crate-source "ashpd" "0.6.8"
                 "109d7w6v0rnpy9lv4kmhwgh0sff0440s2vybj1k0ik4ib3d2xhja"))
 
+(define rust-askama-0.13.0
+  (crate-source "askama" "0.13.0"
+                "0hr5272633jcx10kk76pznxl4c93d4klaba44vr0xq03namlckls"))
+
+(define rust-askama-derive-0.13.0
+  (crate-source "askama_derive" "0.13.0"
+                "19i8iwahw0jsdwdx88g4bawlljf7y18v7xrmh5r2rlqzh838jfal"))
+
+(define rust-askama-parser-0.13.0
+  (crate-source "askama_parser" "0.13.0"
+                "0kqd9pg96dd6w9pm4q7zdhmchhkdrwsljygz56qpp1acabk5qcfg"))
+
 (define rust-asn1-0.20.0
   (crate-source "asn1" "0.20.0"
                 "0ckg83ingvagwjvmxadjjmkgna5kvlvrfx9arlfvzqhxxas892rd"))
@@ -632,6 +645,10 @@  (define rust-base32-0.4.0
   (crate-source "base32" "0.4.0"
                 "1ykwx8jhksqxghfgyw2pzikzjf4n9wqm1x2ww5wqyn68ssf6dki3"))
 
+(define rust-base62-2.2.1
+  (crate-source "base62" "2.2.1"
+                "07xb6xj6f3h46kjhjj8sxnkvgjz3z4x0bd8zwazfwsqxrdxjmr8h"))
+
 (define rust-base64-0.13.1
   (crate-source "base64" "0.13.1"
                 "1s494mqmzjb766fy1kqlccgfg2sdcjb6hzbvzqv2jw65fdi5h6wy"))
@@ -656,6 +673,10 @@  (define rust-basic-cookies-0.1.5
   (crate-source "basic-cookies" "0.1.5"
                 "1xwnmmcn32m18nis7azfxylkqyhirkqcag94i23b1g8n5ka8zgb7"))
 
+(define rust-basic-toml-0.1.10
+  (crate-source "basic-toml" "0.1.10"
+                "12hp59jl28kk229q4sqx6v4fc9p66v8i2byi0vlc9922h9g6fqms"))
+
 (define rust-bcrypt-pbkdf-0.10.0
   (crate-source "bcrypt-pbkdf" "0.10.0"
                 "18pjhsy3m2v0silsp4mjzz8i92zrpqxk9b059zrnk1w8zvhw5ska"))
@@ -1453,6 +1474,10 @@  (define rust-colored-2.2.0
   (crate-source "colored" "2.2.0"
                 "0g6s7j2qayjd7i3sivmwiawfdg8c8ldy0g2kl4vwk1yk16hjaxqi"))
 
+(define rust-colored-3.0.0
+  (crate-source "colored" "3.0.0"
+                "0plizddhxc4vgkzdbzky5zggyaqfrmyim2d0n6sb7py9j3nf1q7x"))
+
 (define rust-colorsys-0.6.7
   (crate-source "colorsys" "0.6.7"
                 "1g8vwcv89n2dzi9bmbzqlj9cl9a89jz49668grbcncv4cjx1l9jl"))
@@ -3861,6 +3886,10 @@  (define rust-globset-0.4.16
   (crate-source "globset" "0.4.16"
                 "1xa9ivqs74imf1q288spxh49g6iw2mn3x9snibdgapazzj6h58al"))
 
+(define rust-globwalk-0.8.1
+  (crate-source "globwalk" "0.8.1"
+                "1k6xwkydr7igvwjn3xkwjywk4213lcs53f576ilqz1h84jaazqwk"))
+
 (define rust-globwalk-0.9.1
   (crate-source "globwalk" "0.9.1"
                 "0mz7bsa66p2rrgnz3l94ac4kbklh7mq8j30iizyxjy4qyvmn1xqb"))
@@ -6516,6 +6545,14 @@  (define rust-patricia-tree-0.8.0
   (crate-source "patricia_tree" "0.8.0"
                 "0s5fya6rvgg2gxxp5mbv0xdq8jqikps1sc6snk23zrgzkd9z9wii"))
 
+(define rust-pay-respects-parser-0.3.9
+  (crate-source "pay-respects-parser" "0.3.9"
+                "0aww6qm0agzcx3g69bblkkhxz2gnbmvyk335jla0bayvhx6pczqy"))
+
+(define rust-pay-respects-utils-0.1.8
+  (crate-source "pay-respects-utils" "0.1.8"
+                "191z4xjsdzn8k821071z4m8zl0jnd2r7j8ki2wpzdkdjha2g5mvn"))
+
 (define rust-pbkdf2-0.12.2
   (crate-source "pbkdf2" "0.12.2"
                 "1wms79jh4flpy1zi8xdp4h8ccxv4d85adc6zjagknvppc5vnmvgq"))
@@ -7646,6 +7683,18 @@  (define rust-rust-htslib-0.40.2
   (crate-source "rust-htslib" "0.40.2"
                 "1m08935ijvxaq6pjmzhkimc6isb3qm7h1sza1012vwk99vzdwwqb"))
 
+(define rust-rust-i18n-3.1.4
+  (crate-source "rust-i18n" "3.1.4"
+                "00z2ks73bs6c4fp3kcspcr5610a94mpg5b8r541r4548vry31dm2"))
+
+(define rust-rust-i18n-macro-3.1.4
+  (crate-source "rust-i18n-macro" "3.1.4"
+                "04lr3mq1b4xvqzyldfvyx06h7aa7h7mdmnayxjxxvqlzcqjcf38w"))
+
+(define rust-rust-i18n-support-3.1.4
+  (crate-source "rust-i18n-support" "3.1.4"
+                "12qhvirzg7qhpg3xshimmcglwmz3z4rl2jrc3782a9980kg02xdl"))
+
 (define rust-rust-ini-0.20.0
   (crate-source "rust-ini" "0.20.0"
                 "12h608iy8kzxdrd0i5r20pzmgnw5fwg4rjwy5azq526bdch9h1iy"))
@@ -20487,6 +20536,255 @@  (define-public parinfer-rust-emacs-cargo-inputs
         rust-winapi-i686-pc-windows-gnu-0.4.0
         rust-winapi-x86-64-pc-windows-gnu-0.4.0))
 
+(define-public pay-respects-cargo-inputs
+  (list rust-addr2line-0.24.2
+        rust-adler2-2.0.0
+        rust-aho-corasick-1.1.3
+        rust-arc-swap-1.7.1
+        rust-askama-0.13.0
+        rust-askama-derive-0.13.0
+        rust-askama-parser-0.13.0
+        rust-autocfg-1.4.0
+        rust-backtrace-0.3.74
+        rust-base62-2.2.1
+        rust-base64-0.22.1
+        rust-basic-toml-0.1.10
+        rust-bitflags-1.3.2
+        rust-bitflags-2.9.0
+        rust-bstr-1.12.0
+        rust-bumpalo-3.17.0
+        rust-byteorder-1.5.0
+        rust-bytes-1.10.1
+        rust-cc-1.2.19
+        rust-cfg-if-1.0.0
+        rust-cfg-aliases-0.2.1
+        rust-colored-3.0.0
+        rust-crossbeam-deque-0.8.6
+        rust-crossbeam-epoch-0.9.18
+        rust-crossbeam-utils-0.8.21
+        rust-crossterm-0.25.0
+        rust-crossterm-winapi-0.9.1
+        rust-displaydoc-0.2.5
+        rust-dyn-clone-1.0.19
+        rust-either-1.15.0
+        rust-equivalent-1.0.2
+        rust-errno-0.3.11
+        rust-fnv-1.0.7
+        rust-form-urlencoded-1.2.1
+        rust-futures-channel-0.3.31
+        rust-futures-core-0.3.31
+        rust-futures-io-0.3.31
+        rust-futures-macro-0.3.31
+        rust-futures-sink-0.3.31
+        rust-futures-task-0.3.31
+        rust-futures-util-0.3.31
+        rust-fuzzy-matcher-0.3.7
+        rust-fxhash-0.2.1
+        rust-getrandom-0.2.15
+        rust-getrandom-0.3.2
+        rust-gimli-0.31.1
+        rust-glob-0.3.2
+        rust-globset-0.4.16
+        rust-globwalk-0.8.1
+        rust-hashbrown-0.15.2
+        rust-http-1.3.1
+        rust-http-body-1.0.1
+        rust-http-body-util-0.1.3
+        rust-httparse-1.10.1
+        rust-hyper-1.6.0
+        rust-hyper-rustls-0.27.5
+        rust-hyper-util-0.1.11
+        rust-icu-collections-1.5.0
+        rust-icu-locid-1.5.0
+        rust-icu-locid-transform-1.5.0
+        rust-icu-locid-transform-data-1.5.1
+        rust-icu-normalizer-1.5.0
+        rust-icu-normalizer-data-1.5.1
+        rust-icu-properties-1.5.1
+        rust-icu-properties-data-1.5.1
+        rust-icu-provider-1.5.0
+        rust-icu-provider-macros-1.5.0
+        rust-idna-1.0.3
+        rust-idna-adapter-1.2.0
+        rust-ignore-0.4.23
+        rust-indexmap-2.9.0
+        rust-inquire-0.7.5
+        rust-ipnet-2.11.0
+        rust-itertools-0.11.0
+        rust-itertools-0.14.0
+        rust-itoa-1.0.15
+        rust-js-sys-0.3.77
+        rust-lazy-static-1.5.0
+        rust-libc-0.2.171
+        rust-linux-raw-sys-0.9.4
+        rust-litemap-0.7.5
+        rust-lock-api-0.4.12
+        rust-log-0.4.27
+        rust-memchr-2.7.4
+        rust-mime-0.3.17
+        rust-miniz-oxide-0.8.8
+        rust-mio-0.8.11
+        rust-mio-1.0.3
+        rust-newline-converter-0.3.0
+        rust-normpath-1.3.0
+        rust-object-0.36.7
+        rust-once-cell-1.21.3
+        rust-parking-lot-0.12.3
+        rust-parking-lot-core-0.9.10
+        rust-pay-respects-parser-0.3.9
+        rust-pay-respects-utils-0.1.8
+        rust-percent-encoding-2.3.1
+        rust-pin-project-lite-0.2.16
+        rust-pin-utils-0.1.0
+        rust-ppv-lite86-0.2.21
+        rust-proc-macro2-1.0.94
+        rust-quinn-0.11.7
+        rust-quinn-proto-0.11.10
+        rust-quinn-udp-0.5.11
+        rust-quote-1.0.40
+        rust-r-efi-5.2.0
+        rust-rand-0.9.0
+        rust-rand-chacha-0.9.0
+        rust-rand-core-0.9.3
+        rust-redox-syscall-0.5.11
+        rust-regex-1.11.1
+        rust-regex-automata-0.4.9
+        rust-regex-lite-0.1.6
+        rust-regex-syntax-0.8.5
+        rust-reqwest-0.12.15
+        rust-ring-0.17.14
+        rust-rust-i18n-3.1.4
+        rust-rust-i18n-macro-3.1.4
+        rust-rust-i18n-support-3.1.4
+        rust-rustc-demangle-0.1.24
+        rust-rustc-hash-2.1.1
+        rust-rustix-1.0.5
+        rust-rustls-0.23.26
+        rust-rustls-pemfile-2.2.0
+        rust-rustls-pki-types-1.11.0
+        rust-rustls-webpki-0.103.1
+        rust-rustversion-1.0.20
+        rust-ryu-1.0.20
+        rust-same-file-1.0.6
+        rust-scopeguard-1.2.0
+        rust-serde-1.0.219
+        rust-serde-derive-1.0.219
+        rust-serde-json-1.0.140
+        rust-serde-spanned-0.6.8
+        rust-serde-urlencoded-0.7.1
+        rust-serde-yaml-0.9.34+deprecated
+        rust-shlex-1.3.0
+        rust-signal-hook-0.3.17
+        rust-signal-hook-mio-0.2.4
+        rust-signal-hook-registry-1.4.2
+        rust-siphasher-1.0.1
+        rust-slab-0.4.9
+        rust-smallvec-1.15.0
+        rust-smawk-0.3.2
+        rust-socket2-0.5.9
+        rust-stable-deref-trait-1.2.0
+        rust-subtle-2.6.1
+        rust-syn-2.0.100
+        rust-sync-wrapper-1.0.2
+        rust-synstructure-0.13.1
+        rust-sys-locale-0.3.2
+        rust-terminal-size-0.4.2
+        rust-textwrap-0.16.2
+        rust-thiserror-2.0.12
+        rust-thiserror-impl-2.0.12
+        rust-thread-local-1.1.8
+        rust-tinystr-0.7.6
+        rust-tinyvec-1.9.0
+        rust-tinyvec-macros-0.1.1
+        rust-tokio-1.44.2
+        rust-tokio-macros-2.5.0
+        rust-tokio-rustls-0.26.2
+        rust-tokio-util-0.7.14
+        rust-toml-0.8.20
+        rust-toml-datetime-0.6.8
+        rust-toml-edit-0.22.24
+        rust-tower-0.5.2
+        rust-tower-layer-0.3.3
+        rust-tower-service-0.3.3
+        rust-tracing-0.1.41
+        rust-tracing-core-0.1.33
+        rust-triomphe-0.1.14
+        rust-try-lock-0.2.5
+        rust-unicode-ident-1.0.18
+        rust-unicode-linebreak-0.1.5
+        rust-unicode-segmentation-1.12.0
+        rust-unicode-width-0.1.14
+        rust-unicode-width-0.2.0
+        rust-unsafe-libyaml-0.2.11
+        rust-untrusted-0.9.0
+        rust-url-2.5.4
+        rust-utf16-iter-1.0.5
+        rust-utf8-iter-1.0.4
+        rust-walkdir-2.5.0
+        rust-want-0.3.1
+        rust-wasi-0.11.0+wasi-snapshot-preview1
+        rust-wasi-0.14.2+wasi-0.2.4
+        rust-wasm-bindgen-0.2.100
+        rust-wasm-bindgen-backend-0.2.100
+        rust-wasm-bindgen-futures-0.4.50
+        rust-wasm-bindgen-macro-0.2.100
+        rust-wasm-bindgen-macro-support-0.2.100
+        rust-wasm-bindgen-shared-0.2.100
+        rust-wasm-streams-0.4.2
+        rust-web-sys-0.3.77
+        rust-web-time-1.1.0
+        rust-webpki-roots-0.26.8
+        rust-winapi-0.3.9
+        rust-winapi-i686-pc-windows-gnu-0.4.0
+        rust-winapi-util-0.1.9
+        rust-winapi-x86-64-pc-windows-gnu-0.4.0
+        rust-windows-link-0.1.1
+        rust-windows-registry-0.4.0
+        rust-windows-result-0.3.2
+        rust-windows-strings-0.3.1
+        rust-windows-sys-0.48.0
+        rust-windows-sys-0.52.0
+        rust-windows-sys-0.59.0
+        rust-windows-targets-0.48.5
+        rust-windows-targets-0.52.6
+        rust-windows-targets-0.53.0
+        rust-windows-aarch64-gnullvm-0.48.5
+        rust-windows-aarch64-gnullvm-0.52.6
+        rust-windows-aarch64-gnullvm-0.53.0
+        rust-windows-aarch64-msvc-0.48.5
+        rust-windows-aarch64-msvc-0.52.6
+        rust-windows-aarch64-msvc-0.53.0
+        rust-windows-i686-gnu-0.48.5
+        rust-windows-i686-gnu-0.52.6
+        rust-windows-i686-gnu-0.53.0
+        rust-windows-i686-gnullvm-0.52.6
+        rust-windows-i686-gnullvm-0.53.0
+        rust-windows-i686-msvc-0.48.5
+        rust-windows-i686-msvc-0.52.6
+        rust-windows-i686-msvc-0.53.0
+        rust-windows-x86-64-gnu-0.48.5
+        rust-windows-x86-64-gnu-0.52.6
+        rust-windows-x86-64-gnu-0.53.0
+        rust-windows-x86-64-gnullvm-0.48.5
+        rust-windows-x86-64-gnullvm-0.52.6
+        rust-windows-x86-64-gnullvm-0.53.0
+        rust-windows-x86-64-msvc-0.48.5
+        rust-windows-x86-64-msvc-0.52.6
+        rust-windows-x86-64-msvc-0.53.0
+        rust-winnow-0.7.6
+        rust-wit-bindgen-rt-0.39.0
+        rust-write16-1.0.0
+        rust-writeable-0.5.5
+        rust-yoke-0.7.5
+        rust-yoke-derive-0.7.5
+        rust-zerocopy-0.8.24
+        rust-zerocopy-derive-0.8.24
+        rust-zerofrom-0.1.6
+        rust-zerofrom-derive-0.1.6
+        rust-zeroize-1.8.1
+        rust-zerovec-0.10.4
+        rust-zerovec-derive-0.10.3))
+
 (define-public pijul-cargo-inputs
   (list rust-addr2line-0.24.2
         rust-adler2-2.0.0