From 33313d57b97d3f2567037313133c1b9d565ba042 Mon Sep 17 00:00:00 2001 From: Jaeme Sifat Date: Tue, 12 Dec 2023 13:10:24 -0500 Subject: gnu: ripgrep: Update to 14.0.3. * gnu/packages/rust-apps.scm (ripgrep): Update to 14.0.3. [cargo-inputs]: Add rust-anyhow-1, rust-lexopt-0.3, rust-textwrap-0.16. Replace rust-bstr-0.2 with 1, rust-grep-0.2 with 0.3, rust-jemallocator-0.3 with 0.5. Remove rust-clap-2, rust-lazy-static-1, rust-num-cpus-1, rust-regex-1. [arguments]: Replace custom 'install-manpage with 'install-extras and install shell completions. Remove extra modules. [native-inputs]: Remove asciidoc. Add ripgrep when cross-compiling. [synopsis, description]: Expand. Change-Id: Iedf371a36d704072f4f3a9a3765c77dd22ea6642 Signed-off-by: Efraim Flashner Change-Id: Ie99687ad5d7d7a9178dba08e1e7f100f96854336 --- gnu/packages/rust-apps.scm | 109 ++++++++++++++++++++++++++------------------- 1 file changed, 63 insertions(+), 46 deletions(-) (limited to 'gnu/packages/rust-apps.scm') diff --git a/gnu/packages/rust-apps.scm b/gnu/packages/rust-apps.scm index ab8534f64a..f17c2dd0a7 100644 --- a/gnu/packages/rust-apps.scm +++ b/gnu/packages/rust-apps.scm @@ -1149,61 +1149,78 @@ more.") (define-public ripgrep (package (name "ripgrep") - (version "13.0.0") + (version "14.0.3") (source (origin (method url-fetch) (uri (crate-uri "ripgrep" version)) - (file-name - (string-append name "-" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 - "1gv4imhjgxmyxaa996yshcjlakmrjw9pf4rycp90pq675cn9sz7k")))) + (base32 "192n1lih9vzhf7r2ak985fap23x608qjdq9pqjcf43h3g9mjzjh0")))) (build-system cargo-build-system) (arguments - `(#:cargo-inputs - (("rust-bstr" ,rust-bstr-0.2) - ("rust-clap" ,rust-clap-2) - ("rust-grep" ,rust-grep-0.2) - ("rust-ignore" ,rust-ignore-0.4) - ("rust-jemallocator" ,rust-jemallocator-0.3) - ("rust-lazy-static" ,rust-lazy-static-1) - ("rust-log" ,rust-log-0.4) - ("rust-num-cpus" ,rust-num-cpus-1) - ("rust-regex" ,rust-regex-1) - ("rust-serde-json" ,rust-serde-json-1) - ("rust-termcolor" ,rust-termcolor-1)) - #:cargo-development-inputs - (("rust-serde" ,rust-serde-1) - ("rust-serde-derive" ,rust-serde-derive-1) - ("rust-walkdir" ,rust-walkdir-2)) - #:modules ((ice-9 match) - (guix build cargo-build-system) - (guix build utils)) - #:install-source? #f - #:phases - (modify-phases %standard-phases - (add-after 'build 'install-manpage - ;; NOTE: This is done before 'check so that there's only one output - ;; directory with the man page. - (lambda* (#:key outputs #:allow-other-keys) - (match (find-files "target" "^rg\\.1$") - ((manpage) - (install-file manpage (string-append - (assoc-ref outputs "out") - "/share/man/man1")))) - #t))) - #:features '("pcre2"))) - (inputs - (list pcre2)) - (native-inputs - (list asciidoc pkg-config)) + (list + #:cargo-inputs `(("rust-anyhow" ,rust-anyhow-1) + ("rust-bstr" ,rust-bstr-1) + ("rust-grep" ,rust-grep-0.3) + ("rust-ignore" ,rust-ignore-0.4) + ("rust-jemallocator" ,rust-jemallocator-0.5) + ("rust-lexopt" ,rust-lexopt-0.3) + ("rust-log" ,rust-log-0.4) + ("rust-serde-json" ,rust-serde-json-1) + ("rust-termcolor" ,rust-termcolor-1) + ("rust-textwrap" ,rust-textwrap-0.16)) + #:cargo-development-inputs `(("rust-serde" ,rust-serde-1) + ("rust-serde-derive" ,rust-serde-derive-1) + ("rust-walkdir" ,rust-walkdir-2)) + #:install-source? #f + ;; Note: the built target 'rg' binary is required for 'install-extras + #:phases #~(modify-phases %standard-phases + (add-after 'install 'install-extras + (lambda* (#:key native-inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (share (string-append out "/share")) + (bash-completions-dir + (string-append share "/bash-completion/completions")) + (zsh-completions-dir + (string-append share "/zsh/site-functions")) + (fish-completions-dir + (string-append share "/fish/vendor_completions.d")) + (man1 (string-append share "/man/man1")) + (rg (if #$(%current-target-system) + (search-input-file native-inputs "/bin/rg") + (string-append out "/bin/rg")))) + (mkdir-p man1) + (with-output-to-file (string-append man1 "/rg.1") + (lambda _ + (invoke rg "--generate" "man"))) + (mkdir-p bash-completions-dir) + (with-output-to-file (string-append + bash-completions-dir "/rg") + (lambda _ + (invoke rg "--generate" "complete-bash"))) + (mkdir-p zsh-completions-dir) + (with-output-to-file (string-append + zsh-completions-dir "/_rg") + (lambda _ + (invoke rg "--generate" "complete-zsh"))) + (mkdir-p fish-completions-dir) + (with-output-to-file + (string-append fish-completions-dir "/rg.fish") + (lambda _ + (invoke rg "--generate" "complete-fish"))))))) + #:features '(list "pcre2"))) + (inputs (list pcre2)) + (native-inputs (cons* pkg-config (if (%current-target-system) + (list this-package) + '()))) (home-page "https://github.com/BurntSushi/ripgrep") - (synopsis "Line-oriented search tool") + (synopsis "Line-oriented search tool and Rust successor to @command{grep}") (description - "ripgrep is a line-oriented search tool that recursively searches -your current directory for a regex pattern while respecting your -gitignore rules.") + "@code{ripgrep} (@command{rg}) is a line-oriented search tool that +recursively searches your current directory for a regex pattern while +respecting your gitignore rules. @code{ripgrep} is similar to other popular +search tools like The Silver Searcher, @command{ack} and @command{grep}.") (license (list license:unlicense license:expat)))) (define-public rot8 -- cgit v1.2.3 From 477815d3b6d2e18607ee91763f2c4cce6b3490a8 Mon Sep 17 00:00:00 2001 From: Jaeme Sifat Date: Mon, 30 Oct 2023 22:52:42 -0400 Subject: gnu: Add macchina. * gnu/packages/rust-apps.scm (macchina): New variable. Change-Id: I2d054e770cb23ccb92a3824739858f39d3f5b467 Signed-off-by: Efraim Flashner --- gnu/packages/rust-apps.scm | 51 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) (limited to 'gnu/packages/rust-apps.scm') diff --git a/gnu/packages/rust-apps.scm b/gnu/packages/rust-apps.scm index f17c2dd0a7..4d2c643c1d 100644 --- a/gnu/packages/rust-apps.scm +++ b/gnu/packages/rust-apps.scm @@ -983,6 +983,57 @@ editor in less than 1024 lines of code with syntax higlighting, search and more.") (license (list license:expat license:asl2.0)))) +(define-public macchina + (package + (name "macchina") + (version "6.1.8") + (source + (origin + (method url-fetch) + (uri (crate-uri "macchina" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "044bygdazv8l1d5sf7pxn2xp26pmnx2b65122qzb37m1ylb1ksg6")))) + (build-system cargo-build-system) + (arguments + (list + #:install-source? #f + #:cargo-inputs `(("rust-ansi-to-tui" ,rust-ansi-to-tui-2) + ("rust-atty" ,rust-atty-0.2) + ("rust-bytesize" ,rust-bytesize-1) + ("rust-clap" ,rust-clap-4) + ("rust-color-to-tui" ,rust-color-to-tui-0.2) + ("rust-colored" ,rust-colored-2) + ("rust-dirs" ,rust-dirs-4) + ("rust-lazy-static" ,rust-lazy-static-1) + ("rust-libmacchina" ,rust-libmacchina-6) + ("rust-rand" ,rust-rand-0.8) + ("rust-serde" ,rust-serde-1) + ("rust-serde-json" ,rust-serde-json-1) + ("rust-shellexpand" ,rust-shellexpand-3) + ("rust-thiserror" ,rust-thiserror-1) + ("rust-toml" ,rust-toml-0.5) + ("rust-tui" ,rust-tui-0.19) + ("rust-unicode-width" ,rust-unicode-width-0.1) + ("rust-vergen" ,rust-vergen-7)) + #:phases #~(modify-phases %standard-phases + (add-after 'install 'install-extras + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (share (string-append out "/share")) + (contrib (string-append share "/contrib"))) + (mkdir-p contrib) + (copy-recursively "contrib" contrib))))))) + (native-inputs (list pkg-config)) + (inputs (list libgit2 sqlite zlib)) + (home-page "https://github.com/Macchina-CLI/macchina") + (synopsis "System information fetcher with an emphasis on performance") + (description + "This package provides a system information fetcher with an emphasis on +performance. Similar to neofetch, this package prints out system information +on the terminal in a visually appealing way.") + (license license:expat))) + (define-public maturin (package (name "maturin") -- cgit v1.2.3 From bda5538b5a0d603aa84ec151816d51ea55712773 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Wed, 20 Dec 2023 15:41:09 +0200 Subject: gnu: rust-rsa-0.5: Move substitution to source. * gnu/packages/crates-io.scm (rust-rsa-0.5)[source]: Add snippet to adjust crate dependency versions. [arguments]: Remove custom 'relax-requirements phase. * gnu/packages/rust-apps.scm (rbw)[arguments]: Remove substitution from custom 'relax-requirements phase. Change-Id: Ie39f0e9c160e18e8d0213aeaea8b86b292a14df0 --- gnu/packages/crates-io.scm | 15 ++++++--------- gnu/packages/rust-apps.scm | 3 --- 2 files changed, 6 insertions(+), 12 deletions(-) (limited to 'gnu/packages/rust-apps.scm') diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm index 9a83a117d5..0c473b6ac5 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -63841,7 +63841,11 @@ can handle huge texts and memory-incoherent edits with ease.") (uri (crate-uri "rsa" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "039676a4mj0875phdi7vc0bd37hv84dh0dql6fmk8dl2w81jcp70")))) + (base32 "039676a4mj0875phdi7vc0bd37hv84dh0dql6fmk8dl2w81jcp70")) + (snippet + #~(begin (use-modules (guix build utils)) + (substitute* "Cargo.toml" + (("version = \">=1, <1.5\"") "version = \"^1\"")))))) (arguments `(#:cargo-inputs (("rust-byteorder" ,rust-byteorder-1) @@ -63865,14 +63869,7 @@ can handle huge texts and memory-incoherent edits with ease.") ("rust-serde-test" ,rust-serde-test-1) ("rust-sha-1" ,rust-sha-1-0.9) ("rust-sha2" ,rust-sha2-0.9) - ("rust-sha3" ,rust-sha3-0.9)) - #:phases - (modify-phases %standard-phases - (add-after 'configure 'relax-requirements - (lambda _ - (substitute* - "Cargo.toml" - (("version = \">=1, <1.5\"") "version = \"^1\""))))))))) + ("rust-sha3" ,rust-sha3-0.9)))))) (define-public rust-rspec-1 (package diff --git a/gnu/packages/rust-apps.scm b/gnu/packages/rust-apps.scm index 4d2c643c1d..51f20fb01b 100644 --- a/gnu/packages/rust-apps.scm +++ b/gnu/packages/rust-apps.scm @@ -2015,9 +2015,6 @@ runs a command whenever it detects modifications.") (substitute* "guix-vendor/rust-password-hash-0.3.2.tar.gz/Cargo.toml" (("version = \">=1, <1.1.0\"") "version = \">=1\"")) - (substitute* - "guix-vendor/rust-rsa-0.5.0.tar.gz/Cargo.toml" - (("version = \">=1, <1.5\"") "version = \"^1\"")) (substitute* "Cargo.toml" (("version = \"1.4\"") "version = \"^1\""))))) -- cgit v1.2.3 From adb7a270279d9be0ef1f07bef8d4f2754d95eb2e Mon Sep 17 00:00:00 2001 From: VÖRÖSKŐI András Date: Sat, 11 Nov 2023 16:35:44 +0100 Subject: gnu: rbw: Update to 1.8.3. * gnu/packages/rust-apps.scm (rbw): Update to 1.8.3. [arguments]: Remove custom phase adjusting dependency versions. [cargo-inputs]: Add rust-argon2-0.5, rust-cbc-0.1, rust-clap-4, rust-clap-complete-4, rust-copypasta-0.8, rust-futures-0.3, rust-futures-channel-0.3, rust-futures-util-0.3, rust-pkcs8-0.10, rust-rmpv-1, rust-sha1-0.10, rust-terminal-size-0.2, rust-tokio-stream-0.1, rust-tokio-tungstenite-0.19. Replace rust-aes-0.7 with 0.8, rust-base64-0.13 with 0.21, rust-block-padding-0.2 with 0.3, rust-daemonize-0.4 with 0.5, rust-directories-0.4 with 0.5, rust-env-logger-0.9 with 0.10, rust-hkdf-0.11 with 0.12, rust-hmac-0.11 with 0.12, rust-nix-0.23 with 0.24, rust-pbkdf2-0.9 with 0.12, rust-rsa-0.5 with 0.9, rust-sha2-0.9 with 0.10, rust-text-wrap-0.11 with 0.16, rust-totp-lite-1 with 2, rust-uuid-0.8 with 1. Remove rust-block-modes-0.8, rust-paw-1, rust-sha-1-0.9, rust-structopt-0.3, rust-term-size-0.3. Change-Id: Ie6454152cb24b2f4731603d1eb7086499a044d3a Signed-off-by: Efraim Flashner --- gnu/packages/rust-apps.scm | 65 +++++++++++++++++++++++----------------------- 1 file changed, 32 insertions(+), 33 deletions(-) (limited to 'gnu/packages/rust-apps.scm') diff --git a/gnu/packages/rust-apps.scm b/gnu/packages/rust-apps.scm index 51f20fb01b..179f904c39 100644 --- a/gnu/packages/rust-apps.scm +++ b/gnu/packages/rust-apps.scm @@ -1998,66 +1998,65 @@ runs a command whenever it detects modifications.") (define-public rbw (package (name "rbw") - (version "1.4.1") + (version "1.8.3") (source (origin (method url-fetch) (uri (crate-uri "rbw" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "0zszp9hvilpikbd66b5zbvspks0spv8dh0yry0sxnc5yqvl2ixnf")))) + (base32 "1p8bzpqgdc20l2vbb80gsb2ri5j16af958bixpnnp73mfvwzxvg1")))) (build-system cargo-build-system) (arguments - `(#:phases - (modify-phases %standard-phases - (add-after 'configure 'relax-requirements - (lambda _ - (substitute* - "guix-vendor/rust-password-hash-0.3.2.tar.gz/Cargo.toml" - (("version = \">=1, <1.1.0\"") "version = \">=1\"")) - (substitute* - "Cargo.toml" - (("version = \"1.4\"") "version = \"^1\""))))) - #:cargo-inputs - (("rust-aes" ,rust-aes-0.7) + `(#:cargo-inputs + (("rust-aes" ,rust-aes-0.8) ("rust-anyhow" ,rust-anyhow-1) + ("rust-argon2" ,rust-argon2-0.5) ("rust-arrayvec" ,rust-arrayvec-0.7) ("rust-async-trait" ,rust-async-trait-0.1) ("rust-base32" ,rust-base32-0.4) - ("rust-base64" ,rust-base64-0.13) - ("rust-block-modes" ,rust-block-modes-0.8) - ("rust-block-padding" ,rust-block-padding-0.2) - ("rust-daemonize" ,rust-daemonize-0.4) - ("rust-directories" ,rust-directories-4) - ("rust-env-logger" ,rust-env-logger-0.9) - ("rust-hkdf" ,rust-hkdf-0.11) - ("rust-hmac" ,rust-hmac-0.11) + ("rust-base64" ,rust-base64-0.21) + ("rust-block-padding" ,rust-block-padding-0.3) + ("rust-cbc" ,rust-cbc-0.1) + ("rust-clap" ,rust-clap-4) + ("rust-clap-complete" ,rust-clap-complete-4) + ("rust-copypasta" ,rust-copypasta-0.8) + ("rust-daemonize" ,rust-daemonize-0.5) + ("rust-directories" ,rust-directories-5) + ("rust-env-logger" ,rust-env-logger-0.10) + ("rust-futures" ,rust-futures-0.3) + ("rust-futures-channel" ,rust-futures-channel-0.3) + ("rust-futures-util" ,rust-futures-util-0.3) + ("rust-hkdf" ,rust-hkdf-0.12) + ("rust-hmac" ,rust-hmac-0.12) ("rust-humantime" ,rust-humantime-2) ("rust-libc" ,rust-libc-0.2) ("rust-log" ,rust-log-0.4) - ("rust-nix" ,rust-nix-0.23) - ("rust-paw" ,rust-paw-1) - ("rust-pbkdf2" ,rust-pbkdf2-0.9) + ("rust-nix" ,rust-nix-0.24) + ("rust-pbkdf2" ,rust-pbkdf2-0.12) ("rust-percent-encoding" ,rust-percent-encoding-2) + ("rust-pkcs8" ,rust-pkcs8-0.10) ("rust-rand" ,rust-rand-0.8) ("rust-region" ,rust-region-3) ("rust-reqwest" ,rust-reqwest-0.11) - ("rust-rsa" ,rust-rsa-0.5) + ("rust-rmpv" ,rust-rmpv-1) + ("rust-rsa" ,rust-rsa-0.9) ("rust-serde" ,rust-serde-1) ("rust-serde-json" ,rust-serde-json-1) ("rust-serde-path-to-error" ,rust-serde-path-to-error-0.1) ("rust-serde-repr" ,rust-serde-repr-0.1) - ("rust-sha-1" ,rust-sha-1-0.9) - ("rust-sha2" ,rust-sha2-0.9) - ("rust-structopt" ,rust-structopt-0.3) + ("rust-sha1" ,rust-sha1-0.10) + ("rust-sha2" ,rust-sha2-0.10) ("rust-tempfile" ,rust-tempfile-3) - ("rust-term-size" ,rust-term-size-0.3) - ("rust-textwrap" ,rust-textwrap-0.11) + ("rust-terminal-size" ,rust-terminal-size-0.2) + ("rust-textwrap" ,rust-textwrap-0.16) ("rust-thiserror" ,rust-thiserror-1) ("rust-tokio" ,rust-tokio-1) - ("rust-totp-lite" ,rust-totp-lite-1) + ("rust-tokio-stream" ,rust-tokio-stream-0.1) + ("rust-tokio-tungstenite" ,rust-tokio-tungstenite-0.19) + ("rust-totp-lite" ,rust-totp-lite-2) ("rust-url" ,rust-url-2) - ("rust-uuid" ,rust-uuid-0.8) + ("rust-uuid" ,rust-uuid-1) ("rust-zeroize" ,rust-zeroize-1)))) (native-inputs (list perl)) -- cgit v1.2.3 From d61f7b860dcefb5c27f0a14de0c4054a69377f18 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Thu, 21 Dec 2023 09:55:21 +0200 Subject: gnu: rbw: Don't install sources. * gnu/packages/rust-apps.scm (rbw)[arguments]: Don't install sources. Change-Id: I3c51a83192ebe6e2930b24f73c657f27c02350ca --- gnu/packages/rust-apps.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'gnu/packages/rust-apps.scm') diff --git a/gnu/packages/rust-apps.scm b/gnu/packages/rust-apps.scm index 179f904c39..9b4e3fbeed 100644 --- a/gnu/packages/rust-apps.scm +++ b/gnu/packages/rust-apps.scm @@ -2008,7 +2008,8 @@ runs a command whenever it detects modifications.") (base32 "1p8bzpqgdc20l2vbb80gsb2ri5j16af958bixpnnp73mfvwzxvg1")))) (build-system cargo-build-system) (arguments - `(#:cargo-inputs + `(#:install-source? #f + #:cargo-inputs (("rust-aes" ,rust-aes-0.8) ("rust-anyhow" ,rust-anyhow-1) ("rust-argon2" ,rust-argon2-0.5) -- cgit v1.2.3 From 1b0adb6ae99e0c466fdccad84023a5943f5435ec Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Thu, 21 Dec 2023 10:07:13 +0200 Subject: gnu: rbw: Install shell completions. * gnu/packages/rust-apps.scm (rbw)[arguments]: Add a phase to generate and install the shell completions. [native-inputs]: When cross-compiling add a copy of the package. Change-Id: Ibf8a1cc17470ecce479b8043678aedcf5556778e --- gnu/packages/rust-apps.scm | 31 +++++++++++++++++++++++++++++-- 1 file changed, 29 insertions(+), 2 deletions(-) (limited to 'gnu/packages/rust-apps.scm') diff --git a/gnu/packages/rust-apps.scm b/gnu/packages/rust-apps.scm index 9b4e3fbeed..0be3b2b08d 100644 --- a/gnu/packages/rust-apps.scm +++ b/gnu/packages/rust-apps.scm @@ -2058,9 +2058,36 @@ runs a command whenever it detects modifications.") ("rust-totp-lite" ,rust-totp-lite-2) ("rust-url" ,rust-url-2) ("rust-uuid" ,rust-uuid-1) - ("rust-zeroize" ,rust-zeroize-1)))) + ("rust-zeroize" ,rust-zeroize-1)) + #:phases + (modify-phases %standard-phases + (add-after 'install 'install-completions + (lambda* (#:key native-inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (share (string-append out "/share")) + (rbw (if ,(%current-target-system) + (search-input-file native-inputs "/bin/rbw") + (string-append out "/bin/rbw")))) + (mkdir-p (string-append share "/bash-completion/completions")) + (with-output-to-file + (string-append share "/bash-completion/completions/rbw") + (lambda _ (invoke rbw "gen-completions" "bash"))) + (mkdir-p (string-append share "/fish/vendor_completions.d")) + (with-output-to-file + (string-append share "/fish/vendor_completions.d/rbw.fish") + (lambda _ (invoke rbw "gen-completions" "fish"))) + (mkdir-p (string-append share "/zsh/site-functions")) + (with-output-to-file + (string-append share "/zsh/site-functions/_rbw") + (lambda _ (invoke rbw "gen-completions" "zsh"))) + (mkdir-p (string-append share "/elvish/lib")) + (with-output-to-file + (string-append share "/elvish/lib/rbw") + (lambda _ (invoke rbw "gen-completions" "elvish"))))))))) (native-inputs - (list perl)) + (cons* perl (if (%current-target-system) + (list this-package) + '()))) (home-page "https://git.tozt.net/rbw") (synopsis "Unofficial Bitwarden CLI") (description "This package is an unofficial command line client for -- cgit v1.2.3 From d7c40f057213a8035bb5dd2f8ffa49faa7078f71 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Thu, 21 Dec 2023 10:30:50 +0200 Subject: gnu: rbw: Install scripts. * gnu/packages/rust-apps.scm (rbw)[outputs]: Add scripts output. [arguments]: Add a phase to install the scripts and wrap them. [inputs]: Add coreutils-minimal, findutils, grep, perl, sed. Change-Id: I99c6ddc67c50498cb3a2700cdfb4e3651ac17739 --- gnu/packages/rust-apps.scm | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) (limited to 'gnu/packages/rust-apps.scm') diff --git a/gnu/packages/rust-apps.scm b/gnu/packages/rust-apps.scm index 0be3b2b08d..4454178624 100644 --- a/gnu/packages/rust-apps.scm +++ b/gnu/packages/rust-apps.scm @@ -1999,6 +1999,7 @@ runs a command whenever it detects modifications.") (package (name "rbw") (version "1.8.3") + (outputs '("out" "scripts")) (source (origin (method url-fetch) @@ -2083,11 +2084,32 @@ runs a command whenever it detects modifications.") (mkdir-p (string-append share "/elvish/lib")) (with-output-to-file (string-append share "/elvish/lib/rbw") - (lambda _ (invoke rbw "gen-completions" "elvish"))))))))) + (lambda _ (invoke rbw "gen-completions" "elvish")))))) + (add-after 'install 'install-scripts + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out")) + (scripts (assoc-ref outputs "scripts"))) + (for-each (lambda (file) + (install-file file (string-append scripts "/bin"))) + (find-files "bin")) + (for-each (lambda (file) + (wrap-script file + ;; TODO: Do we want to wrap these with more programs? + ;; pass git fzf libsecret xclip rofi + `("PATH" prefix + (,(string-append out "/bin") + ,(dirname (search-input-file inputs "/bin/grep")) + ,(dirname (search-input-file inputs "/bin/sed")) + ,(dirname (search-input-file inputs "/bin/perl")) + ,(dirname (search-input-file inputs "/bin/xargs")) + ,(dirname (search-input-file inputs "/bin/sort")))))) + (find-files (string-append scripts "/bin"))))))))) (native-inputs (cons* perl (if (%current-target-system) (list this-package) '()))) + (inputs + (list coreutils-minimal findutils grep perl sed)) (home-page "https://git.tozt.net/rbw") (synopsis "Unofficial Bitwarden CLI") (description "This package is an unofficial command line client for -- cgit v1.2.3 From 04b2a8d2a798169b10004c34fa74631a1a94062f Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 24 Dec 2023 10:13:32 +0200 Subject: gnu: maturin: Update to 1.4.0. * gnu/packages/rust-apps.scm (maturin): Update to 1.4.0. [source]: Add snippet to fix compilation. [cargo-inputs]: Add rust-path-slash-0.2. Replace rust-cargo-options-0.6 with 0.7, rust-cargo-metadata-0.16 with 0.18, rust-cbindgen-0.24 with 0.26, rust-dialoguer-0.10 with 0.11, rust-goblin-0.6 with 0.7, rust-indexmap-1 with 2, rust-itertools-0.10 with 0.12, rust-minijinja-0.34 with 1, rust-pyproject-toml-0.6 with 0.8, rust-python-pkginfo-0.5 with 0.6, rust-rustls-0.20 with 0.21, rust-rustls-pemfile-1 with 2, rust-toml-0.7 with 0.8, rust-toml-edit-0.19 with 0.21. Remove rust-same-file-1. [cargo-development-inputs]: Add rust-expect-test-1. Replace rust-which-4 with 5. * gnu/packages/patches/maturin-no-cross-compile.patch: Refresh patch. Change-Id: I1c943ad1a9a3cb315e5baa287f7ba5bc7bc15413 --- .../patches/maturin-no-cross-compile.patch | 20 ++++----- gnu/packages/rust-apps.scm | 51 ++++++++++++---------- 2 files changed, 39 insertions(+), 32 deletions(-) (limited to 'gnu/packages/rust-apps.scm') diff --git a/gnu/packages/patches/maturin-no-cross-compile.patch b/gnu/packages/patches/maturin-no-cross-compile.patch index 7394d0854e..98af33d3c7 100644 --- a/gnu/packages/patches/maturin-no-cross-compile.patch +++ b/gnu/packages/patches/maturin-no-cross-compile.patch @@ -2,27 +2,27 @@ Remove dependencies on xwin and zig. We're not offering cross-compilation options using these crates. diff --git a/Cargo.toml b/Cargo.toml -index 6cbdca3..22ea5ef 100644 +index 6704e46..ff126a9 100644 --- a/Cargo.toml +++ b/Cargo.toml -@@ -76,16 +76,6 @@ version = "0.1.4" +@@ -83,16 +83,6 @@ version = "0.1.16" [dependencies.cargo-options] - version = "0.6.0" + version = "0.7.2" -[dependencies.cargo-xwin] --version = "0.14.3" +-version = "0.16.2" -optional = true -default-features = false - -[dependencies.cargo-zigbuild] --version = "0.16.10" +-version = "0.18.0" -optional = true -default-features = false - [dependencies.cargo_metadata] - version = "0.15.3" + version = "0.18.0" -@@ -310,8 +300,6 @@ version = "4.3.0" +@@ -321,8 +311,6 @@ version = "5.0.0" [features] cli-completion = ["dep:clap_complete_command"] cross-compile = [ @@ -31,7 +31,7 @@ index 6cbdca3..22ea5ef 100644 ] default = [ "full", -@@ -330,7 +318,6 @@ log = ["tracing-subscriber"] +@@ -341,7 +329,6 @@ log = ["tracing-subscriber"] native-tls = [ "dep:native-tls", "ureq?/native-tls", @@ -39,7 +39,7 @@ index 6cbdca3..22ea5ef 100644 "dep:rustls-pemfile", ] password-storage = [ -@@ -340,7 +327,6 @@ password-storage = [ +@@ -351,7 +338,6 @@ password-storage = [ rustls = [ "dep:rustls", "ureq?/tls", @@ -47,7 +47,7 @@ index 6cbdca3..22ea5ef 100644 "dep:rustls-pemfile", ] scaffolding = [ -@@ -358,5 +344,3 @@ upload = [ +@@ -369,5 +355,3 @@ upload = [ "wild", "dep:dirs", ] diff --git a/gnu/packages/rust-apps.scm b/gnu/packages/rust-apps.scm index 4454178624..77e4f24f50 100644 --- a/gnu/packages/rust-apps.scm +++ b/gnu/packages/rust-apps.scm @@ -1037,15 +1037,21 @@ on the terminal in a visually appealing way.") (define-public maturin (package (name "maturin") - (version "1.1.0") + (version "1.4.0") (source (origin (method url-fetch) (uri (crate-uri "maturin" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0asdljd396kdsvnx9kbsr5s0x6w73b59kdpx732333dhm13qgn03")) - (patches (search-patches "maturin-no-cross-compile.patch")))) + "1ia5xziazpcpc1wwg8jlz5nmza87cz7nb039gg38jgw3704p4dls")) + (patches (search-patches "maturin-no-cross-compile.patch")) + (snippet + #~(begin (use-modules (guix build utils)) + ;; Remove support for x86_64h-apple-darwin. + ;; This target causes maturin to fail to build. + (substitute* "src/target.rs" + (("\\| Architecture::X86_64h ") "")))))) (build-system cargo-build-system) (arguments `(#:modules ((guix build cargo-build-system) @@ -1073,44 +1079,44 @@ on the terminal in a visually appealing way.") ("rust-base64" ,rust-base64-0.21) ("rust-bytesize" ,rust-bytesize-1) ("rust-cargo-config2" ,rust-cargo-config2-0.1) - ("rust-cargo-options" ,rust-cargo-options-0.6) - ;("rust-cargo-xwin" ,rust-cargo-xwin-0.14) - ;("rust-cargo-zigbuild" ,rust-cargo-zigbuild-0.16) - ("rust-cargo-metadata" ,rust-cargo-metadata-0.15) - ("rust-cbindgen" ,rust-cbindgen-0.24) + ("rust-cargo-options" ,rust-cargo-options-0.7) + ;("rust-cargo-xwin" ,rust-cargo-xwin-0.16) + ;("rust-cargo-zigbuild" ,rust-cargo-zigbuild-0.18) + ("rust-cargo-metadata" ,rust-cargo-metadata-0.18) + ("rust-cbindgen" ,rust-cbindgen-0.26) ("rust-cc" ,rust-cc-1) ("rust-clap" ,rust-clap-4) ("rust-clap-complete-command" ,rust-clap-complete-command-0.5) ("rust-configparser" ,rust-configparser-3) ("rust-console" ,rust-console-0.15) - ("rust-dialoguer" ,rust-dialoguer-0.10) + ("rust-dialoguer" ,rust-dialoguer-0.11) ("rust-dirs" ,rust-dirs-5) ("rust-dunce" ,rust-dunce-1) ("rust-fat-macho" ,rust-fat-macho-0.4) ("rust-flate2" ,rust-flate2-1) ("rust-fs-err" ,rust-fs-err-2) ("rust-glob" ,rust-glob-0.3) - ("rust-goblin" ,rust-goblin-0.6) + ("rust-goblin" ,rust-goblin-0.7) ("rust-ignore" ,rust-ignore-0.4) - ("rust-indexmap" ,rust-indexmap-1) - ("rust-itertools" ,rust-itertools-0.10) + ("rust-indexmap" ,rust-indexmap-2) + ("rust-itertools" ,rust-itertools-0.12) ("rust-keyring" ,rust-keyring-2) ("rust-lddtree" ,rust-lddtree-0.3) - ("rust-minijinja" ,rust-minijinja-0.34) + ("rust-minijinja" ,rust-minijinja-1) ("rust-multipart" ,rust-multipart-0.18) ("rust-native-tls" ,rust-native-tls-0.2) ("rust-normpath" ,rust-normpath-1) ("rust-once-cell" ,rust-once-cell-1) + ("rust-path-slash" ,rust-path-slash-0.2) ("rust-pep440-rs" ,rust-pep440-rs-0.3) ("rust-pep508-rs" ,rust-pep508-rs-0.2) ("rust-platform-info" ,rust-platform-info-2) - ("rust-pyproject-toml" ,rust-pyproject-toml-0.6) - ("rust-python-pkginfo" ,rust-python-pkginfo-0.5) + ("rust-pyproject-toml" ,rust-pyproject-toml-0.8) + ("rust-python-pkginfo" ,rust-python-pkginfo-0.6) ("rust-regex" ,rust-regex-1) ("rust-rustc-version" ,rust-rustc-version-0.4) - ("rust-rustls" ,rust-rustls-0.20) - ("rust-rustls-pemfile" ,rust-rustls-pemfile-1) - ("rust-same-file" ,rust-same-file-1) + ("rust-rustls" ,rust-rustls-0.21) + ("rust-rustls-pemfile" ,rust-rustls-pemfile-2) ("rust-semver" ,rust-semver-1) ("rust-serde" ,rust-serde-1) ("rust-serde-json" ,rust-serde-json-1) @@ -1121,8 +1127,8 @@ on the terminal in a visually appealing way.") ("rust-textwrap" ,rust-textwrap-0.16) ("rust-thiserror" ,rust-thiserror-1) ("rust-time" ,rust-time-0.3) - ("rust-toml" ,rust-toml-0.7) - ("rust-toml-edit" ,rust-toml-edit-0.19) + ("rust-toml" ,rust-toml-0.8) + ("rust-toml-edit" ,rust-toml-edit-0.21) ("rust-tracing" ,rust-tracing-0.1) ("rust-tracing-subscriber" ,rust-tracing-subscriber-0.3) ("rust-ureq" ,rust-ureq-2) @@ -1130,12 +1136,13 @@ on the terminal in a visually appealing way.") ("rust-wild" ,rust-wild-2) ("rust-zip" ,rust-zip-0.6)) #:cargo-development-inputs - (("rust-indoc" ,rust-indoc-2) + (("rust-expect-test" ,rust-expect-test-1) + ("rust-indoc" ,rust-indoc-2) ("rust-pretty-assertions" ,rust-pretty-assertions-1) ("rust-rustversion" ,rust-rustversion-1) ("rust-time" ,rust-time-0.3) ("rust-trycmd" ,rust-trycmd-0.14) - ("rust-which" ,rust-which-4)) + ("rust-which" ,rust-which-5)) #:phases (modify-phases %standard-phases (add-after 'build 'build-python-module -- cgit v1.2.3 From eeaead0d2e5d756b2c4aa59e23caf99233123695 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 24 Dec 2023 12:56:49 +0200 Subject: gnu: rust-ring-0.16: Generate more bundled files. * gnu/packages/crates-io.scm (rust-ring-0.16-sources): New variable. (rust-ring-0.16)[source]: Use rust-ring-0.16-sources. Drop patches and snippet. [arguments]: Remove custom phase generating curve25519 tables. [native-inputs]: Remove field. (rust-rustls-0.20)[native-inputs]: Remove field. * gnu/packages/rust-apps.scm (agate, alfis, maturin, rust-cargo-edit, sniffglue, spotifyd, tealdeer)[native-inputs]: Remove perl. * gnu/packages/patches/rust-ring-0.16-missing-files.patch, gnu/packages/patches/rust-ring-0.16-test-files.patch: Remove files. * gnu/local.mk (dist_patch_DATA): Remove them. Change-Id: I919207b6aacab78602ae18123ab345a34b00863f --- gnu/local.mk | 2 - gnu/packages/crates-io.scm | 213 +- .../patches/rust-ring-0.16-missing-files.patch | 2293 -------------------- .../patches/rust-ring-0.16-test-files.patch | 54 - gnu/packages/rust-apps.scm | 15 +- 5 files changed, 183 insertions(+), 2394 deletions(-) delete mode 100644 gnu/packages/patches/rust-ring-0.16-missing-files.patch delete mode 100644 gnu/packages/patches/rust-ring-0.16-test-files.patch (limited to 'gnu/packages/rust-apps.scm') diff --git a/gnu/local.mk b/gnu/local.mk index 79cb6d8d1b..b8de8c3141 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -2001,8 +2001,6 @@ dist_patch_DATA = \ %D%/packages/patches/rustc-1.54.0-src.patch \ %D%/packages/patches/rust-1.64-fix-riscv64-bootstrap.patch \ %D%/packages/patches/rust-1.70-fix-rustix-build.patch \ - %D%/packages/patches/rust-ring-0.16-missing-files.patch \ - %D%/packages/patches/rust-ring-0.16-test-files.patch \ %D%/packages/patches/rust-ring-0.17-ring-core.patch \ %D%/packages/patches/i3status-rust-enable-unstable-features.patch \ %D%/packages/patches/rust-ndarray-remove-blas-src-dep.patch \ diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm index ba54d7c383..9ed7ddea97 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -64190,33 +64190,187 @@ Digital Signature Algorithm} (ECDSA).") (description "This package provided safe, fast, small crypto using Rust.") (license (list license:isc license:openssl)))) +(define rust-ring-0.16-sources + (let* ((version "0.16.20") + (upstream-source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/briansmith/ring") + (commit "9cc0d45f4d8521f467bb3a621e74b1535e118188"))) + (file-name (git-file-name "rust-ring" version)) + (sha256 + (base32 "1aps05i5308ka03968glnnqr4kdkk2x4ghlg5vrqhl78jm6ivvby"))))) + (origin + (method computed-origin-method) + (file-name (string-append "rust-ring-" version ".tar.gz")) + (sha256 #f) + (uri + (delay + (with-imported-modules '((guix build utils)) + #~(begin + (use-modules (guix build utils)) + (set-path-environment-variable + "PATH" '("bin") + (list #+(canonical-package gzip) + #+(canonical-package tar) + #+perl + #+nasm + #+go + #+clang ; clang-format + #+python2-minimal)) + (setenv "HOME" (getcwd)) + (copy-recursively #+upstream-source + (string-append "ring-" #$version)) + (with-directory-excursion (string-append "ring-" #$version) + (begin + ;; It turns out Guix's nasm works just fine here. + (substitute* "build.rs" + (("./target/tools/nasm") "nasm")) + ;; Files which would be deleted in a snippet: + (delete-file "crypto/curve25519/curve25519_tables.h") + (delete-file "crypto/fipsmodule/ec/ecp_nistz256_table.inl") + ;; Files to be generated in the sources: + (format #t "Generating the missing files ...~%") + (force-output) + (with-directory-excursion "crypto/curve25519" + (with-output-to-file "curve25519_tables.h" + (lambda _ (invoke "python" "make_curve25519_tables.py")))) + (with-directory-excursion "crypto/fipsmodule/ec" + (with-output-to-file "ecp_nistz256_table.inl" + (lambda _ (invoke "go" "run" "make_p256-x86_64-table.go")))) + (format #t "Generating the pregenerated files ...~%") + (force-output) + (mkdir-p "pregenerated/tmp") + + ;; We generate all the files which upstream would normally be + ;; generate by using '(cd pregenerate_asm && cargo clean && + ;; cargo build) ./pregenerate_asm/target/debug/pregenerate_asm' + ;; in order to not include a dependency on cargo when + ;; generating the sources. + (define (prefix script) + (string-append + "pregenerated/" + (string-drop-right + (string-drop script + (string-index-right script #\/)) 3))) + + (for-each + (lambda (script) + (invoke "perl" script "elf" + (string-append (prefix script) "-elf.S")) + (invoke "perl" script "macosx" + (string-append (prefix script) "-macosx.S")) + (invoke "perl" script "nasm" + (string-append + "pregenerated/tmp/" + (string-drop (prefix script) 13) "-nasm.asm"))) + '("crypto/fipsmodule/aes/asm/aesni-x86_64.pl" + "crypto/fipsmodule/aes/asm/vpaes-x86_64.pl" + "crypto/fipsmodule/bn/asm/x86_64-mont.pl" + "crypto/fipsmodule/bn/asm/x86_64-mont5.pl" + "crypto/chacha/asm/chacha-x86_64.pl" + "crypto/fipsmodule/ec/asm/p256-x86_64-asm.pl" + "crypto/fipsmodule/modes/asm/aesni-gcm-x86_64.pl" + "crypto/fipsmodule/modes/asm/ghash-x86_64.pl" + "crypto/fipsmodule/sha/asm/sha512-x86_64.pl" + "crypto/cipher_extra/asm/chacha20_poly1305_x86_64.pl")) + + (invoke "perl" "crypto/fipsmodule/sha/asm/sha512-x86_64.pl" + "elf" "pregenerated/sha256-x86_64-elf.S") + + (invoke "perl" "crypto/fipsmodule/sha/asm/sha512-x86_64.pl" + "macosx" "pregenerated/sha256-x86_64-macosx.S") + + (invoke "perl" "crypto/fipsmodule/sha/asm/sha512-x86_64.pl" + "nasm" "pregenerated/tmp/sha256-x86_64-nasm.asm") + + (for-each + (lambda (script) + (invoke "nasm" "-o" (string-append (prefix script) "obj") + "-f" "win64" "-Xgnu" "-gcv8" script)) + (find-files "pregenerated/tmp" "\\.asm")) + + (for-each + (lambda (script) + (invoke "perl" script "ios64" + (string-append (prefix script) "-ios64.S")) + (invoke "perl" script "linux64" + (string-append (prefix script) "-linux64.S"))) + '("crypto/fipsmodule/aes/asm/aesv8-armx.pl" + "crypto/fipsmodule/modes/asm/ghashv8-armx.pl" + "crypto/fipsmodule/aes/asm/vpaes-armv8.pl" + "crypto/fipsmodule/bn/asm/armv8-mont.pl" + "crypto/chacha/asm/chacha-armv8.pl" + "crypto/fipsmodule/ec/asm/ecp_nistz256-armv8.pl" + "crypto/fipsmodule/modes/asm/ghash-neon-armv8.pl" + "crypto/fipsmodule/sha/asm/sha512-armv8.pl")) + + (invoke "perl" "crypto/fipsmodule/sha/asm/sha512-armv8.pl" + "ios64" "pregenerated/sha256-armv8-ios64.S") + + (invoke "perl" "crypto/fipsmodule/sha/asm/sha512-armv8.pl" + "linux64" "pregenerated/sha256-armv8-linux64.S") + + (for-each + (lambda (script) + (invoke "perl" script "elf" + "-fPIC" "-DOPENSSL_IA32_SSE2" + (string-append (prefix script) "-elf.S")) + (invoke "perl" script "macosx" + "-fPIC" "-DOPENSSL_IA32_SSE2" + (string-append (prefix script) "-macosx.S")) + (invoke "perl" script "win32n" + "-fPIC" "-DOPENSSL_IA32_SSE2" + (string-append + "pregenerated/tmp/" + (string-drop (prefix script) 13) "-win32n.asm"))) + '("crypto/fipsmodule/aes/asm/aesni-x86.pl" + "crypto/fipsmodule/aes/asm/vpaes-x86.pl" + "crypto/fipsmodule/bn/asm/x86-mont.pl" + "crypto/chacha/asm/chacha-x86.pl" + "crypto/fipsmodule/ec/asm/ecp_nistz256-x86.pl" + "crypto/fipsmodule/modes/asm/ghash-x86.pl")) + + (for-each + (lambda (script) + (invoke "nasm" "-o" (string-append (prefix script) "obj") + "-f" "win32" "-Xgnu" "-gcv8" script)) + (find-files "pregenerated/tmp" "-win32n\\.asm")) + + (for-each + (lambda (script) + (invoke "perl" script "ios32" + (string-append (prefix script) "-ios32.S")) + (invoke "perl" script "linux32" + (string-append (prefix script) "-linux32.S"))) + '("crypto/fipsmodule/aes/asm/aesv8-armx.pl" + "crypto/fipsmodule/modes/asm/ghashv8-armx.pl" + "crypto/fipsmodule/aes/asm/bsaes-armv7.pl" + "crypto/fipsmodule/aes/asm/vpaes-armv7.pl" + "crypto/fipsmodule/bn/asm/armv4-mont.pl" + "crypto/chacha/asm/chacha-armv4.pl" + "crypto/fipsmodule/ec/asm/ecp_nistz256-armv4.pl" + "crypto/fipsmodule/modes/asm/ghash-armv4.pl" + "crypto/fipsmodule/sha/asm/sha256-armv4.pl" + "crypto/fipsmodule/sha/asm/sha512-armv4.pl")) + + (format #t "Creating the tarball ...~%") + (force-output) + ;; The other option is to use cargo package --allow-dirty + (with-directory-excursion "../" + (invoke "tar" "czf" #$output + ;; avoid non-determinism in the archive + "--sort=name" "--mtime=@0" + "--owner=root:0" "--group=root:0" + (string-append "ring-" #$version)))))))))))) + (define-public rust-ring-0.16 (package (inherit rust-ring-0.17) (name "rust-ring") (version "0.16.20") - (source - (origin - (method url-fetch) - (uri (crate-uri "ring" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "1z682xp7v38ayq9g9nkbhhfpj6ygralmlx7wdmsfv8rnw99cylrh")) - (patches (search-patches "rust-ring-0.16-missing-files.patch" - "rust-ring-0.16-test-files.patch")) - (modules '((guix build utils))) - (snippet - '(begin - (delete-file-recursively "pregenerated") - ;; Regenerating the curve25519_tables requires python2 and clang-format. - ;; Luckily we've added the script back in the patch. - ;; Rust doesn't provide a clear way to regenerate files located in - ;; source directories, so for now we don't remove the file here. - ;(delete-file "crypto/curve25519/curve25519_tables.h") - ;; Pretend this isn't a relase tarball. - (with-output-to-file ".git" - (lambda _ - (format #t ""))))))) + (source rust-ring-0.16-sources) (arguments `(#:cargo-inputs (("rust-libc" ,rust-libc-0.2) @@ -64229,17 +64383,7 @@ Digital Signature Algorithm} (ECDSA).") ("rust-cc" ,rust-cc-1)) #:cargo-development-inputs (("rust-libc" ,rust-libc-0.2) - ("rust-wasm-bindgen-test" ,rust-wasm-bindgen-test-0.3)) - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'generate-curve25519-tables - (lambda _ - (with-directory-excursion "crypto/curve25519" - (with-output-to-file "curve25519_tables.h" - (lambda _ - (invoke "python" "make_curve25519_tables.py"))))))))) - (native-inputs - (list clang perl python-2)) + ("rust-wasm-bindgen-test" ,rust-wasm-bindgen-test-0.3)))) ;; For a mostly complete list of supported systems see: ;; https://github.com/briansmith/ring/blob/main/.github/workflows/ci.yml#L170 (supported-systems (list "aarch64-linux" "armhf-linux" @@ -67144,8 +67288,7 @@ rustc compiler.") ("rust-env-logger" ,rust-env-logger-0.9) ("rust-log" ,rust-log-0.4) ("rust-rustls-pemfile" ,rust-rustls-pemfile-1) - ("rust-webpki-roots" ,rust-webpki-roots-0.22)))) - (native-inputs (list perl)))) + ("rust-webpki-roots" ,rust-webpki-roots-0.22)))))) (define-public rust-rustls-0.19 (package diff --git a/gnu/packages/patches/rust-ring-0.16-missing-files.patch b/gnu/packages/patches/rust-ring-0.16-missing-files.patch deleted file mode 100644 index fa2f94a801..0000000000 --- a/gnu/packages/patches/rust-ring-0.16-missing-files.patch +++ /dev/null @@ -1,2293 +0,0 @@ -These 4 files exist in the git repository for rust-ring, and are from -the same commit where 0.16.20 is taken from. They were not added to the -include list in Cargo.toml, so they were not added to the tarball. - ---- - crypto/curve25519/make_curve25519_tables.py | 222 +++++ - crypto/fipsmodule/aes/asm/vpaes-armv7.pl | 896 ++++++++++++++++++ - crypto/fipsmodule/aes/asm/vpaes-armv8.pl | 837 ++++++++++++++++ - .../fipsmodule/modes/asm/ghash-neon-armv8.pl | 294 ++++++ - 4 files changed, 2249 insertions(+) - create mode 100755 crypto/curve25519/make_curve25519_tables.py - create mode 100644 crypto/fipsmodule/aes/asm/vpaes-armv7.pl - create mode 100755 crypto/fipsmodule/aes/asm/vpaes-armv8.pl - create mode 100644 crypto/fipsmodule/modes/asm/ghash-neon-armv8.pl - -diff --git a/crypto/curve25519/make_curve25519_tables.py b/crypto/curve25519/make_curve25519_tables.py -new file mode 100755 -index 0000000..50dee2a ---- /dev/null -+++ b/crypto/curve25519/make_curve25519_tables.py -@@ -0,0 +1,222 @@ -+#!/usr/bin/env python -+# coding=utf-8 -+# Copyright (c) 2020, Google Inc. -+# -+# Permission to use, copy, modify, and/or distribute this software for any -+# purpose with or without fee is hereby granted, provided that the above -+# copyright notice and this permission notice appear in all copies. -+# -+# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -+# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -+# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY -+# SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -+# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION -+# OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN -+# CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -+ -+import StringIO -+import subprocess -+ -+# Base field Z_p -+p = 2**255 - 19 -+ -+def modp_inv(x): -+ return pow(x, p-2, p) -+ -+# Square root of -1 -+modp_sqrt_m1 = pow(2, (p-1) // 4, p) -+ -+# Compute corresponding x-coordinate, with low bit corresponding to -+# sign, or return None on failure -+def recover_x(y, sign): -+ if y >= p: -+ return None -+ x2 = (y*y-1) * modp_inv(d*y*y+1) -+ if x2 == 0: -+ if sign: -+ return None -+ else: -+ return 0 -+ -+ # Compute square root of x2 -+ x = pow(x2, (p+3) // 8, p) -+ if (x*x - x2) % p != 0: -+ x = x * modp_sqrt_m1 % p -+ if (x*x - x2) % p != 0: -+ return None -+ -+ if (x & 1) != sign: -+ x = p - x -+ return x -+ -+# Curve constant -+d = -121665 * modp_inv(121666) % p -+ -+# Base point -+g_y = 4 * modp_inv(5) % p -+g_x = recover_x(g_y, 0) -+ -+# Points are represented as affine tuples (x, y). -+ -+def point_add(P, Q): -+ x1, y1 = P -+ x2, y2 = Q -+ x3 = ((x1*y2 + y1*x2) * modp_inv(1 + d*x1*x2*y1*y2)) % p -+ y3 = ((y1*y2 + x1*x2) * modp_inv(1 - d*x1*x2*y1*y2)) % p -+ return (x3, y3) -+ -+# Computes Q = s * P -+def point_mul(s, P): -+ Q = (0, 1) # Neutral element -+ while s > 0: -+ if s & 1: -+ Q = point_add(Q, P) -+ P = point_add(P, P) -+ s >>= 1 -+ return Q -+ -+def to_bytes(x): -+ ret = bytearray(32) -+ for i in range(len(ret)): -+ ret[i] = x % 256 -+ x >>= 8 -+ assert x == 0 -+ return ret -+ -+def to_ge_precomp(P): -+ # typedef struct { -+ # fe_loose yplusx; -+ # fe_loose yminusx; -+ # fe_loose xy2d; -+ # } ge_precomp; -+ x, y = P -+ return ((y + x) % p, (y - x) % p, (x * y * 2 * d) % p) -+ -+def to_base_25_5(x): -+ limbs = (26, 25, 26, 25, 26, 25, 26, 25, 26, 25) -+ ret = [] -+ for l in limbs: -+ ret.append(x & ((1<>= l -+ assert x == 0 -+ return ret -+ -+def to_base_51(x): -+ ret = [] -+ for _ in range(5): -+ ret.append(x & ((1<<51) - 1)) -+ x >>= 51 -+ assert x == 0 -+ return ret -+ -+def to_literal(x): -+ ret = "{{\n#if defined(BORINGSSL_CURVE25519_64BIT)\n" -+ ret += ", ".join(map(str, to_base_51(x))) -+ ret += "\n#else\n" -+ ret += ", ".join(map(str, to_base_25_5(x))) -+ ret += "\n#endif\n}}" -+ return ret -+ -+def main(): -+ d2 = (2 * d) % p -+ -+ small_precomp = bytearray() -+ for i in range(1, 16): -+ s = (i&1) | ((i&2) << (64-1)) | ((i&4) << (128-2)) | ((i&8) << (192-3)) -+ P = point_mul(s, (g_x, g_y)) -+ small_precomp += to_bytes(P[0]) -+ small_precomp += to_bytes(P[1]) -+ -+ large_precomp = [] -+ for i in range(32): -+ large_precomp.append([]) -+ for j in range(8): -+ P = point_mul((j + 1) << (i * 8), (g_x, g_y)) -+ large_precomp[-1].append(to_ge_precomp(P)) -+ -+ bi_precomp = [] -+ for i in range(8): -+ P = point_mul(2*i + 1, (g_x, g_y)) -+ bi_precomp.append(to_ge_precomp(P)) -+ -+ -+ buf = StringIO.StringIO() -+ buf.write("""/* Copyright (c) 2020, Google Inc. -+ * -+ * Permission to use, copy, modify, and/or distribute this software for any -+ * purpose with or without fee is hereby granted, provided that the above -+ * copyright notice and this permission notice appear in all copies. -+ * -+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY -+ * SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION -+ * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN -+ * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -+ -+// This file is generated from -+// ./make_curve25519_tables.py > curve25519_tables.h -+ -+ -+static const fe d = """) -+ buf.write(to_literal(d)) -+ buf.write("""; -+ -+static const fe sqrtm1 = """) -+ buf.write(to_literal(modp_sqrt_m1)) -+ buf.write("""; -+ -+static const fe d2 = """) -+ buf.write(to_literal(d2)) -+ buf.write("""; -+ -+#if defined(OPENSSL_SMALL) -+ -+// This block of code replaces the standard base-point table with a much smaller -+// one. The standard table is 30,720 bytes while this one is just 960. -+// -+// This table contains 15 pairs of group elements, (x, y), where each field -+// element is serialised with |fe_tobytes|. If |i| is the index of the group -+// element then consider i+1 as a four-bit number: (i₀, i₁, i₂, i₃) (where i₀ -+// is the most significant bit). The value of the group element is then: -+// (i₀×2^192 + i₁×2^128 + i₂×2^64 + i₃)G, where G is the generator. -+static const uint8_t k25519SmallPrecomp[15 * 2 * 32] = {""") -+ for i, b in enumerate(small_precomp): -+ buf.write("0x%02x, " % b) -+ buf.write(""" -+}; -+ -+#else -+ -+// k25519Precomp[i][j] = (j+1)*256^i*B -+static const ge_precomp k25519Precomp[32][8] = { -+""") -+ for child in large_precomp: -+ buf.write("{\n") -+ for val in child: -+ buf.write("{\n") -+ for term in val: -+ buf.write(to_literal(term) + ",\n") -+ buf.write("},\n") -+ buf.write("},\n") -+ buf.write("""}; -+ -+#endif // OPENSSL_SMALL -+ -+// Bi[i] = (2*i+1)*B -+static const ge_precomp Bi[8] = { -+""") -+ for val in bi_precomp: -+ buf.write("{\n") -+ for term in val: -+ buf.write(to_literal(term) + ",\n") -+ buf.write("},\n") -+ buf.write("""}; -+""") -+ -+ proc = subprocess.Popen(["clang-format"], stdin=subprocess.PIPE) -+ proc.communicate(buf.getvalue()) -+ -+if __name__ == "__main__": -+ main() -diff --git a/crypto/fipsmodule/aes/asm/vpaes-armv7.pl b/crypto/fipsmodule/aes/asm/vpaes-armv7.pl -new file mode 100644 -index 0000000..d36a97a ---- /dev/null -+++ b/crypto/fipsmodule/aes/asm/vpaes-armv7.pl -@@ -0,0 +1,896 @@ -+#! /usr/bin/env perl -+# Copyright 2015-2016 The OpenSSL Project Authors. All Rights Reserved. -+# -+# Licensed under the OpenSSL license (the "License"). You may not use -+# this file except in compliance with the License. You can obtain a copy -+# in the file LICENSE in the source distribution or at -+# https://www.openssl.org/source/license.html -+ -+ -+###################################################################### -+## Constant-time SSSE3 AES core implementation. -+## version 0.1 -+## -+## By Mike Hamburg (Stanford University), 2009 -+## Public domain. -+## -+## For details see http://shiftleft.org/papers/vector_aes/ and -+## http://crypto.stanford.edu/vpaes/. -+## -+###################################################################### -+# Adapted from the original x86_64 version and 's ARMv8 -+# version. -+# -+# armv7, aarch64, and x86_64 differ in several ways: -+# -+# * x86_64 SSSE3 instructions are two-address (destination operand is also a -+# source), while NEON is three-address (destination operand is separate from -+# two sources). -+# -+# * aarch64 has 32 SIMD registers available, while x86_64 and armv7 have 16. -+# -+# * x86_64 instructions can take memory references, while ARM is a load/store -+# architecture. This means we sometimes need a spare register. -+# -+# * aarch64 and x86_64 have 128-bit byte shuffle instructions (tbl and pshufb), -+# while armv7 only has a 64-bit byte shuffle (vtbl). -+# -+# This means this armv7 version must be a mix of both aarch64 and x86_64 -+# implementations. armv7 and aarch64 have analogous SIMD instructions, so we -+# base the instructions on aarch64. However, we cannot use aarch64's register -+# allocation. x86_64's register count matches, but x86_64 is two-address. -+# vpaes-armv8.pl already accounts for this in the comments, which use -+# three-address AVX instructions instead of the original SSSE3 ones. We base -+# register usage on these comments, which are preserved in this file. -+# -+# This means we do not use separate input and output registers as in aarch64 and -+# cannot pin as many constants in the preheat functions. However, the load/store -+# architecture means we must still deviate from x86_64 in places. -+# -+# Next, we account for the byte shuffle instructions. vtbl takes 64-bit source -+# and destination and 128-bit table. Fortunately, armv7 also allows addressing -+# upper and lower halves of each 128-bit register. The lower half of q{N} is -+# d{2*N}. The upper half is d{2*N+1}. Instead of the following non-existent -+# instruction, -+# -+# vtbl.8 q0, q1, q2 @ Index each of q2's 16 bytes into q1. Store in q0. -+# -+# we write: -+# -+# vtbl.8 d0, q1, d4 @ Index each of d4's 8 bytes into q1. Store in d0. -+# vtbl.8 d1, q1, d5 @ Index each of d5's 8 bytes into q1. Store in d1. -+# -+# For readability, we write d0 and d1 as q0#lo and q0#hi, respectively and -+# post-process before outputting. (This is adapted from ghash-armv4.pl.) Note, -+# however, that destination (q0) and table (q1) registers may no longer match. -+# We adjust the register usage from x86_64 to avoid this. (Unfortunately, the -+# two-address pshufb always matched these operands, so this is common.) -+# -+# This file also runs against the limit of ARMv7's ADR pseudo-instruction. ADR -+# expands to an ADD or SUB of the pc register to find an address. That immediate -+# must fit in ARM's encoding scheme: 8 bits of constant and 4 bits of rotation. -+# This means larger values must be more aligned. -+# -+# ARM additionally has two encodings, ARM and Thumb mode. Our assembly files may -+# use either encoding (do we actually need to support this?). In ARM mode, the -+# distances get large enough to require 16-byte alignment. Moving constants -+# closer to their use resolves most of this, but common constants in -+# _vpaes_consts are used by the whole file. Affected ADR instructions must be -+# placed at 8 mod 16 (the pc register is 8 ahead). Instructions with this -+# constraint have been commented. -+# -+# For details on ARM's immediate value encoding scheme, see -+# https://alisdair.mcdiarmid.org/arm-immediate-value-encoding/ -+# -+# Finally, a summary of armv7 and aarch64 SIMD syntax differences: -+# -+# * armv7 prefixes SIMD instructions with 'v', while aarch64 does not. -+# -+# * armv7 SIMD registers are named like q0 (and d0 for the half-width ones). -+# aarch64 names registers like v0, and denotes half-width operations in an -+# instruction suffix (see below). -+# -+# * aarch64 embeds size and lane information in register suffixes. v0.16b is -+# 16 bytes, v0.8h is eight u16s, v0.4s is four u32s, and v0.2d is two u64s. -+# armv7 embeds the total size in the register name (see above) and the size of -+# each element in an instruction suffix, which may look like vmov.i8, -+# vshr.u8, or vtbl.8, depending on instruction. -+ -+use strict; -+ -+my $flavour = shift; -+my $output; -+while (($output=shift) && ($output!~/\w[\w\-]*\.\w+$/)) {} -+ -+$0 =~ m/(.*[\/\\])[^\/\\]+$/; -+my $dir=$1; -+my $xlate; -+( $xlate="${dir}arm-xlate.pl" and -f $xlate ) or -+( $xlate="${dir}../../../perlasm/arm-xlate.pl" and -f $xlate) or -+die "can't locate arm-xlate.pl"; -+ -+open OUT,"| \"$^X\" $xlate $flavour $output"; -+*STDOUT=*OUT; -+ -+my $code = ""; -+ -+$code.=<<___; -+.syntax unified -+ -+.arch armv7-a -+.fpu neon -+ -+#if defined(__thumb2__) -+.thumb -+#else -+.code 32 -+#endif -+ -+.text -+ -+.type _vpaes_consts,%object -+.align 7 @ totally strategic alignment -+_vpaes_consts: -+.Lk_mc_forward: @ mc_forward -+ .quad 0x0407060500030201, 0x0C0F0E0D080B0A09 -+ .quad 0x080B0A0904070605, 0x000302010C0F0E0D -+ .quad 0x0C0F0E0D080B0A09, 0x0407060500030201 -+ .quad 0x000302010C0F0E0D, 0x080B0A0904070605 -+.Lk_mc_backward:@ mc_backward -+ .quad 0x0605040702010003, 0x0E0D0C0F0A09080B -+ .quad 0x020100030E0D0C0F, 0x0A09080B06050407 -+ .quad 0x0E0D0C0F0A09080B, 0x0605040702010003 -+ .quad 0x0A09080B06050407, 0x020100030E0D0C0F -+.Lk_sr: @ sr -+ .quad 0x0706050403020100, 0x0F0E0D0C0B0A0908 -+ .quad 0x030E09040F0A0500, 0x0B06010C07020D08 -+ .quad 0x0F060D040B020900, 0x070E050C030A0108 -+ .quad 0x0B0E0104070A0D00, 0x0306090C0F020508 -+ -+@ -+@ "Hot" constants -+@ -+.Lk_inv: @ inv, inva -+ .quad 0x0E05060F0D080180, 0x040703090A0B0C02 -+ .quad 0x01040A060F0B0780, 0x030D0E0C02050809 -+.Lk_ipt: @ input transform (lo, hi) -+ .quad 0xC2B2E8985A2A7000, 0xCABAE09052227808 -+ .quad 0x4C01307D317C4D00, 0xCD80B1FCB0FDCC81 -+.Lk_sbo: @ sbou, sbot -+ .quad 0xD0D26D176FBDC700, 0x15AABF7AC502A878 -+ .quad 0xCFE474A55FBB6A00, 0x8E1E90D1412B35FA -+.Lk_sb1: @ sb1u, sb1t -+ .quad 0x3618D415FAE22300, 0x3BF7CCC10D2ED9EF -+ .quad 0xB19BE18FCB503E00, 0xA5DF7A6E142AF544 -+.Lk_sb2: @ sb2u, sb2t -+ .quad 0x69EB88400AE12900, 0xC2A163C8AB82234A -+ .quad 0xE27A93C60B712400, 0x5EB7E955BC982FCD -+ -+.asciz "Vector Permutation AES for ARMv7 NEON, Mike Hamburg (Stanford University)" -+.size _vpaes_consts,.-_vpaes_consts -+.align 6 -+___ -+ -+{ -+my ($inp,$out,$key) = map("r$_", (0..2)); -+ -+my ($invlo,$invhi) = map("q$_", (10..11)); -+my ($sb1u,$sb1t,$sb2u,$sb2t) = map("q$_", (12..15)); -+ -+$code.=<<___; -+@@ -+@@ _aes_preheat -+@@ -+@@ Fills q9-q15 as specified below. -+@@ -+.type _vpaes_preheat,%function -+.align 4 -+_vpaes_preheat: -+ adr r10, .Lk_inv -+ vmov.i8 q9, #0x0f @ .Lk_s0F -+ vld1.64 {q10,q11}, [r10]! @ .Lk_inv -+ add r10, r10, #64 @ Skip .Lk_ipt, .Lk_sbo -+ vld1.64 {q12,q13}, [r10]! @ .Lk_sb1 -+ vld1.64 {q14,q15}, [r10] @ .Lk_sb2 -+ bx lr -+ -+@@ -+@@ _aes_encrypt_core -+@@ -+@@ AES-encrypt q0. -+@@ -+@@ Inputs: -+@@ q0 = input -+@@ q9-q15 as in _vpaes_preheat -+@@ [$key] = scheduled keys -+@@ -+@@ Output in q0 -+@@ Clobbers q1-q5, r8-r11 -+@@ Preserves q6-q8 so you get some local vectors -+@@ -+@@ -+.type _vpaes_encrypt_core,%function -+.align 4 -+_vpaes_encrypt_core: -+ mov r9, $key -+ ldr r8, [$key,#240] @ pull rounds -+ adr r11, .Lk_ipt -+ @ vmovdqa .Lk_ipt(%rip), %xmm2 # iptlo -+ @ vmovdqa .Lk_ipt+16(%rip), %xmm3 # ipthi -+ vld1.64 {q2, q3}, [r11] -+ adr r11, .Lk_mc_forward+16 -+ vld1.64 {q5}, [r9]! @ vmovdqu (%r9), %xmm5 # round0 key -+ vand q1, q0, q9 @ vpand %xmm9, %xmm0, %xmm1 -+ vshr.u8 q0, q0, #4 @ vpsrlb \$4, %xmm0, %xmm0 -+ vtbl.8 q1#lo, {q2}, q1#lo @ vpshufb %xmm1, %xmm2, %xmm1 -+ vtbl.8 q1#hi, {q2}, q1#hi -+ vtbl.8 q2#lo, {q3}, q0#lo @ vpshufb %xmm0, %xmm3, %xmm2 -+ vtbl.8 q2#hi, {q3}, q0#hi -+ veor q0, q1, q5 @ vpxor %xmm5, %xmm1, %xmm0 -+ veor q0, q0, q2 @ vpxor %xmm2, %xmm0, %xmm0 -+ -+ @ .Lenc_entry ends with a bnz instruction which is normally paired with -+ @ subs in .Lenc_loop. -+ tst r8, r8 -+ b .Lenc_entry -+ -+.align 4 -+.Lenc_loop: -+ @ middle of middle round -+ add r10, r11, #0x40 -+ vtbl.8 q4#lo, {$sb1t}, q2#lo @ vpshufb %xmm2, %xmm13, %xmm4 # 4 = sb1u -+ vtbl.8 q4#hi, {$sb1t}, q2#hi -+ vld1.64 {q1}, [r11]! @ vmovdqa -0x40(%r11,%r10), %xmm1 # .Lk_mc_forward[] -+ vtbl.8 q0#lo, {$sb1u}, q3#lo @ vpshufb %xmm3, %xmm12, %xmm0 # 0 = sb1t -+ vtbl.8 q0#hi, {$sb1u}, q3#hi -+ veor q4, q4, q5 @ vpxor %xmm5, %xmm4, %xmm4 # 4 = sb1u + k -+ vtbl.8 q5#lo, {$sb2t}, q2#lo @ vpshufb %xmm2, %xmm15, %xmm5 # 4 = sb2u -+ vtbl.8 q5#hi, {$sb2t}, q2#hi -+ veor q0, q0, q4 @ vpxor %xmm4, %xmm0, %xmm0 # 0 = A -+ vtbl.8 q2#lo, {$sb2u}, q3#lo @ vpshufb %xmm3, %xmm14, %xmm2 # 2 = sb2t -+ vtbl.8 q2#hi, {$sb2u}, q3#hi -+ vld1.64 {q4}, [r10] @ vmovdqa (%r11,%r10), %xmm4 # .Lk_mc_backward[] -+ vtbl.8 q3#lo, {q0}, q1#lo @ vpshufb %xmm1, %xmm0, %xmm3 # 0 = B -+ vtbl.8 q3#hi, {q0}, q1#hi -+ veor q2, q2, q5 @ vpxor %xmm5, %xmm2, %xmm2 # 2 = 2A -+ @ Write to q5 instead of q0, so the table and destination registers do -+ @ not overlap. -+ vtbl.8 q5#lo, {q0}, q4#lo @ vpshufb %xmm4, %xmm0, %xmm0 # 3 = D -+ vtbl.8 q5#hi, {q0}, q4#hi -+ veor q3, q3, q2 @ vpxor %xmm2, %xmm3, %xmm3 # 0 = 2A+B -+ vtbl.8 q4#lo, {q3}, q1#lo @ vpshufb %xmm1, %xmm3, %xmm4 # 0 = 2B+C -+ vtbl.8 q4#hi, {q3}, q1#hi -+ @ Here we restore the original q0/q5 usage. -+ veor q0, q5, q3 @ vpxor %xmm3, %xmm0, %xmm0 # 3 = 2A+B+D -+ and r11, r11, #~(1<<6) @ and \$0x30, %r11 # ... mod 4 -+ veor q0, q0, q4 @ vpxor %xmm4, %xmm0, %xmm0 # 0 = 2A+3B+C+D -+ subs r8, r8, #1 @ nr-- -+ -+.Lenc_entry: -+ @ top of round -+ vand q1, q0, q9 @ vpand %xmm0, %xmm9, %xmm1 # 0 = k -+ vshr.u8 q0, q0, #4 @ vpsrlb \$4, %xmm0, %xmm0 # 1 = i -+ vtbl.8 q5#lo, {$invhi}, q1#lo @ vpshufb %xmm1, %xmm11, %xmm5 # 2 = a/k -+ vtbl.8 q5#hi, {$invhi}, q1#hi -+ veor q1, q1, q0 @ vpxor %xmm0, %xmm1, %xmm1 # 0 = j -+ vtbl.8 q3#lo, {$invlo}, q0#lo @ vpshufb %xmm0, %xmm10, %xmm3 # 3 = 1/i -+ vtbl.8 q3#hi, {$invlo}, q0#hi -+ vtbl.8 q4#lo, {$invlo}, q1#lo @ vpshufb %xmm1, %xmm10, %xmm4 # 4 = 1/j -+ vtbl.8 q4#hi, {$invlo}, q1#hi -+ veor q3, q3, q5 @ vpxor %xmm5, %xmm3, %xmm3 # 3 = iak = 1/i + a/k -+ veor q4, q4, q5 @ vpxor %xmm5, %xmm4, %xmm4 # 4 = jak = 1/j + a/k -+ vtbl.8 q2#lo, {$invlo}, q3#lo @ vpshufb %xmm3, %xmm10, %xmm2 # 2 = 1/iak -+ vtbl.8 q2#hi, {$invlo}, q3#hi -+ vtbl.8 q3#lo, {$invlo}, q4#lo @ vpshufb %xmm4, %xmm10, %xmm3 # 3 = 1/jak -+ vtbl.8 q3#hi, {$invlo}, q4#hi -+ veor q2, q2, q1 @ vpxor %xmm1, %xmm2, %xmm2 # 2 = io -+ veor q3, q3, q0 @ vpxor %xmm0, %xmm3, %xmm3 # 3 = jo -+ vld1.64 {q5}, [r9]! @ vmovdqu (%r9), %xmm5 -+ bne .Lenc_loop -+ -+ @ middle of last round -+ add r10, r11, #0x80 -+ -+ adr r11, .Lk_sbo -+ @ Read to q1 instead of q4, so the vtbl.8 instruction below does not -+ @ overlap table and destination registers. -+ vld1.64 {q1}, [r11]! @ vmovdqa -0x60(%r10), %xmm4 # 3 : sbou -+ vld1.64 {q0}, [r11] @ vmovdqa -0x50(%r10), %xmm0 # 0 : sbot .Lk_sbo+16 -+ vtbl.8 q4#lo, {q1}, q2#lo @ vpshufb %xmm2, %xmm4, %xmm4 # 4 = sbou -+ vtbl.8 q4#hi, {q1}, q2#hi -+ vld1.64 {q1}, [r10] @ vmovdqa 0x40(%r11,%r10), %xmm1 # .Lk_sr[] -+ @ Write to q2 instead of q0 below, to avoid overlapping table and -+ @ destination registers. -+ vtbl.8 q2#lo, {q0}, q3#lo @ vpshufb %xmm3, %xmm0, %xmm0 # 0 = sb1t -+ vtbl.8 q2#hi, {q0}, q3#hi -+ veor q4, q4, q5 @ vpxor %xmm5, %xmm4, %xmm4 # 4 = sb1u + k -+ veor q2, q2, q4 @ vpxor %xmm4, %xmm0, %xmm0 # 0 = A -+ @ Here we restore the original q0/q2 usage. -+ vtbl.8 q0#lo, {q2}, q1#lo @ vpshufb %xmm1, %xmm0, %xmm0 -+ vtbl.8 q0#hi, {q2}, q1#hi -+ bx lr -+.size _vpaes_encrypt_core,.-_vpaes_encrypt_core -+ -+.globl GFp_vpaes_encrypt -+.type GFp_vpaes_encrypt,%function -+.align 4 -+GFp_vpaes_encrypt: -+ @ _vpaes_encrypt_core uses r8-r11. Round up to r7-r11 to maintain stack -+ @ alignment. -+ stmdb sp!, {r7-r11,lr} -+ @ _vpaes_encrypt_core uses q4-q5 (d8-d11), which are callee-saved. -+ vstmdb sp!, {d8-d11} -+ -+ vld1.64 {q0}, [$inp] -+ bl _vpaes_preheat -+ bl _vpaes_encrypt_core -+ vst1.64 {q0}, [$out] -+ -+ vldmia sp!, {d8-d11} -+ ldmia sp!, {r7-r11, pc} @ return -+.size GFp_vpaes_encrypt,.-GFp_vpaes_encrypt -+___ -+} -+{ -+my ($inp,$bits,$out,$dir)=("r0","r1","r2","r3"); -+my ($rcon,$s0F,$invlo,$invhi,$s63) = map("q$_",(8..12)); -+ -+$code.=<<___; -+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ -+@@ @@ -+@@ AES key schedule @@ -+@@ @@ -+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ -+ -+@ This function diverges from both x86_64 and armv7 in which constants are -+@ pinned. x86_64 has a common preheat function for all operations. aarch64 -+@ separates them because it has enough registers to pin nearly all constants. -+@ armv7 does not have enough registers, but needing explicit loads and stores -+@ also complicates using x86_64's register allocation directly. -+@ -+@ We pin some constants for convenience and leave q14 and q15 free to load -+@ others on demand. -+ -+@ -+@ Key schedule constants -+@ -+.type _vpaes_key_consts,%object -+.align 4 -+_vpaes_key_consts: -+.Lk_rcon: @ rcon -+ .quad 0x1F8391B9AF9DEEB6, 0x702A98084D7C7D81 -+ -+.Lk_opt: @ output transform -+ .quad 0xFF9F4929D6B66000, 0xF7974121DEBE6808 -+ .quad 0x01EDBD5150BCEC00, 0xE10D5DB1B05C0CE0 -+.Lk_deskew: @ deskew tables: inverts the sbox's "skew" -+ .quad 0x07E4A34047A4E300, 0x1DFEB95A5DBEF91A -+ .quad 0x5F36B5DC83EA6900, 0x2841C2ABF49D1E77 -+.size _vpaes_key_consts,.-_vpaes_key_consts -+ -+.type _vpaes_key_preheat,%function -+.align 4 -+_vpaes_key_preheat: -+ adr r11, .Lk_rcon -+ vmov.i8 $s63, #0x5b @ .Lk_s63 -+ adr r10, .Lk_inv @ Must be aligned to 8 mod 16. -+ vmov.i8 $s0F, #0x0f @ .Lk_s0F -+ vld1.64 {$invlo,$invhi}, [r10] @ .Lk_inv -+ vld1.64 {$rcon}, [r11] @ .Lk_rcon -+ bx lr -+.size _vpaes_key_preheat,.-_vpaes_key_preheat -+ -+.type _vpaes_schedule_core,%function -+.align 4 -+_vpaes_schedule_core: -+ @ We only need to save lr, but ARM requires an 8-byte stack alignment, -+ @ so save an extra register. -+ stmdb sp!, {r3,lr} -+ -+ bl _vpaes_key_preheat @ load the tables -+ -+ adr r11, .Lk_ipt @ Must be aligned to 8 mod 16. -+ vld1.64 {q0}, [$inp]! @ vmovdqu (%rdi), %xmm0 # load key (unaligned) -+ -+ @ input transform -+ @ Use q4 here rather than q3 so .Lschedule_am_decrypting does not -+ @ overlap table and destination. -+ vmov q4, q0 @ vmovdqa %xmm0, %xmm3 -+ bl _vpaes_schedule_transform -+ adr r10, .Lk_sr @ Must be aligned to 8 mod 16. -+ vmov q7, q0 @ vmovdqa %xmm0, %xmm7 -+ -+ add r8, r8, r10 -+ -+ @ encrypting, output zeroth round key after transform -+ vst1.64 {q0}, [$out] @ vmovdqu %xmm0, (%rdx) -+ -+ @ *ring*: Decryption removed. -+ -+.Lschedule_go: -+ cmp $bits, #192 @ cmp \$192, %esi -+ bhi .Lschedule_256 -+ @ 128: fall though -+ -+@@ -+@@ .schedule_128 -+@@ -+@@ 128-bit specific part of key schedule. -+@@ -+@@ This schedule is really simple, because all its parts -+@@ are accomplished by the subroutines. -+@@ -+.Lschedule_128: -+ mov $inp, #10 @ mov \$10, %esi -+ -+.Loop_schedule_128: -+ bl _vpaes_schedule_round -+ subs $inp, $inp, #1 @ dec %esi -+ beq .Lschedule_mangle_last -+ bl _vpaes_schedule_mangle @ write output -+ b .Loop_schedule_128 -+ -+@@ -+@@ .aes_schedule_256 -+@@ -+@@ 256-bit specific part of key schedule. -+@@ -+@@ The structure here is very similar to the 128-bit -+@@ schedule, but with an additional "low side" in -+@@ q6. The low side's rounds are the same as the -+@@ high side's, except no rcon and no rotation. -+@@ -+.align 4 -+.Lschedule_256: -+ vld1.64 {q0}, [$inp] @ vmovdqu 16(%rdi),%xmm0 # load key part 2 (unaligned) -+ bl _vpaes_schedule_transform @ input transform -+ mov $inp, #7 @ mov \$7, %esi -+ -+.Loop_schedule_256: -+ bl _vpaes_schedule_mangle @ output low result -+ vmov q6, q0 @ vmovdqa %xmm0, %xmm6 # save cur_lo in xmm6 -+ -+ @ high round -+ bl _vpaes_schedule_round -+ subs $inp, $inp, #1 @ dec %esi -+ beq .Lschedule_mangle_last -+ bl _vpaes_schedule_mangle -+ -+ @ low round. swap xmm7 and xmm6 -+ vdup.32 q0, q0#hi[1] @ vpshufd \$0xFF, %xmm0, %xmm0 -+ vmov.i8 q4, #0 -+ vmov q5, q7 @ vmovdqa %xmm7, %xmm5 -+ vmov q7, q6 @ vmovdqa %xmm6, %xmm7 -+ bl _vpaes_schedule_low_round -+ vmov q7, q5 @ vmovdqa %xmm5, %xmm7 -+ -+ b .Loop_schedule_256 -+ -+@@ -+@@ .aes_schedule_mangle_last -+@@ -+@@ Mangler for last round of key schedule -+@@ Mangles q0 -+@@ when encrypting, outputs out(q0) ^ 63 -+@@ when decrypting, outputs unskew(q0) -+@@ -+@@ Always called right before return... jumps to cleanup and exits -+@@ -+.align 4 -+.Lschedule_mangle_last: -+ @ schedule last round key from xmm0 -+ adr r11, .Lk_deskew @ lea .Lk_deskew(%rip),%r11 # prepare to deskew -+ -+ @ encrypting -+ vld1.64 {q1}, [r8] @ vmovdqa (%r8,%r10),%xmm1 -+ adr r11, .Lk_opt @ lea .Lk_opt(%rip), %r11 # prepare to output transform -+ add $out, $out, #32 @ add \$32, %rdx -+ vmov q2, q0 -+ vtbl.8 q0#lo, {q2}, q1#lo @ vpshufb %xmm1, %xmm0, %xmm0 # output permute -+ vtbl.8 q0#hi, {q2}, q1#hi -+ -+.Lschedule_mangle_last_dec: -+ sub $out, $out, #16 @ add \$-16, %rdx -+ veor q0, q0, $s63 @ vpxor .Lk_s63(%rip), %xmm0, %xmm0 -+ bl _vpaes_schedule_transform @ output transform -+ vst1.64 {q0}, [$out] @ vmovdqu %xmm0, (%rdx) # save last key -+ -+ @ cleanup -+ veor q0, q0, q0 @ vpxor %xmm0, %xmm0, %xmm0 -+ veor q1, q1, q1 @ vpxor %xmm1, %xmm1, %xmm1 -+ veor q2, q2, q2 @ vpxor %xmm2, %xmm2, %xmm2 -+ veor q3, q3, q3 @ vpxor %xmm3, %xmm3, %xmm3 -+ veor q4, q4, q4 @ vpxor %xmm4, %xmm4, %xmm4 -+ veor q5, q5, q5 @ vpxor %xmm5, %xmm5, %xmm5 -+ veor q6, q6, q6 @ vpxor %xmm6, %xmm6, %xmm6 -+ veor q7, q7, q7 @ vpxor %xmm7, %xmm7, %xmm7 -+ ldmia sp!, {r3,pc} @ return -+.size _vpaes_schedule_core,.-_vpaes_schedule_core -+ -+@@ -+@@ .aes_schedule_round -+@@ -+@@ Runs one main round of the key schedule on q0, q7 -+@@ -+@@ Specifically, runs subbytes on the high dword of q0 -+@@ then rotates it by one byte and xors into the low dword of -+@@ q7. -+@@ -+@@ Adds rcon from low byte of q8, then rotates q8 for -+@@ next rcon. -+@@ -+@@ Smears the dwords of q7 by xoring the low into the -+@@ second low, result into third, result into highest. -+@@ -+@@ Returns results in q7 = q0. -+@@ Clobbers q1-q4, r11. -+@@ -+.type _vpaes_schedule_round,%function -+.align 4 -+_vpaes_schedule_round: -+ @ extract rcon from xmm8 -+ vmov.i8 q4, #0 @ vpxor %xmm4, %xmm4, %xmm4 -+ vext.8 q1, $rcon, q4, #15 @ vpalignr \$15, %xmm8, %xmm4, %xmm1 -+ vext.8 $rcon, $rcon, $rcon, #15 @ vpalignr \$15, %xmm8, %xmm8, %xmm8 -+ veor q7, q7, q1 @ vpxor %xmm1, %xmm7, %xmm7 -+ -+ @ rotate -+ vdup.32 q0, q0#hi[1] @ vpshufd \$0xFF, %xmm0, %xmm0 -+ vext.8 q0, q0, q0, #1 @ vpalignr \$1, %xmm0, %xmm0, %xmm0 -+ -+ @ fall through... -+ -+ @ low round: same as high round, but no rotation and no rcon. -+_vpaes_schedule_low_round: -+ @ The x86_64 version pins .Lk_sb1 in %xmm13 and .Lk_sb1+16 in %xmm12. -+ @ We pin other values in _vpaes_key_preheat, so load them now. -+ adr r11, .Lk_sb1 -+ vld1.64 {q14,q15}, [r11] -+ -+ @ smear xmm7 -+ vext.8 q1, q4, q7, #12 @ vpslldq \$4, %xmm7, %xmm1 -+ veor q7, q7, q1 @ vpxor %xmm1, %xmm7, %xmm7 -+ vext.8 q4, q4, q7, #8 @ vpslldq \$8, %xmm7, %xmm4 -+ -+ @ subbytes -+ vand q1, q0, $s0F @ vpand %xmm9, %xmm0, %xmm1 # 0 = k -+ vshr.u8 q0, q0, #4 @ vpsrlb \$4, %xmm0, %xmm0 # 1 = i -+ veor q7, q7, q4 @ vpxor %xmm4, %xmm7, %xmm7 -+ vtbl.8 q2#lo, {$invhi}, q1#lo @ vpshufb %xmm1, %xmm11, %xmm2 # 2 = a/k -+ vtbl.8 q2#hi, {$invhi}, q1#hi -+ veor q1, q1, q0 @ vpxor %xmm0, %xmm1, %xmm1 # 0 = j -+ vtbl.8 q3#lo, {$invlo}, q0#lo @ vpshufb %xmm0, %xmm10, %xmm3 # 3 = 1/i -+ vtbl.8 q3#hi, {$invlo}, q0#hi -+ veor q3, q3, q2 @ vpxor %xmm2, %xmm3, %xmm3 # 3 = iak = 1/i + a/k -+ vtbl.8 q4#lo, {$invlo}, q1#lo @ vpshufb %xmm1, %xmm10, %xmm4 # 4 = 1/j -+ vtbl.8 q4#hi, {$invlo}, q1#hi -+ veor q7, q7, $s63 @ vpxor .Lk_s63(%rip), %xmm7, %xmm7 -+ vtbl.8 q3#lo, {$invlo}, q3#lo @ vpshufb %xmm3, %xmm10, %xmm3 # 2 = 1/iak -+ vtbl.8 q3#hi, {$invlo}, q3#hi -+ veor q4, q4, q2 @ vpxor %xmm2, %xmm4, %xmm4 # 4 = jak = 1/j + a/k -+ vtbl.8 q2#lo, {$invlo}, q4#lo @ vpshufb %xmm4, %xmm10, %xmm2 # 3 = 1/jak -+ vtbl.8 q2#hi, {$invlo}, q4#hi -+ veor q3, q3, q1 @ vpxor %xmm1, %xmm3, %xmm3 # 2 = io -+ veor q2, q2, q0 @ vpxor %xmm0, %xmm2, %xmm2 # 3 = jo -+ vtbl.8 q4#lo, {q15}, q3#lo @ vpshufb %xmm3, %xmm13, %xmm4 # 4 = sbou -+ vtbl.8 q4#hi, {q15}, q3#hi -+ vtbl.8 q1#lo, {q14}, q2#lo @ vpshufb %xmm2, %xmm12, %xmm1 # 0 = sb1t -+ vtbl.8 q1#hi, {q14}, q2#hi -+ veor q1, q1, q4 @ vpxor %xmm4, %xmm1, %xmm1 # 0 = sbox output -+ -+ @ add in smeared stuff -+ veor q0, q1, q7 @ vpxor %xmm7, %xmm1, %xmm0 -+ veor q7, q1, q7 @ vmovdqa %xmm0, %xmm7 -+ bx lr -+.size _vpaes_schedule_round,.-_vpaes_schedule_round -+ -+@@ -+@@ .aes_schedule_transform -+@@ -+@@ Linear-transform q0 according to tables at [r11] -+@@ -+@@ Requires that q9 = 0x0F0F... as in preheat -+@@ Output in q0 -+@@ Clobbers q1, q2, q14, q15 -+@@ -+.type _vpaes_schedule_transform,%function -+.align 4 -+_vpaes_schedule_transform: -+ vld1.64 {q14,q15}, [r11] @ vmovdqa (%r11), %xmm2 # lo -+ @ vmovdqa 16(%r11), %xmm1 # hi -+ vand q1, q0, $s0F @ vpand %xmm9, %xmm0, %xmm1 -+ vshr.u8 q0, q0, #4 @ vpsrlb \$4, %xmm0, %xmm0 -+ vtbl.8 q2#lo, {q14}, q1#lo @ vpshufb %xmm1, %xmm2, %xmm2 -+ vtbl.8 q2#hi, {q14}, q1#hi -+ vtbl.8 q0#lo, {q15}, q0#lo @ vpshufb %xmm0, %xmm1, %xmm0 -+ vtbl.8 q0#hi, {q15}, q0#hi -+ veor q0, q0, q2 @ vpxor %xmm2, %xmm0, %xmm0 -+ bx lr -+.size _vpaes_schedule_transform,.-_vpaes_schedule_transform -+ -+@@ -+@@ .aes_schedule_mangle -+@@ -+@@ Mangles q0 from (basis-transformed) standard version -+@@ to our version. -+@@ -+@@ On encrypt, -+@@ xor with 0x63 -+@@ multiply by circulant 0,1,1,1 -+@@ apply shiftrows transform -+@@ -+@@ On decrypt, -+@@ xor with 0x63 -+@@ multiply by "inverse mixcolumns" circulant E,B,D,9 -+@@ deskew -+@@ apply shiftrows transform -+@@ -+@@ -+@@ Writes out to [r2], and increments or decrements it -+@@ Keeps track of round number mod 4 in r8 -+@@ Preserves q0 -+@@ Clobbers q1-q5 -+@@ -+.type _vpaes_schedule_mangle,%function -+.align 4 -+_vpaes_schedule_mangle: -+ tst $dir, $dir -+ vmov q4, q0 @ vmovdqa %xmm0, %xmm4 # save xmm0 for later -+ adr r11, .Lk_mc_forward @ Must be aligned to 8 mod 16. -+ vld1.64 {q5}, [r11] @ vmovdqa .Lk_mc_forward(%rip),%xmm5 -+ -+ @ encrypting -+ @ Write to q2 so we do not overlap table and destination below. -+ veor q2, q0, $s63 @ vpxor .Lk_s63(%rip), %xmm0, %xmm4 -+ add $out, $out, #16 @ add \$16, %rdx -+ vtbl.8 q4#lo, {q2}, q5#lo @ vpshufb %xmm5, %xmm4, %xmm4 -+ vtbl.8 q4#hi, {q2}, q5#hi -+ vtbl.8 q1#lo, {q4}, q5#lo @ vpshufb %xmm5, %xmm4, %xmm1 -+ vtbl.8 q1#hi, {q4}, q5#hi -+ vtbl.8 q3#lo, {q1}, q5#lo @ vpshufb %xmm5, %xmm1, %xmm3 -+ vtbl.8 q3#hi, {q1}, q5#hi -+ veor q4, q4, q1 @ vpxor %xmm1, %xmm4, %xmm4 -+ vld1.64 {q1}, [r8] @ vmovdqa (%r8,%r10), %xmm1 -+ veor q3, q3, q4 @ vpxor %xmm4, %xmm3, %xmm3 -+ -+.Lschedule_mangle_both: -+ @ Write to q2 so table and destination do not overlap. -+ vtbl.8 q2#lo, {q3}, q1#lo @ vpshufb %xmm1, %xmm3, %xmm3 -+ vtbl.8 q2#hi, {q3}, q1#hi -+ add r8, r8, #64-16 @ add \$-16, %r8 -+ and r8, r8, #~(1<<6) @ and \$0x30, %r8 -+ vst1.64 {q2}, [$out] @ vmovdqu %xmm3, (%rdx) -+ bx lr -+.size _vpaes_schedule_mangle,.-_vpaes_schedule_mangle -+ -+.globl GFp_vpaes_set_encrypt_key -+.type GFp_vpaes_set_encrypt_key,%function -+.align 4 -+GFp_vpaes_set_encrypt_key: -+ stmdb sp!, {r7-r11, lr} -+ vstmdb sp!, {d8-d15} -+ -+ lsr r9, $bits, #5 @ shr \$5,%eax -+ add r9, r9, #5 @ \$5,%eax -+ str r9, [$out,#240] @ mov %eax,240(%rdx) # AES_KEY->rounds = nbits/32+5; -+ -+ mov $dir, #0 @ mov \$0,%ecx -+ mov r8, #0x30 @ mov \$0x30,%r8d -+ bl _vpaes_schedule_core -+ eor r0, r0, r0 -+ -+ vldmia sp!, {d8-d15} -+ ldmia sp!, {r7-r11, pc} @ return -+.size GFp_vpaes_set_encrypt_key,.-GFp_vpaes_set_encrypt_key -+___ -+} -+ -+{ -+my ($out, $inp) = map("r$_", (0..1)); -+my ($s0F, $s63, $s63_raw, $mc_forward) = map("q$_", (9..12)); -+ -+$code .= <<___; -+ -+@ Additional constants for converting to bsaes. -+.type _vpaes_convert_consts,%object -+.align 4 -+_vpaes_convert_consts: -+@ .Lk_opt_then_skew applies skew(opt(x)) XOR 0x63, where skew is the linear -+@ transform in the AES S-box. 0x63 is incorporated into the low half of the -+@ table. This was computed with the following script: -+@ -+@ def u64s_to_u128(x, y): -+@ return x | (y << 64) -+@ def u128_to_u64s(w): -+@ return w & ((1<<64)-1), w >> 64 -+@ def get_byte(w, i): -+@ return (w >> (i*8)) & 0xff -+@ def apply_table(table, b): -+@ lo = b & 0xf -+@ hi = b >> 4 -+@ return get_byte(table[0], lo) ^ get_byte(table[1], hi) -+@ def opt(b): -+@ table = [ -+@ u64s_to_u128(0xFF9F4929D6B66000, 0xF7974121DEBE6808), -+@ u64s_to_u128(0x01EDBD5150BCEC00, 0xE10D5DB1B05C0CE0), -+@ ] -+@ return apply_table(table, b) -+@ def rot_byte(b, n): -+@ return 0xff & ((b << n) | (b >> (8-n))) -+@ def skew(x): -+@ return (x ^ rot_byte(x, 1) ^ rot_byte(x, 2) ^ rot_byte(x, 3) ^ -+@ rot_byte(x, 4)) -+@ table = [0, 0] -+@ for i in range(16): -+@ table[0] |= (skew(opt(i)) ^ 0x63) << (i*8) -+@ table[1] |= skew(opt(i<<4)) << (i*8) -+@ print("\t.quad\t0x%016x, 0x%016x" % u128_to_u64s(table[0])) -+@ print("\t.quad\t0x%016x, 0x%016x" % u128_to_u64s(table[1])) -+.Lk_opt_then_skew: -+ .quad 0x9cb8436798bc4763, 0x6440bb9f6044bf9b -+ .quad 0x1f30062936192f00, 0xb49bad829db284ab -+ -+@ void GFp_vpaes_encrypt_key_to_bsaes(AES_KEY *bsaes, const AES_KEY *vpaes); -+.globl GFp_vpaes_encrypt_key_to_bsaes -+.type GFp_vpaes_encrypt_key_to_bsaes,%function -+.align 4 -+GFp_vpaes_encrypt_key_to_bsaes: -+ stmdb sp!, {r11, lr} -+ -+ @ See _vpaes_schedule_core for the key schedule logic. In particular, -+ @ _vpaes_schedule_transform(.Lk_ipt) (section 2.2 of the paper), -+ @ _vpaes_schedule_mangle (section 4.3), and .Lschedule_mangle_last -+ @ contain the transformations not in the bsaes representation. This -+ @ function inverts those transforms. -+ @ -+ @ Note also that bsaes-armv7.pl expects aes-armv4.pl's key -+ @ representation, which does not match the other aes_nohw_* -+ @ implementations. The ARM aes_nohw_* stores each 32-bit word -+ @ byteswapped, as a convenience for (unsupported) big-endian ARM, at the -+ @ cost of extra REV and VREV32 operations in little-endian ARM. -+ -+ vmov.i8 $s0F, #0x0f @ Required by _vpaes_schedule_transform -+ adr r2, .Lk_mc_forward @ Must be aligned to 8 mod 16. -+ add r3, r2, 0x90 @ .Lk_sr+0x10-.Lk_mc_forward = 0x90 (Apple's toolchain doesn't support the expression) -+ -+ vld1.64 {$mc_forward}, [r2] -+ vmov.i8 $s63, #0x5b @ .Lk_s63 from vpaes-x86_64 -+ adr r11, .Lk_opt @ Must be aligned to 8 mod 16. -+ vmov.i8 $s63_raw, #0x63 @ .LK_s63 without .Lk_ipt applied -+ -+ @ vpaes stores one fewer round count than bsaes, but the number of keys -+ @ is the same. -+ ldr r2, [$inp,#240] -+ add r2, r2, #1 -+ str r2, [$out,#240] -+ -+ @ The first key is transformed with _vpaes_schedule_transform(.Lk_ipt). -+ @ Invert this with .Lk_opt. -+ vld1.64 {q0}, [$inp]! -+ bl _vpaes_schedule_transform -+ vrev32.8 q0, q0 -+ vst1.64 {q0}, [$out]! -+ -+ @ The middle keys have _vpaes_schedule_transform(.Lk_ipt) applied, -+ @ followed by _vpaes_schedule_mangle. _vpaes_schedule_mangle XORs 0x63, -+ @ multiplies by the circulant 0,1,1,1, then applies ShiftRows. -+.Loop_enc_key_to_bsaes: -+ vld1.64 {q0}, [$inp]! -+ -+ @ Invert the ShiftRows step (see .Lschedule_mangle_both). Note we cycle -+ @ r3 in the opposite direction and start at .Lk_sr+0x10 instead of 0x30. -+ @ We use r3 rather than r8 to avoid a callee-saved register. -+ vld1.64 {q1}, [r3] -+ vtbl.8 q2#lo, {q0}, q1#lo -+ vtbl.8 q2#hi, {q0}, q1#hi -+ add r3, r3, #16 -+ and r3, r3, #~(1<<6) -+ vmov q0, q2 -+ -+ @ Handle the last key differently. -+ subs r2, r2, #1 -+ beq .Loop_enc_key_to_bsaes_last -+ -+ @ Multiply by the circulant. This is its own inverse. -+ vtbl.8 q1#lo, {q0}, $mc_forward#lo -+ vtbl.8 q1#hi, {q0}, $mc_forward#hi -+ vmov q0, q1 -+ vtbl.8 q2#lo, {q1}, $mc_forward#lo -+ vtbl.8 q2#hi, {q1}, $mc_forward#hi -+ veor q0, q0, q2 -+ vtbl.8 q1#lo, {q2}, $mc_forward#lo -+ vtbl.8 q1#hi, {q2}, $mc_forward#hi -+ veor q0, q0, q1 -+ -+ @ XOR and finish. -+ veor q0, q0, $s63 -+ bl _vpaes_schedule_transform -+ vrev32.8 q0, q0 -+ vst1.64 {q0}, [$out]! -+ b .Loop_enc_key_to_bsaes -+ -+.Loop_enc_key_to_bsaes_last: -+ @ The final key does not have a basis transform (note -+ @ .Lschedule_mangle_last inverts the original transform). It only XORs -+ @ 0x63 and applies ShiftRows. The latter was already inverted in the -+ @ loop. Note that, because we act on the original representation, we use -+ @ $s63_raw, not $s63. -+ veor q0, q0, $s63_raw -+ vrev32.8 q0, q0 -+ vst1.64 {q0}, [$out] -+ -+ @ Wipe registers which contained key material. -+ veor q0, q0, q0 -+ veor q1, q1, q1 -+ veor q2, q2, q2 -+ -+ ldmia sp!, {r11, pc} @ return -+.size GFp_vpaes_encrypt_key_to_bsaes,.-GFp_vpaes_encrypt_key_to_bsaes -+___ -+} -+ -+{ -+# Register-passed parameters. -+my ($inp, $out, $len, $key) = map("r$_", 0..3); -+# Temporaries. _vpaes_encrypt_core already uses r8..r11, so overlap $ivec and -+# $tmp. $ctr is r7 because it must be preserved across calls. -+my ($ctr, $ivec, $tmp) = map("r$_", 7..9); -+ -+# void vpaes_ctr32_encrypt_blocks(const uint8_t *in, uint8_t *out, size_t len, -+# const AES_KEY *key, const uint8_t ivec[16]); -+$code .= <<___; -+.globl GFp_vpaes_ctr32_encrypt_blocks -+.type GFp_vpaes_ctr32_encrypt_blocks,%function -+.align 4 -+GFp_vpaes_ctr32_encrypt_blocks: -+ mov ip, sp -+ stmdb sp!, {r7-r11, lr} -+ @ This function uses q4-q7 (d8-d15), which are callee-saved. -+ vstmdb sp!, {d8-d15} -+ -+ cmp $len, #0 -+ @ $ivec is passed on the stack. -+ ldr $ivec, [ip] -+ beq .Lctr32_done -+ -+ @ _vpaes_encrypt_core expects the key in r2, so swap $len and $key. -+ mov $tmp, $key -+ mov $key, $len -+ mov $len, $tmp -+___ -+my ($len, $key) = ($key, $len); -+$code .= <<___; -+ -+ @ Load the IV and counter portion. -+ ldr $ctr, [$ivec, #12] -+ vld1.8 {q7}, [$ivec] -+ -+ bl _vpaes_preheat -+ rev $ctr, $ctr @ The counter is big-endian. -+ -+.Lctr32_loop: -+ vmov q0, q7 -+ vld1.8 {q6}, [$inp]! @ Load input ahead of time -+ bl _vpaes_encrypt_core -+ veor q0, q0, q6 @ XOR input and result -+ vst1.8 {q0}, [$out]! -+ subs $len, $len, #1 -+ @ Update the counter. -+ add $ctr, $ctr, #1 -+ rev $tmp, $ctr -+ vmov.32 q7#hi[1], $tmp -+ bne .Lctr32_loop -+ -+.Lctr32_done: -+ vldmia sp!, {d8-d15} -+ ldmia sp!, {r7-r11, pc} @ return -+.size GFp_vpaes_ctr32_encrypt_blocks,.-GFp_vpaes_ctr32_encrypt_blocks -+___ -+} -+ -+foreach (split("\n",$code)) { -+ s/\bq([0-9]+)#(lo|hi)/sprintf "d%d",2*$1+($2 eq "hi")/geo; -+ print $_,"\n"; -+} -+ -+close STDOUT; -diff --git a/crypto/fipsmodule/aes/asm/vpaes-armv8.pl b/crypto/fipsmodule/aes/asm/vpaes-armv8.pl -new file mode 100755 -index 0000000..b31bbb8 ---- /dev/null -+++ b/crypto/fipsmodule/aes/asm/vpaes-armv8.pl -@@ -0,0 +1,837 @@ -+#! /usr/bin/env perl -+# Copyright 2015-2016 The OpenSSL Project Authors. All Rights Reserved. -+# -+# Licensed under the OpenSSL license (the "License"). You may not use -+# this file except in compliance with the License. You can obtain a copy -+# in the file LICENSE in the source distribution or at -+# https://www.openssl.org/source/license.html -+ -+ -+###################################################################### -+## Constant-time SSSE3 AES core implementation. -+## version 0.1 -+## -+## By Mike Hamburg (Stanford University), 2009 -+## Public domain. -+## -+## For details see http://shiftleft.org/papers/vector_aes/ and -+## http://crypto.stanford.edu/vpaes/. -+## -+###################################################################### -+# ARMv8 NEON adaptation by -+# -+# Reason for undertaken effort is that there is at least one popular -+# SoC based on Cortex-A53 that doesn't have crypto extensions. -+# -+# CBC enc ECB enc/dec(*) [bit-sliced enc/dec] -+# Cortex-A53 21.5 18.1/20.6 [17.5/19.8 ] -+# Cortex-A57 36.0(**) 20.4/24.9(**) [14.4/16.6 ] -+# X-Gene 45.9(**) 45.8/57.7(**) [33.1/37.6(**) ] -+# Denver(***) 16.6(**) 15.1/17.8(**) [8.80/9.93 ] -+# Apple A7(***) 22.7(**) 10.9/14.3 [8.45/10.0 ] -+# Mongoose(***) 26.3(**) 21.0/25.0(**) [13.3/16.8 ] -+# -+# (*) ECB denotes approximate result for parallelizable modes -+# such as CBC decrypt, CTR, etc.; -+# (**) these results are worse than scalar compiler-generated -+# code, but it's constant-time and therefore preferred; -+# (***) presented for reference/comparison purposes; -+ -+$flavour = shift; -+while (($output=shift) && ($output!~/\w[\w\-]*\.\w+$/)) {} -+ -+$0 =~ m/(.*[\/\\])[^\/\\]+$/; $dir=$1; -+( $xlate="${dir}arm-xlate.pl" and -f $xlate ) or -+( $xlate="${dir}../../../perlasm/arm-xlate.pl" and -f $xlate) or -+die "can't locate arm-xlate.pl"; -+ -+open OUT,"| \"$^X\" $xlate $flavour $output"; -+*STDOUT=*OUT; -+ -+$code.=<<___; -+#include -+ -+.section .rodata -+ -+.type _vpaes_consts,%object -+.align 7 // totally strategic alignment -+_vpaes_consts: -+.Lk_mc_forward: // mc_forward -+ .quad 0x0407060500030201, 0x0C0F0E0D080B0A09 -+ .quad 0x080B0A0904070605, 0x000302010C0F0E0D -+ .quad 0x0C0F0E0D080B0A09, 0x0407060500030201 -+ .quad 0x000302010C0F0E0D, 0x080B0A0904070605 -+.Lk_mc_backward:// mc_backward -+ .quad 0x0605040702010003, 0x0E0D0C0F0A09080B -+ .quad 0x020100030E0D0C0F, 0x0A09080B06050407 -+ .quad 0x0E0D0C0F0A09080B, 0x0605040702010003 -+ .quad 0x0A09080B06050407, 0x020100030E0D0C0F -+.Lk_sr: // sr -+ .quad 0x0706050403020100, 0x0F0E0D0C0B0A0908 -+ .quad 0x030E09040F0A0500, 0x0B06010C07020D08 -+ .quad 0x0F060D040B020900, 0x070E050C030A0108 -+ .quad 0x0B0E0104070A0D00, 0x0306090C0F020508 -+ -+// -+// "Hot" constants -+// -+.Lk_inv: // inv, inva -+ .quad 0x0E05060F0D080180, 0x040703090A0B0C02 -+ .quad 0x01040A060F0B0780, 0x030D0E0C02050809 -+.Lk_ipt: // input transform (lo, hi) -+ .quad 0xC2B2E8985A2A7000, 0xCABAE09052227808 -+ .quad 0x4C01307D317C4D00, 0xCD80B1FCB0FDCC81 -+.Lk_sbo: // sbou, sbot -+ .quad 0xD0D26D176FBDC700, 0x15AABF7AC502A878 -+ .quad 0xCFE474A55FBB6A00, 0x8E1E90D1412B35FA -+.Lk_sb1: // sb1u, sb1t -+ .quad 0x3618D415FAE22300, 0x3BF7CCC10D2ED9EF -+ .quad 0xB19BE18FCB503E00, 0xA5DF7A6E142AF544 -+.Lk_sb2: // sb2u, sb2t -+ .quad 0x69EB88400AE12900, 0xC2A163C8AB82234A -+ .quad 0xE27A93C60B712400, 0x5EB7E955BC982FCD -+ -+// -+// Key schedule constants -+// -+.Lk_dksd: // decryption key schedule: invskew x*D -+ .quad 0xFEB91A5DA3E44700, 0x0740E3A45A1DBEF9 -+ .quad 0x41C277F4B5368300, 0x5FDC69EAAB289D1E -+.Lk_dksb: // decryption key schedule: invskew x*B -+ .quad 0x9A4FCA1F8550D500, 0x03D653861CC94C99 -+ .quad 0x115BEDA7B6FC4A00, 0xD993256F7E3482C8 -+.Lk_dkse: // decryption key schedule: invskew x*E + 0x63 -+ .quad 0xD5031CCA1FC9D600, 0x53859A4C994F5086 -+ .quad 0xA23196054FDC7BE8, 0xCD5EF96A20B31487 -+.Lk_dks9: // decryption key schedule: invskew x*9 -+ .quad 0xB6116FC87ED9A700, 0x4AED933482255BFC -+ .quad 0x4576516227143300, 0x8BB89FACE9DAFDCE -+ -+.Lk_rcon: // rcon -+ .quad 0x1F8391B9AF9DEEB6, 0x702A98084D7C7D81 -+ -+.Lk_opt: // output transform -+ .quad 0xFF9F4929D6B66000, 0xF7974121DEBE6808 -+ .quad 0x01EDBD5150BCEC00, 0xE10D5DB1B05C0CE0 -+.Lk_deskew: // deskew tables: inverts the sbox's "skew" -+ .quad 0x07E4A34047A4E300, 0x1DFEB95A5DBEF91A -+ .quad 0x5F36B5DC83EA6900, 0x2841C2ABF49D1E77 -+ -+.asciz "Vector Permutation AES for ARMv8, Mike Hamburg (Stanford University)" -+.size _vpaes_consts,.-_vpaes_consts -+.align 6 -+ -+.text -+___ -+ -+{ -+my ($inp,$out,$key) = map("x$_",(0..2)); -+ -+my ($invlo,$invhi,$iptlo,$ipthi,$sbou,$sbot) = map("v$_.16b",(18..23)); -+my ($sb1u,$sb1t,$sb2u,$sb2t) = map("v$_.16b",(24..27)); -+my ($sb9u,$sb9t,$sbdu,$sbdt,$sbbu,$sbbt,$sbeu,$sbet)=map("v$_.16b",(24..31)); -+ -+$code.=<<___; -+## -+## _aes_preheat -+## -+## Fills register %r10 -> .aes_consts (so you can -fPIC) -+## and %xmm9-%xmm15 as specified below. -+## -+.type _vpaes_encrypt_preheat,%function -+.align 4 -+_vpaes_encrypt_preheat: -+ adrp x10, :pg_hi21:.Lk_inv -+ add x10, x10, :lo12:.Lk_inv -+ movi v17.16b, #0x0f -+ ld1 {v18.2d-v19.2d}, [x10],#32 // .Lk_inv -+ ld1 {v20.2d-v23.2d}, [x10],#64 // .Lk_ipt, .Lk_sbo -+ ld1 {v24.2d-v27.2d}, [x10] // .Lk_sb1, .Lk_sb2 -+ ret -+.size _vpaes_encrypt_preheat,.-_vpaes_encrypt_preheat -+ -+## -+## _aes_encrypt_core -+## -+## AES-encrypt %xmm0. -+## -+## Inputs: -+## %xmm0 = input -+## %xmm9-%xmm15 as in _vpaes_preheat -+## (%rdx) = scheduled keys -+## -+## Output in %xmm0 -+## Clobbers %xmm1-%xmm5, %r9, %r10, %r11, %rax -+## Preserves %xmm6 - %xmm8 so you get some local vectors -+## -+## -+.type _vpaes_encrypt_core,%function -+.align 4 -+_vpaes_encrypt_core: -+ mov x9, $key -+ ldr w8, [$key,#240] // pull rounds -+ adrp x11, :pg_hi21:.Lk_mc_forward+16 -+ add x11, x11, :lo12:.Lk_mc_forward+16 -+ // vmovdqa .Lk_ipt(%rip), %xmm2 # iptlo -+ ld1 {v16.2d}, [x9], #16 // vmovdqu (%r9), %xmm5 # round0 key -+ and v1.16b, v7.16b, v17.16b // vpand %xmm9, %xmm0, %xmm1 -+ ushr v0.16b, v7.16b, #4 // vpsrlb \$4, %xmm0, %xmm0 -+ tbl v1.16b, {$iptlo}, v1.16b // vpshufb %xmm1, %xmm2, %xmm1 -+ // vmovdqa .Lk_ipt+16(%rip), %xmm3 # ipthi -+ tbl v2.16b, {$ipthi}, v0.16b // vpshufb %xmm0, %xmm3, %xmm2 -+ eor v0.16b, v1.16b, v16.16b // vpxor %xmm5, %xmm1, %xmm0 -+ eor v0.16b, v0.16b, v2.16b // vpxor %xmm2, %xmm0, %xmm0 -+ b .Lenc_entry -+ -+.align 4 -+.Lenc_loop: -+ // middle of middle round -+ add x10, x11, #0x40 -+ tbl v4.16b, {$sb1t}, v2.16b // vpshufb %xmm2, %xmm13, %xmm4 # 4 = sb1u -+ ld1 {v1.2d}, [x11], #16 // vmovdqa -0x40(%r11,%r10), %xmm1 # .Lk_mc_forward[] -+ tbl v0.16b, {$sb1u}, v3.16b // vpshufb %xmm3, %xmm12, %xmm0 # 0 = sb1t -+ eor v4.16b, v4.16b, v16.16b // vpxor %xmm5, %xmm4, %xmm4 # 4 = sb1u + k -+ tbl v5.16b, {$sb2t}, v2.16b // vpshufb %xmm2, %xmm15, %xmm5 # 4 = sb2u -+ eor v0.16b, v0.16b, v4.16b // vpxor %xmm4, %xmm0, %xmm0 # 0 = A -+ tbl v2.16b, {$sb2u}, v3.16b // vpshufb %xmm3, %xmm14, %xmm2 # 2 = sb2t -+ ld1 {v4.2d}, [x10] // vmovdqa (%r11,%r10), %xmm4 # .Lk_mc_backward[] -+ tbl v3.16b, {v0.16b}, v1.16b // vpshufb %xmm1, %xmm0, %xmm3 # 0 = B -+ eor v2.16b, v2.16b, v5.16b // vpxor %xmm5, %xmm2, %xmm2 # 2 = 2A -+ tbl v0.16b, {v0.16b}, v4.16b // vpshufb %xmm4, %xmm0, %xmm0 # 3 = D -+ eor v3.16b, v3.16b, v2.16b // vpxor %xmm2, %xmm3, %xmm3 # 0 = 2A+B -+ tbl v4.16b, {v3.16b}, v1.16b // vpshufb %xmm1, %xmm3, %xmm4 # 0 = 2B+C -+ eor v0.16b, v0.16b, v3.16b // vpxor %xmm3, %xmm0, %xmm0 # 3 = 2A+B+D -+ and x11, x11, #~(1<<6) // and \$0x30, %r11 # ... mod 4 -+ eor v0.16b, v0.16b, v4.16b // vpxor %xmm4, %xmm0, %xmm0 # 0 = 2A+3B+C+D -+ sub w8, w8, #1 // nr-- -+ -+.Lenc_entry: -+ // top of round -+ and v1.16b, v0.16b, v17.16b // vpand %xmm0, %xmm9, %xmm1 # 0 = k -+ ushr v0.16b, v0.16b, #4 // vpsrlb \$4, %xmm0, %xmm0 # 1 = i -+ tbl v5.16b, {$invhi}, v1.16b // vpshufb %xmm1, %xmm11, %xmm5 # 2 = a/k -+ eor v1.16b, v1.16b, v0.16b // vpxor %xmm0, %xmm1, %xmm1 # 0 = j -+ tbl v3.16b, {$invlo}, v0.16b // vpshufb %xmm0, %xmm10, %xmm3 # 3 = 1/i -+ tbl v4.16b, {$invlo}, v1.16b // vpshufb %xmm1, %xmm10, %xmm4 # 4 = 1/j -+ eor v3.16b, v3.16b, v5.16b // vpxor %xmm5, %xmm3, %xmm3 # 3 = iak = 1/i + a/k -+ eor v4.16b, v4.16b, v5.16b // vpxor %xmm5, %xmm4, %xmm4 # 4 = jak = 1/j + a/k -+ tbl v2.16b, {$invlo}, v3.16b // vpshufb %xmm3, %xmm10, %xmm2 # 2 = 1/iak -+ tbl v3.16b, {$invlo}, v4.16b // vpshufb %xmm4, %xmm10, %xmm3 # 3 = 1/jak -+ eor v2.16b, v2.16b, v1.16b // vpxor %xmm1, %xmm2, %xmm2 # 2 = io -+ eor v3.16b, v3.16b, v0.16b // vpxor %xmm0, %xmm3, %xmm3 # 3 = jo -+ ld1 {v16.2d}, [x9],#16 // vmovdqu (%r9), %xmm5 -+ cbnz w8, .Lenc_loop -+ -+ // middle of last round -+ add x10, x11, #0x80 -+ // vmovdqa -0x60(%r10), %xmm4 # 3 : sbou .Lk_sbo -+ // vmovdqa -0x50(%r10), %xmm0 # 0 : sbot .Lk_sbo+16 -+ tbl v4.16b, {$sbou}, v2.16b // vpshufb %xmm2, %xmm4, %xmm4 # 4 = sbou -+ ld1 {v1.2d}, [x10] // vmovdqa 0x40(%r11,%r10), %xmm1 # .Lk_sr[] -+ tbl v0.16b, {$sbot}, v3.16b // vpshufb %xmm3, %xmm0, %xmm0 # 0 = sb1t -+ eor v4.16b, v4.16b, v16.16b // vpxor %xmm5, %xmm4, %xmm4 # 4 = sb1u + k -+ eor v0.16b, v0.16b, v4.16b // vpxor %xmm4, %xmm0, %xmm0 # 0 = A -+ tbl v0.16b, {v0.16b}, v1.16b // vpshufb %xmm1, %xmm0, %xmm0 -+ ret -+.size _vpaes_encrypt_core,.-_vpaes_encrypt_core -+ -+.globl GFp_vpaes_encrypt -+.type GFp_vpaes_encrypt,%function -+.align 4 -+GFp_vpaes_encrypt: -+ AARCH64_SIGN_LINK_REGISTER -+ stp x29,x30,[sp,#-16]! -+ add x29,sp,#0 -+ -+ ld1 {v7.16b}, [$inp] -+ bl _vpaes_encrypt_preheat -+ bl _vpaes_encrypt_core -+ st1 {v0.16b}, [$out] -+ -+ ldp x29,x30,[sp],#16 -+ AARCH64_VALIDATE_LINK_REGISTER -+ ret -+.size GFp_vpaes_encrypt,.-GFp_vpaes_encrypt -+ -+.type _vpaes_encrypt_2x,%function -+.align 4 -+_vpaes_encrypt_2x: -+ mov x9, $key -+ ldr w8, [$key,#240] // pull rounds -+ adrp x11, :pg_hi21:.Lk_mc_forward+16 -+ add x11, x11, :lo12:.Lk_mc_forward+16 -+ // vmovdqa .Lk_ipt(%rip), %xmm2 # iptlo -+ ld1 {v16.2d}, [x9], #16 // vmovdqu (%r9), %xmm5 # round0 key -+ and v1.16b, v14.16b, v17.16b // vpand %xmm9, %xmm0, %xmm1 -+ ushr v0.16b, v14.16b, #4 // vpsrlb \$4, %xmm0, %xmm0 -+ and v9.16b, v15.16b, v17.16b -+ ushr v8.16b, v15.16b, #4 -+ tbl v1.16b, {$iptlo}, v1.16b // vpshufb %xmm1, %xmm2, %xmm1 -+ tbl v9.16b, {$iptlo}, v9.16b -+ // vmovdqa .Lk_ipt+16(%rip), %xmm3 # ipthi -+ tbl v2.16b, {$ipthi}, v0.16b // vpshufb %xmm0, %xmm3, %xmm2 -+ tbl v10.16b, {$ipthi}, v8.16b -+ eor v0.16b, v1.16b, v16.16b // vpxor %xmm5, %xmm1, %xmm0 -+ eor v8.16b, v9.16b, v16.16b -+ eor v0.16b, v0.16b, v2.16b // vpxor %xmm2, %xmm0, %xmm0 -+ eor v8.16b, v8.16b, v10.16b -+ b .Lenc_2x_entry -+ -+.align 4 -+.Lenc_2x_loop: -+ // middle of middle round -+ add x10, x11, #0x40 -+ tbl v4.16b, {$sb1t}, v2.16b // vpshufb %xmm2, %xmm13, %xmm4 # 4 = sb1u -+ tbl v12.16b, {$sb1t}, v10.16b -+ ld1 {v1.2d}, [x11], #16 // vmovdqa -0x40(%r11,%r10), %xmm1 # .Lk_mc_forward[] -+ tbl v0.16b, {$sb1u}, v3.16b // vpshufb %xmm3, %xmm12, %xmm0 # 0 = sb1t -+ tbl v8.16b, {$sb1u}, v11.16b -+ eor v4.16b, v4.16b, v16.16b // vpxor %xmm5, %xmm4, %xmm4 # 4 = sb1u + k -+ eor v12.16b, v12.16b, v16.16b -+ tbl v5.16b, {$sb2t}, v2.16b // vpshufb %xmm2, %xmm15, %xmm5 # 4 = sb2u -+ tbl v13.16b, {$sb2t}, v10.16b -+ eor v0.16b, v0.16b, v4.16b // vpxor %xmm4, %xmm0, %xmm0 # 0 = A -+ eor v8.16b, v8.16b, v12.16b -+ tbl v2.16b, {$sb2u}, v3.16b // vpshufb %xmm3, %xmm14, %xmm2 # 2 = sb2t -+ tbl v10.16b, {$sb2u}, v11.16b -+ ld1 {v4.2d}, [x10] // vmovdqa (%r11,%r10), %xmm4 # .Lk_mc_backward[] -+ tbl v3.16b, {v0.16b}, v1.16b // vpshufb %xmm1, %xmm0, %xmm3 # 0 = B -+ tbl v11.16b, {v8.16b}, v1.16b -+ eor v2.16b, v2.16b, v5.16b // vpxor %xmm5, %xmm2, %xmm2 # 2 = 2A -+ eor v10.16b, v10.16b, v13.16b -+ tbl v0.16b, {v0.16b}, v4.16b // vpshufb %xmm4, %xmm0, %xmm0 # 3 = D -+ tbl v8.16b, {v8.16b}, v4.16b -+ eor v3.16b, v3.16b, v2.16b // vpxor %xmm2, %xmm3, %xmm3 # 0 = 2A+B -+ eor v11.16b, v11.16b, v10.16b -+ tbl v4.16b, {v3.16b}, v1.16b // vpshufb %xmm1, %xmm3, %xmm4 # 0 = 2B+C -+ tbl v12.16b, {v11.16b},v1.16b -+ eor v0.16b, v0.16b, v3.16b // vpxor %xmm3, %xmm0, %xmm0 # 3 = 2A+B+D -+ eor v8.16b, v8.16b, v11.16b -+ and x11, x11, #~(1<<6) // and \$0x30, %r11 # ... mod 4 -+ eor v0.16b, v0.16b, v4.16b // vpxor %xmm4, %xmm0, %xmm0 # 0 = 2A+3B+C+D -+ eor v8.16b, v8.16b, v12.16b -+ sub w8, w8, #1 // nr-- -+ -+.Lenc_2x_entry: -+ // top of round -+ and v1.16b, v0.16b, v17.16b // vpand %xmm0, %xmm9, %xmm1 # 0 = k -+ ushr v0.16b, v0.16b, #4 // vpsrlb \$4, %xmm0, %xmm0 # 1 = i -+ and v9.16b, v8.16b, v17.16b -+ ushr v8.16b, v8.16b, #4 -+ tbl v5.16b, {$invhi},v1.16b // vpshufb %xmm1, %xmm11, %xmm5 # 2 = a/k -+ tbl v13.16b, {$invhi},v9.16b -+ eor v1.16b, v1.16b, v0.16b // vpxor %xmm0, %xmm1, %xmm1 # 0 = j -+ eor v9.16b, v9.16b, v8.16b -+ tbl v3.16b, {$invlo},v0.16b // vpshufb %xmm0, %xmm10, %xmm3 # 3 = 1/i -+ tbl v11.16b, {$invlo},v8.16b -+ tbl v4.16b, {$invlo},v1.16b // vpshufb %xmm1, %xmm10, %xmm4 # 4 = 1/j -+ tbl v12.16b, {$invlo},v9.16b -+ eor v3.16b, v3.16b, v5.16b // vpxor %xmm5, %xmm3, %xmm3 # 3 = iak = 1/i + a/k -+ eor v11.16b, v11.16b, v13.16b -+ eor v4.16b, v4.16b, v5.16b // vpxor %xmm5, %xmm4, %xmm4 # 4 = jak = 1/j + a/k -+ eor v12.16b, v12.16b, v13.16b -+ tbl v2.16b, {$invlo},v3.16b // vpshufb %xmm3, %xmm10, %xmm2 # 2 = 1/iak -+ tbl v10.16b, {$invlo},v11.16b -+ tbl v3.16b, {$invlo},v4.16b // vpshufb %xmm4, %xmm10, %xmm3 # 3 = 1/jak -+ tbl v11.16b, {$invlo},v12.16b -+ eor v2.16b, v2.16b, v1.16b // vpxor %xmm1, %xmm2, %xmm2 # 2 = io -+ eor v10.16b, v10.16b, v9.16b -+ eor v3.16b, v3.16b, v0.16b // vpxor %xmm0, %xmm3, %xmm3 # 3 = jo -+ eor v11.16b, v11.16b, v8.16b -+ ld1 {v16.2d}, [x9],#16 // vmovdqu (%r9), %xmm5 -+ cbnz w8, .Lenc_2x_loop -+ -+ // middle of last round -+ add x10, x11, #0x80 -+ // vmovdqa -0x60(%r10), %xmm4 # 3 : sbou .Lk_sbo -+ // vmovdqa -0x50(%r10), %xmm0 # 0 : sbot .Lk_sbo+16 -+ tbl v4.16b, {$sbou}, v2.16b // vpshufb %xmm2, %xmm4, %xmm4 # 4 = sbou -+ tbl v12.16b, {$sbou}, v10.16b -+ ld1 {v1.2d}, [x10] // vmovdqa 0x40(%r11,%r10), %xmm1 # .Lk_sr[] -+ tbl v0.16b, {$sbot}, v3.16b // vpshufb %xmm3, %xmm0, %xmm0 # 0 = sb1t -+ tbl v8.16b, {$sbot}, v11.16b -+ eor v4.16b, v4.16b, v16.16b // vpxor %xmm5, %xmm4, %xmm4 # 4 = sb1u + k -+ eor v12.16b, v12.16b, v16.16b -+ eor v0.16b, v0.16b, v4.16b // vpxor %xmm4, %xmm0, %xmm0 # 0 = A -+ eor v8.16b, v8.16b, v12.16b -+ tbl v0.16b, {v0.16b},v1.16b // vpshufb %xmm1, %xmm0, %xmm0 -+ tbl v1.16b, {v8.16b},v1.16b -+ ret -+.size _vpaes_encrypt_2x,.-_vpaes_encrypt_2x -+___ -+} -+{ -+my ($inp,$bits,$out,$dir)=("x0","w1","x2","w3"); -+my ($invlo,$invhi,$iptlo,$ipthi,$rcon) = map("v$_.16b",(18..21,8)); -+ -+$code.=<<___; -+######################################################## -+## ## -+## AES key schedule ## -+## ## -+######################################################## -+.type _vpaes_key_preheat,%function -+.align 4 -+_vpaes_key_preheat: -+ adrp x10, :pg_hi21:.Lk_inv -+ add x10, x10, :lo12:.Lk_inv -+ movi v16.16b, #0x5b // .Lk_s63 -+ adrp x11, :pg_hi21:.Lk_sb1 -+ add x11, x11, :lo12:.Lk_sb1 -+ movi v17.16b, #0x0f // .Lk_s0F -+ ld1 {v18.2d-v21.2d}, [x10] // .Lk_inv, .Lk_ipt -+ adrp x10, :pg_hi21:.Lk_dksd -+ add x10, x10, :lo12:.Lk_dksd -+ ld1 {v22.2d-v23.2d}, [x11] // .Lk_sb1 -+ adrp x11, :pg_hi21:.Lk_mc_forward -+ add x11, x11, :lo12:.Lk_mc_forward -+ ld1 {v24.2d-v27.2d}, [x10],#64 // .Lk_dksd, .Lk_dksb -+ ld1 {v28.2d-v31.2d}, [x10],#64 // .Lk_dkse, .Lk_dks9 -+ ld1 {v8.2d}, [x10] // .Lk_rcon -+ ld1 {v9.2d}, [x11] // .Lk_mc_forward[0] -+ ret -+.size _vpaes_key_preheat,.-_vpaes_key_preheat -+ -+.type _vpaes_schedule_core,%function -+.align 4 -+_vpaes_schedule_core: -+ AARCH64_SIGN_LINK_REGISTER -+ stp x29, x30, [sp,#-16]! -+ add x29,sp,#0 -+ -+ bl _vpaes_key_preheat // load the tables -+ -+ ld1 {v0.16b}, [$inp],#16 // vmovdqu (%rdi), %xmm0 # load key (unaligned) -+ -+ // input transform -+ mov v3.16b, v0.16b // vmovdqa %xmm0, %xmm3 -+ bl _vpaes_schedule_transform -+ mov v7.16b, v0.16b // vmovdqa %xmm0, %xmm7 -+ -+ adrp x10, :pg_hi21:.Lk_sr // lea .Lk_sr(%rip),%r10 -+ add x10, x10, :lo12:.Lk_sr -+ -+ add x8, x8, x10 -+ -+ // encrypting, output zeroth round key after transform -+ st1 {v0.2d}, [$out] // vmovdqu %xmm0, (%rdx) -+ -+ cmp $bits, #192 // cmp \$192, %esi -+ b.hi .Lschedule_256 -+ b.eq .Lschedule_192 -+ // 128: fall though -+ -+## -+## .schedule_128 -+## -+## 128-bit specific part of key schedule. -+## -+## This schedule is really simple, because all its parts -+## are accomplished by the subroutines. -+## -+.Lschedule_128: -+ mov $inp, #10 // mov \$10, %esi -+ -+.Loop_schedule_128: -+ sub $inp, $inp, #1 // dec %esi -+ bl _vpaes_schedule_round -+ cbz $inp, .Lschedule_mangle_last -+ bl _vpaes_schedule_mangle // write output -+ b .Loop_schedule_128 -+ -+## -+## .aes_schedule_192 -+## -+## 192-bit specific part of key schedule. -+## -+## The main body of this schedule is the same as the 128-bit -+## schedule, but with more smearing. The long, high side is -+## stored in %xmm7 as before, and the short, low side is in -+## the high bits of %xmm6. -+## -+## This schedule is somewhat nastier, however, because each -+## round produces 192 bits of key material, or 1.5 round keys. -+## Therefore, on each cycle we do 2 rounds and produce 3 round -+## keys. -+## -+.align 4 -+.Lschedule_192: -+ sub $inp, $inp, #8 -+ ld1 {v0.16b}, [$inp] // vmovdqu 8(%rdi),%xmm0 # load key part 2 (very unaligned) -+ bl _vpaes_schedule_transform // input transform -+ mov v6.16b, v0.16b // vmovdqa %xmm0, %xmm6 # save short part -+ eor v4.16b, v4.16b, v4.16b // vpxor %xmm4, %xmm4, %xmm4 # clear 4 -+ ins v6.d[0], v4.d[0] // vmovhlps %xmm4, %xmm6, %xmm6 # clobber low side with zeros -+ mov $inp, #4 // mov \$4, %esi -+ -+.Loop_schedule_192: -+ sub $inp, $inp, #1 // dec %esi -+ bl _vpaes_schedule_round -+ ext v0.16b, v6.16b, v0.16b, #8 // vpalignr \$8,%xmm6,%xmm0,%xmm0 -+ bl _vpaes_schedule_mangle // save key n -+ bl _vpaes_schedule_192_smear -+ bl _vpaes_schedule_mangle // save key n+1 -+ bl _vpaes_schedule_round -+ cbz $inp, .Lschedule_mangle_last -+ bl _vpaes_schedule_mangle // save key n+2 -+ bl _vpaes_schedule_192_smear -+ b .Loop_schedule_192 -+ -+## -+## .aes_schedule_256 -+## -+## 256-bit specific part of key schedule. -+## -+## The structure here is very similar to the 128-bit -+## schedule, but with an additional "low side" in -+## %xmm6. The low side's rounds are the same as the -+## high side's, except no rcon and no rotation. -+## -+.align 4 -+.Lschedule_256: -+ ld1 {v0.16b}, [$inp] // vmovdqu 16(%rdi),%xmm0 # load key part 2 (unaligned) -+ bl _vpaes_schedule_transform // input transform -+ mov $inp, #7 // mov \$7, %esi -+ -+.Loop_schedule_256: -+ sub $inp, $inp, #1 // dec %esi -+ bl _vpaes_schedule_mangle // output low result -+ mov v6.16b, v0.16b // vmovdqa %xmm0, %xmm6 # save cur_lo in xmm6 -+ -+ // high round -+ bl _vpaes_schedule_round -+ cbz $inp, .Lschedule_mangle_last -+ bl _vpaes_schedule_mangle -+ -+ // low round. swap xmm7 and xmm6 -+ dup v0.4s, v0.s[3] // vpshufd \$0xFF, %xmm0, %xmm0 -+ movi v4.16b, #0 -+ mov v5.16b, v7.16b // vmovdqa %xmm7, %xmm5 -+ mov v7.16b, v6.16b // vmovdqa %xmm6, %xmm7 -+ bl _vpaes_schedule_low_round -+ mov v7.16b, v5.16b // vmovdqa %xmm5, %xmm7 -+ -+ b .Loop_schedule_256 -+ -+## -+## .aes_schedule_mangle_last -+## -+## Mangler for last round of key schedule -+## Mangles %xmm0 -+## when encrypting, outputs out(%xmm0) ^ 63 -+## when decrypting, outputs unskew(%xmm0) -+## -+## Always called right before return... jumps to cleanup and exits -+## -+.align 4 -+.Lschedule_mangle_last: -+ // schedule last round key from xmm0 -+ adrp x11, :pg_hi21:.Lk_deskew // lea .Lk_deskew(%rip),%r11 # prepare to deskew -+ add x11, x11, :lo12:.Lk_deskew -+ -+ cbnz $dir, .Lschedule_mangle_last_dec -+ -+ // encrypting -+ ld1 {v1.2d}, [x8] // vmovdqa (%r8,%r10),%xmm1 -+ adrp x11, :pg_hi21:.Lk_opt // lea .Lk_opt(%rip), %r11 # prepare to output transform -+ add x11, x11, :lo12:.Lk_opt -+ add $out, $out, #32 // add \$32, %rdx -+ tbl v0.16b, {v0.16b}, v1.16b // vpshufb %xmm1, %xmm0, %xmm0 # output permute -+ -+.Lschedule_mangle_last_dec: -+ ld1 {v20.2d-v21.2d}, [x11] // reload constants -+ sub $out, $out, #16 // add \$-16, %rdx -+ eor v0.16b, v0.16b, v16.16b // vpxor .Lk_s63(%rip), %xmm0, %xmm0 -+ bl _vpaes_schedule_transform // output transform -+ st1 {v0.2d}, [$out] // vmovdqu %xmm0, (%rdx) # save last key -+ -+ // cleanup -+ eor v0.16b, v0.16b, v0.16b // vpxor %xmm0, %xmm0, %xmm0 -+ eor v1.16b, v1.16b, v1.16b // vpxor %xmm1, %xmm1, %xmm1 -+ eor v2.16b, v2.16b, v2.16b // vpxor %xmm2, %xmm2, %xmm2 -+ eor v3.16b, v3.16b, v3.16b // vpxor %xmm3, %xmm3, %xmm3 -+ eor v4.16b, v4.16b, v4.16b // vpxor %xmm4, %xmm4, %xmm4 -+ eor v5.16b, v5.16b, v5.16b // vpxor %xmm5, %xmm5, %xmm5 -+ eor v6.16b, v6.16b, v6.16b // vpxor %xmm6, %xmm6, %xmm6 -+ eor v7.16b, v7.16b, v7.16b // vpxor %xmm7, %xmm7, %xmm7 -+ ldp x29, x30, [sp],#16 -+ AARCH64_VALIDATE_LINK_REGISTER -+ ret -+.size _vpaes_schedule_core,.-_vpaes_schedule_core -+ -+## -+## .aes_schedule_192_smear -+## -+## Smear the short, low side in the 192-bit key schedule. -+## -+## Inputs: -+## %xmm7: high side, b a x y -+## %xmm6: low side, d c 0 0 -+## %xmm13: 0 -+## -+## Outputs: -+## %xmm6: b+c+d b+c 0 0 -+## %xmm0: b+c+d b+c b a -+## -+.type _vpaes_schedule_192_smear,%function -+.align 4 -+_vpaes_schedule_192_smear: -+ movi v1.16b, #0 -+ dup v0.4s, v7.s[3] -+ ins v1.s[3], v6.s[2] // vpshufd \$0x80, %xmm6, %xmm1 # d c 0 0 -> c 0 0 0 -+ ins v0.s[0], v7.s[2] // vpshufd \$0xFE, %xmm7, %xmm0 # b a _ _ -> b b b a -+ eor v6.16b, v6.16b, v1.16b // vpxor %xmm1, %xmm6, %xmm6 # -> c+d c 0 0 -+ eor v1.16b, v1.16b, v1.16b // vpxor %xmm1, %xmm1, %xmm1 -+ eor v6.16b, v6.16b, v0.16b // vpxor %xmm0, %xmm6, %xmm6 # -> b+c+d b+c b a -+ mov v0.16b, v6.16b // vmovdqa %xmm6, %xmm0 -+ ins v6.d[0], v1.d[0] // vmovhlps %xmm1, %xmm6, %xmm6 # clobber low side with zeros -+ ret -+.size _vpaes_schedule_192_smear,.-_vpaes_schedule_192_smear -+ -+## -+## .aes_schedule_round -+## -+## Runs one main round of the key schedule on %xmm0, %xmm7 -+## -+## Specifically, runs subbytes on the high dword of %xmm0 -+## then rotates it by one byte and xors into the low dword of -+## %xmm7. -+## -+## Adds rcon from low byte of %xmm8, then rotates %xmm8 for -+## next rcon. -+## -+## Smears the dwords of %xmm7 by xoring the low into the -+## second low, result into third, result into highest. -+## -+## Returns results in %xmm7 = %xmm0. -+## Clobbers %xmm1-%xmm4, %r11. -+## -+.type _vpaes_schedule_round,%function -+.align 4 -+_vpaes_schedule_round: -+ // extract rcon from xmm8 -+ movi v4.16b, #0 // vpxor %xmm4, %xmm4, %xmm4 -+ ext v1.16b, $rcon, v4.16b, #15 // vpalignr \$15, %xmm8, %xmm4, %xmm1 -+ ext $rcon, $rcon, $rcon, #15 // vpalignr \$15, %xmm8, %xmm8, %xmm8 -+ eor v7.16b, v7.16b, v1.16b // vpxor %xmm1, %xmm7, %xmm7 -+ -+ // rotate -+ dup v0.4s, v0.s[3] // vpshufd \$0xFF, %xmm0, %xmm0 -+ ext v0.16b, v0.16b, v0.16b, #1 // vpalignr \$1, %xmm0, %xmm0, %xmm0 -+ -+ // fall through... -+ -+ // low round: same as high round, but no rotation and no rcon. -+_vpaes_schedule_low_round: -+ // smear xmm7 -+ ext v1.16b, v4.16b, v7.16b, #12 // vpslldq \$4, %xmm7, %xmm1 -+ eor v7.16b, v7.16b, v1.16b // vpxor %xmm1, %xmm7, %xmm7 -+ ext v4.16b, v4.16b, v7.16b, #8 // vpslldq \$8, %xmm7, %xmm4 -+ -+ // subbytes -+ and v1.16b, v0.16b, v17.16b // vpand %xmm9, %xmm0, %xmm1 # 0 = k -+ ushr v0.16b, v0.16b, #4 // vpsrlb \$4, %xmm0, %xmm0 # 1 = i -+ eor v7.16b, v7.16b, v4.16b // vpxor %xmm4, %xmm7, %xmm7 -+ tbl v2.16b, {$invhi}, v1.16b // vpshufb %xmm1, %xmm11, %xmm2 # 2 = a/k -+ eor v1.16b, v1.16b, v0.16b // vpxor %xmm0, %xmm1, %xmm1 # 0 = j -+ tbl v3.16b, {$invlo}, v0.16b // vpshufb %xmm0, %xmm10, %xmm3 # 3 = 1/i -+ eor v3.16b, v3.16b, v2.16b // vpxor %xmm2, %xmm3, %xmm3 # 3 = iak = 1/i + a/k -+ tbl v4.16b, {$invlo}, v1.16b // vpshufb %xmm1, %xmm10, %xmm4 # 4 = 1/j -+ eor v7.16b, v7.16b, v16.16b // vpxor .Lk_s63(%rip), %xmm7, %xmm7 -+ tbl v3.16b, {$invlo}, v3.16b // vpshufb %xmm3, %xmm10, %xmm3 # 2 = 1/iak -+ eor v4.16b, v4.16b, v2.16b // vpxor %xmm2, %xmm4, %xmm4 # 4 = jak = 1/j + a/k -+ tbl v2.16b, {$invlo}, v4.16b // vpshufb %xmm4, %xmm10, %xmm2 # 3 = 1/jak -+ eor v3.16b, v3.16b, v1.16b // vpxor %xmm1, %xmm3, %xmm3 # 2 = io -+ eor v2.16b, v2.16b, v0.16b // vpxor %xmm0, %xmm2, %xmm2 # 3 = jo -+ tbl v4.16b, {v23.16b}, v3.16b // vpshufb %xmm3, %xmm13, %xmm4 # 4 = sbou -+ tbl v1.16b, {v22.16b}, v2.16b // vpshufb %xmm2, %xmm12, %xmm1 # 0 = sb1t -+ eor v1.16b, v1.16b, v4.16b // vpxor %xmm4, %xmm1, %xmm1 # 0 = sbox output -+ -+ // add in smeared stuff -+ eor v0.16b, v1.16b, v7.16b // vpxor %xmm7, %xmm1, %xmm0 -+ eor v7.16b, v1.16b, v7.16b // vmovdqa %xmm0, %xmm7 -+ ret -+.size _vpaes_schedule_round,.-_vpaes_schedule_round -+ -+## -+## .aes_schedule_transform -+## -+## Linear-transform %xmm0 according to tables at (%r11) -+## -+## Requires that %xmm9 = 0x0F0F... as in preheat -+## Output in %xmm0 -+## Clobbers %xmm1, %xmm2 -+## -+.type _vpaes_schedule_transform,%function -+.align 4 -+_vpaes_schedule_transform: -+ and v1.16b, v0.16b, v17.16b // vpand %xmm9, %xmm0, %xmm1 -+ ushr v0.16b, v0.16b, #4 // vpsrlb \$4, %xmm0, %xmm0 -+ // vmovdqa (%r11), %xmm2 # lo -+ tbl v2.16b, {$iptlo}, v1.16b // vpshufb %xmm1, %xmm2, %xmm2 -+ // vmovdqa 16(%r11), %xmm1 # hi -+ tbl v0.16b, {$ipthi}, v0.16b // vpshufb %xmm0, %xmm1, %xmm0 -+ eor v0.16b, v0.16b, v2.16b // vpxor %xmm2, %xmm0, %xmm0 -+ ret -+.size _vpaes_schedule_transform,.-_vpaes_schedule_transform -+ -+## -+## .aes_schedule_mangle -+## -+## Mangle xmm0 from (basis-transformed) standard version -+## to our version. -+## -+## On encrypt, -+## xor with 0x63 -+## multiply by circulant 0,1,1,1 -+## apply shiftrows transform -+## -+## On decrypt, -+## xor with 0x63 -+## multiply by "inverse mixcolumns" circulant E,B,D,9 -+## deskew -+## apply shiftrows transform -+## -+## -+## Writes out to (%rdx), and increments or decrements it -+## Keeps track of round number mod 4 in %r8 -+## Preserves xmm0 -+## Clobbers xmm1-xmm5 -+## -+.type _vpaes_schedule_mangle,%function -+.align 4 -+_vpaes_schedule_mangle: -+ mov v4.16b, v0.16b // vmovdqa %xmm0, %xmm4 # save xmm0 for later -+ // vmovdqa .Lk_mc_forward(%rip),%xmm5 -+ -+ // encrypting -+ eor v4.16b, v0.16b, v16.16b // vpxor .Lk_s63(%rip), %xmm0, %xmm4 -+ add $out, $out, #16 // add \$16, %rdx -+ tbl v4.16b, {v4.16b}, v9.16b // vpshufb %xmm5, %xmm4, %xmm4 -+ tbl v1.16b, {v4.16b}, v9.16b // vpshufb %xmm5, %xmm4, %xmm1 -+ tbl v3.16b, {v1.16b}, v9.16b // vpshufb %xmm5, %xmm1, %xmm3 -+ eor v4.16b, v4.16b, v1.16b // vpxor %xmm1, %xmm4, %xmm4 -+ ld1 {v1.2d}, [x8] // vmovdqa (%r8,%r10), %xmm1 -+ eor v3.16b, v3.16b, v4.16b // vpxor %xmm4, %xmm3, %xmm3 -+ -+.Lschedule_mangle_both: -+ tbl v3.16b, {v3.16b}, v1.16b // vpshufb %xmm1, %xmm3, %xmm3 -+ add x8, x8, #64-16 // add \$-16, %r8 -+ and x8, x8, #~(1<<6) // and \$0x30, %r8 -+ st1 {v3.2d}, [$out] // vmovdqu %xmm3, (%rdx) -+ ret -+.size _vpaes_schedule_mangle,.-_vpaes_schedule_mangle -+ -+.globl GFp_vpaes_set_encrypt_key -+.type GFp_vpaes_set_encrypt_key,%function -+.align 4 -+GFp_vpaes_set_encrypt_key: -+ AARCH64_SIGN_LINK_REGISTER -+ stp x29,x30,[sp,#-16]! -+ add x29,sp,#0 -+ stp d8,d9,[sp,#-16]! // ABI spec says so -+ -+ lsr w9, $bits, #5 // shr \$5,%eax -+ add w9, w9, #5 // \$5,%eax -+ str w9, [$out,#240] // mov %eax,240(%rdx) # AES_KEY->rounds = nbits/32+5; -+ -+ mov $dir, #0 // mov \$0,%ecx -+ mov x8, #0x30 // mov \$0x30,%r8d -+ bl _vpaes_schedule_core -+ eor x0, x0, x0 -+ -+ ldp d8,d9,[sp],#16 -+ ldp x29,x30,[sp],#16 -+ AARCH64_VALIDATE_LINK_REGISTER -+ ret -+.size GFp_vpaes_set_encrypt_key,.-GFp_vpaes_set_encrypt_key -+___ -+} -+{ -+my ($inp,$out,$len,$key,$ivec) = map("x$_",(0..4)); -+my ($ctr, $ctr_tmp) = ("w6", "w7"); -+ -+# void GFp_vpaes_ctr32_encrypt_blocks(const uint8_t *in, uint8_t *out, size_t len, -+# const AES_KEY *key, const uint8_t ivec[16]); -+$code.=<<___; -+.globl GFp_vpaes_ctr32_encrypt_blocks -+.type GFp_vpaes_ctr32_encrypt_blocks,%function -+.align 4 -+GFp_vpaes_ctr32_encrypt_blocks: -+ AARCH64_SIGN_LINK_REGISTER -+ stp x29,x30,[sp,#-16]! -+ add x29,sp,#0 -+ stp d8,d9,[sp,#-16]! // ABI spec says so -+ stp d10,d11,[sp,#-16]! -+ stp d12,d13,[sp,#-16]! -+ stp d14,d15,[sp,#-16]! -+ -+ cbz $len, .Lctr32_done -+ -+ // Note, unlike the other functions, $len here is measured in blocks, -+ // not bytes. -+ mov x17, $len -+ mov x2, $key -+ -+ // Load the IV and counter portion. -+ ldr $ctr, [$ivec, #12] -+ ld1 {v7.16b}, [$ivec] -+ -+ bl _vpaes_encrypt_preheat -+ tst x17, #1 -+ rev $ctr, $ctr // The counter is big-endian. -+ b.eq .Lctr32_prep_loop -+ -+ // Handle one block so the remaining block count is even for -+ // _vpaes_encrypt_2x. -+ ld1 {v6.16b}, [$inp], #16 // Load input ahead of time -+ bl _vpaes_encrypt_core -+ eor v0.16b, v0.16b, v6.16b // XOR input and result -+ st1 {v0.16b}, [$out], #16 -+ subs x17, x17, #1 -+ // Update the counter. -+ add $ctr, $ctr, #1 -+ rev $ctr_tmp, $ctr -+ mov v7.s[3], $ctr_tmp -+ b.ls .Lctr32_done -+ -+.Lctr32_prep_loop: -+ // _vpaes_encrypt_core takes its input from v7, while _vpaes_encrypt_2x -+ // uses v14 and v15. -+ mov v15.16b, v7.16b -+ mov v14.16b, v7.16b -+ add $ctr, $ctr, #1 -+ rev $ctr_tmp, $ctr -+ mov v15.s[3], $ctr_tmp -+ -+.Lctr32_loop: -+ ld1 {v6.16b,v7.16b}, [$inp], #32 // Load input ahead of time -+ bl _vpaes_encrypt_2x -+ eor v0.16b, v0.16b, v6.16b // XOR input and result -+ eor v1.16b, v1.16b, v7.16b // XOR input and result (#2) -+ st1 {v0.16b,v1.16b}, [$out], #32 -+ subs x17, x17, #2 -+ // Update the counter. -+ add $ctr_tmp, $ctr, #1 -+ add $ctr, $ctr, #2 -+ rev $ctr_tmp, $ctr_tmp -+ mov v14.s[3], $ctr_tmp -+ rev $ctr_tmp, $ctr -+ mov v15.s[3], $ctr_tmp -+ b.hi .Lctr32_loop -+ -+.Lctr32_done: -+ ldp d14,d15,[sp],#16 -+ ldp d12,d13,[sp],#16 -+ ldp d10,d11,[sp],#16 -+ ldp d8,d9,[sp],#16 -+ ldp x29,x30,[sp],#16 -+ AARCH64_VALIDATE_LINK_REGISTER -+ ret -+.size GFp_vpaes_ctr32_encrypt_blocks,.-GFp_vpaes_ctr32_encrypt_blocks -+___ -+} -+ -+print $code; -+ -+close STDOUT or die "error closing STDOUT"; -diff --git a/crypto/fipsmodule/modes/asm/ghash-neon-armv8.pl b/crypto/fipsmodule/modes/asm/ghash-neon-armv8.pl -new file mode 100644 -index 0000000..7e52ad6 ---- /dev/null -+++ b/crypto/fipsmodule/modes/asm/ghash-neon-armv8.pl -@@ -0,0 +1,294 @@ -+#! /usr/bin/env perl -+# Copyright 2010-2016 The OpenSSL Project Authors. All Rights Reserved. -+# -+# Licensed under the OpenSSL license (the "License"). You may not use -+# this file except in compliance with the License. You can obtain a copy -+# in the file LICENSE in the source distribution or at -+# https://www.openssl.org/source/license.html -+ -+# ==================================================================== -+# Written by Andy Polyakov for the OpenSSL -+# project. The module is, however, dual licensed under OpenSSL and -+# CRYPTOGAMS licenses depending on where you obtain it. For further -+# details see http://www.openssl.org/~appro/cryptogams/. -+# ==================================================================== -+ -+# This file was adapted to AArch64 from the 32-bit version in ghash-armv4.pl. It -+# implements the multiplication algorithm described in: -+# -+# Câmara, D.; Gouvêa, C. P. L.; López, J. & Dahab, R.: Fast Software -+# Polynomial Multiplication on ARM Processors using the NEON Engine. -+# -+# http://conradoplg.cryptoland.net/files/2010/12/mocrysen13.pdf -+# -+# The main distinction to keep in mind between 32-bit NEON and AArch64 SIMD is -+# AArch64 cannot compute over the upper halves of SIMD registers. In 32-bit -+# NEON, the low and high halves of the 128-bit register q0 are accessible as -+# 64-bit registers d0 and d1, respectively. In AArch64, dN is the lower half of -+# vN. Where the 32-bit version would use the upper half, this file must keep -+# halves in separate registers. -+# -+# The other distinction is in syntax. 32-bit NEON embeds lane information in the -+# instruction name, while AArch64 uses suffixes on the registers. For instance, -+# left-shifting 64-bit lanes of a SIMD register in 32-bit would be written: -+# -+# vshl.i64 q0, q0, #1 -+# -+# in 64-bit, it would be written: -+# -+# shl v0.2d, v0.2d, #1 -+# -+# See Programmer's Guide for ARMv8-A, section 7 for details. -+# http://infocenter.arm.com/help/topic/com.arm.doc.den0024a/DEN0024A_v8_architecture_PG.pdf -+# -+# Finally, note the 8-bit and 64-bit polynomial multipliers in AArch64 differ -+# only by suffix. pmull vR.8h, vA.8b, vB.8b multiplies eight 8-bit polynomials -+# and is always available. pmull vR.1q, vA.1d, vB.1d multiplies a 64-bit -+# polynomial and is conditioned on the PMULL extension. This file emulates the -+# latter with the former. -+ -+use strict; -+ -+my $flavour = shift; -+my $output; -+if ($flavour=~/\w[\w\-]*\.\w+$/) { $output=$flavour; undef $flavour; } -+else { while (($output=shift) && ($output!~/\w[\w\-]*\.\w+$/)) {} } -+ -+if ($flavour && $flavour ne "void") { -+ $0 =~ m/(.*[\/\\])[^\/\\]+$/; -+ my $dir = $1; -+ my $xlate; -+ ( $xlate="${dir}arm-xlate.pl" and -f $xlate ) or -+ ( $xlate="${dir}../../../perlasm/arm-xlate.pl" and -f $xlate) or -+ die "can't locate arm-xlate.pl"; -+ -+ open OUT,"| \"$^X\" $xlate $flavour $output"; -+ *STDOUT=*OUT; -+} else { -+ open OUT,">$output"; -+ *STDOUT=*OUT; -+} -+ -+my ($Xi, $Htbl, $inp, $len) = map("x$_", (0..3)); # argument block -+my ($Xl, $Xm, $Xh, $INlo, $INhi) = map("v$_", (0..4)); -+my ($Hlo, $Hhi, $Hhl) = map("v$_", (5..7)); -+# d8-d15 are callee-saved, so avoid v8-v15. AArch64 SIMD has plenty of registers -+# to spare. -+my ($t0, $t1, $t2, $t3) = map("v$_", (16..19)); -+my ($t0l_t1l, $t0h_t1h, $t2l_t3l, $t2h_t3h) = map("v$_", (20..23)); -+my ($k48_k32, $k16_k0) = map("v$_", (24..25)); -+ -+my $code = ""; -+ -+# clmul64x64 emits code which emulates pmull $r.1q, $a.1d, $b.1d. $r, $a, and $b -+# must be distinct from $t* and $k*. $t* are clobbered by the emitted code. -+sub clmul64x64 { -+my ($r, $a, $b) = @_; -+$code .= <<___; -+ ext $t0.8b, $a.8b, $a.8b, #1 // A1 -+ pmull $t0.8h, $t0.8b, $b.8b // F = A1*B -+ ext $r.8b, $b.8b, $b.8b, #1 // B1 -+ pmull $r.8h, $a.8b, $r.8b // E = A*B1 -+ ext $t1.8b, $a.8b, $a.8b, #2 // A2 -+ pmull $t1.8h, $t1.8b, $b.8b // H = A2*B -+ ext $t3.8b, $b.8b, $b.8b, #2 // B2 -+ pmull $t3.8h, $a.8b, $t3.8b // G = A*B2 -+ ext $t2.8b, $a.8b, $a.8b, #3 // A3 -+ eor $t0.16b, $t0.16b, $r.16b // L = E + F -+ pmull $t2.8h, $t2.8b, $b.8b // J = A3*B -+ ext $r.8b, $b.8b, $b.8b, #3 // B3 -+ eor $t1.16b, $t1.16b, $t3.16b // M = G + H -+ pmull $r.8h, $a.8b, $r.8b // I = A*B3 -+ -+ // Here we diverge from the 32-bit version. It computes the following -+ // (instructions reordered for clarity): -+ // -+ // veor \$t0#lo, \$t0#lo, \$t0#hi @ t0 = P0 + P1 (L) -+ // vand \$t0#hi, \$t0#hi, \$k48 -+ // veor \$t0#lo, \$t0#lo, \$t0#hi -+ // -+ // veor \$t1#lo, \$t1#lo, \$t1#hi @ t1 = P2 + P3 (M) -+ // vand \$t1#hi, \$t1#hi, \$k32 -+ // veor \$t1#lo, \$t1#lo, \$t1#hi -+ // -+ // veor \$t2#lo, \$t2#lo, \$t2#hi @ t2 = P4 + P5 (N) -+ // vand \$t2#hi, \$t2#hi, \$k16 -+ // veor \$t2#lo, \$t2#lo, \$t2#hi -+ // -+ // veor \$t3#lo, \$t3#lo, \$t3#hi @ t3 = P6 + P7 (K) -+ // vmov.i64 \$t3#hi, #0 -+ // -+ // \$kN is a mask with the bottom N bits set. AArch64 cannot compute on -+ // upper halves of SIMD registers, so we must split each half into -+ // separate registers. To compensate, we pair computations up and -+ // parallelize. -+ -+ ext $t3.8b, $b.8b, $b.8b, #4 // B4 -+ eor $t2.16b, $t2.16b, $r.16b // N = I + J -+ pmull $t3.8h, $a.8b, $t3.8b // K = A*B4 -+ -+ // This can probably be scheduled more efficiently. For now, we just -+ // pair up independent instructions. -+ zip1 $t0l_t1l.2d, $t0.2d, $t1.2d -+ zip1 $t2l_t3l.2d, $t2.2d, $t3.2d -+ zip2 $t0h_t1h.2d, $t0.2d, $t1.2d -+ zip2 $t2h_t3h.2d, $t2.2d, $t3.2d -+ eor $t0l_t1l.16b, $t0l_t1l.16b, $t0h_t1h.16b -+ eor $t2l_t3l.16b, $t2l_t3l.16b, $t2h_t3h.16b -+ and $t0h_t1h.16b, $t0h_t1h.16b, $k48_k32.16b -+ and $t2h_t3h.16b, $t2h_t3h.16b, $k16_k0.16b -+ eor $t0l_t1l.16b, $t0l_t1l.16b, $t0h_t1h.16b -+ eor $t2l_t3l.16b, $t2l_t3l.16b, $t2h_t3h.16b -+ zip1 $t0.2d, $t0l_t1l.2d, $t0h_t1h.2d -+ zip1 $t2.2d, $t2l_t3l.2d, $t2h_t3h.2d -+ zip2 $t1.2d, $t0l_t1l.2d, $t0h_t1h.2d -+ zip2 $t3.2d, $t2l_t3l.2d, $t2h_t3h.2d -+ -+ ext $t0.16b, $t0.16b, $t0.16b, #15 // t0 = t0 << 8 -+ ext $t1.16b, $t1.16b, $t1.16b, #14 // t1 = t1 << 16 -+ pmull $r.8h, $a.8b, $b.8b // D = A*B -+ ext $t3.16b, $t3.16b, $t3.16b, #12 // t3 = t3 << 32 -+ ext $t2.16b, $t2.16b, $t2.16b, #13 // t2 = t2 << 24 -+ eor $t0.16b, $t0.16b, $t1.16b -+ eor $t2.16b, $t2.16b, $t3.16b -+ eor $r.16b, $r.16b, $t0.16b -+ eor $r.16b, $r.16b, $t2.16b -+___ -+} -+ -+$code .= <<___; -+#include -+ -+.text -+ -+.global GFp_gcm_init_neon -+.type GFp_gcm_init_neon,%function -+.align 4 -+GFp_gcm_init_neon: -+ AARCH64_VALID_CALL_TARGET -+ // This function is adapted from gcm_init_v8. xC2 is t3. -+ ld1 {$t1.2d}, [x1] // load H -+ movi $t3.16b, #0xe1 -+ shl $t3.2d, $t3.2d, #57 // 0xc2.0 -+ ext $INlo.16b, $t1.16b, $t1.16b, #8 -+ ushr $t2.2d, $t3.2d, #63 -+ dup $t1.4s, $t1.s[1] -+ ext $t0.16b, $t2.16b, $t3.16b, #8 // t0=0xc2....01 -+ ushr $t2.2d, $INlo.2d, #63 -+ sshr $t1.4s, $t1.4s, #31 // broadcast carry bit -+ and $t2.16b, $t2.16b, $t0.16b -+ shl $INlo.2d, $INlo.2d, #1 -+ ext $t2.16b, $t2.16b, $t2.16b, #8 -+ and $t0.16b, $t0.16b, $t1.16b -+ orr $INlo.16b, $INlo.16b, $t2.16b // H<<<=1 -+ eor $Hlo.16b, $INlo.16b, $t0.16b // twisted H -+ st1 {$Hlo.2d}, [x0] // store Htable[0] -+ ret -+.size GFp_gcm_init_neon,.-GFp_gcm_init_neon -+ -+.global GFp_gcm_gmult_neon -+.type GFp_gcm_gmult_neon,%function -+.align 4 -+GFp_gcm_gmult_neon: -+ AARCH64_VALID_CALL_TARGET -+ ld1 {$INlo.16b}, [$Xi] // load Xi -+ ld1 {$Hlo.1d}, [$Htbl], #8 // load twisted H -+ ld1 {$Hhi.1d}, [$Htbl] -+ adrp x9, :pg_hi21:.Lmasks // load constants -+ add x9, x9, :lo12:.Lmasks -+ ld1 {$k48_k32.2d, $k16_k0.2d}, [x9] -+ rev64 $INlo.16b, $INlo.16b // byteswap Xi -+ ext $INlo.16b, $INlo.16b, $INlo.16b, #8 -+ eor $Hhl.8b, $Hlo.8b, $Hhi.8b // Karatsuba pre-processing -+ -+ mov $len, #16 -+ b .Lgmult_neon -+.size GFp_gcm_gmult_neon,.-GFp_gcm_gmult_neon -+ -+.global GFp_gcm_ghash_neon -+.type GFp_gcm_ghash_neon,%function -+.align 4 -+GFp_gcm_ghash_neon: -+ AARCH64_VALID_CALL_TARGET -+ ld1 {$Xl.16b}, [$Xi] // load Xi -+ ld1 {$Hlo.1d}, [$Htbl], #8 // load twisted H -+ ld1 {$Hhi.1d}, [$Htbl] -+ adrp x9, :pg_hi21:.Lmasks // load constants -+ add x9, x9, :lo12:.Lmasks -+ ld1 {$k48_k32.2d, $k16_k0.2d}, [x9] -+ rev64 $Xl.16b, $Xl.16b // byteswap Xi -+ ext $Xl.16b, $Xl.16b, $Xl.16b, #8 -+ eor $Hhl.8b, $Hlo.8b, $Hhi.8b // Karatsuba pre-processing -+ -+.Loop_neon: -+ ld1 {$INlo.16b}, [$inp], #16 // load inp -+ rev64 $INlo.16b, $INlo.16b // byteswap inp -+ ext $INlo.16b, $INlo.16b, $INlo.16b, #8 -+ eor $INlo.16b, $INlo.16b, $Xl.16b // inp ^= Xi -+ -+.Lgmult_neon: -+ // Split the input into $INlo and $INhi. (The upper halves are unused, -+ // so it is okay to leave them alone.) -+ ins $INhi.d[0], $INlo.d[1] -+___ -+&clmul64x64 ($Xl, $Hlo, $INlo); # H.lo·Xi.lo -+$code .= <<___; -+ eor $INlo.8b, $INlo.8b, $INhi.8b // Karatsuba pre-processing -+___ -+&clmul64x64 ($Xm, $Hhl, $INlo); # (H.lo+H.hi)·(Xi.lo+Xi.hi) -+&clmul64x64 ($Xh, $Hhi, $INhi); # H.hi·Xi.hi -+$code .= <<___; -+ ext $t0.16b, $Xl.16b, $Xh.16b, #8 -+ eor $Xm.16b, $Xm.16b, $Xl.16b // Karatsuba post-processing -+ eor $Xm.16b, $Xm.16b, $Xh.16b -+ eor $Xm.16b, $Xm.16b, $t0.16b // Xm overlaps Xh.lo and Xl.hi -+ ins $Xl.d[1], $Xm.d[0] // Xh|Xl - 256-bit result -+ // This is a no-op due to the ins instruction below. -+ // ins $Xh.d[0], $Xm.d[1] -+ -+ // equivalent of reduction_avx from ghash-x86_64.pl -+ shl $t1.2d, $Xl.2d, #57 // 1st phase -+ shl $t2.2d, $Xl.2d, #62 -+ eor $t2.16b, $t2.16b, $t1.16b // -+ shl $t1.2d, $Xl.2d, #63 -+ eor $t2.16b, $t2.16b, $t1.16b // -+ // Note Xm contains {Xl.d[1], Xh.d[0]}. -+ eor $t2.16b, $t2.16b, $Xm.16b -+ ins $Xl.d[1], $t2.d[0] // Xl.d[1] ^= t2.d[0] -+ ins $Xh.d[0], $t2.d[1] // Xh.d[0] ^= t2.d[1] -+ -+ ushr $t2.2d, $Xl.2d, #1 // 2nd phase -+ eor $Xh.16b, $Xh.16b,$Xl.16b -+ eor $Xl.16b, $Xl.16b,$t2.16b // -+ ushr $t2.2d, $t2.2d, #6 -+ ushr $Xl.2d, $Xl.2d, #1 // -+ eor $Xl.16b, $Xl.16b, $Xh.16b // -+ eor $Xl.16b, $Xl.16b, $t2.16b // -+ -+ subs $len, $len, #16 -+ bne .Loop_neon -+ -+ rev64 $Xl.16b, $Xl.16b // byteswap Xi and write -+ ext $Xl.16b, $Xl.16b, $Xl.16b, #8 -+ st1 {$Xl.16b}, [$Xi] -+ -+ ret -+.size GFp_gcm_ghash_neon,.-GFp_gcm_ghash_neon -+ -+.section .rodata -+.align 4 -+.Lmasks: -+.quad 0x0000ffffffffffff // k48 -+.quad 0x00000000ffffffff // k32 -+.quad 0x000000000000ffff // k16 -+.quad 0x0000000000000000 // k0 -+.asciz "GHASH for ARMv8, derived from ARMv4 version by " -+.align 2 -+___ -+ -+foreach (split("\n",$code)) { -+ s/\`([^\`]*)\`/eval $1/geo; -+ -+ print $_,"\n"; -+} -+close STDOUT or die "error closing STDOUT"; # enforce flush --- -Efraim Flashner רנשלפ םירפא -GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351 -Confidentiality cannot be guaranteed on emails sent or received unencrypted - diff --git a/gnu/packages/patches/rust-ring-0.16-test-files.patch b/gnu/packages/patches/rust-ring-0.16-test-files.patch deleted file mode 100644 index dbe5c0f4ee..0000000000 --- a/gnu/packages/patches/rust-ring-0.16-test-files.patch +++ /dev/null @@ -1,54 +0,0 @@ -This file exists in the upstream repository at the commit which -corresponds to the ring-0.16.20 release, but was excluded from the -release tarball. - ---- - tests/ed25519_verify_tests.txt | 34 ++++++++++++++++++++++++++++++++++ - 1 file changed, 34 insertions(+) - create mode 100644 tests/ed25519_verify_tests.txt - -diff --git a/tests/ed25519_verify_tests.txt b/tests/ed25519_verify_tests.txt -new file mode 100644 -index 0000000..74c94b3 ---- /dev/null -+++ b/tests/ed25519_verify_tests.txt -@@ -0,0 +1,34 @@ -+# BoringSSL TEST(Ed25519Test Malleability) -+ -+# Control; S is in range. -+MESSAGE = 54657374 -+SIG = 7c38e026f29e14aabd059a0f2db8b0cd783040609a8be684db12f82a27774ab07a9155711ecfaf7f99f277bad0c6ae7e39d4eef676573336a5c51eb6f946b30d -+PUB = 7d4d0e7f6153a69b6242b522abbee685fda4420f8834b108c3bdae369ef549fa -+Result = P -+ -+# Same as above, but with the order L added to S so it is out of range. -+# BoringSSL commit 472ba2c2dd52d06a657a63b7fbf02732a6649d21 -+MESSAGE = 54657374 -+SIG = 7c38e026f29e14aabd059a0f2db8b0cd783040609a8be684db12f82a27774ab067654bce3832c2d76f8f6f5dafc08d9339d4eef676573336a5c51eb6f946b31d -+PUB = 7d4d0e7f6153a69b6242b522abbee685fda4420f8834b108c3bdae369ef549fa -+Result = F -+ -+ -+# BoringSSL commit 3094902fcdc2db2cc832fa854b9a6a8be383926c -+MESSAGE = 124e583f8b8eca58bb29c271b41d36986bbc45541f8e51f9cb0133eca447601e -+SIG = dac119d6ca87fc59ae611c157048f4d4fc932a149dbe20ec6effd1436abf83ea05c7df0fef06147241259113909bc71bd3c53ba4464ffcad3c0968f2ffffff0f -+PUB = 100fdf47fb94f1536a4f7c3fda27383fa03375a8f527c537e6f1703c47f94f86 -+Result = P -+ -+# Control. Same key as above; same message and signature as below, except S is in range. -+PUB = 100fdf47fb94f1536a4f7c3fda27383fa03375a8f527c537e6f1703c47f94f86 -+MESSAGE = 6a0bc2b0057cedfc0fa2e3f7f7d39279b30f454a69dfd1117c758d86b19d85e0 -+SIG = 0971f86d2c9c78582524a103cb9cf949522ae528f8054dc20107d999be673ff4f58ac9d20ec563133cabc6230b1db8625f8446639ede46ad4df4053000000000 -+Result = P -+ -+# Same key as above, but S is out of range. -+# BoringSSL commit 472ba2c2dd52d06a657a63b7fbf02732a6649d21 -+PUB = 100fdf47fb94f1536a4f7c3fda27383fa03375a8f527c537e6f1703c47f94f86 -+MESSAGE = 6a0bc2b0057cedfc0fa2e3f7f7d39279b30f454a69dfd1117c758d86b19d85e0 -+SIG = 0971f86d2c9c78582524a103cb9cf949522ae528f8054dc20107d999be673ff4e25ebf2f2928766b1248bec6e91697775f8446639ede46ad4df4053000000010 -+Result = F --- -Efraim Flashner רנשלפ םירפא -GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351 -Confidentiality cannot be guaranteed on emails sent or received unencrypted - diff --git a/gnu/packages/rust-apps.scm b/gnu/packages/rust-apps.scm index 77e4f24f50..0675fee658 100644 --- a/gnu/packages/rust-apps.scm +++ b/gnu/packages/rust-apps.scm @@ -114,8 +114,6 @@ ("rust-tokio" ,rust-tokio-1) ("rust-tokio-rustls" ,rust-tokio-rustls-0.22) ("rust-url" ,rust-url-2)))) - (native-inputs - (list perl)) (home-page "https://github.com/mbrubeck/agate") (synopsis "Very simple server for the Gemini hypertext protocol") (description @@ -192,7 +190,7 @@ low-end hardware and serving many concurrent requests.") (("rust-serde-bytes" ,rust-serde-bytes-0.11) ("rust-serde-derive" ,rust-serde-derive-1)))) (native-inputs - (list perl pkg-config)) + (list pkg-config)) (inputs (list at-spi2-core gtk @@ -1193,8 +1191,7 @@ on the terminal in a visually appealing way.") (list python-tomli)) (inputs (list bzip2)) (native-inputs - (list perl - python-wheel + (list python-wheel python-wrapper python-setuptools-rust)) (home-page "https://github.com/pyo3/maturin") @@ -1504,7 +1501,7 @@ browsers.") (substitute* "Cargo.toml" ((".*\"vendored-libgit2\".*") ""))))))) (native-inputs - (list perl pkg-config)) + (list pkg-config)) (inputs (list libgit2-1.4 libssh2 @@ -1695,8 +1692,6 @@ rebase.") (("rust-boxxy" ,rust-boxxy-0.12)))) (inputs (list libpcap libseccomp)) - (native-inputs - (list perl)) (home-page "https://github.com/kpcyrd/sniffglue") (synopsis "Secure multithreaded packet sniffer") (description @@ -2366,7 +2361,7 @@ consecutive lines and since program start.") ;"dbus_mpris" ; Conflicts with rust-chrono-0.4 version. "pulseaudio_backend" "rodio_backend"))) - (native-inputs (list perl pkg-config)) + (native-inputs (list pkg-config)) (inputs (list alsa-lib dbus pulseaudio)) (home-page "https://github.com/Spotifyd/spotifyd") (synopsis "Spotify streaming daemon with Spotify Connect support") @@ -2543,7 +2538,7 @@ daemon which executes them.") ("rust-predicates" ,rust-predicates-2) ("rust-tempfile" ,rust-tempfile-3)))) (native-inputs - (list perl pkg-config)) + (list pkg-config)) (inputs (list openssl)) (home-page "https://github.com/dbrgn/tealdeer/") -- cgit v1.2.3 From e2cf93aaa8c8ec3d58fc1661c01f9700d201ee7c Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Mon, 25 Dec 2023 09:26:04 +0200 Subject: gnu: rust-cargo-edit: Update to 0.12.2. * gnu/packages/rust-apps.scm (rust-cargo-edit): Update to 0.12.2. [source]: Add patch. [cargo-inputs]: Add rust-clap-cargo-0.12, rust-home-0.5, rust-toml-0.7. Replace rust-clap-3 with 4, rust-crates-index-0.18 with 0.19, rust-git2-0.14 with 0.17, rust-toml-edit-0.14 with 0.19. Remove rust-dirs-next-2, rust-ureq-2. [cargo-development-inputs]: Replace rust-predicates-2 with 3, rust-snapbox-0.2 with 0.4, rust-trycmd-0.13 with 0.14. [inputs]: Replace libgit2-1.4 with 1.6. * gnu/packages/patches/rust-cargo-edit-remove-ureq.patch: New file. * gnu/local.mk (dist_patch_DATA): Register it. Change-Id: I71ac74de44e322eb9f5233262b3a989395b592ff --- gnu/local.mk | 1 + .../patches/rust-cargo-edit-remove-ureq.patch | 33 ++++++++++++++++++++++ gnu/packages/rust-apps.scm | 26 +++++++++-------- 3 files changed, 48 insertions(+), 12 deletions(-) create mode 100644 gnu/packages/patches/rust-cargo-edit-remove-ureq.patch (limited to 'gnu/packages/rust-apps.scm') diff --git a/gnu/local.mk b/gnu/local.mk index b8de8c3141..7dcd65e840 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -2001,6 +2001,7 @@ dist_patch_DATA = \ %D%/packages/patches/rustc-1.54.0-src.patch \ %D%/packages/patches/rust-1.64-fix-riscv64-bootstrap.patch \ %D%/packages/patches/rust-1.70-fix-rustix-build.patch \ + %D%/packages/patches/rust-cargo-edit-remove-ureq.patch \ %D%/packages/patches/rust-ring-0.17-ring-core.patch \ %D%/packages/patches/i3status-rust-enable-unstable-features.patch \ %D%/packages/patches/rust-ndarray-remove-blas-src-dep.patch \ diff --git a/gnu/packages/patches/rust-cargo-edit-remove-ureq.patch b/gnu/packages/patches/rust-cargo-edit-remove-ureq.patch new file mode 100644 index 0000000000..99c58103c7 --- /dev/null +++ b/gnu/packages/patches/rust-cargo-edit-remove-ureq.patch @@ -0,0 +1,33 @@ +This is modeled after the upstream commit which removes ureq as a dependency. + +diff --git a/Cargo.toml b/Cargo.toml +index 5a787e1..27171c7 100644 +--- a/Cargo.toml ++++ b/Cargo.toml +@@ -201,26 +201,3 @@ test-external-apis = [] + upgrade = ["cli"] + vendored-libgit2 = ["git2/vendored-libgit2"] + vendored-openssl = ["git2/vendored-openssl"] +- +-[target."cfg(any(target_arch = \"x86_64\", target_arch = \"arm\", target_arch = \"x86\", target_arch = \"aarch64\"))".dependencies.ureq] +-version = "2.7.1" +-features = [ +- "tls", +- "json", +- "socks", +- "socks-proxy", +-] +-default-features = false +- +-[target."cfg(not(any(target_arch = \"x86_64\", target_arch = \"arm\", target_arch = \"x86\", target_arch = \"aarch64\")))".dependencies.native-tls] +-version = "^0.2" +- +-[target."cfg(not(any(target_arch = \"x86_64\", target_arch = \"arm\", target_arch = \"x86\", target_arch = \"aarch64\")))".dependencies.ureq] +-version = "2.7.1" +-features = [ +- "native-tls", +- "json", +- "socks", +- "socks-proxy", +-] +-default-features = false diff --git a/gnu/packages/rust-apps.scm b/gnu/packages/rust-apps.scm index 0675fee658..f88d65d49d 100644 --- a/gnu/packages/rust-apps.scm +++ b/gnu/packages/rust-apps.scm @@ -1450,14 +1450,15 @@ browsers.") (define-public rust-cargo-edit (package (name "rust-cargo-edit") - (version "0.10.4") + (version "0.12.2") (source (origin (method url-fetch) (uri (crate-uri "cargo-edit" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "19wfjz7z4kqjfjmnq1bl6dhsvskjy6r656fqmbha9dfdspbsnmd0")))) + "03lxi7z1n9xq287lqvqnhzg5r0yv1fi3569ryw3jqcrvv8nqs0c2")) + (patches (search-patches "rust-cargo-edit-remove-ureq.patch")))) (build-system cargo-build-system) (arguments `(#:install-source? #f @@ -1466,14 +1467,15 @@ browsers.") #:cargo-inputs (("rust-anyhow" ,rust-anyhow-1) ("rust-cargo-metadata" ,rust-cargo-metadata-0.15) - ("rust-clap" ,rust-clap-3) + ("rust-clap" ,rust-clap-4) + ("rust-clap-cargo" ,rust-clap-cargo-0.12) ("rust-concolor-control" ,rust-concolor-control-0.0.7) - ("rust-crates-index" ,rust-crates-index-0.18) - ("rust-dirs-next" ,rust-dirs-next-2) + ("rust-crates-index" ,rust-crates-index-0.19) ("rust-dunce" ,rust-dunce-1) ("rust-env-proxy" ,rust-env-proxy-0.4) - ("rust-git2" ,rust-git2-0.14) + ("rust-git2" ,rust-git2-0.17) ("rust-hex" ,rust-hex-0.4) + ("rust-home" ,rust-home-0.5) ("rust-indexmap" ,rust-indexmap-1) ("rust-native-tls" ,rust-native-tls-0.2) ("rust-pathdiff" ,rust-pathdiff-0.2) @@ -1484,15 +1486,15 @@ browsers.") ("rust-serde-json" ,rust-serde-json-1) ("rust-subprocess" ,rust-subprocess-0.2) ("rust-termcolor" ,rust-termcolor-1) - ("rust-toml-edit" ,rust-toml-edit-0.14) - ("rust-ureq" ,rust-ureq-2) + ("rust-toml" ,rust-toml-0.7) + ("rust-toml-edit" ,rust-toml-edit-0.19) ("rust-url" ,rust-url-2)) #:cargo-development-inputs (("rust-assert-cmd" ,rust-assert-cmd-2) ("rust-assert-fs" ,rust-assert-fs-1) - ("rust-predicates" ,rust-predicates-2) - ("rust-snapbox" ,rust-snapbox-0.2) - ("rust-trycmd" ,rust-trycmd-0.13) + ("rust-predicates" ,rust-predicates-3) + ("rust-snapbox" ,rust-snapbox-0.4) + ("rust-trycmd" ,rust-trycmd-0.14) ("rust-url" ,rust-url-2)) #:phases (modify-phases %standard-phases @@ -1503,7 +1505,7 @@ browsers.") (native-inputs (list pkg-config)) (inputs - (list libgit2-1.4 + (list libgit2-1.6 libssh2 openssl zlib)) -- cgit v1.2.3 From ba4746735e304432e053b6ab3f1aed6cd1ae865b Mon Sep 17 00:00:00 2001 From: Jaeme Sifat Date: Tue, 19 Dec 2023 22:55:15 -0500 Subject: gnu: eza: Update to 0.17.0. * gnu/packages/rust-apps.scm (eza): Update to 0.17.0. [cargo-inputs]: Add rust-palette-0.7, rust-plist-1. Replace rust-windows-sys-0.48 with 0.52. Change-Id: I27f119478a97cc6789ec2c569db34c61962f188b Signed-off-by: Efraim Flashner --- gnu/packages/rust-apps.scm | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'gnu/packages/rust-apps.scm') diff --git a/gnu/packages/rust-apps.scm b/gnu/packages/rust-apps.scm index f88d65d49d..f7fe64407e 100644 --- a/gnu/packages/rust-apps.scm +++ b/gnu/packages/rust-apps.scm @@ -474,14 +474,14 @@ also knows about symlinks, extended attributes, and Git.") (define-public eza (package (name "eza") - (version "0.15.2") + (version "0.17.0") (source (origin (method url-fetch) (uri (crate-uri "eza" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "14qapnxc1rwqsq6c13b35wgaiypn23niajk39c44i1w3if91rd85")))) + (base32 "026xagh42nrdy2yg9197mmb2bhm5mdvbf9vd9fk9iysrj1iay63r")))) (build-system cargo-build-system) (arguments (list @@ -497,8 +497,10 @@ also knows about symlinks, extended attributes, and Git.") ("rust-num-cpus" ,rust-num-cpus-1) ("rust-number-prefix" ,rust-number-prefix-0.4) ("rust-once-cell" ,rust-once-cell-1) + ("rust-palette" ,rust-palette-0.7) ("rust-percent-encoding" ,rust-percent-encoding-2) ("rust-phf" ,rust-phf-0.11) + ("rust-plist" ,rust-plist-1) ("rust-proc-mounts" ,rust-proc-mounts-0.3) ("rust-scoped-threadpool" ,rust-scoped-threadpool-0.1) ("rust-terminal-size" ,rust-terminal-size-0.3) @@ -506,7 +508,7 @@ also knows about symlinks, extended attributes, and Git.") ("rust-unicode-width" ,rust-unicode-width-0.1) ("rust-uutils-term-grid" ,rust-uutils-term-grid-0.3) ("rust-uzers" ,rust-uzers-0.11) - ("rust-windows-sys" ,rust-windows-sys-0.48) + ("rust-windows-sys" ,rust-windows-sys-0.52) ("rust-zoneinfo-compiled" ,rust-zoneinfo-compiled-0.5)) #:cargo-development-inputs `(("rust-criterion" ,rust-criterion-0.5) ("rust-trycmd" ,rust-trycmd-0.14)) -- cgit v1.2.3 From 1e822bb80cff96f7874a576f235e01dbfea08d2f Mon Sep 17 00:00:00 2001 From: Jaeme Sifat Date: Tue, 19 Dec 2023 22:55:17 -0500 Subject: gnu: eza: Refactor package definition. * gnu/packages/rust-apps.scm (eza): Refactor package definition. [arguments]: Made 'install-extras phase clearer. Change-Id: I4df0fdcde11d8ab07eed5aeeb1d14a6fe5fe55c3 Signed-off-by: Efraim Flashner --- gnu/packages/rust-apps.scm | 34 ++++++++++++++++++---------------- 1 file changed, 18 insertions(+), 16 deletions(-) (limited to 'gnu/packages/rust-apps.scm') diff --git a/gnu/packages/rust-apps.scm b/gnu/packages/rust-apps.scm index f7fe64407e..c1382ebfb2 100644 --- a/gnu/packages/rust-apps.scm +++ b/gnu/packages/rust-apps.scm @@ -528,31 +528,33 @@ also knows about symlinks, extended attributes, and Git.") (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) (share (string-append out "/share")) + (bash-completions-dir (string-append share + "/bash-completion/completions")) + (zsh-completions-dir (string-append share + "/zsh/site-functions")) + (fish-completions-dir (string-append share + "/fish/vendor_completions.d")) (man1 (string-append share "/man/man1")) (man5 (string-append share "/man/man5"))) (when (file-exists? "eza.1") (install-file "eza.1" man1)) (when (file-exists? "eza_colors.5") (install-file "eza_colors.5" man5)) - (mkdir-p (string-append out "/etc/bash_completion.d")) - (mkdir-p (string-append - share "/fish/vendor_completions.d")) - (mkdir-p (string-append share "/zsh/site-functions")) + (mkdir-p bash-completions-dir) + (mkdir-p zsh-completions-dir) + (mkdir-p fish-completions-dir) (copy-file "completions/bash/eza" - (string-append - out "/etc/bash_completion.d/eza")) - (copy-file "completions/fish/eza.fish" - (string-append - share "/fish/vendor_completions.d/eza.fish")) + (string-append bash-completions-dir "/eza")) (copy-file "completions/zsh/_eza" - (string-append - share "/zsh/site-functions/_eza")))))))) + (string-append zsh-completions-dir "/_eza")) + (copy-file "completions/fish/eza.fish" + (string-append fish-completions-dir + "/eza.fish")))))))) (native-inputs - (append - (list pkg-config) - (if (supported-package? pandoc) - (list pandoc) - '()))) + (append (list pkg-config) + (if (supported-package? pandoc) + (list pandoc) + '()))) (inputs (list libgit2-1.7 zlib)) (home-page "https://github.com/eza-community/eza") (synopsis "Modern replacement for ls") -- cgit v1.2.3 From daaedc9ab33d05bc7949cf1104ab8f845701e367 Mon Sep 17 00:00:00 2001 From: Jaeme Sifat Date: Tue, 19 Dec 2023 22:55:16 -0500 Subject: gnu: Remove exa. exa is unmaintained/deprecated in favor of eza. Users should not use exa anymore. * gnu/packages/rust-apps.scm (exa): Turn into deprecated-package, point at eza. Change-Id: Iab79a82dd54f4c627a26fc85749d69c66d2b619a Signed-off-by: Efraim Flashner --- gnu/packages/rust-apps.scm | 89 ++-------------------------------------------- 1 file changed, 3 insertions(+), 86 deletions(-) (limited to 'gnu/packages/rust-apps.scm') diff --git a/gnu/packages/rust-apps.scm b/gnu/packages/rust-apps.scm index c1382ebfb2..224013aa97 100644 --- a/gnu/packages/rust-apps.scm +++ b/gnu/packages/rust-apps.scm @@ -385,92 +385,6 @@ Features include: @end enumerate\n") (license license:gpl3))) -(define-public exa - (package - (name "exa") - (version "0.10.1") - (source - (origin - (method url-fetch) - (uri (crate-uri "exa" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "1dd7waq2bnxc1xwygqphi8k1g2qzykr6fk0q4rgrhhxp2jd09f04")))) - (build-system cargo-build-system) - (arguments - `(#:install-source? #f - #:cargo-inputs - (("rust-ansi-term" ,rust-ansi-term-0.12) - ("rust-datetime" ,rust-datetime-0.5) - ("rust-env-logger" ,rust-env-logger-0.6) - ("rust-git2" ,rust-git2-0.13) - ("rust-glob" ,rust-glob-0.3) - ("rust-lazy-static" ,rust-lazy-static-1) - ("rust-libc" ,rust-libc-0.2) - ("rust-locale" ,rust-locale-0.2) - ("rust-log" ,rust-log-0.4) - ("rust-natord" ,rust-natord-1) - ("rust-num-cpus" ,rust-num-cpus-1) - ("rust-number-prefix" ,rust-number-prefix-0.4) - ("rust-scoped-threadpool" ,rust-scoped-threadpool-0.1) - ("rust-term-grid" ,rust-term-grid-0.1) - ("rust-term-size" ,rust-term-size-0.3) - ("rust-unicode-width" ,rust-unicode-width-0.1) - ("rust-users" ,rust-users-0.11) - ("rust-zoneinfo-compiled" ,rust-zoneinfo-compiled-0.5)) - #:cargo-development-inputs - (("rust-datetime" ,rust-datetime-0.5)) - #:phases - (modify-phases %standard-phases - (add-after 'build 'build-manual - (lambda* (#:key inputs #:allow-other-keys) - (when (assoc-ref inputs "pandoc") - (map (lambda (page) - (with-output-to-file page - (lambda _ - (invoke "pandoc" "--standalone" - "-f" "markdown" - "-t" "man" - (string-append "man/" page ".md"))))) - (list "exa.1" "exa_colors.5"))))) - (add-after 'install 'install-extras - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (share (string-append out "/share")) - (man1 (string-append share "/man/man1")) - (man5 (string-append share "/man/man5"))) - (when (file-exists? "exa.1") - (install-file "exa.1" man1)) - (when (file-exists? "exa_colors.5") - (install-file "exa_colors.5" man5)) - (mkdir-p (string-append out "/etc/bash_completion.d")) - (mkdir-p (string-append share "/fish/vendor_completions.d")) - (mkdir-p (string-append share "/zsh/site-functions")) - (copy-file "completions/completions.bash" - (string-append out "/etc/bash_completion.d/exa")) - (copy-file "completions/completions.fish" - (string-append - share "/fish/vendor_completions.d/exa.fish")) - (copy-file "completions/completions.zsh" - (string-append - share "/zsh/site-functions/_exa")))))))) - (inputs (list libgit2 zlib)) - (native-inputs - (append - (list pkg-config) - (if (member (%current-system) - (package-transitive-supported-systems pandoc)) - (list pandoc) - '()))) - (home-page "https://the.exa.website/") - (synopsis "Modern replacement for ls") - (description "@code{exa} is a modern replacement for the command-line -program @code{ls}. It uses colours to distinguish file types and metadata. It -also knows about symlinks, extended attributes, and Git.") - (license license:expat))) - (define-public eza (package (name "eza") @@ -565,6 +479,9 @@ metadata. It also knows about symlinks, extended attributes, and Git. This package is the community maintained fork of @code{exa}.") (license license:expat))) +(define-public exa + (deprecated-package "exa" eza)) + (define-public fd (package (name "fd") -- cgit v1.2.3 From a447a2f5b44052f84c9f37e192bf46c07920068d Mon Sep 17 00:00:00 2001 From: Jaeme Sifat Date: Thu, 21 Dec 2023 15:55:05 -0500 Subject: gnu: just: Update to 1.17.0. * gnu/packages/rust-apps.scm (just): Update to 1.17.0. [arguments]: Merge 'install-manpage and 'install-completions. Install completions for elvish. [cargo-inputs]: Add rust-num-cpus-1, rust-semver-1. Replace rust-strum-0.24 with 0.25. [cargo-development-inputs]: Replace rust-which-4 with 5. [native-inputs]: Add just when cross-compiling. Change-Id: I33974d48d9d416a02c41c47f035f219ade12de88 Signed-off-by: Efraim Flashner --- gnu/packages/rust-apps.scm | 56 ++++++++++++++++++++++++++++------------------ 1 file changed, 34 insertions(+), 22 deletions(-) (limited to 'gnu/packages/rust-apps.scm') diff --git a/gnu/packages/rust-apps.scm b/gnu/packages/rust-apps.scm index 224013aa97..193da35c43 100644 --- a/gnu/packages/rust-apps.scm +++ b/gnu/packages/rust-apps.scm @@ -763,13 +763,13 @@ bar. It is also compatible with sway.") (define-public just (package (name "just") - (version "1.14.0") + (version "1.17.0") (source (origin (method url-fetch) (uri (crate-uri "just" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "0kafd87zmjf7wswyiqakqd2r5b8q3a761ipsihmrg9wr57k5zlis")))) + (base32 "1nlwrbawgg6sysfydi2334y4pbsinq50axnqm0cz0m29r8n0ljxd")))) (build-system cargo-build-system) (arguments `(#:cargo-test-flags @@ -791,13 +791,15 @@ bar. It is also compatible with sway.") ("rust-lexiclean" ,rust-lexiclean-0.0.1) ("rust-libc" ,rust-libc-0.2) ("rust-log" ,rust-log-0.4) + ("rust-num-cpus" ,rust-num-cpus-1) ("rust-regex" ,rust-regex-1) + ("rust-semver" ,rust-semver-1) ("rust-serde" ,rust-serde-1) ("rust-serde-json" ,rust-serde-json-1) ("rust-sha2" ,rust-sha2-0.10) ("rust-similar" ,rust-similar-2) ("rust-snafu" ,rust-snafu-0.7) - ("rust-strum" ,rust-strum-0.24) + ("rust-strum" ,rust-strum-0.25) ("rust-target" ,rust-target-2) ("rust-tempfile" ,rust-tempfile-3) ("rust-typed-arena" ,rust-typed-arena-2) @@ -808,7 +810,7 @@ bar. It is also compatible with sway.") ("rust-executable-path" ,rust-executable-path-1) ("rust-pretty-assertions" ,rust-pretty-assertions-1) ("rust-temptree" ,rust-temptree-0.2) - ("rust-which" ,rust-which-4) + ("rust-which" ,rust-which-5) ("rust-yaml-rust" ,rust-yaml-rust-0.4)) #:phases (modify-phases %standard-phases @@ -824,32 +826,42 @@ bar. It is also compatible with sway.") (search-input-file inputs "/bin/env")) (("/bin/echo") (search-input-file inputs "/bin/echo"))))) - (add-after 'install 'install-manpage - (lambda* (#:key outputs #:allow-other-keys) - (install-file "man/just.1" - (string-append (assoc-ref outputs "out") - "/share/man/man1")))) - (add-after 'install 'install-completions - (lambda* (#:key outputs #:allow-other-keys) + (add-after 'install 'install-extras + (lambda* (#:key native-inputs outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) (share (string-append out "/share")) - (just (string-append out "/bin/just"))) - (mkdir-p (string-append share "/bash-completion/completions")) + (man1 (string-append share "/man/man1")) + (bash-completions-dir + (string-append share "/bash-completion/completions")) + (zsh-completions-dir + (string-append share "/zsh/site-functions")) + (fish-completions-dir + (string-append share "/fish/vendor_completions.d")) + (elvish-completions-dir + (string-append share "/elvish/lib")) + (just (if ,(%current-target-system) + (search-input-file native-inputs "/bin/just") + (string-append out "/bin/just")))) + (install-file "man/just.1" man1) + (mkdir-p bash-completions-dir) (with-output-to-file - (string-append share "/bash-completion/completions/just") + (string-append bash-completions-dir "/just") (lambda _ (invoke just "--completions" "bash"))) - (mkdir-p (string-append share "/fish/vendor_completions.d")) - (with-output-to-file - (string-append share "/fish/vendor_completions.d/just.fish") - (lambda _ (invoke just "--completions" "fish"))) - (mkdir-p (string-append share "/zsh/site-functions")) + (mkdir-p zsh-completions-dir) (with-output-to-file - (string-append share "/zsh/site-functions/_just") + (string-append zsh-completions-dir "/_just") (lambda _ (invoke just "--completions" "zsh"))) - (mkdir-p (string-append share "/elvish/lib")) + (mkdir-p fish-completions-dir) + (with-output-to-file + (string-append fish-completions-dir "/just.fish") + (lambda _ (invoke just "--completions" "fish"))) + (mkdir-p elvish-completions-dir) (with-output-to-file - (string-append share "/elvish/lib/just") + (string-append elvish-completions-dir "/just") (lambda _ (invoke just "--completions" "elvish"))))))))) + (native-inputs (if (%current-target-system) + (list this-package) + '())) (inputs (list bash-minimal coreutils-minimal)) (home-page "https://github.com/casey/just") (synopsis "Just a command runner") -- cgit v1.2.3 From 2df8da862abffb0bccf9cecc6178861999507934 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Wed, 27 Dec 2023 11:45:49 +0200 Subject: gnu: rust-git2: Move to (gnu packages crates-vcs). * gnu/packages/crates-io.scm (rust-git2-0.18, rust-git2-0.17, rust-git2-0.16, rust-git2-0.15, rust-git2-0.13, rust-git2-0.11, rust-git2-0.9, rust-git2-0.6): Move from here ... * gnu/packages/crates-vcs.scm: ... to here. Change-Id: I4490d8900167bab75a14c77b2def8ef27e4f50a9 --- gnu/packages/crates-io.scm | 254 ----------------------------------------- gnu/packages/crates-vcs.scm | 269 +++++++++++++++++++++++++++++++++++++++++++- gnu/packages/rust-apps.scm | 1 + 3 files changed, 267 insertions(+), 257 deletions(-) (limited to 'gnu/packages/rust-apps.scm') diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm index 02723feadb..374171362c 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -30290,260 +30290,6 @@ debugging format.") ("rust-test-assembler" ,rust-test-assembler-0.1) ("rust-typed-arena" ,rust-typed-arena-2)))))) -(define-public rust-git2-0.18 - (package - (name "rust-git2") - (version "0.18.1") - (source - (origin - (method url-fetch) - (uri (crate-uri "git2" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "1kf0kvg3i7p1223zs2h9fz99ndm0l9kdx3hcw63g73dh5nlppygv")))) - (build-system cargo-build-system) - (arguments - `(#:cargo-test-flags (list "--release" "--" - "--skip=cred::test::credential_helper5") - #:cargo-inputs (("rust-bitflags" ,rust-bitflags-2) - ("rust-libc" ,rust-libc-0.2) - ("rust-libgit2-sys" ,rust-libgit2-sys-0.16) - ("rust-log" ,rust-log-0.4) - ("rust-openssl-probe" ,rust-openssl-probe-0.1) - ("rust-openssl-sys" ,rust-openssl-sys-0.9) - ("rust-url" ,rust-url-2)) - #:cargo-development-inputs (("rust-structopt" ,rust-structopt-0.3) - ("rust-tempfile" ,rust-tempfile-3) - ("rust-time" ,rust-time-0.1)))) - (native-inputs (list pkg-config)) - (inputs (list libgit2-1.7 libssh2 openssl zlib)) - (home-page "https://github.com/rust-lang/git2-rs") - (synopsis "Rust bindings to libgit2") - (description - "This package provides bindings to libgit2 for interoperating with git -repositories. This library is both threadsafe and memory safe and allows both -reading and writing git repositories.") - (license (list license:expat license:asl2.0)))) - -(define-public rust-git2-0.17 - (package - (inherit rust-git2-0.18) - (name "rust-git2") - (version "0.17.2") - (source - (origin - (method url-fetch) - (uri (crate-uri "git2" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "0i00kg3yizh7mn6hnj3yz3hpniisidlavifgy8n3cnm9gim9v63v")))) - (arguments - `(#:cargo-inputs - (("rust-bitflags" ,rust-bitflags-1) - ("rust-libc" ,rust-libc-0.2) - ("rust-libgit2-sys" ,rust-libgit2-sys-0.15) - ("rust-log" ,rust-log-0.4) - ("rust-openssl-probe" ,rust-openssl-probe-0.1) - ("rust-openssl-sys" ,rust-openssl-sys-0.9) - ("rust-url" ,rust-url-2)) - #:cargo-development-inputs - (("rust-structopt" ,rust-structopt-0.3) - ("rust-tempfile" ,rust-tempfile-3) - ("rust-time" ,rust-time-0.1)))) - (native-inputs - (list pkg-config - git-minimal)) ;for a single test - (inputs (list libgit2-1.6 libssh2 openssl zlib)))) - -(define-public rust-git2-0.16 - (package - (inherit rust-git2-0.17) - (name "rust-git2") - (version "0.16.1") - (source - (origin - (method url-fetch) - (uri (crate-uri "git2" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "1k1aavsfhk0i9jycc9gb61w2jwy8w9dgkd7zkz295wwm566gdxyc")))) - (arguments - `(#:cargo-inputs - (("rust-bitflags" ,rust-bitflags-1) - ("rust-libc" ,rust-libc-0.2) - ("rust-libgit2-sys" ,rust-libgit2-sys-0.14) - ("rust-log" ,rust-log-0.4) - ("rust-openssl-probe" ,rust-openssl-probe-0.1) - ("rust-openssl-sys" ,rust-openssl-sys-0.9) - ("rust-url" ,rust-url-2)) - #:cargo-development-inputs - (("rust-paste" ,rust-paste-1) - ("rust-structopt" ,rust-structopt-0.3) - ("rust-tempfile" ,rust-tempfile-3) - ("rust-time" ,rust-time-0.1)))) - (native-inputs - (list pkg-config - git-minimal)) ;for a single test - (inputs - (list libgit2 libssh2 openssl zlib)))) - -(define-public rust-git2-0.15 - (package - (inherit rust-git2-0.16) - (name "rust-git2") - (version "0.15.0") - (source - (origin - (method url-fetch) - (uri (crate-uri "git2" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "1lf7yxgrbglx5qqvk033n44ymmrg72z271911jwix9d6lgjbx519")))) - (arguments - `(#:cargo-inputs - (("rust-bitflags" ,rust-bitflags-1) - ("rust-libc" ,rust-libc-0.2) - ("rust-libgit2-sys" ,rust-libgit2-sys-0.14) - ("rust-log" ,rust-log-0.4) - ("rust-openssl-probe" ,rust-openssl-probe-0.1) - ("rust-openssl-sys" ,rust-openssl-sys-0.9) - ("rust-url" ,rust-url-2)) - #:cargo-development-inputs - (("rust-paste" ,rust-paste-1) - ("rust-structopt" ,rust-structopt-0.3) - ("rust-tempfile" ,rust-tempfile-3) - ("rust-time" ,rust-time-0.1)))) - (native-inputs - `(("pkg-config" ,pkg-config) - ("git" ,git-minimal))) ;for a single test - (inputs - (list libgit2 libssh2 openssl zlib)))) - -(define-public rust-git2-0.13 - (package - (inherit rust-git2-0.15) - (name "rust-git2") - (version "0.13.24") - (source - (origin - (method url-fetch) - (uri (crate-uri "git2" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "07rlxwvl5iyyqwh0mci5v27lbicf9qiqm60maw1srz7i51x00pl4")))) - (arguments - `(#:cargo-inputs - (("rust-bitflags" ,rust-bitflags-1) - ("rust-libc" ,rust-libc-0.2) - ("rust-libgit2-sys" ,rust-libgit2-sys-0.12) - ("rust-log" ,rust-log-0.4) - ("rust-openssl-probe" ,rust-openssl-probe-0.1) - ("rust-openssl-sys" ,rust-openssl-sys-0.9) - ("rust-url" ,rust-url-2)) - #:cargo-development-inputs - (("rust-paste" ,rust-paste-1) - ("rust-structopt" ,rust-structopt-0.3) - ("rust-time" ,rust-time-0.1)))) - (inputs - (list libgit2-1.3 libssh2 openssl zlib)))) - -(define-public rust-git2-0.11 - (package - (inherit rust-git2-0.13) - (name "rust-git2") - (version "0.11.0") - (source - (origin - (method url-fetch) - (uri (crate-uri "git2" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "1i0fgsr91r97hsjbgqnymkcyiyg0057m7m04116k3vmyqpvrwlbp")))) - (arguments - `(#:tests? #f ; (signal: 11, SIGSEGV: invalid memory reference) - #:cargo-inputs - (("rust-bitflags" ,rust-bitflags-1) - ("rust-libc" ,rust-libc-0.2) - ("rust-libgit2-sys" ,rust-libgit2-sys-0.10) - ("rust-log" ,rust-log-0.4) - ("rust-openssl-probe" ,rust-openssl-probe-0.1) - ("rust-openssl-sys" ,rust-openssl-sys-0.9) - ("rust-url" ,rust-url-2)) - #:cargo-development-inputs - (("rust-docopt" ,rust-docopt-1) - ("rust-serde" ,rust-serde-1) - ("rust-serde-derive" ,rust-serde-derive-1) - ("rust-tempfile" ,rust-tempfile-3) - ("rust-thread-id" ,rust-thread-id-3) - ("rust-time" ,rust-time-0.1)))))) - -(define-public rust-git2-0.9 - (package - (inherit rust-git2-0.11) - (name "rust-git2") - (version "0.9.2") - (source - (origin - (method url-fetch) - (uri (crate-uri "git2" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "09lj6i26yial0drdbmfh36avz6wizaxqb0k41sqn2kca1qv01d4c")))) - (arguments - `(#:tests? #f ; Needs older version of libgit2. - #:cargo-inputs - (("rust-bitflags" ,rust-bitflags-1) - ("rust-libc" ,rust-libc-0.2) - ("rust-libgit2-sys" ,rust-libgit2-sys-0.8) - ("rust-log" ,rust-log-0.4) - ("rust-openssl-probe" ,rust-openssl-probe-0.1) - ("rust-openssl-sys" ,rust-openssl-sys-0.9) - ("rust-url" ,rust-url-2)) - #:cargo-development-inputs - (("rust-docopt" ,rust-docopt-1) - ("rust-serde" ,rust-serde-1) - ("rust-serde-derive" ,rust-serde-derive-1) - ("rust-tempdir" ,rust-tempdir-0.3) - ("rust-thread-id" ,rust-thread-id-3) - ("rust-time" ,rust-time-0.1)))))) - -(define-public rust-git2-0.6 - (package - (inherit rust-git2-0.11) - (name "rust-git2-6") - (version "0.6.11") - (source - (origin - (method url-fetch) - (uri (crate-uri "git2" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "115ys6vlfjy5pcwkip0wfzi4q3d1kimbl9isxvjyci1arnvlnnzf")))) - (arguments - `(#:tests? #f - #:cargo-inputs - (("rust-bitflags" ,rust-bitflags-0.9) - ("rust-libc" ,rust-libc-0.2) - ("rust-libgit2-sys" ,rust-libgit2-sys-0.6) - ("rust-openssl-probe" ,rust-openssl-probe-0.1) - ("rust-openssl-sys" ,rust-openssl-sys-0.9) - ("rust-url" ,rust-url-1)) - #:cargo-development-inputs - (("rust-docopt" ,rust-docopt-0.8) - ("rust-serde" ,rust-serde-1) - ("rust-serde-derive" ,rust-serde-derive-1) - ("rust-tempdir" ,rust-tempdir-0.3) - ("rust-time" ,rust-time-0.1)))) - (inputs - (modify-inputs (package-inputs rust-git2-0.11) - (prepend curl))))) - (define-public rust-git2-curl-0.18 (package (name "rust-git2-curl") diff --git a/gnu/packages/crates-vcs.scm b/gnu/packages/crates-vcs.scm index 59854e5c85..3145e75c1b 100644 --- a/gnu/packages/crates-vcs.scm +++ b/gnu/packages/crates-vcs.scm @@ -1,6 +1,10 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2019 Nicolas Goaziou -;;; Copyright © 2023 Efraim Flashner +;;; Copyright © 2019, 2020 John Soo +;;; Copyright © 2019, 2020 Nicolas Goaziou +;;; Copyright © 2021 Maxim Cournoyer +;;; Copyright © 2022, 2023 Efraim Flashner +;;; Copyright © 2022 Aleksandr Vityazev +;;; Copyright © 2023 Jaeme Sifat ;;; ;;; This file is part of GNU Guix. ;;; @@ -24,7 +28,13 @@ #:use-module (guix packages) #:use-module (guix utils) #:use-module (gnu packages) - #:use-module (gnu packages crates-io)) + #:use-module (gnu packages compression) + #:use-module (gnu packages crates-io) + #:use-module (gnu packages curl) + #:use-module (gnu packages pkg-config) + #:use-module (gnu packages ssh) + #:use-module (gnu packages tls) + #:use-module (gnu packages version-control)) (define-public rust-git-testament-0.2 (package @@ -128,3 +138,256 @@ dirty state into your program.") (description "This is an internal macro crate for git-version.") (license license:bsd-2))) + +(define-public rust-git2-0.18 + (package + (name "rust-git2") + (version "0.18.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "git2" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1kf0kvg3i7p1223zs2h9fz99ndm0l9kdx3hcw63g73dh5nlppygv")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-test-flags (list "--release" "--" + "--skip=cred::test::credential_helper5") + #:cargo-inputs (("rust-bitflags" ,rust-bitflags-2) + ("rust-libc" ,rust-libc-0.2) + ("rust-libgit2-sys" ,rust-libgit2-sys-0.16) + ("rust-log" ,rust-log-0.4) + ("rust-openssl-probe" ,rust-openssl-probe-0.1) + ("rust-openssl-sys" ,rust-openssl-sys-0.9) + ("rust-url" ,rust-url-2)) + #:cargo-development-inputs (("rust-structopt" ,rust-structopt-0.3) + ("rust-tempfile" ,rust-tempfile-3) + ("rust-time" ,rust-time-0.1)))) + (native-inputs (list pkg-config)) + (inputs (list libgit2-1.7 libssh2 openssl zlib)) + (home-page "https://github.com/rust-lang/git2-rs") + (synopsis "Rust bindings to libgit2") + (description + "This package provides bindings to libgit2 for interoperating with git +repositories. This library is both threadsafe and memory safe and allows both +reading and writing git repositories.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-git2-0.17 + (package + (inherit rust-git2-0.18) + (name "rust-git2") + (version "0.17.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "git2" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "0i00kg3yizh7mn6hnj3yz3hpniisidlavifgy8n3cnm9gim9v63v")))) + (arguments + `(#:cargo-inputs + (("rust-bitflags" ,rust-bitflags-1) + ("rust-libc" ,rust-libc-0.2) + ("rust-libgit2-sys" ,rust-libgit2-sys-0.15) + ("rust-log" ,rust-log-0.4) + ("rust-openssl-probe" ,rust-openssl-probe-0.1) + ("rust-openssl-sys" ,rust-openssl-sys-0.9) + ("rust-url" ,rust-url-2)) + #:cargo-development-inputs + (("rust-structopt" ,rust-structopt-0.3) + ("rust-tempfile" ,rust-tempfile-3) + ("rust-time" ,rust-time-0.1)))) + (native-inputs + (list pkg-config + git-minimal)) ;for a single test + (inputs (list libgit2-1.6 libssh2 openssl zlib)))) + +(define-public rust-git2-0.16 + (package + (inherit rust-git2-0.17) + (name "rust-git2") + (version "0.16.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "git2" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1k1aavsfhk0i9jycc9gb61w2jwy8w9dgkd7zkz295wwm566gdxyc")))) + (arguments + `(#:cargo-inputs + (("rust-bitflags" ,rust-bitflags-1) + ("rust-libc" ,rust-libc-0.2) + ("rust-libgit2-sys" ,rust-libgit2-sys-0.14) + ("rust-log" ,rust-log-0.4) + ("rust-openssl-probe" ,rust-openssl-probe-0.1) + ("rust-openssl-sys" ,rust-openssl-sys-0.9) + ("rust-url" ,rust-url-2)) + #:cargo-development-inputs + (("rust-paste" ,rust-paste-1) + ("rust-structopt" ,rust-structopt-0.3) + ("rust-tempfile" ,rust-tempfile-3) + ("rust-time" ,rust-time-0.1)))) + (native-inputs + (list pkg-config + git-minimal)) ;for a single test + (inputs + (list libgit2 libssh2 openssl zlib)))) + +(define-public rust-git2-0.15 + (package + (inherit rust-git2-0.16) + (name "rust-git2") + (version "0.15.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "git2" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1lf7yxgrbglx5qqvk033n44ymmrg72z271911jwix9d6lgjbx519")))) + (arguments + `(#:cargo-inputs + (("rust-bitflags" ,rust-bitflags-1) + ("rust-libc" ,rust-libc-0.2) + ("rust-libgit2-sys" ,rust-libgit2-sys-0.14) + ("rust-log" ,rust-log-0.4) + ("rust-openssl-probe" ,rust-openssl-probe-0.1) + ("rust-openssl-sys" ,rust-openssl-sys-0.9) + ("rust-url" ,rust-url-2)) + #:cargo-development-inputs + (("rust-paste" ,rust-paste-1) + ("rust-structopt" ,rust-structopt-0.3) + ("rust-tempfile" ,rust-tempfile-3) + ("rust-time" ,rust-time-0.1)))) + (native-inputs + `(("pkg-config" ,pkg-config) + ("git" ,git-minimal))) ;for a single test + (inputs + (list libgit2 libssh2 openssl zlib)))) + +(define-public rust-git2-0.13 + (package + (inherit rust-git2-0.15) + (name "rust-git2") + (version "0.13.24") + (source + (origin + (method url-fetch) + (uri (crate-uri "git2" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "07rlxwvl5iyyqwh0mci5v27lbicf9qiqm60maw1srz7i51x00pl4")))) + (arguments + `(#:cargo-inputs + (("rust-bitflags" ,rust-bitflags-1) + ("rust-libc" ,rust-libc-0.2) + ("rust-libgit2-sys" ,rust-libgit2-sys-0.12) + ("rust-log" ,rust-log-0.4) + ("rust-openssl-probe" ,rust-openssl-probe-0.1) + ("rust-openssl-sys" ,rust-openssl-sys-0.9) + ("rust-url" ,rust-url-2)) + #:cargo-development-inputs + (("rust-paste" ,rust-paste-1) + ("rust-structopt" ,rust-structopt-0.3) + ("rust-time" ,rust-time-0.1)))) + (inputs + (list libgit2-1.3 libssh2 openssl zlib)))) + +(define-public rust-git2-0.11 + (package + (inherit rust-git2-0.13) + (name "rust-git2") + (version "0.11.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "git2" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1i0fgsr91r97hsjbgqnymkcyiyg0057m7m04116k3vmyqpvrwlbp")))) + (arguments + `(#:tests? #f ; (signal: 11, SIGSEGV: invalid memory reference) + #:cargo-inputs + (("rust-bitflags" ,rust-bitflags-1) + ("rust-libc" ,rust-libc-0.2) + ("rust-libgit2-sys" ,rust-libgit2-sys-0.10) + ("rust-log" ,rust-log-0.4) + ("rust-openssl-probe" ,rust-openssl-probe-0.1) + ("rust-openssl-sys" ,rust-openssl-sys-0.9) + ("rust-url" ,rust-url-2)) + #:cargo-development-inputs + (("rust-docopt" ,rust-docopt-1) + ("rust-serde" ,rust-serde-1) + ("rust-serde-derive" ,rust-serde-derive-1) + ("rust-tempfile" ,rust-tempfile-3) + ("rust-thread-id" ,rust-thread-id-3) + ("rust-time" ,rust-time-0.1)))))) + +(define-public rust-git2-0.9 + (package + (inherit rust-git2-0.11) + (name "rust-git2") + (version "0.9.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "git2" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "09lj6i26yial0drdbmfh36avz6wizaxqb0k41sqn2kca1qv01d4c")))) + (arguments + `(#:tests? #f ; Needs older version of libgit2. + #:cargo-inputs + (("rust-bitflags" ,rust-bitflags-1) + ("rust-libc" ,rust-libc-0.2) + ("rust-libgit2-sys" ,rust-libgit2-sys-0.8) + ("rust-log" ,rust-log-0.4) + ("rust-openssl-probe" ,rust-openssl-probe-0.1) + ("rust-openssl-sys" ,rust-openssl-sys-0.9) + ("rust-url" ,rust-url-2)) + #:cargo-development-inputs + (("rust-docopt" ,rust-docopt-1) + ("rust-serde" ,rust-serde-1) + ("rust-serde-derive" ,rust-serde-derive-1) + ("rust-tempdir" ,rust-tempdir-0.3) + ("rust-thread-id" ,rust-thread-id-3) + ("rust-time" ,rust-time-0.1)))))) + +(define-public rust-git2-0.6 + (package + (inherit rust-git2-0.11) + (name "rust-git2-6") + (version "0.6.11") + (source + (origin + (method url-fetch) + (uri (crate-uri "git2" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "115ys6vlfjy5pcwkip0wfzi4q3d1kimbl9isxvjyci1arnvlnnzf")))) + (arguments + `(#:tests? #f + #:cargo-inputs + (("rust-bitflags" ,rust-bitflags-0.9) + ("rust-libc" ,rust-libc-0.2) + ("rust-libgit2-sys" ,rust-libgit2-sys-0.6) + ("rust-openssl-probe" ,rust-openssl-probe-0.1) + ("rust-openssl-sys" ,rust-openssl-sys-0.9) + ("rust-url" ,rust-url-1)) + #:cargo-development-inputs + (("rust-docopt" ,rust-docopt-0.8) + ("rust-serde" ,rust-serde-1) + ("rust-serde-derive" ,rust-serde-derive-1) + ("rust-tempdir" ,rust-tempdir-0.3) + ("rust-time" ,rust-time-0.1)))) + (inputs + (modify-inputs (package-inputs rust-git2-0.11) + (prepend curl))))) diff --git a/gnu/packages/rust-apps.scm b/gnu/packages/rust-apps.scm index 193da35c43..fdfe6cd974 100644 --- a/gnu/packages/rust-apps.scm +++ b/gnu/packages/rust-apps.scm @@ -60,6 +60,7 @@ #:use-module (gnu packages compression) #:use-module (gnu packages crates-io) #:use-module (gnu packages crates-graphics) + #:use-module (gnu packages crates-vcs) #:use-module (gnu packages curl) #:use-module (gnu packages documentation) #:use-module (gnu packages fontutils) -- cgit v1.2.3 From 65cd7744adfc9b67a1ba2a6813c77f5133e4ea7e Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Wed, 27 Dec 2023 13:19:20 +0200 Subject: gnu: rust-web-view-0.7: Move to (gnu packages crates-web). * gnu/packages/crates-io.scm (rust-web-view-0.7): Move from here ... * gnu/packages/crates-web.scm: ... to here. Change-Id: I64f418366007a475f48f3d20e36df2bd84cbef43 --- gnu/packages/crates-io.scm | 43 ----------------------------------------- gnu/packages/crates-web.scm | 47 ++++++++++++++++++++++++++++++++++++++++++++- gnu/packages/rust-apps.scm | 1 + 3 files changed, 47 insertions(+), 44 deletions(-) (limited to 'gnu/packages/rust-apps.scm') diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm index f8cecd47da..bb38f17fbd 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -86634,49 +86634,6 @@ modifications.") for terminal and other window-less applications.") (license (list license:expat license:asl2.0)))) -(define-public rust-web-view-0.7 - (package - (name "rust-web-view") - (version "0.7.3") - (source - (origin - (method url-fetch) - (uri (crate-uri "web-view" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "1smgmc00nk2wn8kpagp0mpsd0d9f5mvljidf2x7plbi3bymac7gf")))) - (build-system cargo-build-system) - (arguments - `(#:tests? #f ;missing files - #:cargo-inputs - (("rust-boxfnonce" ,rust-boxfnonce-0.1) - ("rust-tinyfiledialogs" ,rust-tinyfiledialogs-3) - ("rust-urlencoding" ,rust-urlencoding-1) - ("rust-webview-sys" ,rust-webview-sys-0.6)) - #:cargo-development-inputs - (("rust-actix-rt" ,rust-actix-rt-0.2) - ("rust-actix-web" ,rust-actix-web-1) - ("rust-futures" ,rust-futures-0.1) - ("rust-grep" ,rust-grep-0.2) - ("rust-mime-guess" ,rust-mime-guess-2) - ("rust-rust-embed" ,rust-rust-embed-5) - ("rust-serde" ,rust-serde-1) - ("rust-serde-derive" ,rust-serde-derive-1) - ("rust-serde-json" ,rust-serde-json-1) - ("rust-walkdir" ,rust-walkdir-2)))) - (native-inputs - (list pkg-config)) - (inputs - (list gtk+ - webkitgtk-with-libsoup2)) - (home-page "https://github.com/Boscop/web-view") - (synopsis "Rust bindings for webview") - (description - "This library provides a Rust binding to the original implementation of -webview, a tiny cross-platform library to render web-based GUIs as desktop -applications.") - (license license:expat))) - (define-public rust-web-sys-0.3 (package (name "rust-web-sys") diff --git a/gnu/packages/crates-web.scm b/gnu/packages/crates-web.scm index 9396fca76a..8f56ff3b5e 100644 --- a/gnu/packages/crates-web.scm +++ b/gnu/packages/crates-web.scm @@ -28,8 +28,53 @@ #:use-module (guix utils) #:use-module (gnu packages) #:use-module (gnu packages crates-io) + #:use-module (gnu packages gtk) #:use-module (gnu packages pkg-config) - #:use-module (gnu packages tls)) + #:use-module (gnu packages tls) + #:use-module (gnu packages webkit)) + +(define-public rust-web-view-0.7 + (package + (name "rust-web-view") + (version "0.7.3") + (source + (origin + (method url-fetch) + (uri (crate-uri "web-view" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1smgmc00nk2wn8kpagp0mpsd0d9f5mvljidf2x7plbi3bymac7gf")))) + (build-system cargo-build-system) + (arguments + `(#:tests? #f ;missing files + #:cargo-inputs + (("rust-boxfnonce" ,rust-boxfnonce-0.1) + ("rust-tinyfiledialogs" ,rust-tinyfiledialogs-3) + ("rust-urlencoding" ,rust-urlencoding-1) + ("rust-webview-sys" ,rust-webview-sys-0.6)) + #:cargo-development-inputs + (("rust-actix-rt" ,rust-actix-rt-0.2) + ("rust-actix-web" ,rust-actix-web-1) + ("rust-futures" ,rust-futures-0.1) + ("rust-grep" ,rust-grep-0.2) + ("rust-mime-guess" ,rust-mime-guess-2) + ("rust-rust-embed" ,rust-rust-embed-5) + ("rust-serde" ,rust-serde-1) + ("rust-serde-derive" ,rust-serde-derive-1) + ("rust-serde-json" ,rust-serde-json-1) + ("rust-walkdir" ,rust-walkdir-2)))) + (native-inputs + (list pkg-config)) + (inputs + (list gtk+ + webkitgtk-with-libsoup2)) + (home-page "https://github.com/Boscop/web-view") + (synopsis "Rust bindings for webview") + (description + "This library provides a Rust binding to the original implementation of +webview, a tiny cross-platform library to render web-based GUIs as desktop +applications.") + (license license:expat))) (define-public rust-webpki-0.22 (package diff --git a/gnu/packages/rust-apps.scm b/gnu/packages/rust-apps.scm index fdfe6cd974..0b6610cd32 100644 --- a/gnu/packages/rust-apps.scm +++ b/gnu/packages/rust-apps.scm @@ -61,6 +61,7 @@ #:use-module (gnu packages crates-io) #:use-module (gnu packages crates-graphics) #:use-module (gnu packages crates-vcs) + #:use-module (gnu packages crates-web) #:use-module (gnu packages curl) #:use-module (gnu packages documentation) #:use-module (gnu packages fontutils) -- cgit v1.2.3 From 123ea83f13b742fc168674c16bf7489d2b2e8962 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Wed, 27 Dec 2023 13:43:35 +0200 Subject: gnu: rust-rustls: Move to (gnu packages crates-tls). * gnu/packages/crates-io.scm (rust-rustls-0.21, rust-rustls-0.20, rust-rustls-0.19, rust-rustls-0.18, rust-rustls-0.17, rust-rustls-0.16, rust-rustls-0.15, rust-rustls-0.14, rust-rustls-ffi-0.8, rust-rustls-native-certs-0.6, rust-rustls-native-certs-0.5, rust-rustls-native-certs-0.4, rust-rustls-pemfile-2, rust-rustls-pemfile-1, rust-rustls-pemfile-0.2, rust-rustls-pki-types-1, rust-rustls-webpki-0.101, rust-rustls-webpki-0.100): Move from here ... * gnu/packages/crates-tls.scm: ... to here. Change-Id: Ief4208a2f86151447337b9ca037b4b28f753a9f8 --- gnu/local.mk | 1 + gnu/packages/crates-io.scm | 460 +---------------------------------------- gnu/packages/crates-tls.scm | 494 ++++++++++++++++++++++++++++++++++++++++++++ gnu/packages/crates-web.scm | 1 + gnu/packages/rust-apps.scm | 1 + 5 files changed, 498 insertions(+), 459 deletions(-) create mode 100644 gnu/packages/crates-tls.scm (limited to 'gnu/packages/rust-apps.scm') diff --git a/gnu/local.mk b/gnu/local.mk index e0b551233f..9e9f763bc6 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -204,6 +204,7 @@ GNU_SYSTEM_MODULES = \ %D%/packages/crates-io.scm \ %D%/packages/crates-graphics.scm \ %D%/packages/crates-gtk.scm \ + %D%/packages/crates-tls.scm \ %D%/packages/crates-vcs.scm \ %D%/packages/crates-web.scm \ %D%/packages/cross-base.scm \ diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm index c424b70ef4..113fd1da7a 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -74,6 +74,7 @@ #:use-module (gnu packages cpp) #:use-module (gnu packages crates-graphics) #:use-module (gnu packages crates-gtk) + #:use-module (gnu packages crates-tls) #:use-module (gnu packages crates-vcs) #:use-module (gnu packages crates-web) #:use-module (gnu packages crypto) @@ -62448,465 +62449,6 @@ rustc compiler.") ("rust-serial-test" ,rust-serial-test-0.6) ("rust-tempfile" ,rust-tempfile-3)))))) -(define-public rust-rustls-0.21 - (package - (name "rust-rustls") - (version "0.21.10") - (source (origin - (method url-fetch) - (uri (crate-uri "rustls" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "1fmpzk3axnhkd99saqkvraifdfms4pkyi56lkihf8n877j0sdmgr")))) - (build-system cargo-build-system) - (arguments - `(#:tests? #f ; Not all files included. - #:cargo-inputs - (("rust-log" ,rust-log-0.4) - ("rust-ring" ,rust-ring-0.17) - ("rust-rustls-webpki" ,rust-rustls-webpki-0.101) - ("rust-rustversion" ,rust-rustversion-1) - ("rust-sct" ,rust-sct-0.7)) - #:cargo-development-inputs - (("rust-base64" ,rust-base64-0.21) - ("rust-bencher" ,rust-bencher-0.1) - ("rust-env-logger" ,rust-env-logger-0.10) - ("rust-log" ,rust-log-0.4) - ("rust-rustls-pemfile" ,rust-rustls-pemfile-1) - ("rust-webpki-roots" ,rust-webpki-roots-0.25)))) - (home-page "https://github.com/rustls/rustls") - (synopsis "Modern TLS library written in Rust") - (description - "This package provides a modern TLS library written in Rust.") - (license (list license:asl2.0 license:isc license:expat)))) - -(define-public rust-rustls-0.20 - (package - (inherit rust-rustls-0.21) - (name "rust-rustls") - (version "0.20.8") - (source (origin - (method url-fetch) - (uri (crate-uri "rustls" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "0bqfymq5bjs1jxg1iw2nn4ab3kzz2lrk8a1vx3s98lhp9p3qzxzz")))) - (arguments - `(#:tests? #f ; Not all files included. - #:cargo-inputs - (("rust-log" ,rust-log-0.4) - ("rust-ring" ,rust-ring-0.16) - ("rust-rustversion" ,rust-rustversion-1) - ("rust-sct" ,rust-sct-0.7) - ("rust-webpki" ,rust-webpki-0.22)) - #:cargo-development-inputs - (("rust-base64" ,rust-base64-0.13) - ("rust-criterion" ,rust-criterion-0.3) - ("rust-env-logger" ,rust-env-logger-0.9) - ("rust-log" ,rust-log-0.4) - ("rust-rustls-pemfile" ,rust-rustls-pemfile-1) - ("rust-webpki-roots" ,rust-webpki-roots-0.22)))))) - -(define-public rust-rustls-0.19 - (package - (inherit rust-rustls-0.20) - (name "rust-rustls") - (version "0.19.0") - (source - (origin - (method url-fetch) - (uri (crate-uri "rustls" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "02wqas2pcxk75s9l9c9f1r5am7258bmqprh68pnqfvkwz0gx4kq6")))) - (arguments - `(#:skip-build? #t - #:cargo-inputs - (("rust-base64" ,rust-base64-0.13) - ("rust-log" ,rust-log-0.4) - ("rust-ring" ,rust-ring-0.16) - ("rust-sct" ,rust-sct-0.6) - ("rust-webpki" ,rust-webpki-0.21)))))) - -(define-public rust-rustls-0.18 - (package - (inherit rust-rustls-0.19) - (name "rust-rustls") - (version "0.18.1") - (source - (origin - (method url-fetch) - (uri (crate-uri "rustls" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "108cf3bfw5high066shz9xrfv4jz7djdmnwqs3kwx4wfypf2c4ax")))) - (arguments - `(#:tests? #f ; Not all files included. - #:cargo-inputs - (("rust-base64" ,rust-base64-0.12) - ("rust-log" ,rust-log-0.4) - ("rust-ring" ,rust-ring-0.16) - ("rust-sct" ,rust-sct-0.6) - ("rust-webpki" ,rust-webpki-0.21)) - #:cargo-development-inputs - (("rust-criterion" ,rust-criterion-0.3) - ("rust-env-logger" ,rust-env-logger-0.7) - ("rust-log" ,rust-log-0.4) - ("rust-webpki-roots" ,rust-webpki-roots-0.20)))))) - -(define-public rust-rustls-0.17 - (package - (inherit rust-rustls-0.18) - (name "rust-rustls") - (version "0.17.0") - (source - (origin - (method url-fetch) - (uri (crate-uri "rustls" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "1q8m835viqrf4bbd2fa8rnmaj48fkd984saxf0238hb8blgs7m60")))) - (arguments - `(#:tests? #f ; Not all files included. - #:cargo-inputs - (("rust-base64" ,rust-base64-0.11) - ("rust-log" ,rust-log-0.4) - ("rust-ring" ,rust-ring-0.16) - ("rust-sct" ,rust-sct-0.6) - ("rust-webpki" ,rust-webpki-0.21)) - #:cargo-development-inputs - (("rust-criterion" ,rust-criterion-0.3) - ("rust-env-logger" ,rust-env-logger-0.7) - ("rust-log" ,rust-log-0.4) - ("rust-tempfile" ,rust-tempfile-3) - ("rust-webpki-roots" ,rust-webpki-roots-0.19)))))) - -(define-public rust-rustls-0.16 - (package - (inherit rust-rustls-0.17) - (name "rust-rustls") - (version "0.16.0") - (source - (origin - (method url-fetch) - (uri (crate-uri "rustls" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "17n0fx3fpkg4fhpdplrdhkissnl003kj90vzbqag11vkpyqihnmj")))) - (arguments - `(#:tests? #f ;; 1/114 tests fail (test file not found) - #:cargo-inputs - (("rust-base64" ,rust-base64-0.10) - ("rust-log" ,rust-log-0.4) - ("rust-ring" ,rust-ring-0.16) - ("rust-sct" ,rust-sct-0.6) - ("rust-webpki" ,rust-webpki-0.21)) - #:cargo-development-inputs - (("rust-criterion" ,rust-criterion-0.2) - ("rust-env-logger" ,rust-env-logger-0.6) - ("rust-log" ,rust-log-0.4) - ("rust-tempfile" ,rust-tempfile-3) - ("rust-webpki-roots" ,rust-webpki-roots-0.17)))))) - -(define-public rust-rustls-0.15 - (package - (inherit rust-rustls-0.16) - (name "rust-rustls") - (version "0.15.2") - (source - (origin - (method url-fetch) - (uri (crate-uri "rustls" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "0vh93fhqfbn4ysw4xzkpkpqdz36xixz4mhs1qllgldfq5iay6wgj")))) - (arguments - `(#:tests? #f ; API tests panic - #:cargo-test-flags - '("--release" "--" - "--skip=msgs::message_test::test_read_fuzz_corpus") - #:cargo-inputs - (("rust-base64" ,rust-base64-0.10) - ("rust-log" ,rust-log-0.4) - ("rust-ring" ,rust-ring-0.14) - ("rust-sct" ,rust-sct-0.5) - ("rust-untrusted" ,rust-untrusted-0.6) - ("rust-webpki" ,rust-webpki-0.19)) - #:cargo-development-inputs - (("rust-env-logger" ,rust-env-logger-0.6) - ("rust-log" ,rust-log-0.4) - ("rust-tempfile" ,rust-tempfile-3) - ("rust-webpki-roots" ,rust-webpki-roots-0.16)))))) - -(define-public rust-rustls-0.14 - (package - (inherit rust-rustls-0.18) - (name "rust-rustls") - (version "0.14.0") - (source - (origin - (method url-fetch) - (uri (crate-uri "rustls" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "1nal4qca7f7mhwnvx3m824ymdj6qmzfcl64sxmrmpis32dwr2y4b")))) - (arguments - `(#:skip-build? #t - #:cargo-inputs - (("rust-base64" ,rust-base64-0.9) - ("rust-log" ,rust-log-0.4) - ("rust-ring" ,rust-ring-0.13) - ("rust-sct" ,rust-sct-0.4) - ("rust-untrusted" ,rust-untrusted-0.6) - ("rust-webpki" ,rust-webpki-0.18)))))) - -(define-public rust-rustls-ffi-0.8 - (package - (name "rust-rustls-ffi") - (version "0.8.2") - (source (origin - (method url-fetch) - (uri (crate-uri "rustls-ffi" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "06kqrvm1d5ps9pml26zdd2hm8hh20j6svwvqibpnx7m5rh3jg9cx")))) - (build-system cargo-build-system) - (arguments - `(#:cargo-inputs - (("rust-libc" ,rust-libc-0.2) - ("rust-log" ,rust-log-0.4) - ("rust-num-enum" ,rust-num-enum-0.5) - ("rust-rustls" ,rust-rustls-0.20) - ("rust-rustls-pemfile" ,rust-rustls-pemfile-0.2) - ("rust-sct" ,rust-sct-0.7) - ("rust-webpki" ,rust-webpki-0.22)) - #:cargo-development-inputs - (("rust-cbindgen" ,rust-cbindgen-0.26)) - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'adjust-cbindgen-requirement - ;; The Cargo.toml in the git repository doesn't specify - ;; a version requirement for cbindgen. - (lambda _ - (substitute* "Cargo.toml" - (("0\\.19\\.0") "*"))))))) - (home-page "https://github.com/rustls/rustls-ffi") - (synopsis "Rustls bindings for non-Rust languages") - (description "Rustls bindings for non-Rust languages") - (license (list license:asl2.0 license:isc license:expat)))) - -(define-public rust-rustls-native-certs-0.6 - (package - (name "rust-rustls-native-certs") - (version "0.6.3") - (source - (origin - (method url-fetch) - (uri (crate-uri "rustls-native-certs" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "007zind70rd5rfsrkdcfm8vn09j8sg02phg9334kark6rdscxam9")))) - (build-system cargo-build-system) - (arguments - `(#:tests? #f ; Tests want network access. - #:cargo-inputs - (("rust-openssl-probe" ,rust-openssl-probe-0.1) - ("rust-rustls-pemfile" ,rust-rustls-pemfile-1) - ("rust-schannel" ,rust-schannel-0.1) - ("rust-security-framework" ,rust-security-framework-2)) - #:cargo-development-inputs - (("rust-ring" ,rust-ring-0.16) - ("rust-rustls" ,rust-rustls-0.21) - ("rust-rustls-webpki" ,rust-rustls-webpki-0.100) - ("rust-serial-test" ,rust-serial-test-2) - ("rust-untrusted" ,rust-untrusted-0.7) - ("rust-webpki-roots" ,rust-webpki-roots-0.23) - ("rust-x509-parser" ,rust-x509-parser-0.15)))) - (home-page "https://github.com/ctz/rustls-native-certs") - (synopsis "Use the platform native certificate store with rustls") - (description "@code{rustls-native-certs} allows rustls to use the platform -native certificate store.") - (license - (list license:asl2.0 license:isc license:expat)))) - -(define-public rust-rustls-native-certs-0.5 - (package - (inherit rust-rustls-native-certs-0.6) - (name "rust-rustls-native-certs") - (version "0.5.0") - (source - (origin - (method url-fetch) - (uri (crate-uri "rustls-native-certs" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "14i0bbbigk6r6262hvc51vz4dvqk1f3vg2f264wfvn2vi30vf1ss")))) - (arguments - `(#:skip-build? #t - #:cargo-inputs - (("rust-openssl-probe" ,rust-openssl-probe-0.1) - ("rust-rustls" ,rust-rustls-0.19) - ("rust-schannel" ,rust-schannel-0.1) - ("rust-security-framework" ,rust-security-framework-2)))))) - -(define-public rust-rustls-native-certs-0.4 - (package - (inherit rust-rustls-native-certs-0.5) - (name "rust-rustls-native-certs") - (version "0.4.0") - (source - (origin - (method url-fetch) - (uri (crate-uri "rustls-native-certs" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "1f2rkvdkz92qcmwryyqiw9phkqkf95g4962ljpfq5nkjfsd477b2")))) - (arguments - `(#:tests? #f ; Tests want network access - #:cargo-inputs - (("rust-openssl-probe" ,rust-openssl-probe-0.1) - ("rust-rustls" ,rust-rustls-0.18) - ("rust-schannel" ,rust-schannel-0.1) - ("rust-security-framework" - ,rust-security-framework-1)) - #:cargo-development-inputs - (("rust-ring" ,rust-ring-0.16) - ("rust-untrusted" ,rust-untrusted-0.7) - ("rust-webpki" ,rust-webpki-0.21) - ("rust-webpki-roots" ,rust-webpki-roots-0.20)))))) - -(define-public rust-rustls-pemfile-2 - (package - (name "rust-rustls-pemfile") - (version "2.0.0") - (source - (origin - (method url-fetch) - (uri (crate-uri "rustls-pemfile" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "1x34xidvzn4br2vl8f8xwmhgbjv4lmlb0ggv5whlnk4yl87rir1m")))) - (build-system cargo-build-system) - (arguments - `(#:cargo-inputs (("rust-base64" ,rust-base64-0.21) - ("rust-rustls-pki-types" ,rust-rustls-pki-types-1)) - #:cargo-development-inputs (("rust-bencher" ,rust-bencher-0.1)))) - (home-page "https://github.com/rustls/pemfile") - (synopsis "Basic parser for PEM formatted keys and certificates") - (description "This package provides a very basic parser for the -PEM-encodings commonly used to store keys and certificates at rest.") - (license (list license:asl2.0 license:isc license:expat)))) - -(define-public rust-rustls-pemfile-1 - (package - (inherit rust-rustls-pemfile-2) - (name "rust-rustls-pemfile") - (version "1.0.3") - (source - (origin - (method url-fetch) - (uri (crate-uri "rustls-pemfile" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "1cplx6hgkr32nq31p3613b2sj7csrrq3zp6znx9vc1qx9c4qff9d")))) - (arguments - `(#:cargo-inputs - (("rust-base64" ,rust-base64-0.21)) - #:cargo-development-inputs - (("rust-bencher" ,rust-bencher-0.1)))))) - -(define-public rust-rustls-pemfile-0.2 - (package - (inherit rust-rustls-pemfile-1) - (name "rust-rustls-pemfile") - (version "0.2.1") - (source - (origin - (method url-fetch) - (uri (crate-uri "rustls-pemfile" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "1jfi97lqnnnnxhmfy6ygrsp0x70m8wsdpaw45svvz1qc6vmymssy")))) - (arguments - `(#:cargo-inputs - (("rust-base64" ,rust-base64-0.13)) - #:cargo-development-inputs - (("rust-criterion" ,rust-criterion-0.3)))))) - -(define-public rust-rustls-pki-types-1 - (package - (name "rust-rustls-pki-types") - (version "1.0.1") - (source - (origin - (method url-fetch) - (uri (crate-uri "rustls-pki-types" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "16rkx6gn5l2zximxy8fx9h2vzks1hfxi5z5cd9y97r0fl853wrz7")))) - (build-system cargo-build-system) - (home-page "https://github.com/rustls/pki-types") - (synopsis "Shared types for the rustls PKI ecosystem") - (description "Shared types for the rustls PKI ecosystem.") - (license (list license:expat license:asl2.0)))) - -(define-public rust-rustls-webpki-0.101 - (package - (name "rust-rustls-webpki") - (version "0.101.7") - (source (origin - (method url-fetch) - (uri (crate-uri "rustls-webpki" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "0rapfhpkqp75552i8r0y7f4vq7csb4k7gjjans0df73sxv8paqlb")))) - (build-system cargo-build-system) - (arguments - `(#:tests? #f ; Not all files included. - #:cargo-inputs - (("rust-ring" ,rust-ring-0.17) - ("rust-untrusted" ,rust-untrusted-0.9)) - #:cargo-development-inputs - (("rust-base64" ,rust-base64-0.21) - ("rust-bencher" ,rust-bencher-0.1) - ("rust-once-cell" ,rust-once-cell-1) - ("rust-rcgen" ,rust-rcgen-0.11) - ("rust-serde" ,rust-serde-1) - ("rust-serde-json" ,rust-serde-json-1)))) - (home-page "https://github.com/rustls/webpki") - (synopsis "Web PKI X.509 Certificate Verification") - (description "Web PKI X.509 Certificate Verification.") - (license license:isc))) - -(define-public rust-rustls-webpki-0.100 - (package - (inherit rust-rustls-webpki-0.101) - (name "rust-rustls-webpki") - (version "0.100.1") - (source (origin - (method url-fetch) - (uri (crate-uri "rustls-webpki" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "0sxlgpcczd1wihmnbgv5qz00jim32dap5wzq2rwcm39xxpapq86n")))) - (arguments - `(#:tests? #f ; Not all files included. - #:cargo-inputs - (("rust-ring" ,rust-ring-0.16) - ("rust-untrusted" ,rust-untrusted-0.7)) - #:cargo-development-inputs (("rust-base64" ,rust-base64-0.13)))))) - (define-public rust-rusttype-0.9 (package (name "rust-rusttype") diff --git a/gnu/packages/crates-tls.scm b/gnu/packages/crates-tls.scm new file mode 100644 index 0000000000..a6dd512547 --- /dev/null +++ b/gnu/packages/crates-tls.scm @@ -0,0 +1,494 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2020 Hartmut Goebel +;;; Copyright © 2020 Arun Isaac +;;; Copyright © 2020, 2023 Efraim Flashner +;;; Copyright © 2021 Nicolas Goaziou +;;; Copyright © 2021 Alexandru-Sergiu Marton +;;; Copyright © 2022 Aleksandr Vityazev +;;; Copyright © 2022 Ricardo Wurmus +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see . + +(define-module (gnu packages crates-tls) + #:use-module (guix build-system cargo) + #:use-module (guix download) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix packages) + #:use-module (guix utils) + #:use-module (gnu packages) + #:use-module (gnu packages crates-io) + #:use-module (gnu packages crates-web) + #:use-module (gnu packages rust-apps)) + +(define-public rust-rustls-0.21 + (package + (name "rust-rustls") + (version "0.21.10") + (source (origin + (method url-fetch) + (uri (crate-uri "rustls" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1fmpzk3axnhkd99saqkvraifdfms4pkyi56lkihf8n877j0sdmgr")))) + (build-system cargo-build-system) + (arguments + `(#:tests? #f ; Not all files included. + #:cargo-inputs + (("rust-log" ,rust-log-0.4) + ("rust-ring" ,rust-ring-0.17) + ("rust-rustls-webpki" ,rust-rustls-webpki-0.101) + ("rust-rustversion" ,rust-rustversion-1) + ("rust-sct" ,rust-sct-0.7)) + #:cargo-development-inputs + (("rust-base64" ,rust-base64-0.21) + ("rust-bencher" ,rust-bencher-0.1) + ("rust-env-logger" ,rust-env-logger-0.10) + ("rust-log" ,rust-log-0.4) + ("rust-rustls-pemfile" ,rust-rustls-pemfile-1) + ("rust-webpki-roots" ,rust-webpki-roots-0.25)))) + (home-page "https://github.com/rustls/rustls") + (synopsis "Modern TLS library written in Rust") + (description + "This package provides a modern TLS library written in Rust.") + (license (list license:asl2.0 license:isc license:expat)))) + +(define-public rust-rustls-0.20 + (package + (inherit rust-rustls-0.21) + (name "rust-rustls") + (version "0.20.8") + (source (origin + (method url-fetch) + (uri (crate-uri "rustls" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "0bqfymq5bjs1jxg1iw2nn4ab3kzz2lrk8a1vx3s98lhp9p3qzxzz")))) + (arguments + `(#:tests? #f ; Not all files included. + #:cargo-inputs + (("rust-log" ,rust-log-0.4) + ("rust-ring" ,rust-ring-0.16) + ("rust-rustversion" ,rust-rustversion-1) + ("rust-sct" ,rust-sct-0.7) + ("rust-webpki" ,rust-webpki-0.22)) + #:cargo-development-inputs + (("rust-base64" ,rust-base64-0.13) + ("rust-criterion" ,rust-criterion-0.3) + ("rust-env-logger" ,rust-env-logger-0.9) + ("rust-log" ,rust-log-0.4) + ("rust-rustls-pemfile" ,rust-rustls-pemfile-1) + ("rust-webpki-roots" ,rust-webpki-roots-0.22)))))) + +(define-public rust-rustls-0.19 + (package + (inherit rust-rustls-0.20) + (name "rust-rustls") + (version "0.19.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "rustls" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "02wqas2pcxk75s9l9c9f1r5am7258bmqprh68pnqfvkwz0gx4kq6")))) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-base64" ,rust-base64-0.13) + ("rust-log" ,rust-log-0.4) + ("rust-ring" ,rust-ring-0.16) + ("rust-sct" ,rust-sct-0.6) + ("rust-webpki" ,rust-webpki-0.21)))))) + +(define-public rust-rustls-0.18 + (package + (inherit rust-rustls-0.19) + (name "rust-rustls") + (version "0.18.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "rustls" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "108cf3bfw5high066shz9xrfv4jz7djdmnwqs3kwx4wfypf2c4ax")))) + (arguments + `(#:tests? #f ; Not all files included. + #:cargo-inputs + (("rust-base64" ,rust-base64-0.12) + ("rust-log" ,rust-log-0.4) + ("rust-ring" ,rust-ring-0.16) + ("rust-sct" ,rust-sct-0.6) + ("rust-webpki" ,rust-webpki-0.21)) + #:cargo-development-inputs + (("rust-criterion" ,rust-criterion-0.3) + ("rust-env-logger" ,rust-env-logger-0.7) + ("rust-log" ,rust-log-0.4) + ("rust-webpki-roots" ,rust-webpki-roots-0.20)))))) + +(define-public rust-rustls-0.17 + (package + (inherit rust-rustls-0.18) + (name "rust-rustls") + (version "0.17.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "rustls" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1q8m835viqrf4bbd2fa8rnmaj48fkd984saxf0238hb8blgs7m60")))) + (arguments + `(#:tests? #f ; Not all files included. + #:cargo-inputs + (("rust-base64" ,rust-base64-0.11) + ("rust-log" ,rust-log-0.4) + ("rust-ring" ,rust-ring-0.16) + ("rust-sct" ,rust-sct-0.6) + ("rust-webpki" ,rust-webpki-0.21)) + #:cargo-development-inputs + (("rust-criterion" ,rust-criterion-0.3) + ("rust-env-logger" ,rust-env-logger-0.7) + ("rust-log" ,rust-log-0.4) + ("rust-tempfile" ,rust-tempfile-3) + ("rust-webpki-roots" ,rust-webpki-roots-0.19)))))) + +(define-public rust-rustls-0.16 + (package + (inherit rust-rustls-0.17) + (name "rust-rustls") + (version "0.16.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "rustls" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "17n0fx3fpkg4fhpdplrdhkissnl003kj90vzbqag11vkpyqihnmj")))) + (arguments + `(#:tests? #f ;; 1/114 tests fail (test file not found) + #:cargo-inputs + (("rust-base64" ,rust-base64-0.10) + ("rust-log" ,rust-log-0.4) + ("rust-ring" ,rust-ring-0.16) + ("rust-sct" ,rust-sct-0.6) + ("rust-webpki" ,rust-webpki-0.21)) + #:cargo-development-inputs + (("rust-criterion" ,rust-criterion-0.2) + ("rust-env-logger" ,rust-env-logger-0.6) + ("rust-log" ,rust-log-0.4) + ("rust-tempfile" ,rust-tempfile-3) + ("rust-webpki-roots" ,rust-webpki-roots-0.17)))))) + +(define-public rust-rustls-0.15 + (package + (inherit rust-rustls-0.16) + (name "rust-rustls") + (version "0.15.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "rustls" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0vh93fhqfbn4ysw4xzkpkpqdz36xixz4mhs1qllgldfq5iay6wgj")))) + (arguments + `(#:tests? #f ; API tests panic + #:cargo-test-flags + '("--release" "--" + "--skip=msgs::message_test::test_read_fuzz_corpus") + #:cargo-inputs + (("rust-base64" ,rust-base64-0.10) + ("rust-log" ,rust-log-0.4) + ("rust-ring" ,rust-ring-0.14) + ("rust-sct" ,rust-sct-0.5) + ("rust-untrusted" ,rust-untrusted-0.6) + ("rust-webpki" ,rust-webpki-0.19)) + #:cargo-development-inputs + (("rust-env-logger" ,rust-env-logger-0.6) + ("rust-log" ,rust-log-0.4) + ("rust-tempfile" ,rust-tempfile-3) + ("rust-webpki-roots" ,rust-webpki-roots-0.16)))))) + +(define-public rust-rustls-0.14 + (package + (inherit rust-rustls-0.18) + (name "rust-rustls") + (version "0.14.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "rustls" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1nal4qca7f7mhwnvx3m824ymdj6qmzfcl64sxmrmpis32dwr2y4b")))) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-base64" ,rust-base64-0.9) + ("rust-log" ,rust-log-0.4) + ("rust-ring" ,rust-ring-0.13) + ("rust-sct" ,rust-sct-0.4) + ("rust-untrusted" ,rust-untrusted-0.6) + ("rust-webpki" ,rust-webpki-0.18)))))) + +(define-public rust-rustls-ffi-0.8 + (package + (name "rust-rustls-ffi") + (version "0.8.2") + (source (origin + (method url-fetch) + (uri (crate-uri "rustls-ffi" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "06kqrvm1d5ps9pml26zdd2hm8hh20j6svwvqibpnx7m5rh3jg9cx")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-libc" ,rust-libc-0.2) + ("rust-log" ,rust-log-0.4) + ("rust-num-enum" ,rust-num-enum-0.5) + ("rust-rustls" ,rust-rustls-0.20) + ("rust-rustls-pemfile" ,rust-rustls-pemfile-0.2) + ("rust-sct" ,rust-sct-0.7) + ("rust-webpki" ,rust-webpki-0.22)) + #:cargo-development-inputs + (("rust-cbindgen" ,rust-cbindgen-0.26)) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'adjust-cbindgen-requirement + ;; The Cargo.toml in the git repository doesn't specify + ;; a version requirement for cbindgen. + (lambda _ + (substitute* "Cargo.toml" + (("0\\.19\\.0") "*"))))))) + (home-page "https://github.com/rustls/rustls-ffi") + (synopsis "Rustls bindings for non-Rust languages") + (description "Rustls bindings for non-Rust languages") + (license (list license:asl2.0 license:isc license:expat)))) + +(define-public rust-rustls-native-certs-0.6 + (package + (name "rust-rustls-native-certs") + (version "0.6.3") + (source + (origin + (method url-fetch) + (uri (crate-uri "rustls-native-certs" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "007zind70rd5rfsrkdcfm8vn09j8sg02phg9334kark6rdscxam9")))) + (build-system cargo-build-system) + (arguments + `(#:tests? #f ; Tests want network access. + #:cargo-inputs + (("rust-openssl-probe" ,rust-openssl-probe-0.1) + ("rust-rustls-pemfile" ,rust-rustls-pemfile-1) + ("rust-schannel" ,rust-schannel-0.1) + ("rust-security-framework" ,rust-security-framework-2)) + #:cargo-development-inputs + (("rust-ring" ,rust-ring-0.16) + ("rust-rustls" ,rust-rustls-0.21) + ("rust-rustls-webpki" ,rust-rustls-webpki-0.100) + ("rust-serial-test" ,rust-serial-test-2) + ("rust-untrusted" ,rust-untrusted-0.7) + ("rust-webpki-roots" ,rust-webpki-roots-0.23) + ("rust-x509-parser" ,rust-x509-parser-0.15)))) + (home-page "https://github.com/ctz/rustls-native-certs") + (synopsis "Use the platform native certificate store with rustls") + (description "@code{rustls-native-certs} allows rustls to use the platform +native certificate store.") + (license + (list license:asl2.0 license:isc license:expat)))) + +(define-public rust-rustls-native-certs-0.5 + (package + (inherit rust-rustls-native-certs-0.6) + (name "rust-rustls-native-certs") + (version "0.5.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "rustls-native-certs" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "14i0bbbigk6r6262hvc51vz4dvqk1f3vg2f264wfvn2vi30vf1ss")))) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-openssl-probe" ,rust-openssl-probe-0.1) + ("rust-rustls" ,rust-rustls-0.19) + ("rust-schannel" ,rust-schannel-0.1) + ("rust-security-framework" ,rust-security-framework-2)))))) + +(define-public rust-rustls-native-certs-0.4 + (package + (inherit rust-rustls-native-certs-0.5) + (name "rust-rustls-native-certs") + (version "0.4.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "rustls-native-certs" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1f2rkvdkz92qcmwryyqiw9phkqkf95g4962ljpfq5nkjfsd477b2")))) + (arguments + `(#:tests? #f ; Tests want network access + #:cargo-inputs + (("rust-openssl-probe" ,rust-openssl-probe-0.1) + ("rust-rustls" ,rust-rustls-0.18) + ("rust-schannel" ,rust-schannel-0.1) + ("rust-security-framework" + ,rust-security-framework-1)) + #:cargo-development-inputs + (("rust-ring" ,rust-ring-0.16) + ("rust-untrusted" ,rust-untrusted-0.7) + ("rust-webpki" ,rust-webpki-0.21) + ("rust-webpki-roots" ,rust-webpki-roots-0.20)))))) + +(define-public rust-rustls-pemfile-2 + (package + (name "rust-rustls-pemfile") + (version "2.0.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "rustls-pemfile" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1x34xidvzn4br2vl8f8xwmhgbjv4lmlb0ggv5whlnk4yl87rir1m")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs (("rust-base64" ,rust-base64-0.21) + ("rust-rustls-pki-types" ,rust-rustls-pki-types-1)) + #:cargo-development-inputs (("rust-bencher" ,rust-bencher-0.1)))) + (home-page "https://github.com/rustls/pemfile") + (synopsis "Basic parser for PEM formatted keys and certificates") + (description "This package provides a very basic parser for the +PEM-encodings commonly used to store keys and certificates at rest.") + (license (list license:asl2.0 license:isc license:expat)))) + +(define-public rust-rustls-pemfile-1 + (package + (inherit rust-rustls-pemfile-2) + (name "rust-rustls-pemfile") + (version "1.0.3") + (source + (origin + (method url-fetch) + (uri (crate-uri "rustls-pemfile" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1cplx6hgkr32nq31p3613b2sj7csrrq3zp6znx9vc1qx9c4qff9d")))) + (arguments + `(#:cargo-inputs + (("rust-base64" ,rust-base64-0.21)) + #:cargo-development-inputs + (("rust-bencher" ,rust-bencher-0.1)))))) + +(define-public rust-rustls-pemfile-0.2 + (package + (inherit rust-rustls-pemfile-1) + (name "rust-rustls-pemfile") + (version "0.2.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "rustls-pemfile" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1jfi97lqnnnnxhmfy6ygrsp0x70m8wsdpaw45svvz1qc6vmymssy")))) + (arguments + `(#:cargo-inputs + (("rust-base64" ,rust-base64-0.13)) + #:cargo-development-inputs + (("rust-criterion" ,rust-criterion-0.3)))))) + +(define-public rust-rustls-pki-types-1 + (package + (name "rust-rustls-pki-types") + (version "1.0.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "rustls-pki-types" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "16rkx6gn5l2zximxy8fx9h2vzks1hfxi5z5cd9y97r0fl853wrz7")))) + (build-system cargo-build-system) + (home-page "https://github.com/rustls/pki-types") + (synopsis "Shared types for the rustls PKI ecosystem") + (description "Shared types for the rustls PKI ecosystem.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-rustls-webpki-0.101 + (package + (name "rust-rustls-webpki") + (version "0.101.7") + (source (origin + (method url-fetch) + (uri (crate-uri "rustls-webpki" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0rapfhpkqp75552i8r0y7f4vq7csb4k7gjjans0df73sxv8paqlb")))) + (build-system cargo-build-system) + (arguments + `(#:tests? #f ; Not all files included. + #:cargo-inputs + (("rust-ring" ,rust-ring-0.17) + ("rust-untrusted" ,rust-untrusted-0.9)) + #:cargo-development-inputs + (("rust-base64" ,rust-base64-0.21) + ("rust-bencher" ,rust-bencher-0.1) + ("rust-once-cell" ,rust-once-cell-1) + ("rust-rcgen" ,rust-rcgen-0.11) + ("rust-serde" ,rust-serde-1) + ("rust-serde-json" ,rust-serde-json-1)))) + (home-page "https://github.com/rustls/webpki") + (synopsis "Web PKI X.509 Certificate Verification") + (description "Web PKI X.509 Certificate Verification.") + (license license:isc))) + +(define-public rust-rustls-webpki-0.100 + (package + (inherit rust-rustls-webpki-0.101) + (name "rust-rustls-webpki") + (version "0.100.1") + (source (origin + (method url-fetch) + (uri (crate-uri "rustls-webpki" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0sxlgpcczd1wihmnbgv5qz00jim32dap5wzq2rwcm39xxpapq86n")))) + (arguments + `(#:tests? #f ; Not all files included. + #:cargo-inputs + (("rust-ring" ,rust-ring-0.16) + ("rust-untrusted" ,rust-untrusted-0.7)) + #:cargo-development-inputs (("rust-base64" ,rust-base64-0.13)))))) + diff --git a/gnu/packages/crates-web.scm b/gnu/packages/crates-web.scm index 99cf1afdac..71d89bf170 100644 --- a/gnu/packages/crates-web.scm +++ b/gnu/packages/crates-web.scm @@ -29,6 +29,7 @@ #:use-module (gnu packages) #:use-module (gnu packages crates-io) #:use-module (gnu packages crates-gtk) + #:use-module (gnu packages crates-tls) #:use-module (gnu packages gtk) #:use-module (gnu packages pkg-config) #:use-module (gnu packages tls) diff --git a/gnu/packages/rust-apps.scm b/gnu/packages/rust-apps.scm index 0b6610cd32..561c338959 100644 --- a/gnu/packages/rust-apps.scm +++ b/gnu/packages/rust-apps.scm @@ -60,6 +60,7 @@ #:use-module (gnu packages compression) #:use-module (gnu packages crates-io) #:use-module (gnu packages crates-graphics) + #:use-module (gnu packages crates-tls) #:use-module (gnu packages crates-vcs) #:use-module (gnu packages crates-web) #:use-module (gnu packages curl) -- cgit v1.2.3 From 87630f28811526ad90f9bb6b8f6b9d5cec7a73fe Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Wed, 27 Dec 2023 14:48:18 +0200 Subject: gnu: rust-windows: Move to (gnu packages crates-windows). * gnu/packages/crates-io.scm (rust-windows-0.48, rust-windows-0.46, rust-windows-0.44, rust-windows-0.39, rust-windows-0.32, rust-windows-0.9, rust-windows-aarch64-gnullvm-0.52, rust-windows-aarch64-gnullvm-0.48, rust-windows-aarch64-gnullvm-0.42, rust-windows-aarch64-msvc-0.52, rust-windows-aarch64-msvc-0.48, rust-windows-aarch64-msvc-0.42, rust-windows-aarch64-msvc-0.39, rust-windows-aarch64-msvc-0.36, rust-windows-aarch64-msvc-0.32, rust-windows-aarch64-msvc-0.28, rust-windows-bindgen-0.51, rust-windows-i686-gnu-0.52, rust-windows-i686-gnu-0.48, rust-windows-i686-gnu-0.42, rust-windows-i686-gnu-0.36, rust-windows-i686-gnu-0.32, rust-windows-i686-gnu-0.28, rust-windows-i686-msvc-0.52, rust-windows-i686-msvc-0.48, rust-windows-i686-msvc-0.42, rust-windows-i686-msvc-0.39, rust-windows-i686-msvc-0.36, rust-windows-i686-msvc-0.32, rust-windows-i686-msvc-0.28, rust-windows-implement-0.48, rust-windows-implement-0.46, rust-windows-implement-0.44, rust-windows-implement-0.39, rust-windows-implement-0.32, rust-windows-interface-0.48, rust-windows-interface-0.46, rust-windows-interface-0.44, rust-windows-interface-0.39, rust-windows-metadata-0.51, rust-windows-sys-0.52, rust-windows-sys-0.48, rust-windows-sys-0.45, rust-windows-sys-0.42, rust-windows-sys-0.36, rust-windows-sys-0.28, rust-windows-gen-0.9, rust-windows-macros-0.9, rust-windows-targets-0.52, rust-windows-targets-0.48, rust-windows-targets-0.42, rust-windows-targets-0.39, rust-windows-targets-0.32, rust-windows-x86-64-gnu-0.52, rust-windows-x86-64-gnu-0.48, rust-windows-x86-64-gnu-0.42, rust-windows-x86-64-gnu-0.39, rust-windows-x86-64-gnu-0.36, rust-windows-x86-64-gnu-0.32, rust-windows-x86-64-gnu-0.28, rust-windows-x86-64-gnullvm-0.52, rust-windows-x86-64-gnullvm-48, rust-windows-x86-64-gnullvm-0.42, rust-windows-x86-64-msvc-0.52, rust-windows-x86-64-msvc-0.48, rust-windows-x86-64-msvc-0.42, rust-windows-x86-64-msvc-0.39, rust-windows-x86-64-msvc-0.36, rust-windows-x86-64-msvc-0.32, rust-windows-x86-64-msvc-0.28): Move from here ... * gnu/packages/crates-windows.scm: ... to here. Change-Id: I5abaa9402ae75199d4ec26b1e37b3a7293437c93 --- gnu/local.mk | 1 + gnu/packages/crates-graphics.scm | 1 + gnu/packages/crates-io.scm | 1254 +------------------------------------ gnu/packages/crates-vcs.scm | 1 + gnu/packages/crates-windows.scm | 1286 ++++++++++++++++++++++++++++++++++++++ gnu/packages/rust-apps.scm | 1 + gnu/packages/terminals.scm | 1 + 7 files changed, 1293 insertions(+), 1252 deletions(-) create mode 100644 gnu/packages/crates-windows.scm (limited to 'gnu/packages/rust-apps.scm') diff --git a/gnu/local.mk b/gnu/local.mk index 9e9f763bc6..1588c6100c 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -207,6 +207,7 @@ GNU_SYSTEM_MODULES = \ %D%/packages/crates-tls.scm \ %D%/packages/crates-vcs.scm \ %D%/packages/crates-web.scm \ + %D%/packages/crates-windows.scm \ %D%/packages/cross-base.scm \ %D%/packages/cross-toolchain.scm \ %D%/packages/crypto.scm \ diff --git a/gnu/packages/crates-graphics.scm b/gnu/packages/crates-graphics.scm index fdb54b435b..8f1c773607 100644 --- a/gnu/packages/crates-graphics.scm +++ b/gnu/packages/crates-graphics.scm @@ -39,6 +39,7 @@ #:use-module (gnu packages assembly) #:use-module (gnu packages compression) #:use-module (gnu packages crates-io) + #:use-module (gnu packages crates-windows) #:use-module (gnu packages freedesktop) #:use-module (gnu packages gl) #:use-module (gnu packages llvm) diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm index 3193eb0d86..80793200f6 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -37,6 +37,7 @@ ;;; Copyright © 2023 Steve George ;;; Copyright © 2023 Sergio Pastor Pérez ;;; Copyright © 2023 VÖRÖSKŐI András +;;; Copyright © 2023 Daniel Ziltener ;;; ;;; This file is part of GNU Guix. ;;; @@ -78,6 +79,7 @@ #:use-module (gnu packages crates-tls) #:use-module (gnu packages crates-vcs) #:use-module (gnu packages crates-web) + #:use-module (gnu packages crates-windows) #:use-module (gnu packages crypto) #:use-module (gnu packages curl) #:use-module (gnu packages databases) @@ -83276,1258 +83278,6 @@ color in a Windows console.") #:cargo-inputs (("rust-winapi" ,rust-winapi-0.3)))))) -(define-public rust-windows-0.48 - (package - (name "rust-windows") - (version "0.48.0") - (source - (origin - (method url-fetch) - (uri (crate-uri "windows" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "03vh89ilnxdxdh0n9np4ns4m10fvm93h3b0cc05ipg3qq1mqi1p6")))) - (build-system cargo-build-system) - (arguments - `(#:cargo-inputs - (("rust-windows-implement" ,rust-windows-implement-0.48) - ("rust-windows-interface" ,rust-windows-interface-0.48) - ("rust-windows-targets" ,rust-windows-targets-0.48)))) - (home-page "https://github.com/microsoft/windows-rs") - (synopsis "Rust for Windows") - (description "The windows crate lets you call any Windows API past, -present, and future using code generated on the fly directly from the metadata -describing the API and right into your Rust package where you can call them as -if they were just another Rust module.") - (license (list license:expat license:asl2.0)))) - -(define-public rust-windows-0.46 - (package - (inherit rust-windows-0.48) - (name "rust-windows") - (version "0.46.0") - (source (origin - (method url-fetch) - (uri (crate-uri "windows" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "098crdz9gxgy3614ygznqqhn28q097r498b3rg35584nd8gb9b6d")))) - (arguments - `(#:cargo-inputs - (("rust-windows-implement" ,rust-windows-implement-0.46) - ("rust-windows-interface" ,rust-windows-interface-0.46) - ("rust-windows-targets" ,rust-windows-targets-0.42)))))) - -(define-public rust-windows-0.44 - (package - (inherit rust-windows-0.48) - (name "rust-windows") - (version "0.44.0") - (source - (origin - (method url-fetch) - (uri (crate-uri "windows" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "0ax1ip82dhszxz4hhsrdj3b0681xw6axahnfldxcgi506nmmsx4y")))) - (arguments - `(#:tests? #f ; Test suite only runs on Windows. - #:cargo-inputs - (("rust-windows-implement" ,rust-windows-implement-0.44) - ("rust-windows-interface" ,rust-windows-interface-0.44) - ("rust-windows-targets" ,rust-windows-targets-0.42)))))) - -(define-public rust-windows-0.39 - (package - (inherit rust-windows-0.46) - (name "rust-windows") - (version "0.39.0") - (source - (origin - (method url-fetch) - (uri (crate-uri "windows" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "0jkr4rxj6jn7brqxycr1pjgvnixsimsiywl4a7v20q5ca05bvi7i")))) - (arguments - `(#:cargo-inputs (("rust-windows-implement" ,rust-windows-implement-0.39) - ("rust-windows-interface" ,rust-windows-interface-0.39) - ("rust-windows-aarch64-msvc" ,rust-windows-aarch64-msvc-0.39) - ("rust-windows-i686-gnu" ,rust-windows-i686-gnu-0.39) - ("rust-windows-i686-msvc" ,rust-windows-i686-msvc-0.39) - ("rust-windows-x86-64-gnu" ,rust-windows-x86-64-gnu-0.39) - ("rust-windows-x86-64-msvc" ,rust-windows-x86-64-msvc-0.39)))))) - -(define-public rust-windows-0.32 - (package - (inherit rust-windows-0.46) - (name "rust-windows") - (version "0.32.0") - (source (origin - (method url-fetch) - (uri (crate-uri "windows" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "1v0h5b5g1ak2f2a6gkgjqgrqkkbdcfmf02nfmmj27g4nj3dzdvgv")))) - (arguments - `(#:skip-build? #t - #:cargo-inputs - (("rust-windows-implement" ,rust-windows-implement-0.32) - ("rust-windows-aarch64-msvc" ,rust-windows-aarch64-msvc-0.32) - ("rust-windows-i686-gnu" ,rust-windows-i686-gnu-0.32) - ("rust-windows-i686-msvc" ,rust-windows-i686-msvc-0.32) - ("rust-windows-x86-64-gnu" ,rust-windows-x86-64-gnu-0.32) - ("rust-windows-x86-64-msvc" ,rust-windows-x86-64-msvc-0.32)))))) - -(define-public rust-windows-0.9 - (package - (inherit rust-windows-0.46) - (name "rust-windows") - (version "0.9.1") - (source - (origin - (method url-fetch) - (uri (crate-uri "windows" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "0zy9jmhkhmsng7l9qiznxpdh5ns303s875p5kf6a5q9ym0rka7rn")))) - (arguments - `(#:skip-build? #t - #:cargo-inputs - (("rust-const-sha1" ,rust-const-sha1-0.2) - ("rust-windows-gen" ,rust-windows-gen-0.9) - ("rust-windows-macros" ,rust-windows-macros-0.9)))))) - -(define-public rust-windows-aarch64-gnullvm-0.52 - (package - (name "rust-windows-aarch64-gnullvm") - (version "0.52.0") - (source - (origin - (method url-fetch) - (uri (crate-uri "windows_aarch64_gnullvm" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "1shmn1kbdc0bpphcxz0vlph96bxz0h1jlmh93s9agf2dbpin8xyb")) - (snippet - '(delete-file "lib/libwindows.0.52.0.a")))) - (build-system cargo-build-system) - (arguments (list #:skip-build? #t)) - (home-page "https://github.com/microsoft/windows-rs") - (synopsis "Code gen support for the windows crate") - (description - "This package provides code gen support for the windows crate.") - (license (list license:expat license:asl2.0)))) - -(define-public rust-windows-aarch64-gnullvm-0.48 - (package - (inherit rust-windows-aarch64-gnullvm-0.52) - (name "rust-windows-aarch64-gnullvm") - (version "0.48.0") - (source (origin - (method url-fetch) - (uri (crate-uri "windows_aarch64_gnullvm" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "1g71yxi61c410pwzq05ld7si4p9hyx6lf5fkw21sinvr3cp5gbli")) - (snippet - '(delete-file "lib/libwindows.0.48.0.a")))) - (arguments (list #:skip-build? #t)))) - -(define-public rust-windows-aarch64-gnullvm-0.42 - (package - (inherit rust-windows-aarch64-gnullvm-0.48) - (name "rust-windows-aarch64-gnullvm") - (version "0.42.2") - (source (origin - (method url-fetch) - (uri (crate-uri "windows_aarch64_gnullvm" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "1y4q0qmvl0lvp7syxvfykafvmwal5hrjb4fmv04bqs0bawc52yjr")) - (snippet - '(delete-file "lib/libwindows.a")))) - (arguments - (list #:skip-build? #t)))) - -(define-public rust-windows-aarch64-msvc-0.52 - (package - (name "rust-windows-aarch64-msvc") - (version "0.52.0") - (source (origin - (method url-fetch) - (uri (crate-uri "windows_aarch64_msvc" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "1vvmy1ypvzdvxn9yf0b8ygfl85gl2gpcyvsvqppsmlpisil07amv")) - (snippet - '(delete-file "lib/windows.0.52.0.lib")))) - (build-system cargo-build-system) - (arguments (list #:skip-build? #t)) - (home-page "https://github.com/microsoft/windows-rs") - (synopsis "Code gen support for the windows crate") - (description "This package provides code gen support for the windows -crate.") - (license (list license:expat license:asl2.0)))) - -(define-public rust-windows-aarch64-msvc-0.48 - (package - (inherit rust-windows-aarch64-msvc-0.52) - (name "rust-windows-aarch64-msvc") - (version "0.48.0") - (source (origin - (method url-fetch) - (uri (crate-uri "windows_aarch64_msvc" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "1wvwipchhywcjaw73h998vzachf668fpqccbhrxzrz5xszh2gvxj")) - (snippet - #~(delete-file "lib/windows.0.48.0.lib")))) - (arguments (list #:skip-build? #t)))) - -(define-public rust-windows-aarch64-msvc-0.42 - (package - (inherit rust-windows-aarch64-msvc-0.48) - (name "rust-windows-aarch64-msvc") - (version "0.42.2") - (source (origin - (method url-fetch) - (uri (crate-uri "windows_aarch64_msvc" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "0hsdikjl5sa1fva5qskpwlxzpc5q9l909fpl1w6yy1hglrj8i3p0")) - (snippet - #~(delete-file "lib/windows.lib")))) - (arguments - (list #:skip-build? #t)))) - -(define-public rust-windows-aarch64-msvc-0.39 - (package - (inherit rust-windows-aarch64-msvc-0.42) - (name "rust-windows-aarch64-msvc") - (version "0.39.0") - (source - (origin - (method url-fetch) - (uri (crate-uri "windows_aarch64_msvc" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "1wj0nfmyli4bn5af243r4s3zncxv0n4j6dd8zyb41gcnc1k12xzc")) - (snippet - #~(delete-file "lib/windows.lib")))))) - -(define-public rust-windows-aarch64-msvc-0.36 - (package - (inherit rust-windows-aarch64-msvc-0.42) - (name "rust-windows-aarch64-msvc") - (version "0.36.1") - (source - (origin - (inherit (package-source rust-windows-aarch64-msvc-0.42)) - (method url-fetch) - (uri (crate-uri "windows_aarch64_msvc" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "0ixaxs2c37ll2smprzh0xq5p238zn8ylzb3lk1zddqmd77yw7f4v")))))) - -(define-public rust-windows-aarch64-msvc-0.32 - (package - (inherit rust-windows-aarch64-msvc-0.36) - (name "rust-windows-aarch64-msvc") - (version "0.32.0") - (source (origin - (inherit (package-source rust-windows-aarch64-msvc-0.36)) - (method url-fetch) - (uri (crate-uri "windows_aarch64_msvc" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "1x8bnafz15ksgpbjbgk1l1j2jx4rq4a2ylzcahb1jhy4n59jgsfq")))))) - -(define-public rust-windows-aarch64-msvc-0.28 - (package - (inherit rust-windows-aarch64-msvc-0.32) - (name "rust-windows-aarch64-msvc") - (version "0.28.0") - (source (origin - (inherit (package-source rust-windows-aarch64-msvc-0.32)) - (method url-fetch) - (uri (crate-uri "windows_aarch64_msvc" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "1hpk0n2z0jzzvwlvs98b75sa4q920953nqfc119rv19nwm0mlsaj")))))) - -(define-public rust-windows-bindgen-0.51 - (package - (name "rust-windows-bindgen") - (version "0.51.1") - (source - (origin - (method url-fetch) - (uri (crate-uri "windows-bindgen" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "0xfdq4q958qal5iks8xkaanf7w3akzfxc58dxvz7amhjg2vic7xw")))) - (build-system cargo-build-system) - (arguments - `(#:cargo-inputs (("rust-proc-macro2" ,rust-proc-macro2-1) - ("rust-rayon" ,rust-rayon-1) - ("rust-syn" ,rust-syn-2) - ("rust-windows-metadata" ,rust-windows-metadata-0.51)))) - (home-page "https://github.com/microsoft/windows-rs") - (synopsis "Windows metadata compiler") - (description "Windows metadata compiler.") - (license (list license:expat license:asl2.0)))) - -(define-public rust-windows-i686-gnu-0.52 - (package - (name "rust-windows-i686-gnu") - (version "0.52.0") - (source (origin - (method url-fetch) - (uri (crate-uri "windows_i686_gnu" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "04zkglz4p3pjsns5gbz85v4s5aw102raz4spj4b0lmm33z5kg1m2")) - (snippet - '(delete-file "lib/libwindows.0.52.0.a")))) - (build-system cargo-build-system) - (arguments (list #:skip-build? #t)) - (home-page "https://github.com/microsoft/windows-rs") - (synopsis "Code gen support for the windows crate") - (description - "This package provides code gen support for the windows crate.") - (license (list license:expat license:asl2.0)))) - -(define-public rust-windows-i686-gnu-0.48 - (package - (inherit rust-windows-i686-gnu-0.52) - (name "rust-windows-i686-gnu") - (version "0.48.0") - (source (origin - (method url-fetch) - (uri (crate-uri "windows_i686_gnu" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "0hd2v9kp8fss0rzl83wzhw0s5z8q1b4875m6s1phv0yvlxi1jak2")) - (snippet - #~(delete-file "lib/libwindows.0.48.0.a")))) - (arguments (list #:skip-build? #t)))) - -(define-public rust-windows-i686-gnu-0.42 - (package - (inherit rust-windows-i686-gnu-0.48) - (name "rust-windows-i686-gnu") - (version "0.42.2") - (source (origin - (method url-fetch) - (uri (crate-uri "windows_i686_gnu" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "0kx866dfrby88lqs9v1vgmrkk1z6af9lhaghh5maj7d4imyr47f6")) - (snippet - #~(delete-file "lib/libwindows.a")))) - (arguments - (list #:skip-build? #t)))) - -(define-public rust-windows-i686-gnu-0.39 - (package - (inherit rust-windows-i686-gnu-0.42) - (name "rust-windows-i686-gnu") - (version "0.39.0") - (source - (origin - (method url-fetch) - (uri (crate-uri "windows_i686_gnu" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "06wynhxklmh3s1ril9bh00rhv1npppcyirsp60p09xx501qwagvn")) - (snippet - #~(delete-file "lib/libwindows.a")))))) - -(define-public rust-windows-i686-gnu-0.36 - (package - (inherit rust-windows-i686-gnu-0.42) - (name "rust-windows-i686-gnu") - (version "0.36.1") - (source (origin - (inherit (package-source rust-windows-i686-gnu-0.42)) - (method url-fetch) - (uri (crate-uri "windows_i686_gnu" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "1dm3svxfzamrv6kklyda9c3qylgwn5nwdps6p0kc9x6s077nq3hq")))))) - -(define-public rust-windows-i686-gnu-0.32 - (package - (inherit rust-windows-i686-gnu-0.36) - (name "rust-windows-i686-gnu") - (version "0.32.0") - (source (origin - (inherit (package-source rust-windows-i686-gnu-0.36)) - (method url-fetch) - (uri (crate-uri "windows_i686_gnu" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "05g6kpdfxwxnw2gn1nrd7bsf5997rci0k3h3nqby168ph5l1qwba")))))) - -(define-public rust-windows-i686-gnu-0.28 - (package - (inherit rust-windows-i686-gnu-0.32) - (name "rust-windows-i686-gnu") - (version "0.28.0") - (source (origin - (inherit (package-source rust-windows-i686-gnu-0.32)) - (method url-fetch) - (uri (crate-uri "windows_i686_gnu" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "12hx7qpsjg9p7jggfcplqa3mf1mzr7k7s5ybzqwg1zmg4fn2aizm")))))) - -(define-public rust-windows-i686-msvc-0.52 - (package - (name "rust-windows-i686-msvc") - (version "0.52.0") - (source (origin - (method url-fetch) - (uri (crate-uri "windows_i686_msvc" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "16kvmbvx0vr0zbgnaz6nsks9ycvfh5xp05bjrhq65kj623iyirgz")) - (snippet - '(delete-file "lib/windows.0.52.0.lib")))) - (build-system cargo-build-system) - (arguments (list #:skip-build? #t)) - (home-page "https://github.com/microsoft/windows-rs") - (synopsis "Code gen support for the windows crate") - (description - "This package provides code gen support for the windows crate.") - (license (list license:expat license:asl2.0)))) - -(define-public rust-windows-i686-msvc-0.48 - (package - (inherit rust-windows-i686-msvc-0.52) - (name "rust-windows-i686-msvc") - (version "0.48.0") - (source (origin - (method url-fetch) - (uri (crate-uri "windows_i686_msvc" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "004fkyqv3if178xx9ksqc4qqv8sz8n72mpczsr2vy8ffckiwchj5")) - (snippet - #~(delete-file "lib/windows.0.48.0.lib")))) - (arguments (list #:skip-build? #t)))) - -(define-public rust-windows-i686-msvc-0.42 - (package - (inherit rust-windows-i686-msvc-0.48) - (name "rust-windows-i686-msvc") - (version "0.42.2") - (source (origin - (method url-fetch) - (uri (crate-uri "windows_i686_msvc" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "0q0h9m2aq1pygc199pa5jgc952qhcnf0zn688454i7v4xjv41n24")) - (snippet - #~(delete-file "lib/windows.lib")))) - (arguments - (list #:skip-build? #t)))) - -(define-public rust-windows-i686-msvc-0.39 - (package - (inherit rust-windows-i686-msvc-0.42) - (name "rust-windows-i686-msvc") - (version "0.39.0") - (source - (origin - (method url-fetch) - (uri (crate-uri "windows_i686_msvc" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "01hiv9msxssy5iqxs7bczvf094k4mz56yi4z1bhj32c2b3zcpivv")) - (snippet - #~(delete-file "lib/windows.lib")))))) - -(define-public rust-windows-i686-msvc-0.36 - (package - (inherit rust-windows-i686-msvc-0.42) - (name "rust-windows-i686-msvc") - (version "0.36.1") - (source (origin - (inherit (package-source rust-windows-i686-msvc-0.42)) - (method url-fetch) - (uri (crate-uri "windows_i686_msvc" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "097h2a7wig04wbmpi3rz1akdy4s8gslj5szsx8g2v0dj91qr3rz2")))))) - -(define-public rust-windows-i686-msvc-0.32 - (package - (inherit rust-windows-i686-msvc-0.36) - (name "rust-windows-i686-msvc") - (version "0.32.0") - (source (origin - (inherit (package-source rust-windows-i686-msvc-0.36)) - (method url-fetch) - (uri (crate-uri "windows_i686_msvc" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "0wj1wi01fc8hrasbakjcq8y5a7ynw9l2mcw08svmsq823axi2v0l")))))) - -(define-public rust-windows-i686-msvc-0.28 - (package - (inherit rust-windows-i686-msvc-0.32) - (name "rust-windows-i686-msvc") - (version "0.28.0") - (source (origin - (inherit (package-source rust-windows-i686-msvc-0.32)) - (method url-fetch) - (uri (crate-uri "windows_i686_msvc" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "0r0z8s1wcdwd20azsdfilf2a6bz68xkavl990wy64hyc8f51bmai")))))) - -(define-public rust-windows-implement-0.48 - (package - (name "rust-windows-implement") - (version "0.48.0") - (source - (origin - (method url-fetch) - (uri (crate-uri "windows-implement" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "1764n853zd7bb0wn94i0qxfs6kdy7wrz7v9qhdn7x7hvk64fabjy")))) - (build-system cargo-build-system) - (arguments - `(#:cargo-inputs - (("rust-proc-macro2" ,rust-proc-macro2-1) - ("rust-quote" ,rust-quote-1) - ("rust-syn" ,rust-syn-1)))) - (home-page "https://github.com/microsoft/windows-rs") - (synopsis "The implement macro for the windows crate") - (description "This package provides the @code{implement} macro for the -windows crate.") - (license (list license:expat license:asl2.0)))) - -(define-public rust-windows-implement-0.46 - (package - (inherit rust-windows-implement-0.48) - (name "rust-windows-implement") - (version "0.46.0") - (source (origin - (method url-fetch) - (uri (crate-uri "windows-implement" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "09kw706qcms5yy34lf714zspj34v8jirfxv7yycavpcsa9czpd69")))) - (arguments - `(#:skip-build? #t - #:cargo-inputs - (("rust-proc-macro2" ,rust-proc-macro2-1) - ("rust-quote" ,rust-quote-1) - ("rust-syn" ,rust-syn-1)))))) - -(define-public rust-windows-implement-0.44 - (package - (inherit rust-windows-implement-0.48) - (name "rust-windows-implement") - (version "0.44.0") - (source - (origin - (method url-fetch) - (uri (crate-uri "windows-implement" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "1ij5q9khlcfn43a1p3ypjbn711k50s9pc8la5bf04ys1wfl7rs3c")))) - (arguments - `(#:cargo-inputs - (("rust-proc-macro2" ,rust-proc-macro2-1) - ("rust-quote" ,rust-quote-1) - ("rust-syn" ,rust-syn-1)))))) - -(define-public rust-windows-implement-0.39 - (package - (inherit rust-windows-implement-0.46) - (name "rust-windows-implement") - (version "0.39.0") - (source - (origin - (method url-fetch) - (uri (crate-uri "windows-implement" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "1ryfy5sgf26xmflf33zabzqn10pp6pjrbz75yh2xrdcwa27zj0ds")))) - (arguments - `(#:cargo-inputs (("rust-syn" ,rust-syn-1) - ("rust-windows-tokens" ,rust-windows-tokens-0.39)))))) - -(define-public rust-windows-implement-0.32 - (package - (inherit rust-windows-implement-0.46) - (name "rust-windows-implement") - (version "0.32.0") - (source (origin - (method url-fetch) - (uri (crate-uri "windows-implement" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "0f3lnjs9rlihin9cjf9y7np1x15c0v09v0cwlw1n7c30145xmciz")))) - (arguments - `(#:skip-build? #t - #:cargo-inputs - (("rust-syn" ,rust-syn-1) - ("rust-windows-tokens" ,rust-windows-tokens-0.32)))))) - -(define-public rust-windows-interface-0.48 - (package - (name "rust-windows-interface") - (version "0.48.0") - (source - (origin - (method url-fetch) - (uri (crate-uri "windows-interface" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "1iqcilw0hfyzwhk12xfmcy40r10406sgf4xmdansijlv1kr8vyz6")))) - (build-system cargo-build-system) - (arguments - `(#:cargo-inputs - (("rust-proc-macro2" ,rust-proc-macro2-1) - ("rust-quote" ,rust-quote-1) - ("rust-syn" ,rust-syn-1)))) - (home-page "https://github.com/microsoft/windows-rs") - (synopsis "The interface macro for the windows crate") - (description "This package provides the interface macro for the windows -crate.") - (license (list license:expat license:asl2.0)))) - -(define-public rust-windows-interface-0.46 - (package - (inherit rust-windows-interface-0.48) - (name "rust-windows-interface") - (version "0.46.0") - (source (origin - (method url-fetch) - (uri (crate-uri "windows-interface" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "0a87zxh3wq5ng1vvgqf7jhydsshrpc5w39pyvr0l1vyv3q5k67xc")))) - (arguments - `(#:skip-build? #t - #:cargo-inputs - (("rust-proc-macro2" ,rust-proc-macro2-1) - ("rust-quote" ,rust-quote-1) - ("rust-syn" ,rust-syn-1)))))) - -(define-public rust-windows-interface-0.44 - (package - (inherit rust-windows-interface-0.48) - (name "rust-windows-interface") - (version "0.44.0") - (source - (origin - (method url-fetch) - (uri (crate-uri "windows-interface" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "0zwwwfzjdf087gvgy48bbfq9yd0fsh1fj5wzs88gim7cj6jnjgw5")))) - (arguments - `(#:cargo-inputs - (("rust-proc-macro2" ,rust-proc-macro2-1) - ("rust-quote" ,rust-quote-1) - ("rust-syn" ,rust-syn-1)))))) - -(define-public rust-windows-interface-0.39 - (package - (inherit rust-windows-interface-0.46) - (name "rust-windows-interface") - (version "0.39.0") - (source - (origin - (method url-fetch) - (uri (crate-uri "windows-interface" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "00h56znmak3p8bh28y3s48m5zv6q7dn40vnvf3dzf0sz5rszrym2")))))) - -(define-public rust-windows-metadata-0.51 - (package - (name "rust-windows-metadata") - (version "0.51.1") - (source - (origin - (method url-fetch) - (uri (crate-uri "windows-metadata" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "03h0c6qs1yyl0z69p4k1hdq636j868qdxnri1dy47nprjvckacbm")))) - (build-system cargo-build-system) - (home-page "https://github.com/microsoft/windows-rs") - (synopsis "Windows metadata reader") - (description "Windows metadata reader.") - (license (list license:expat license:asl2.0)))) - -(define-public rust-windows-sys-0.52 - (package - (name "rust-windows-sys") - (version "0.52.0") - (source (origin - (method url-fetch) - (uri (crate-uri "windows-sys" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "0gd3v4ji88490zgb6b5mq5zgbvwv7zx1ibn8v3x83rwcdbryaar8")))) - (build-system cargo-build-system) - (arguments - `(#:skip-build? #t - #:cargo-inputs (("rust-windows-targets" ,rust-windows-targets-0.52)))) - (home-page "https://github.com/microsoft/windows-rs") - (synopsis "Rust for Windows") - (description "The windows crate lets you call any Windows API past, -present, and future using code generated on the fly directly from the metadata -describing the API and right into your Rust package where you can call them as -if they were just another Rust module.") - (license (list license:expat license:asl2.0)))) - -(define-public rust-windows-sys-0.48 - (package - (inherit rust-windows-sys-0.52) - (name "rust-windows-sys") - (version "0.48.0") - (source (origin - (method url-fetch) - (uri (crate-uri "windows-sys" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "1aan23v5gs7gya1lc46hqn9mdh8yph3fhxmhxlw36pn6pqc28zb7")))) - (arguments - `(#:skip-build? #t - #:cargo-inputs (("rust-windows-targets" ,rust-windows-targets-0.48)))))) - -(define-public rust-windows-sys-0.45 - (package - (inherit rust-windows-sys-0.48) - (name "rust-windows-sys") - (version "0.45.0") - (source (origin - (method url-fetch) - (uri (crate-uri "windows-sys" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "1l36bcqm4g89pknfp8r9rl1w4bn017q6a8qlx8viv0xjxzjkna3m")))) - (arguments - (list #:skip-build? #t - #:cargo-inputs - `(("rust-windows-targets" ,rust-windows-targets-0.42)))))) - -(define-public rust-windows-sys-0.42 - (package - (inherit rust-windows-sys-0.45) - (name "rust-windows-sys") - (version "0.42.0") - (source (origin - (method url-fetch) - (uri (crate-uri "windows-sys" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "19waf8aryvyq9pzk0gamgfwjycgzk4gnrazpfvv171cby0h1hgjs")))) - (arguments - (list #:skip-build? #t - #:cargo-inputs - `(("rust-windows-aarch64-gnullvm" ,rust-windows-aarch64-gnullvm-0.42) - ("rust-windows-aarch64-msvc" ,rust-windows-aarch64-msvc-0.42) - ("rust-windows-i686-gnu" ,rust-windows-i686-gnu-0.42) - ("rust-windows-i686-msvc" ,rust-windows-i686-msvc-0.42) - ("rust-windows-x86-64-gnu" ,rust-windows-x86-64-gnu-0.42) - ("rust-windows-x86-64-gnullvm" ,rust-windows-x86-64-gnullvm-0.42) - ("rust-windows-x86-64-msvc" ,rust-windows-x86-64-msvc-0.42)))))) - -(define-public rust-windows-sys-0.36 - (package - (inherit rust-windows-sys-0.42) - (name "rust-windows-sys") - (version "0.36.1") - (source (origin - (method url-fetch) - (uri (crate-uri "windows-sys" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "1lmqangv0zg1l46xiq7rfnqwsx8f8m52mqbgg2mrx7x52rd1a17a")))) - (arguments - (list #:skip-build? #t - #:cargo-inputs - `(("rust-windows-aarch64-msvc" ,rust-windows-aarch64-msvc-0.36) - ("rust-windows-i686-gnu" ,rust-windows-i686-gnu-0.36) - ("rust-windows-i686-msvc" ,rust-windows-i686-msvc-0.36) - ("rust-windows-x86-64-gnu" ,rust-windows-x86-64-gnu-0.36) - ("rust-windows-x86-64-msvc" ,rust-windows-x86-64-msvc-0.36)))))) - -(define-public rust-windows-sys-0.28 - (package - (inherit rust-windows-sys-0.36) - (name "rust-windows-sys") - (version "0.28.0") - (source - (origin - (method url-fetch) - (uri (crate-uri "windows-sys" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "1xkghf343nll9i1yvha1a4spf53mnb5knzmnqj9adgsw5mh3kjl2")))) - (arguments - (list #:skip-build? #t - #:cargo-inputs - `(("rust-windows-aarch64-msvc" ,rust-windows-aarch64-msvc-0.28) - ("rust-windows-i686-gnu" ,rust-windows-i686-gnu-0.28) - ("rust-windows-i686-msvc" ,rust-windows-i686-msvc-0.28) - ("rust-windows-x86-64-gnu" ,rust-windows-x86-64-gnu-0.28) - ("rust-windows-x86-64-msvc" ,rust-windows-x86-64-msvc-0.28)))))) - -(define-public rust-windows-gen-0.9 - (package - (name "rust-windows-gen") - (version "0.9.1") - (source - (origin - (method url-fetch) - (uri (crate-uri "windows_gen" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "0lh492px26rrna0harikyy4p7nk520pw2lv0dczp4n2xa6y4s5al")))) - (build-system cargo-build-system) - (arguments `(#:skip-build? #t #:cargo-inputs (("rust-syn" ,rust-syn-1)))) - (home-page "https://github.com/microsoft/windows-rs") - (synopsis "Code gen support for the windows crate") - (description "Code gen support for the windows crate") - (license (list license:expat license:asl2.0)))) - -(define-public rust-windows-macros-0.9 - (package - (name "rust-windows-macros") - (version "0.9.1") - (source - (origin - (method url-fetch) - (uri (crate-uri "windows_macros" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "0xivsg3lf023hs83xiab2k40fmrl11nbihcdrdkc8pc4ab398xqg")))) - (build-system cargo-build-system) - (arguments - `(#:skip-build? #t - #:cargo-inputs - (("rust-syn" ,rust-syn-1) ("rust-windows-gen" ,rust-windows-gen-0.9)))) - (home-page "https://github.com/microsoft/windows-rs") - (synopsis "Macros for the windows crate") - (description "Macros for the windows crate") - (license (list license:expat license:asl2.0)))) - -(define-public rust-windows-targets-0.52 - (package - (name "rust-windows-targets") - (version "0.52.0") - (source (origin - (method url-fetch) - (uri (crate-uri "windows-targets" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "1kg7a27ynzw8zz3krdgy6w5gbqcji27j1sz4p7xk2j5j8082064a")))) - (build-system cargo-build-system) - (arguments - `(#:cargo-inputs - (("rust-windows-aarch64-gnullvm" ,rust-windows-aarch64-gnullvm-0.52) - ("rust-windows-aarch64-msvc" ,rust-windows-aarch64-msvc-0.52) - ("rust-windows-i686-gnu" ,rust-windows-i686-gnu-0.52) - ("rust-windows-i686-msvc" ,rust-windows-i686-msvc-0.52) - ("rust-windows-x86-64-gnu" ,rust-windows-x86-64-gnu-0.52) - ("rust-windows-x86-64-gnullvm" ,rust-windows-x86-64-gnullvm-0.52) - ("rust-windows-x86-64-msvc" ,rust-windows-x86-64-msvc-0.52)))) - (home-page "https://github.com/microsoft/windows-rs") - (synopsis "Code gen support for the windows crate") - (description - "This package provides code gen support for the windows crate.") - (license (list license:expat license:asl2.0)))) - -(define-public rust-windows-targets-0.48 - (package - (inherit rust-windows-targets-0.52) - (name "rust-windows-targets") - (version "0.48.0") - (source (origin - (method url-fetch) - (uri (crate-uri "windows-targets" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "1mfzg94w0c8h4ya9sva7rra77f3iy1712af9b6bwg03wrpqbc7kv")))) - (arguments - `(#:cargo-inputs - (("rust-windows-aarch64-gnullvm" ,rust-windows-aarch64-gnullvm-0.48) - ("rust-windows-aarch64-msvc" ,rust-windows-aarch64-msvc-0.48) - ("rust-windows-i686-gnu" ,rust-windows-i686-gnu-0.48) - ("rust-windows-i686-msvc" ,rust-windows-i686-msvc-0.48) - ("rust-windows-x86-64-gnu" ,rust-windows-x86-64-gnu-0.48) - ("rust-windows-x86-64-gnullvm" ,rust-windows-x86-64-gnullvm-0.48) - ("rust-windows-x86-64-msvc" ,rust-windows-x86-64-msvc-0.48)))))) - -(define-public rust-windows-targets-0.42 - (package - (inherit rust-windows-targets-0.48) - (name "rust-windows-targets") - (version "0.42.2") - (source (origin - (method url-fetch) - (uri (crate-uri "windows-targets" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "0wfhnib2fisxlx8c507dbmh97kgij4r6kcxdi0f9nk6l1k080lcf")))) - (arguments - `(#:cargo-inputs - (("rust-windows-aarch64-gnullvm" ,rust-windows-aarch64-gnullvm-0.42) - ("rust-windows-aarch64-msvc" ,rust-windows-aarch64-msvc-0.42) - ("rust-windows-i686-gnu" ,rust-windows-i686-gnu-0.42) - ("rust-windows-i686-msvc" ,rust-windows-i686-msvc-0.42) - ("rust-windows-x86-64-gnu" ,rust-windows-x86-64-gnu-0.42) - ("rust-windows-x86-64-gnullvm" ,rust-windows-x86-64-gnullvm-0.42) - ("rust-windows-x86-64-msvc" ,rust-windows-x86-64-msvc-0.42)))))) - -(define-public rust-windows-tokens-0.39 - (package - (name "rust-windows-tokens") - (version "0.39.0") - (source - (origin - (method url-fetch) - (uri (crate-uri "windows-tokens" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "15zmsz8ji6z7471xwznrm4hqp6j94s7pjjz7i34vmrjzw4pxwf7q")))) - (build-system cargo-build-system) - (arguments - `(#:skip-build? #t)) - (home-page "https://github.com/microsoft/windows-rs") - (synopsis "Code gen support for the windows crate") - (description "This package provides code generation support for the -windows crate.") - (license (list license:expat license:asl2.0)))) - -(define-public rust-windows-tokens-0.32 - (package - (inherit rust-windows-tokens-0.39) - (name "rust-windows-tokens") - (version "0.32.0") - (source (origin - (method url-fetch) - (uri (crate-uri "windows-tokens" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "1rrqbxjkyk6h6p6jjzbcxr0mhqbz0yfndd2s2dsgmbl75f4yy7gn")))))) - -(define-public rust-windows-x86-64-gnu-0.52 - (package - (name "rust-windows-x86-64-gnu") - (version "0.52.0") - (source (origin - (method url-fetch) - (uri (crate-uri "windows_x86_64_gnu" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "1zdy4qn178sil5sdm63lm7f0kkcjg6gvdwmcprd2yjmwn8ns6vrx")) - (snippet - '(delete-file "lib/libwindows.0.52.0.a")))) - (build-system cargo-build-system) - (arguments (list #:skip-build? #t)) - (home-page "https://github.com/microsoft/windows-rs") - (synopsis "Code gen support for the windows crate") - (description - "This package provides code gen support for the windows crate.") - (license (list license:expat license:asl2.0)))) - -(define-public rust-windows-x86-64-gnu-0.48 - (package - (inherit rust-windows-x86-64-gnu-0.52) - (name "rust-windows-x86-64-gnu") - (version "0.48.0") - (source (origin - (method url-fetch) - (uri (crate-uri "windows_x86_64_gnu" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "1cblz5m6a8q6ha09bz4lz233dnq5sw2hpra06k9cna3n3xk8laya")) - (snippet - #~(delete-file "lib/libwindows.0.48.0.a")))) - (arguments (list #:skip-build? #t)))) - -(define-public rust-windows-x86-64-gnu-0.42 - (package - (inherit rust-windows-x86-64-gnu-0.48) - (name "rust-windows-x86-64-gnu") - (version "0.42.2") - (source (origin - (method url-fetch) - (uri (crate-uri "windows_x86_64_gnu" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "0dnbf2xnp3xrvy8v9mgs3var4zq9v9yh9kv79035rdgyp2w15scd")) - (snippet - #~(delete-file "lib/libwindows.a")))) - (arguments - (list #:skip-build? #t)))) - -(define-public rust-windows-x86-64-gnu-0.39 - (package - (inherit rust-windows-x86-64-gnu-0.42) - (name "rust-windows-x86-64-gnu") - (version "0.39.0") - (source - (origin - (method url-fetch) - (uri (crate-uri "windows_x86_64_gnu" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "0r9b4lmapq66nn2dga7a0mkdv5sgbp184kfwx3hklrbxcdjw2s38")) - (snippet - #~(delete-file "lib/libwindows.a")))))) - -(define-public rust-windows-x86-64-gnu-0.36 - (package - (inherit rust-windows-x86-64-gnu-0.42) - (name "rust-windows-x86-64-gnu") - (version "0.36.1") - (source (origin - (inherit (package-source rust-windows-x86-64-gnu-0.42)) - (method url-fetch) - (uri (crate-uri "windows_x86_64_gnu" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "1qfrck3jnihymfrd01s8260d4snql8ks2p8yaabipi3nhwdigkad")))))) - -(define-public rust-windows-x86-64-gnu-0.32 - (package - (inherit rust-windows-x86-64-gnu-0.36) - (name "rust-windows-x86-64-gnu") - (version "0.32.0") - (source (origin - (inherit (package-source rust-windows-x86-64-gnu-0.36)) - (method url-fetch) - (uri (crate-uri "windows_x86_64_gnu" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "1g34xhcayig9sndq3555w95q6lr7jr839zxv6l365ijlfhpv24n9")))))) - -(define-public rust-windows-x86-64-gnu-0.28 - (package - (inherit rust-windows-x86-64-gnu-0.32) - (name "rust-windows-x86-64-gnu") - (version "0.28.0") - (source (origin - (inherit (package-source rust-windows-x86-64-gnu-0.32)) - (method url-fetch) - (uri (crate-uri "windows_x86_64_gnu" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "0m79bhdr54g4h4wh2q8wkjlkypb5wvl7xzhc2csiaqb5yl4z8cdw")))))) - -(define-public rust-windows-x86-64-gnullvm-0.52 - (package - (name "rust-windows-x86-64-gnullvm") - (version "0.52.0") - (source (origin - (method url-fetch) - (uri (crate-uri "windows_x86_64_gnullvm" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "17lllq4l2k1lqgcnw1cccphxp9vs7inq99kjlm2lfl9zklg7wr8s")) - (snippet - '(delete-file "lib/libwindows.0.52.0.a")))) - (build-system cargo-build-system) - (arguments (list #:skip-build? #t)) - (home-page "https://github.com/microsoft/windows-rs") - (synopsis "Code gen support for the windows crate") - (description - "This package provides code gen support for the windows crate.") - (license (list license:expat license:asl2.0)))) - -(define-public rust-windows-x86-64-gnullvm-0.48 - (package - (inherit rust-windows-x86-64-gnullvm-0.52) - (name "rust-windows-x86-64-gnullvm") - (version "0.48.0") - (source (origin - (method url-fetch) - (uri (crate-uri "windows_x86_64_gnullvm" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "0lxryz3ysx0145bf3i38jkr7f9nxiym8p3syklp8f20yyk0xp5kq")) - (snippet - '(delete-file "lib/libwindows.0.48.0.a")))) - (arguments (list #:skip-build? #t)))) - -(define-public rust-windows-x86-64-gnullvm-0.42 - (package - (inherit rust-windows-x86-64-gnullvm-0.48) - (name "rust-windows-x86-64-gnullvm") - (version "0.42.2") - (source (origin - (method url-fetch) - (uri (crate-uri "windows_x86_64_gnullvm" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "18wl9r8qbsl475j39zvawlidp1bsbinliwfymr43fibdld31pm16")) - (snippet - '(delete-file "lib/libwindows.a")))) - (arguments (list #:skip-build? #t)))) - -(define-public rust-windows-x86-64-msvc-0.52 - (package - (name "rust-windows-x86-64-msvc") - (version "0.52.0") - (source (origin - (method url-fetch) - (uri (crate-uri "windows_x86_64_msvc" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "012wfq37f18c09ij5m6rniw7xxn5fcvrxbqd0wd8vgnl3hfn9yfz")) - (snippet - '(delete-file "lib/windows.0.52.0.lib")))) - (build-system cargo-build-system) - (arguments (list #:skip-build? #t)) - (home-page "https://github.com/microsoft/windows-rs") - (synopsis "Code gen support for the windows crate") - (description - "This package provides code gen support for the windows crate.") - (license (list license:expat license:asl2.0)))) - -(define-public rust-windows-x86-64-msvc-0.48 - (package - (inherit rust-windows-x86-64-msvc-0.52) - (name "rust-windows-x86-64-msvc") - (version "0.48.0") - (source (origin - (method url-fetch) - (uri (crate-uri "windows_x86_64_msvc" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "12ipr1knzj2rwjygyllfi5mkd0ihnbi3r61gag5n2jgyk5bmyl8s")) - (snippet - #~(delete-file "lib/windows.0.48.0.lib")))) - (arguments (list #:skip-build? #t)))) - -(define-public rust-windows-x86-64-msvc-0.42 - (package - (inherit rust-windows-x86-64-msvc-0.48) - (name "rust-windows-x86-64-msvc") - (version "0.42.2") - (source (origin - (method url-fetch) - (uri (crate-uri "windows_x86_64_msvc" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "1w5r0q0yzx827d10dpjza2ww0j8iajqhmb54s735hhaj66imvv4s")) - (snippet - #~(delete-file "lib/windows.lib")))) - (arguments (list #:skip-build? #t)))) - -(define-public rust-windows-x86-64-msvc-0.39 - (package - (inherit rust-windows-x86-64-msvc-0.42) - (name "rust-windows-x86-64-msvc") - (version "0.39.0") - (source - (origin - (method url-fetch) - (uri (crate-uri "windows_x86_64_msvc" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "02g8fy1sv8g0p4fi2yk62j9a5zwhcfknp9vwg1ifkjp97a440kay")) - (snippet - #~(delete-file "lib/windows.lib")))))) - -(define-public rust-windows-x86-64-msvc-0.36 - (package - (inherit rust-windows-x86-64-msvc-0.42) - (name "rust-windows-x86-64-msvc") - (version "0.36.1") - (source (origin - (inherit (package-source rust-windows-x86-64-msvc-0.42)) - (method url-fetch) - (uri (crate-uri "windows_x86_64_msvc" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "103n3xijm5vr7qxr1dps202ckfnv7njjnnfqmchg8gl5ii5cl4f8")))))) - -(define-public rust-windows-x86-64-msvc-0.32 - (package - (inherit rust-windows-x86-64-msvc-0.36) - (name "rust-windows-x86-64-msvc") - (version "0.32.0") - (source (origin - (inherit (package-source rust-windows-x86-64-msvc-0.36)) - (method url-fetch) - (uri (crate-uri "windows_x86_64_msvc" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "05l392h518dxn808dc1zkv6d0r9z38q68qqc0ix9fs9741v28jjh")))))) - -(define-public rust-windows-x86-64-msvc-0.28 - (package - (inherit rust-windows-x86-64-msvc-0.32) - (name "rust-windows-x86-64-msvc") - (version "0.28.0") - (source (origin - (inherit (package-source rust-windows-x86-64-msvc-0.32)) - (method url-fetch) - (uri (crate-uri "windows_x86_64_msvc" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "17z8q25pd3dp6b84qm9nlayd3ym78sbryxlqmgcxvz9vpmy8qarz")))))) - (define-public rust-winnow-0.5 (package (name "rust-winnow") diff --git a/gnu/packages/crates-vcs.scm b/gnu/packages/crates-vcs.scm index beaca6aba9..8edc31f6da 100644 --- a/gnu/packages/crates-vcs.scm +++ b/gnu/packages/crates-vcs.scm @@ -32,6 +32,7 @@ #:use-module (gnu packages) #:use-module (gnu packages compression) #:use-module (gnu packages crates-io) + #:use-module (gnu packages crates-windows) #:use-module (gnu packages curl) #:use-module (gnu packages llvm) #:use-module (gnu packages nettle) diff --git a/gnu/packages/crates-windows.scm b/gnu/packages/crates-windows.scm new file mode 100644 index 0000000000..279f11af7f --- /dev/null +++ b/gnu/packages/crates-windows.scm @@ -0,0 +1,1286 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2021 Nicolas Goaziou +;;; Copyright © 2022 Zheng Junjie <873216071@qq.com> +;;; Copyright © 2022 ( +;;; Copyright © 2022, 2023 Ricardo Wurmus +;;; Copyright © 2023 Efraim Flashner +;;; Copyright © 2023 Jaeme Sifat +;;; Copyright © 2023 Daniel Ziltener +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see . + +(define-module (gnu packages crates-windows) + #:use-module (guix build-system cargo) + #:use-module (guix download) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix packages) + #:use-module (guix gexp) + #:use-module (guix utils) + #:use-module (gnu packages) + #:use-module (gnu packages crates-io)) + +(define-public rust-windows-0.48 + (package + (name "rust-windows") + (version "0.48.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "windows" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "03vh89ilnxdxdh0n9np4ns4m10fvm93h3b0cc05ipg3qq1mqi1p6")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-windows-implement" ,rust-windows-implement-0.48) + ("rust-windows-interface" ,rust-windows-interface-0.48) + ("rust-windows-targets" ,rust-windows-targets-0.48)))) + (home-page "https://github.com/microsoft/windows-rs") + (synopsis "Rust for Windows") + (description "The windows crate lets you call any Windows API past, +present, and future using code generated on the fly directly from the metadata +describing the API and right into your Rust package where you can call them as +if they were just another Rust module.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-windows-0.46 + (package + (inherit rust-windows-0.48) + (name "rust-windows") + (version "0.46.0") + (source (origin + (method url-fetch) + (uri (crate-uri "windows" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "098crdz9gxgy3614ygznqqhn28q097r498b3rg35584nd8gb9b6d")))) + (arguments + `(#:cargo-inputs + (("rust-windows-implement" ,rust-windows-implement-0.46) + ("rust-windows-interface" ,rust-windows-interface-0.46) + ("rust-windows-targets" ,rust-windows-targets-0.42)))))) + +(define-public rust-windows-0.44 + (package + (inherit rust-windows-0.48) + (name "rust-windows") + (version "0.44.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "windows" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "0ax1ip82dhszxz4hhsrdj3b0681xw6axahnfldxcgi506nmmsx4y")))) + (arguments + `(#:tests? #f ; Test suite only runs on Windows. + #:cargo-inputs + (("rust-windows-implement" ,rust-windows-implement-0.44) + ("rust-windows-interface" ,rust-windows-interface-0.44) + ("rust-windows-targets" ,rust-windows-targets-0.42)))))) + +(define-public rust-windows-0.39 + (package + (inherit rust-windows-0.46) + (name "rust-windows") + (version "0.39.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "windows" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "0jkr4rxj6jn7brqxycr1pjgvnixsimsiywl4a7v20q5ca05bvi7i")))) + (arguments + `(#:cargo-inputs (("rust-windows-implement" ,rust-windows-implement-0.39) + ("rust-windows-interface" ,rust-windows-interface-0.39) + ("rust-windows-aarch64-msvc" ,rust-windows-aarch64-msvc-0.39) + ("rust-windows-i686-gnu" ,rust-windows-i686-gnu-0.39) + ("rust-windows-i686-msvc" ,rust-windows-i686-msvc-0.39) + ("rust-windows-x86-64-gnu" ,rust-windows-x86-64-gnu-0.39) + ("rust-windows-x86-64-msvc" ,rust-windows-x86-64-msvc-0.39)))))) + +(define-public rust-windows-0.32 + (package + (inherit rust-windows-0.46) + (name "rust-windows") + (version "0.32.0") + (source (origin + (method url-fetch) + (uri (crate-uri "windows" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1v0h5b5g1ak2f2a6gkgjqgrqkkbdcfmf02nfmmj27g4nj3dzdvgv")))) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-windows-implement" ,rust-windows-implement-0.32) + ("rust-windows-aarch64-msvc" ,rust-windows-aarch64-msvc-0.32) + ("rust-windows-i686-gnu" ,rust-windows-i686-gnu-0.32) + ("rust-windows-i686-msvc" ,rust-windows-i686-msvc-0.32) + ("rust-windows-x86-64-gnu" ,rust-windows-x86-64-gnu-0.32) + ("rust-windows-x86-64-msvc" ,rust-windows-x86-64-msvc-0.32)))))) + +(define-public rust-windows-0.9 + (package + (inherit rust-windows-0.46) + (name "rust-windows") + (version "0.9.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "windows" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "0zy9jmhkhmsng7l9qiznxpdh5ns303s875p5kf6a5q9ym0rka7rn")))) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-const-sha1" ,rust-const-sha1-0.2) + ("rust-windows-gen" ,rust-windows-gen-0.9) + ("rust-windows-macros" ,rust-windows-macros-0.9)))))) + +(define-public rust-windows-aarch64-gnullvm-0.52 + (package + (name "rust-windows-aarch64-gnullvm") + (version "0.52.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "windows_aarch64_gnullvm" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1shmn1kbdc0bpphcxz0vlph96bxz0h1jlmh93s9agf2dbpin8xyb")) + (snippet + '(delete-file "lib/libwindows.0.52.0.a")))) + (build-system cargo-build-system) + (arguments (list #:skip-build? #t)) + (home-page "https://github.com/microsoft/windows-rs") + (synopsis "Code gen support for the windows crate") + (description + "This package provides code gen support for the windows crate.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-windows-aarch64-gnullvm-0.48 + (package + (inherit rust-windows-aarch64-gnullvm-0.52) + (name "rust-windows-aarch64-gnullvm") + (version "0.48.0") + (source (origin + (method url-fetch) + (uri (crate-uri "windows_aarch64_gnullvm" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1g71yxi61c410pwzq05ld7si4p9hyx6lf5fkw21sinvr3cp5gbli")) + (snippet + '(delete-file "lib/libwindows.0.48.0.a")))) + (arguments (list #:skip-build? #t)))) + +(define-public rust-windows-aarch64-gnullvm-0.42 + (package + (inherit rust-windows-aarch64-gnullvm-0.48) + (name "rust-windows-aarch64-gnullvm") + (version "0.42.2") + (source (origin + (method url-fetch) + (uri (crate-uri "windows_aarch64_gnullvm" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1y4q0qmvl0lvp7syxvfykafvmwal5hrjb4fmv04bqs0bawc52yjr")) + (snippet + '(delete-file "lib/libwindows.a")))) + (arguments + (list #:skip-build? #t)))) + +(define-public rust-windows-aarch64-msvc-0.52 + (package + (name "rust-windows-aarch64-msvc") + (version "0.52.0") + (source (origin + (method url-fetch) + (uri (crate-uri "windows_aarch64_msvc" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1vvmy1ypvzdvxn9yf0b8ygfl85gl2gpcyvsvqppsmlpisil07amv")) + (snippet + '(delete-file "lib/windows.0.52.0.lib")))) + (build-system cargo-build-system) + (arguments (list #:skip-build? #t)) + (home-page "https://github.com/microsoft/windows-rs") + (synopsis "Code gen support for the windows crate") + (description "This package provides code gen support for the windows +crate.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-windows-aarch64-msvc-0.48 + (package + (inherit rust-windows-aarch64-msvc-0.52) + (name "rust-windows-aarch64-msvc") + (version "0.48.0") + (source (origin + (method url-fetch) + (uri (crate-uri "windows_aarch64_msvc" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1wvwipchhywcjaw73h998vzachf668fpqccbhrxzrz5xszh2gvxj")) + (snippet + #~(delete-file "lib/windows.0.48.0.lib")))) + (arguments (list #:skip-build? #t)))) + +(define-public rust-windows-aarch64-msvc-0.42 + (package + (inherit rust-windows-aarch64-msvc-0.48) + (name "rust-windows-aarch64-msvc") + (version "0.42.2") + (source (origin + (method url-fetch) + (uri (crate-uri "windows_aarch64_msvc" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0hsdikjl5sa1fva5qskpwlxzpc5q9l909fpl1w6yy1hglrj8i3p0")) + (snippet + #~(delete-file "lib/windows.lib")))) + (arguments + (list #:skip-build? #t)))) + +(define-public rust-windows-aarch64-msvc-0.39 + (package + (inherit rust-windows-aarch64-msvc-0.42) + (name "rust-windows-aarch64-msvc") + (version "0.39.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "windows_aarch64_msvc" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1wj0nfmyli4bn5af243r4s3zncxv0n4j6dd8zyb41gcnc1k12xzc")) + (snippet + #~(delete-file "lib/windows.lib")))))) + +(define-public rust-windows-aarch64-msvc-0.36 + (package + (inherit rust-windows-aarch64-msvc-0.42) + (name "rust-windows-aarch64-msvc") + (version "0.36.1") + (source + (origin + (inherit (package-source rust-windows-aarch64-msvc-0.42)) + (method url-fetch) + (uri (crate-uri "windows_aarch64_msvc" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "0ixaxs2c37ll2smprzh0xq5p238zn8ylzb3lk1zddqmd77yw7f4v")))))) + +(define-public rust-windows-aarch64-msvc-0.32 + (package + (inherit rust-windows-aarch64-msvc-0.36) + (name "rust-windows-aarch64-msvc") + (version "0.32.0") + (source (origin + (inherit (package-source rust-windows-aarch64-msvc-0.36)) + (method url-fetch) + (uri (crate-uri "windows_aarch64_msvc" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1x8bnafz15ksgpbjbgk1l1j2jx4rq4a2ylzcahb1jhy4n59jgsfq")))))) + +(define-public rust-windows-aarch64-msvc-0.28 + (package + (inherit rust-windows-aarch64-msvc-0.32) + (name "rust-windows-aarch64-msvc") + (version "0.28.0") + (source (origin + (inherit (package-source rust-windows-aarch64-msvc-0.32)) + (method url-fetch) + (uri (crate-uri "windows_aarch64_msvc" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1hpk0n2z0jzzvwlvs98b75sa4q920953nqfc119rv19nwm0mlsaj")))))) + +(define-public rust-windows-bindgen-0.51 + (package + (name "rust-windows-bindgen") + (version "0.51.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "windows-bindgen" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "0xfdq4q958qal5iks8xkaanf7w3akzfxc58dxvz7amhjg2vic7xw")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs (("rust-proc-macro2" ,rust-proc-macro2-1) + ("rust-rayon" ,rust-rayon-1) + ("rust-syn" ,rust-syn-2) + ("rust-windows-metadata" ,rust-windows-metadata-0.51)))) + (home-page "https://github.com/microsoft/windows-rs") + (synopsis "Windows metadata compiler") + (description "Windows metadata compiler.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-windows-i686-gnu-0.52 + (package + (name "rust-windows-i686-gnu") + (version "0.52.0") + (source (origin + (method url-fetch) + (uri (crate-uri "windows_i686_gnu" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "04zkglz4p3pjsns5gbz85v4s5aw102raz4spj4b0lmm33z5kg1m2")) + (snippet + '(delete-file "lib/libwindows.0.52.0.a")))) + (build-system cargo-build-system) + (arguments (list #:skip-build? #t)) + (home-page "https://github.com/microsoft/windows-rs") + (synopsis "Code gen support for the windows crate") + (description + "This package provides code gen support for the windows crate.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-windows-i686-gnu-0.48 + (package + (inherit rust-windows-i686-gnu-0.52) + (name "rust-windows-i686-gnu") + (version "0.48.0") + (source (origin + (method url-fetch) + (uri (crate-uri "windows_i686_gnu" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0hd2v9kp8fss0rzl83wzhw0s5z8q1b4875m6s1phv0yvlxi1jak2")) + (snippet + #~(delete-file "lib/libwindows.0.48.0.a")))) + (arguments (list #:skip-build? #t)))) + +(define-public rust-windows-i686-gnu-0.42 + (package + (inherit rust-windows-i686-gnu-0.48) + (name "rust-windows-i686-gnu") + (version "0.42.2") + (source (origin + (method url-fetch) + (uri (crate-uri "windows_i686_gnu" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0kx866dfrby88lqs9v1vgmrkk1z6af9lhaghh5maj7d4imyr47f6")) + (snippet + #~(delete-file "lib/libwindows.a")))) + (arguments + (list #:skip-build? #t)))) + +(define-public rust-windows-i686-gnu-0.39 + (package + (inherit rust-windows-i686-gnu-0.42) + (name "rust-windows-i686-gnu") + (version "0.39.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "windows_i686_gnu" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "06wynhxklmh3s1ril9bh00rhv1npppcyirsp60p09xx501qwagvn")) + (snippet + #~(delete-file "lib/libwindows.a")))))) + +(define-public rust-windows-i686-gnu-0.36 + (package + (inherit rust-windows-i686-gnu-0.42) + (name "rust-windows-i686-gnu") + (version "0.36.1") + (source (origin + (inherit (package-source rust-windows-i686-gnu-0.42)) + (method url-fetch) + (uri (crate-uri "windows_i686_gnu" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1dm3svxfzamrv6kklyda9c3qylgwn5nwdps6p0kc9x6s077nq3hq")))))) + +(define-public rust-windows-i686-gnu-0.32 + (package + (inherit rust-windows-i686-gnu-0.36) + (name "rust-windows-i686-gnu") + (version "0.32.0") + (source (origin + (inherit (package-source rust-windows-i686-gnu-0.36)) + (method url-fetch) + (uri (crate-uri "windows_i686_gnu" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "05g6kpdfxwxnw2gn1nrd7bsf5997rci0k3h3nqby168ph5l1qwba")))))) + +(define-public rust-windows-i686-gnu-0.28 + (package + (inherit rust-windows-i686-gnu-0.32) + (name "rust-windows-i686-gnu") + (version "0.28.0") + (source (origin + (inherit (package-source rust-windows-i686-gnu-0.32)) + (method url-fetch) + (uri (crate-uri "windows_i686_gnu" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "12hx7qpsjg9p7jggfcplqa3mf1mzr7k7s5ybzqwg1zmg4fn2aizm")))))) + +(define-public rust-windows-i686-msvc-0.52 + (package + (name "rust-windows-i686-msvc") + (version "0.52.0") + (source (origin + (method url-fetch) + (uri (crate-uri "windows_i686_msvc" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "16kvmbvx0vr0zbgnaz6nsks9ycvfh5xp05bjrhq65kj623iyirgz")) + (snippet + '(delete-file "lib/windows.0.52.0.lib")))) + (build-system cargo-build-system) + (arguments (list #:skip-build? #t)) + (home-page "https://github.com/microsoft/windows-rs") + (synopsis "Code gen support for the windows crate") + (description + "This package provides code gen support for the windows crate.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-windows-i686-msvc-0.48 + (package + (inherit rust-windows-i686-msvc-0.52) + (name "rust-windows-i686-msvc") + (version "0.48.0") + (source (origin + (method url-fetch) + (uri (crate-uri "windows_i686_msvc" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "004fkyqv3if178xx9ksqc4qqv8sz8n72mpczsr2vy8ffckiwchj5")) + (snippet + #~(delete-file "lib/windows.0.48.0.lib")))) + (arguments (list #:skip-build? #t)))) + +(define-public rust-windows-i686-msvc-0.42 + (package + (inherit rust-windows-i686-msvc-0.48) + (name "rust-windows-i686-msvc") + (version "0.42.2") + (source (origin + (method url-fetch) + (uri (crate-uri "windows_i686_msvc" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0q0h9m2aq1pygc199pa5jgc952qhcnf0zn688454i7v4xjv41n24")) + (snippet + #~(delete-file "lib/windows.lib")))) + (arguments + (list #:skip-build? #t)))) + +(define-public rust-windows-i686-msvc-0.39 + (package + (inherit rust-windows-i686-msvc-0.42) + (name "rust-windows-i686-msvc") + (version "0.39.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "windows_i686_msvc" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "01hiv9msxssy5iqxs7bczvf094k4mz56yi4z1bhj32c2b3zcpivv")) + (snippet + #~(delete-file "lib/windows.lib")))))) + +(define-public rust-windows-i686-msvc-0.36 + (package + (inherit rust-windows-i686-msvc-0.42) + (name "rust-windows-i686-msvc") + (version "0.36.1") + (source (origin + (inherit (package-source rust-windows-i686-msvc-0.42)) + (method url-fetch) + (uri (crate-uri "windows_i686_msvc" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "097h2a7wig04wbmpi3rz1akdy4s8gslj5szsx8g2v0dj91qr3rz2")))))) + +(define-public rust-windows-i686-msvc-0.32 + (package + (inherit rust-windows-i686-msvc-0.36) + (name "rust-windows-i686-msvc") + (version "0.32.0") + (source (origin + (inherit (package-source rust-windows-i686-msvc-0.36)) + (method url-fetch) + (uri (crate-uri "windows_i686_msvc" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0wj1wi01fc8hrasbakjcq8y5a7ynw9l2mcw08svmsq823axi2v0l")))))) + +(define-public rust-windows-i686-msvc-0.28 + (package + (inherit rust-windows-i686-msvc-0.32) + (name "rust-windows-i686-msvc") + (version "0.28.0") + (source (origin + (inherit (package-source rust-windows-i686-msvc-0.32)) + (method url-fetch) + (uri (crate-uri "windows_i686_msvc" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0r0z8s1wcdwd20azsdfilf2a6bz68xkavl990wy64hyc8f51bmai")))))) + +(define-public rust-windows-implement-0.48 + (package + (name "rust-windows-implement") + (version "0.48.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "windows-implement" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1764n853zd7bb0wn94i0qxfs6kdy7wrz7v9qhdn7x7hvk64fabjy")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-proc-macro2" ,rust-proc-macro2-1) + ("rust-quote" ,rust-quote-1) + ("rust-syn" ,rust-syn-1)))) + (home-page "https://github.com/microsoft/windows-rs") + (synopsis "The implement macro for the windows crate") + (description "This package provides the @code{implement} macro for the +windows crate.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-windows-implement-0.46 + (package + (inherit rust-windows-implement-0.48) + (name "rust-windows-implement") + (version "0.46.0") + (source (origin + (method url-fetch) + (uri (crate-uri "windows-implement" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "09kw706qcms5yy34lf714zspj34v8jirfxv7yycavpcsa9czpd69")))) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-proc-macro2" ,rust-proc-macro2-1) + ("rust-quote" ,rust-quote-1) + ("rust-syn" ,rust-syn-1)))))) + +(define-public rust-windows-implement-0.44 + (package + (inherit rust-windows-implement-0.48) + (name "rust-windows-implement") + (version "0.44.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "windows-implement" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1ij5q9khlcfn43a1p3ypjbn711k50s9pc8la5bf04ys1wfl7rs3c")))) + (arguments + `(#:cargo-inputs + (("rust-proc-macro2" ,rust-proc-macro2-1) + ("rust-quote" ,rust-quote-1) + ("rust-syn" ,rust-syn-1)))))) + +(define-public rust-windows-implement-0.39 + (package + (inherit rust-windows-implement-0.46) + (name "rust-windows-implement") + (version "0.39.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "windows-implement" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1ryfy5sgf26xmflf33zabzqn10pp6pjrbz75yh2xrdcwa27zj0ds")))) + (arguments + `(#:cargo-inputs (("rust-syn" ,rust-syn-1) + ("rust-windows-tokens" ,rust-windows-tokens-0.39)))))) + +(define-public rust-windows-implement-0.32 + (package + (inherit rust-windows-implement-0.46) + (name "rust-windows-implement") + (version "0.32.0") + (source (origin + (method url-fetch) + (uri (crate-uri "windows-implement" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0f3lnjs9rlihin9cjf9y7np1x15c0v09v0cwlw1n7c30145xmciz")))) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-syn" ,rust-syn-1) + ("rust-windows-tokens" ,rust-windows-tokens-0.32)))))) + +(define-public rust-windows-interface-0.48 + (package + (name "rust-windows-interface") + (version "0.48.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "windows-interface" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1iqcilw0hfyzwhk12xfmcy40r10406sgf4xmdansijlv1kr8vyz6")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-proc-macro2" ,rust-proc-macro2-1) + ("rust-quote" ,rust-quote-1) + ("rust-syn" ,rust-syn-1)))) + (home-page "https://github.com/microsoft/windows-rs") + (synopsis "The interface macro for the windows crate") + (description "This package provides the interface macro for the windows +crate.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-windows-interface-0.46 + (package + (inherit rust-windows-interface-0.48) + (name "rust-windows-interface") + (version "0.46.0") + (source (origin + (method url-fetch) + (uri (crate-uri "windows-interface" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0a87zxh3wq5ng1vvgqf7jhydsshrpc5w39pyvr0l1vyv3q5k67xc")))) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-proc-macro2" ,rust-proc-macro2-1) + ("rust-quote" ,rust-quote-1) + ("rust-syn" ,rust-syn-1)))))) + +(define-public rust-windows-interface-0.44 + (package + (inherit rust-windows-interface-0.48) + (name "rust-windows-interface") + (version "0.44.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "windows-interface" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "0zwwwfzjdf087gvgy48bbfq9yd0fsh1fj5wzs88gim7cj6jnjgw5")))) + (arguments + `(#:cargo-inputs + (("rust-proc-macro2" ,rust-proc-macro2-1) + ("rust-quote" ,rust-quote-1) + ("rust-syn" ,rust-syn-1)))))) + +(define-public rust-windows-interface-0.39 + (package + (inherit rust-windows-interface-0.46) + (name "rust-windows-interface") + (version "0.39.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "windows-interface" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "00h56znmak3p8bh28y3s48m5zv6q7dn40vnvf3dzf0sz5rszrym2")))))) + +(define-public rust-windows-metadata-0.51 + (package + (name "rust-windows-metadata") + (version "0.51.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "windows-metadata" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "03h0c6qs1yyl0z69p4k1hdq636j868qdxnri1dy47nprjvckacbm")))) + (build-system cargo-build-system) + (home-page "https://github.com/microsoft/windows-rs") + (synopsis "Windows metadata reader") + (description "Windows metadata reader.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-windows-sys-0.52 + (package + (name "rust-windows-sys") + (version "0.52.0") + (source (origin + (method url-fetch) + (uri (crate-uri "windows-sys" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0gd3v4ji88490zgb6b5mq5zgbvwv7zx1ibn8v3x83rwcdbryaar8")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs (("rust-windows-targets" ,rust-windows-targets-0.52)))) + (home-page "https://github.com/microsoft/windows-rs") + (synopsis "Rust for Windows") + (description "The windows crate lets you call any Windows API past, +present, and future using code generated on the fly directly from the metadata +describing the API and right into your Rust package where you can call them as +if they were just another Rust module.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-windows-sys-0.48 + (package + (inherit rust-windows-sys-0.52) + (name "rust-windows-sys") + (version "0.48.0") + (source (origin + (method url-fetch) + (uri (crate-uri "windows-sys" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1aan23v5gs7gya1lc46hqn9mdh8yph3fhxmhxlw36pn6pqc28zb7")))) + (arguments + `(#:skip-build? #t + #:cargo-inputs (("rust-windows-targets" ,rust-windows-targets-0.48)))))) + +(define-public rust-windows-sys-0.45 + (package + (inherit rust-windows-sys-0.48) + (name "rust-windows-sys") + (version "0.45.0") + (source (origin + (method url-fetch) + (uri (crate-uri "windows-sys" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1l36bcqm4g89pknfp8r9rl1w4bn017q6a8qlx8viv0xjxzjkna3m")))) + (arguments + (list #:skip-build? #t + #:cargo-inputs + `(("rust-windows-targets" ,rust-windows-targets-0.42)))))) + +(define-public rust-windows-sys-0.42 + (package + (inherit rust-windows-sys-0.45) + (name "rust-windows-sys") + (version "0.42.0") + (source (origin + (method url-fetch) + (uri (crate-uri "windows-sys" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "19waf8aryvyq9pzk0gamgfwjycgzk4gnrazpfvv171cby0h1hgjs")))) + (arguments + (list #:skip-build? #t + #:cargo-inputs + `(("rust-windows-aarch64-gnullvm" ,rust-windows-aarch64-gnullvm-0.42) + ("rust-windows-aarch64-msvc" ,rust-windows-aarch64-msvc-0.42) + ("rust-windows-i686-gnu" ,rust-windows-i686-gnu-0.42) + ("rust-windows-i686-msvc" ,rust-windows-i686-msvc-0.42) + ("rust-windows-x86-64-gnu" ,rust-windows-x86-64-gnu-0.42) + ("rust-windows-x86-64-gnullvm" ,rust-windows-x86-64-gnullvm-0.42) + ("rust-windows-x86-64-msvc" ,rust-windows-x86-64-msvc-0.42)))))) + +(define-public rust-windows-sys-0.36 + (package + (inherit rust-windows-sys-0.42) + (name "rust-windows-sys") + (version "0.36.1") + (source (origin + (method url-fetch) + (uri (crate-uri "windows-sys" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1lmqangv0zg1l46xiq7rfnqwsx8f8m52mqbgg2mrx7x52rd1a17a")))) + (arguments + (list #:skip-build? #t + #:cargo-inputs + `(("rust-windows-aarch64-msvc" ,rust-windows-aarch64-msvc-0.36) + ("rust-windows-i686-gnu" ,rust-windows-i686-gnu-0.36) + ("rust-windows-i686-msvc" ,rust-windows-i686-msvc-0.36) + ("rust-windows-x86-64-gnu" ,rust-windows-x86-64-gnu-0.36) + ("rust-windows-x86-64-msvc" ,rust-windows-x86-64-msvc-0.36)))))) + +(define-public rust-windows-sys-0.28 + (package + (inherit rust-windows-sys-0.36) + (name "rust-windows-sys") + (version "0.28.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "windows-sys" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1xkghf343nll9i1yvha1a4spf53mnb5knzmnqj9adgsw5mh3kjl2")))) + (arguments + (list #:skip-build? #t + #:cargo-inputs + `(("rust-windows-aarch64-msvc" ,rust-windows-aarch64-msvc-0.28) + ("rust-windows-i686-gnu" ,rust-windows-i686-gnu-0.28) + ("rust-windows-i686-msvc" ,rust-windows-i686-msvc-0.28) + ("rust-windows-x86-64-gnu" ,rust-windows-x86-64-gnu-0.28) + ("rust-windows-x86-64-msvc" ,rust-windows-x86-64-msvc-0.28)))))) + +(define-public rust-windows-gen-0.9 + (package + (name "rust-windows-gen") + (version "0.9.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "windows_gen" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "0lh492px26rrna0harikyy4p7nk520pw2lv0dczp4n2xa6y4s5al")))) + (build-system cargo-build-system) + (arguments `(#:skip-build? #t #:cargo-inputs (("rust-syn" ,rust-syn-1)))) + (home-page "https://github.com/microsoft/windows-rs") + (synopsis "Code gen support for the windows crate") + (description "Code gen support for the windows crate") + (license (list license:expat license:asl2.0)))) + +(define-public rust-windows-macros-0.9 + (package + (name "rust-windows-macros") + (version "0.9.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "windows_macros" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "0xivsg3lf023hs83xiab2k40fmrl11nbihcdrdkc8pc4ab398xqg")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-syn" ,rust-syn-1) ("rust-windows-gen" ,rust-windows-gen-0.9)))) + (home-page "https://github.com/microsoft/windows-rs") + (synopsis "Macros for the windows crate") + (description "Macros for the windows crate") + (license (list license:expat license:asl2.0)))) + +(define-public rust-windows-targets-0.52 + (package + (name "rust-windows-targets") + (version "0.52.0") + (source (origin + (method url-fetch) + (uri (crate-uri "windows-targets" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1kg7a27ynzw8zz3krdgy6w5gbqcji27j1sz4p7xk2j5j8082064a")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-windows-aarch64-gnullvm" ,rust-windows-aarch64-gnullvm-0.52) + ("rust-windows-aarch64-msvc" ,rust-windows-aarch64-msvc-0.52) + ("rust-windows-i686-gnu" ,rust-windows-i686-gnu-0.52) + ("rust-windows-i686-msvc" ,rust-windows-i686-msvc-0.52) + ("rust-windows-x86-64-gnu" ,rust-windows-x86-64-gnu-0.52) + ("rust-windows-x86-64-gnullvm" ,rust-windows-x86-64-gnullvm-0.52) + ("rust-windows-x86-64-msvc" ,rust-windows-x86-64-msvc-0.52)))) + (home-page "https://github.com/microsoft/windows-rs") + (synopsis "Code gen support for the windows crate") + (description + "This package provides code gen support for the windows crate.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-windows-targets-0.48 + (package + (inherit rust-windows-targets-0.52) + (name "rust-windows-targets") + (version "0.48.0") + (source (origin + (method url-fetch) + (uri (crate-uri "windows-targets" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1mfzg94w0c8h4ya9sva7rra77f3iy1712af9b6bwg03wrpqbc7kv")))) + (arguments + `(#:cargo-inputs + (("rust-windows-aarch64-gnullvm" ,rust-windows-aarch64-gnullvm-0.48) + ("rust-windows-aarch64-msvc" ,rust-windows-aarch64-msvc-0.48) + ("rust-windows-i686-gnu" ,rust-windows-i686-gnu-0.48) + ("rust-windows-i686-msvc" ,rust-windows-i686-msvc-0.48) + ("rust-windows-x86-64-gnu" ,rust-windows-x86-64-gnu-0.48) + ("rust-windows-x86-64-gnullvm" ,rust-windows-x86-64-gnullvm-0.48) + ("rust-windows-x86-64-msvc" ,rust-windows-x86-64-msvc-0.48)))))) + +(define-public rust-windows-targets-0.42 + (package + (inherit rust-windows-targets-0.48) + (name "rust-windows-targets") + (version "0.42.2") + (source (origin + (method url-fetch) + (uri (crate-uri "windows-targets" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0wfhnib2fisxlx8c507dbmh97kgij4r6kcxdi0f9nk6l1k080lcf")))) + (arguments + `(#:cargo-inputs + (("rust-windows-aarch64-gnullvm" ,rust-windows-aarch64-gnullvm-0.42) + ("rust-windows-aarch64-msvc" ,rust-windows-aarch64-msvc-0.42) + ("rust-windows-i686-gnu" ,rust-windows-i686-gnu-0.42) + ("rust-windows-i686-msvc" ,rust-windows-i686-msvc-0.42) + ("rust-windows-x86-64-gnu" ,rust-windows-x86-64-gnu-0.42) + ("rust-windows-x86-64-gnullvm" ,rust-windows-x86-64-gnullvm-0.42) + ("rust-windows-x86-64-msvc" ,rust-windows-x86-64-msvc-0.42)))))) + +(define-public rust-windows-tokens-0.39 + (package + (name "rust-windows-tokens") + (version "0.39.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "windows-tokens" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "15zmsz8ji6z7471xwznrm4hqp6j94s7pjjz7i34vmrjzw4pxwf7q")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t)) + (home-page "https://github.com/microsoft/windows-rs") + (synopsis "Code gen support for the windows crate") + (description "This package provides code generation support for the +windows crate.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-windows-tokens-0.32 + (package + (inherit rust-windows-tokens-0.39) + (name "rust-windows-tokens") + (version "0.32.0") + (source (origin + (method url-fetch) + (uri (crate-uri "windows-tokens" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1rrqbxjkyk6h6p6jjzbcxr0mhqbz0yfndd2s2dsgmbl75f4yy7gn")))))) + +(define-public rust-windows-x86-64-gnu-0.52 + (package + (name "rust-windows-x86-64-gnu") + (version "0.52.0") + (source (origin + (method url-fetch) + (uri (crate-uri "windows_x86_64_gnu" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1zdy4qn178sil5sdm63lm7f0kkcjg6gvdwmcprd2yjmwn8ns6vrx")) + (snippet + '(delete-file "lib/libwindows.0.52.0.a")))) + (build-system cargo-build-system) + (arguments (list #:skip-build? #t)) + (home-page "https://github.com/microsoft/windows-rs") + (synopsis "Code gen support for the windows crate") + (description + "This package provides code gen support for the windows crate.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-windows-x86-64-gnu-0.48 + (package + (inherit rust-windows-x86-64-gnu-0.52) + (name "rust-windows-x86-64-gnu") + (version "0.48.0") + (source (origin + (method url-fetch) + (uri (crate-uri "windows_x86_64_gnu" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1cblz5m6a8q6ha09bz4lz233dnq5sw2hpra06k9cna3n3xk8laya")) + (snippet + #~(delete-file "lib/libwindows.0.48.0.a")))) + (arguments (list #:skip-build? #t)))) + +(define-public rust-windows-x86-64-gnu-0.42 + (package + (inherit rust-windows-x86-64-gnu-0.48) + (name "rust-windows-x86-64-gnu") + (version "0.42.2") + (source (origin + (method url-fetch) + (uri (crate-uri "windows_x86_64_gnu" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0dnbf2xnp3xrvy8v9mgs3var4zq9v9yh9kv79035rdgyp2w15scd")) + (snippet + #~(delete-file "lib/libwindows.a")))) + (arguments + (list #:skip-build? #t)))) + +(define-public rust-windows-x86-64-gnu-0.39 + (package + (inherit rust-windows-x86-64-gnu-0.42) + (name "rust-windows-x86-64-gnu") + (version "0.39.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "windows_x86_64_gnu" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "0r9b4lmapq66nn2dga7a0mkdv5sgbp184kfwx3hklrbxcdjw2s38")) + (snippet + #~(delete-file "lib/libwindows.a")))))) + +(define-public rust-windows-x86-64-gnu-0.36 + (package + (inherit rust-windows-x86-64-gnu-0.42) + (name "rust-windows-x86-64-gnu") + (version "0.36.1") + (source (origin + (inherit (package-source rust-windows-x86-64-gnu-0.42)) + (method url-fetch) + (uri (crate-uri "windows_x86_64_gnu" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1qfrck3jnihymfrd01s8260d4snql8ks2p8yaabipi3nhwdigkad")))))) + +(define-public rust-windows-x86-64-gnu-0.32 + (package + (inherit rust-windows-x86-64-gnu-0.36) + (name "rust-windows-x86-64-gnu") + (version "0.32.0") + (source (origin + (inherit (package-source rust-windows-x86-64-gnu-0.36)) + (method url-fetch) + (uri (crate-uri "windows_x86_64_gnu" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1g34xhcayig9sndq3555w95q6lr7jr839zxv6l365ijlfhpv24n9")))))) + +(define-public rust-windows-x86-64-gnu-0.28 + (package + (inherit rust-windows-x86-64-gnu-0.32) + (name "rust-windows-x86-64-gnu") + (version "0.28.0") + (source (origin + (inherit (package-source rust-windows-x86-64-gnu-0.32)) + (method url-fetch) + (uri (crate-uri "windows_x86_64_gnu" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0m79bhdr54g4h4wh2q8wkjlkypb5wvl7xzhc2csiaqb5yl4z8cdw")))))) + +(define-public rust-windows-x86-64-gnullvm-0.52 + (package + (name "rust-windows-x86-64-gnullvm") + (version "0.52.0") + (source (origin + (method url-fetch) + (uri (crate-uri "windows_x86_64_gnullvm" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "17lllq4l2k1lqgcnw1cccphxp9vs7inq99kjlm2lfl9zklg7wr8s")) + (snippet + '(delete-file "lib/libwindows.0.52.0.a")))) + (build-system cargo-build-system) + (arguments (list #:skip-build? #t)) + (home-page "https://github.com/microsoft/windows-rs") + (synopsis "Code gen support for the windows crate") + (description + "This package provides code gen support for the windows crate.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-windows-x86-64-gnullvm-0.48 + (package + (inherit rust-windows-x86-64-gnullvm-0.52) + (name "rust-windows-x86-64-gnullvm") + (version "0.48.0") + (source (origin + (method url-fetch) + (uri (crate-uri "windows_x86_64_gnullvm" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0lxryz3ysx0145bf3i38jkr7f9nxiym8p3syklp8f20yyk0xp5kq")) + (snippet + '(delete-file "lib/libwindows.0.48.0.a")))) + (arguments (list #:skip-build? #t)))) + +(define-public rust-windows-x86-64-gnullvm-0.42 + (package + (inherit rust-windows-x86-64-gnullvm-0.48) + (name "rust-windows-x86-64-gnullvm") + (version "0.42.2") + (source (origin + (method url-fetch) + (uri (crate-uri "windows_x86_64_gnullvm" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "18wl9r8qbsl475j39zvawlidp1bsbinliwfymr43fibdld31pm16")) + (snippet + '(delete-file "lib/libwindows.a")))) + (arguments (list #:skip-build? #t)))) + +(define-public rust-windows-x86-64-msvc-0.52 + (package + (name "rust-windows-x86-64-msvc") + (version "0.52.0") + (source (origin + (method url-fetch) + (uri (crate-uri "windows_x86_64_msvc" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "012wfq37f18c09ij5m6rniw7xxn5fcvrxbqd0wd8vgnl3hfn9yfz")) + (snippet + '(delete-file "lib/windows.0.52.0.lib")))) + (build-system cargo-build-system) + (arguments (list #:skip-build? #t)) + (home-page "https://github.com/microsoft/windows-rs") + (synopsis "Code gen support for the windows crate") + (description + "This package provides code gen support for the windows crate.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-windows-x86-64-msvc-0.48 + (package + (inherit rust-windows-x86-64-msvc-0.52) + (name "rust-windows-x86-64-msvc") + (version "0.48.0") + (source (origin + (method url-fetch) + (uri (crate-uri "windows_x86_64_msvc" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "12ipr1knzj2rwjygyllfi5mkd0ihnbi3r61gag5n2jgyk5bmyl8s")) + (snippet + #~(delete-file "lib/windows.0.48.0.lib")))) + (arguments (list #:skip-build? #t)))) + +(define-public rust-windows-x86-64-msvc-0.42 + (package + (inherit rust-windows-x86-64-msvc-0.48) + (name "rust-windows-x86-64-msvc") + (version "0.42.2") + (source (origin + (method url-fetch) + (uri (crate-uri "windows_x86_64_msvc" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1w5r0q0yzx827d10dpjza2ww0j8iajqhmb54s735hhaj66imvv4s")) + (snippet + #~(delete-file "lib/windows.lib")))) + (arguments (list #:skip-build? #t)))) + +(define-public rust-windows-x86-64-msvc-0.39 + (package + (inherit rust-windows-x86-64-msvc-0.42) + (name "rust-windows-x86-64-msvc") + (version "0.39.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "windows_x86_64_msvc" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "02g8fy1sv8g0p4fi2yk62j9a5zwhcfknp9vwg1ifkjp97a440kay")) + (snippet + #~(delete-file "lib/windows.lib")))))) + +(define-public rust-windows-x86-64-msvc-0.36 + (package + (inherit rust-windows-x86-64-msvc-0.42) + (name "rust-windows-x86-64-msvc") + (version "0.36.1") + (source (origin + (inherit (package-source rust-windows-x86-64-msvc-0.42)) + (method url-fetch) + (uri (crate-uri "windows_x86_64_msvc" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "103n3xijm5vr7qxr1dps202ckfnv7njjnnfqmchg8gl5ii5cl4f8")))))) + +(define-public rust-windows-x86-64-msvc-0.32 + (package + (inherit rust-windows-x86-64-msvc-0.36) + (name "rust-windows-x86-64-msvc") + (version "0.32.0") + (source (origin + (inherit (package-source rust-windows-x86-64-msvc-0.36)) + (method url-fetch) + (uri (crate-uri "windows_x86_64_msvc" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "05l392h518dxn808dc1zkv6d0r9z38q68qqc0ix9fs9741v28jjh")))))) + +(define-public rust-windows-x86-64-msvc-0.28 + (package + (inherit rust-windows-x86-64-msvc-0.32) + (name "rust-windows-x86-64-msvc") + (version "0.28.0") + (source (origin + (inherit (package-source rust-windows-x86-64-msvc-0.32)) + (method url-fetch) + (uri (crate-uri "windows_x86_64_msvc" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "17z8q25pd3dp6b84qm9nlayd3ym78sbryxlqmgcxvz9vpmy8qarz")))))) + diff --git a/gnu/packages/rust-apps.scm b/gnu/packages/rust-apps.scm index 561c338959..df731d4b61 100644 --- a/gnu/packages/rust-apps.scm +++ b/gnu/packages/rust-apps.scm @@ -63,6 +63,7 @@ #:use-module (gnu packages crates-tls) #:use-module (gnu packages crates-vcs) #:use-module (gnu packages crates-web) + #:use-module (gnu packages crates-windows) #:use-module (gnu packages curl) #:use-module (gnu packages documentation) #:use-module (gnu packages fontutils) diff --git a/gnu/packages/terminals.scm b/gnu/packages/terminals.scm index ef187c6ced..5a4fee11a5 100644 --- a/gnu/packages/terminals.scm +++ b/gnu/packages/terminals.scm @@ -78,6 +78,7 @@ #:use-module (gnu packages compression) #:use-module (gnu packages crates-io) #:use-module (gnu packages crates-graphics) + #:use-module (gnu packages crates-windows) #:use-module (gnu packages crypto) #:use-module (gnu packages curl) #:use-module (gnu packages dlang) -- cgit v1.2.3 From 4f91e705117be3685c6fda612320fa415e8e1936 Mon Sep 17 00:00:00 2001 From: Jaeme Sifat Date: Fri, 29 Dec 2023 19:40:29 -0500 Subject: gnu: bat: Update to 0.24.0. * gnu/packages/rust-apps.scm (bat): Update to 0.24.0. [source]: Add snippet to allow newer versions of dependencies. [arguments]: Add 'install-extras step for completions and manpage. Don't install source. [cargo-inputs]: Add rust-encoding-rs-0.8, rust-etcetera-0.8, rust-home-0.5, rust-nu-ansi-term-0.49, rust-os-str-bytes-6. Replace rust-bugreport-0.4 with 0.5, rust-clap-2 with 4, rust-clircle-0.3 with 0.4, rust-serde-yaml-0.8 with 0.9, rust-syntect-4 with 5. Remove rust-dirs-next-2, rust-encoding-0.2. [cargo-development-inputs]: Add rust-expect-test-1. Replace rust-nix-0.23 with 0.26, rust-predicates-2 with 3, rust-serial-test-0.5 with 2. Remove rust-wait-timeout-0.2. [inputs]: Replace rust-libgit2 with libgit2-1.7. Change-Id: Ibcd82fbd297fb84ab265486694126aed77862dd8 Signed-off-by: Efraim Flashner --- gnu/packages/rust-apps.scm | 85 ++++++++++++++++++++++++++++++++-------------- 1 file changed, 60 insertions(+), 25 deletions(-) (limited to 'gnu/packages/rust-apps.scm') diff --git a/gnu/packages/rust-apps.scm b/gnu/packages/rust-apps.scm index df731d4b61..ee63d946bc 100644 --- a/gnu/packages/rust-apps.scm +++ b/gnu/packages/rust-apps.scm @@ -78,6 +78,7 @@ #:use-module (gnu packages kde) #:use-module (gnu packages linux) #:use-module (gnu packages networking) + #:use-module (gnu packages shells) #:use-module (gnu packages ssh) #:use-module (gnu packages pcre) #:use-module (gnu packages perl) @@ -213,57 +214,91 @@ alternative zones.") (define-public bat (package (name "bat") - (version "0.20.0") + (version "0.24.0") (source (origin (method url-fetch) (uri (crate-uri "bat" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "05sj0chxpai26fhk1k7p5m54v3j7n1x64ayx53mcimsj1skdr77m")))) + (base32 "11nc2iv2qhd1bs16yijqq934864ybnmg485rny70scy26xb9xk4x")) + (modules '((guix build utils))) + (snippet + '(begin (substitute* "Cargo.toml" + (("\"~([[:digit:]]+(\\.[[:digit:]]+)*)" _ version) + (string-append "\"^" version))))))) (build-system cargo-build-system) (arguments - `(#:cargo-inputs - (("rust-ansi-colours" ,rust-ansi-colours-1) - ("rust-ansi-term" ,rust-ansi-term-0.12) - ("rust-atty" ,rust-atty-0.2) + (list + #:install-source? #f + #:cargo-inputs + `(("rust-ansi-colours" ,rust-ansi-colours-1) ("rust-bincode" ,rust-bincode-1) - ("rust-bugreport" ,rust-bugreport-0.4) + ("rust-bugreport" ,rust-bugreport-0.5) ("rust-bytesize" ,rust-bytesize-1) - ("rust-clap" ,rust-clap-2) - ("rust-clap" ,rust-clap-2) - ("rust-clircle" ,rust-clircle-0.3) + ("rust-clap" ,rust-clap-4) + ("rust-clircle" ,rust-clircle-0.4) ("rust-console" ,rust-console-0.15) ("rust-content-inspector" ,rust-content-inspector-0.2) - ("rust-dirs-next" ,rust-dirs-next-2) - ("rust-encoding" ,rust-encoding-0.2) + ("rust-encoding-rs" ,rust-encoding-rs-0.8) + ("rust-etcetera" ,rust-etcetera-0.8) ("rust-flate2" ,rust-flate2-1) - ("rust-git2" ,rust-git2-0.13) + ("rust-git2" ,rust-git2-0.18) ("rust-globset" ,rust-globset-0.4) ("rust-grep-cli" ,rust-grep-cli-0.1) + ("rust-home" ,rust-home-0.5) + ("rust-nu-ansi-term" ,rust-nu-ansi-term-0.49) ("rust-once-cell" ,rust-once-cell-1) + ("rust-os-str-bytes" ,rust-os-str-bytes-6) ("rust-path-abs" ,rust-path-abs-0.5) + ("rust-plist" ,rust-plist-1) ("rust-regex" ,rust-regex-1) + ("rust-run-script" ,rust-run-script-0.10) ("rust-semver" ,rust-semver-1) ("rust-serde" ,rust-serde-1) - ("rust-serde-yaml" ,rust-serde-yaml-0.8) + ("rust-serde-yaml" ,rust-serde-yaml-0.9) ("rust-shell-words" ,rust-shell-words-1) - ("rust-syntect" ,rust-syntect-4) + ("rust-syntect" ,rust-syntect-5) ("rust-thiserror" ,rust-thiserror-1) ("rust-unicode-width" ,rust-unicode-width-0.1) ("rust-walkdir" ,rust-walkdir-2) ("rust-wild" ,rust-wild-2)) - #:cargo-development-inputs - (("rust-assert-cmd" ,rust-assert-cmd-2) - ("rust-nix" ,rust-nix-0.23) - ("rust-predicates" ,rust-predicates-2) - ("rust-serial-test" ,rust-serial-test-0.5) + #:cargo-development-inputs + `(("rust-assert-cmd" ,rust-assert-cmd-2) + ("rust-expect-test" ,rust-expect-test-1) + ("rust-nix" ,rust-nix-0.26) + ("rust-predicates" ,rust-predicates-3) + ("rust-serial-test" ,rust-serial-test-2) ("rust-tempfile" ,rust-tempfile-3) - ("rust-wait-timeout" ,rust-wait-timeout-0.2)))) - (native-inputs - (list pkg-config)) - (inputs - (list libgit2 zlib)) + ("rust-wait-timeout" ,rust-wait-timeout-0.2)) + #:phases + #~(modify-phases %standard-phases + (add-before 'build 'pre-build + (lambda _ + (setenv "BAT_ASSETS_GEN_DIR" "target"))) + (add-after 'install 'install-extras + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (share (string-append out "/share")) + (bash-completions-dir + (string-append share "/bash-completion/completions")) + (zsh-completions-dir + (string-append share "/zsh/site-functions")) + (fish-completions-dir + (string-append share "/fish/vendor_completions.d")) + (man1 (string-append share "/man/man1"))) + (mkdir-p bash-completions-dir) + (mkdir-p zsh-completions-dir) + (mkdir-p fish-completions-dir) + (copy-file "target/assets/completions/bat.bash" + (string-append bash-completions-dir "/bat")) + (copy-file "target/assets/completions/bat.zsh" + (string-append zsh-completions-dir "/_bat")) + (install-file "target/assets/completions/bat.fish" + fish-completions-dir) + (install-file "target/assets/manual/bat.1" man1))))))) + (native-inputs (list pkg-config)) + (inputs (list libgit2-1.7 zlib)) (home-page "https://github.com/sharkdp/bat") (synopsis "@command{cat} clone with syntax highlighting and git integration") (description -- cgit v1.2.3 From 9f4b5dee38ffbcc5f7f4a8237cf3f54fadbd94b6 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Wed, 3 Jan 2024 10:24:18 +0200 Subject: gnu: rust-cargo-c: Update to 0.9.29. * gnu/packages/rust-apps.scm (rust-cargo-c): Update to 0.9.29. [cargo-inputs]: Replace rust-cargo-0.74 with 0.76, rust-itertools-0.11 with 0.12, rust-windows-sys-0.48 with 0.52. [inputs]: Replace libgit2-1.6 with 1.7. Change-Id: Ifba50703c4738ea628a9a2a609e3e97ea6075ac4 --- gnu/packages/rust-apps.scm | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) (limited to 'gnu/packages/rust-apps.scm') diff --git a/gnu/packages/rust-apps.scm b/gnu/packages/rust-apps.scm index ee63d946bc..da03eb3ccf 100644 --- a/gnu/packages/rust-apps.scm +++ b/gnu/packages/rust-apps.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2019, 2020 John Soo -;;; Copyright © 2019-2023 Efraim Flashner +;;; Copyright © 2019-2024 Efraim Flashner ;;; Copyright © 2020 Jakub Kądziołka ;;; Copyright © 2020 Michael Rohleder ;;; Copyright © 2020 Leo Famulari @@ -2101,25 +2101,25 @@ background agent taking care of maintaining the necessary state.") (define-public rust-cargo-c (package (name "rust-cargo-c") - (version "0.9.27+cargo-0.74.0") + (version "0.9.29+cargo-0.76.0") (source (origin (method url-fetch) (uri (crate-uri "cargo-c" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "1xsw17zcxzlg7d7pg40anm9w8g95kvnxfp7ln9sbgv3zhsc9wggq")))) + (base32 "03ks9rl2skvf5j93sbmbz6l72k5cgvf4hc0nhnp7aadrvb05v5sr")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs (("rust-anyhow" ,rust-anyhow-1) - ("rust-cargo" ,rust-cargo-0.74) + ("rust-cargo" ,rust-cargo-0.76) ("rust-cargo-util" ,rust-cargo-util-0.2) ("rust-cbindgen" ,rust-cbindgen-0.26) ("rust-cc" ,rust-cc-1) ("rust-clap" ,rust-clap-4) ("rust-glob" ,rust-glob-0.3) - ("rust-itertools" ,rust-itertools-0.11) + ("rust-itertools" ,rust-itertools-0.12) ("rust-log" ,rust-log-0.4) ("rust-regex" ,rust-regex-1) ("rust-semver" ,rust-semver-1) @@ -2127,11 +2127,11 @@ background agent taking care of maintaining the necessary state.") ("rust-serde-derive" ,rust-serde-derive-1) ("rust-serde-json" ,rust-serde-json-1) ("rust-toml" ,rust-toml-0.7) - ("rust-windows-sys" ,rust-windows-sys-0.48)))) + ("rust-windows-sys" ,rust-windows-sys-0.52)))) (native-inputs (list pkg-config)) (inputs - (list curl libgit2-1.6 libssh2 openssl zlib)) + (list curl libgit2-1.7 libssh2 openssl zlib)) (home-page "https://github.com/lu-zero/cargo-c") (synopsis "Build and install C-compatible libraries") (description -- cgit v1.2.3 From d7dcdedeb97730de02e962a2fbd8cdd01f724942 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Thu, 4 Jan 2024 12:11:20 +0200 Subject: gnu: rust-skim-0.7: Move to (gnu packages crates-io). * gnu/packages/rust-apps.scm (skim-0.7): Move from here ... * gnu/packages/crates-io.scm (rust-skim-0.7): ... to here. (rust-rustyline-7, rust-rustyline-6)[cargo-inputs]: Update package reference. Change-Id: I6ce27aab9216dd7b21c303e23dc36f106045f2fb --- gnu/packages/crates-io.scm | 37 +++++++++++++++++++++++++++++++++++-- gnu/packages/rust-apps.scm | 37 ------------------------------------- 2 files changed, 35 insertions(+), 39 deletions(-) (limited to 'gnu/packages/rust-apps.scm') diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm index 31052e7af8..3f3d58d98a 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -62305,7 +62305,7 @@ sub-processes using a fork-like interface.") ("rust-unicode-width" ,rust-unicode-width-0.1) ("rust-utf8parse" ,rust-utf8parse-0.2) ("rust-winapi" ,rust-winapi-0.3) - ("skim" ,skim-0.7)))))) + ("rust-skim" ,rust-skim-0.7)))))) (define-public rust-rustyline-6 (package @@ -62334,7 +62334,7 @@ sub-processes using a fork-like interface.") ("rust-unicode-width" ,rust-unicode-width-0.1) ("rust-utf8parse" ,rust-utf8parse-0.2) ("rust-winapi" ,rust-winapi-0.3) - ("skim" ,skim-0.7)) + ("rust-skim" ,rust-skim-0.7)) #:cargo-development-inputs (("rust-assert-matches" ,rust-assert-matches-1) ("rust-doc-comment" ,rust-doc-comment-0.3) @@ -67573,6 +67573,39 @@ designed for @code{immutable.rs}.") (description "This package provides a fuzzy finder in Rust.") (license license:expat))) +(define-public rust-skim-0.7 + (package + (inherit rust-skim-0.10) + (name "rust-skim") + (version "0.7.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "skim" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1yiyd6fml5hd2l811sckkzmiiq9bd7018ajk4qk3ai4wyvqnw8mv")))) + (arguments + `(#:cargo-inputs + (("rust-bitflags" ,rust-bitflags-1) + ("rust-chrono" ,rust-chrono-0.4) + ("rust-clap" ,rust-clap-2) + ("rust-derive-builder" ,rust-derive-builder-0.9) + ("rust-env-logger" ,rust-env-logger-0.6) + ("rust-fuzzy-matcher" ,rust-fuzzy-matcher-0.3) + ("rust-lazy-static" ,rust-lazy-static-1) + ("rust-log" ,rust-log-0.4) + ("rust-nix" ,rust-nix-0.14) + ("rust-rayon" ,rust-rayon-1) + ("rust-regex" ,rust-regex-1) + ("rust-shlex" ,rust-shlex-0.1) + ("rust-time" ,rust-time-0.1) + ("rust-timer" ,rust-timer-0.2) + ("rust-tuikit" ,rust-tuikit-0.2) + ("rust-unicode-width" ,rust-unicode-width-0.1) + ("rust-vte" ,rust-vte-0.3)))))) + (define-public rust-slab-0.4 (package (name "rust-slab") diff --git a/gnu/packages/rust-apps.scm b/gnu/packages/rust-apps.scm index da03eb3ccf..6518ca48c8 100644 --- a/gnu/packages/rust-apps.scm +++ b/gnu/packages/rust-apps.scm @@ -2248,43 +2248,6 @@ consecutive lines and since program start.") (description "This package provides a fuzzy finder in Rust.") (license license:expat))) -(define-public skim-0.7 - (package - (inherit skim) - (name "skim") - (version "0.7.0") - (source - (origin - (method url-fetch) - (uri (crate-uri "skim" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "1yiyd6fml5hd2l811sckkzmiiq9bd7018ajk4qk3ai4wyvqnw8mv")))) - (arguments - `(#:cargo-inputs - (("rust-bitflags" ,rust-bitflags-1) - ("rust-chrono" ,rust-chrono-0.4) - ("rust-clap" ,rust-clap-2) - ("rust-derive-builder" ,rust-derive-builder-0.9) - ("rust-env-logger" ,rust-env-logger-0.6) - ("rust-fuzzy-matcher" ,rust-fuzzy-matcher-0.3) - ("rust-lazy-static" ,rust-lazy-static-1) - ("rust-log" ,rust-log-0.4) - ("rust-nix" ,rust-nix-0.14) - ("rust-rayon" ,rust-rayon-1) - ("rust-regex" ,rust-regex-1) - ("rust-shlex" ,rust-shlex-0.1) - ("rust-time" ,rust-time-0.1) - ("rust-timer" ,rust-timer-0.2) - ("rust-tuikit" ,rust-tuikit-0.2) - ("rust-unicode-width" ,rust-unicode-width-0.1) - ("rust-vte" ,rust-vte-0.3)))))) - -(define-public rust-skim-0.7 - (deprecated-package "rust-skim-0.7" skim-0.7)) - (define-public spotifyd (package (name "spotifyd") -- cgit v1.2.3 From 4ccd48da57911d2f3eff136c8a5e7dcb8005f55e Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Thu, 4 Jan 2024 12:24:55 +0200 Subject: gnu: skim: Reformat with 'guix style'. * gnu/packages/rust-apps.scm (skim): Reformat the code with 'guix style'. Change-Id: I5a98279fdc1f70f1af146460796ba1ae54c70f7f --- gnu/packages/rust-apps.scm | 142 ++++++++++++++++++++++----------------------- 1 file changed, 68 insertions(+), 74 deletions(-) (limited to 'gnu/packages/rust-apps.scm') diff --git a/gnu/packages/rust-apps.scm b/gnu/packages/rust-apps.scm index 6518ca48c8..9456316f4b 100644 --- a/gnu/packages/rust-apps.scm +++ b/gnu/packages/rust-apps.scm @@ -2167,82 +2167,76 @@ consecutive lines and since program start.") (name "skim") (version "0.9.4") (source - (origin - (method url-fetch) - (uri (crate-uri "skim" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "1d5v9vq8frkdjm7bnw3455h6xf3c277d51il2qasn7r20kwik7ab")))) + (origin + (method url-fetch) + (uri (crate-uri "skim" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1d5v9vq8frkdjm7bnw3455h6xf3c277d51il2qasn7r20kwik7ab")))) (build-system cargo-build-system) (arguments - `(#:cargo-inputs - (("rust-atty-0.2" ,rust-atty-0.2) - ("rust-beef" ,rust-beef-0.5) - ("rust-bitflags" ,rust-bitflags-1) - ("rust-chrono" ,rust-chrono-0.4) - ("rust-clap" ,rust-clap-2) - ("rust-crossbeam" ,rust-crossbeam-0.8) - ("rust-defer-drop" ,rust-defer-drop-1) - ("rust-derive-builder" ,rust-derive-builder-0.9) - ("rust-env-logger" ,rust-env-logger-0.8) - ("rust-fuzzy-matcher" ,rust-fuzzy-matcher-0.3) - ("rust-lazy-static" ,rust-lazy-static-1) - ("rust-log" ,rust-log-0.4) - ("rust-nix" ,rust-nix-0.19) - ("rust-rayon" ,rust-rayon-1) - ("rust-regex" ,rust-regex-1) - ("rust-shlex" ,rust-shlex-0.1) - ("rust-time" ,rust-time-0.2) - ("rust-timer" ,rust-timer-0.2) - ("rust-tuikit" ,rust-tuikit-0.4) - ("rust-unicode-width" ,rust-unicode-width-0.1) - ("rust-vte" ,rust-vte-0.9)) - #:phases - (modify-phases %standard-phases - (add-after 'install 'install-extras - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (bin (string-append out "/bin")) - (share (string-append out "/share")) - (man (string-append out "/share/man")) - (vimfiles (string-append - share "/vim/vimfiles/pack/guix/start/skim/plugin")) - (bash-completion - (string-append share "/bash-completions/completions")) - (zsh-site (string-append share "/zsh/site-functions")) - (fish-vendor - (string-append share "/fish/vendor-completions.d"))) - ;; Binaries - (for-each - (lambda (binary) (install-file binary bin)) - (find-files "bin")) - (mkdir-p share) - ;; Manpages - (copy-recursively "man" man) - ;; Vim plugins - (mkdir-p vimfiles) - (copy-recursively "plugin" vimfiles) - ;; Completions - (mkdir-p bash-completion) - (copy-file - "shell/completion.bash" - (string-append bash-completion "/skim")) - (copy-file - "shell/key-bindings.bash" - (string-append bash-completion "/skim-bindings")) - (mkdir-p zsh-site) - (copy-file - "shell/completion.zsh" - (string-append zsh-site "/_skim")) - (copy-file - "shell/key-bindings.zsh" - (string-append zsh-site "/_skim-bindings")) - (mkdir-p fish-vendor) - (copy-file - "shell/key-bindings.fish" - (string-append fish-vendor "/skim-bindings.fish")))))))) + `(#:cargo-inputs (("rust-atty-0.2" ,rust-atty-0.2) + ("rust-beef" ,rust-beef-0.5) + ("rust-bitflags" ,rust-bitflags-1) + ("rust-chrono" ,rust-chrono-0.4) + ("rust-clap" ,rust-clap-2) + ("rust-crossbeam" ,rust-crossbeam-0.8) + ("rust-defer-drop" ,rust-defer-drop-1) + ("rust-derive-builder" ,rust-derive-builder-0.9) + ("rust-env-logger" ,rust-env-logger-0.8) + ("rust-fuzzy-matcher" ,rust-fuzzy-matcher-0.3) + ("rust-lazy-static" ,rust-lazy-static-1) + ("rust-log" ,rust-log-0.4) + ("rust-nix" ,rust-nix-0.19) + ("rust-rayon" ,rust-rayon-1) + ("rust-regex" ,rust-regex-1) + ("rust-shlex" ,rust-shlex-0.1) + ("rust-time" ,rust-time-0.2) + ("rust-timer" ,rust-timer-0.2) + ("rust-tuikit" ,rust-tuikit-0.4) + ("rust-unicode-width" ,rust-unicode-width-0.1) + ("rust-vte" ,rust-vte-0.9)) + #:phases (modify-phases %standard-phases + (add-after 'install 'install-extras + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (bin (string-append out "/bin")) + (share (string-append out "/share")) + (man (string-append out "/share/man")) + (vimfiles (string-append share + "/vim/vimfiles/pack/guix/start/skim/plugin")) + (bash-completion (string-append share + "/bash-completions/completions")) + (zsh-site (string-append share + "/zsh/site-functions")) + (fish-vendor (string-append share + "/fish/vendor-completions.d"))) + ;; Binaries + (for-each (lambda (binary) + (install-file binary bin)) + (find-files "bin")) + (mkdir-p share) + ;; Manpages + (copy-recursively "man" man) + ;; Vim plugins + (mkdir-p vimfiles) + (copy-recursively "plugin" vimfiles) + ;; Completions + (mkdir-p bash-completion) + (copy-file "shell/completion.bash" + (string-append bash-completion "/skim")) + (copy-file "shell/key-bindings.bash" + (string-append bash-completion + "/skim-bindings")) + (mkdir-p zsh-site) + (copy-file "shell/completion.zsh" + (string-append zsh-site "/_skim")) + (copy-file "shell/key-bindings.zsh" + (string-append zsh-site "/_skim-bindings")) + (mkdir-p fish-vendor) + (copy-file "shell/key-bindings.fish" + (string-append fish-vendor + "/skim-bindings.fish")))))))) (home-page "https://github.com/lotabout/skim") (synopsis "Fuzzy Finder in Rust") (description "This package provides a fuzzy finder in Rust.") -- cgit v1.2.3 From 1ae3930834b0c1dab747d11f46bfca0757f49e5c Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Thu, 4 Jan 2024 12:26:02 +0200 Subject: gnu: skim: Update to 0.10.4. * gnu/packages/rust-apps.scm (skim): Update to 0.10.4. [arguments]: Don't install the source. [cargo-inputs]: Replace rust-clap-2 with 3, rust-derive-builder-0.9 with 0.11, rust-env-logger-0.8 with 0.9, rust-nix-0.19 with 0.25, rust-shlex-0.1 with 1, rust-time-0.2 with 0.3, rust-tuikit-0.4 with 0.5, rust-vte-0.9 with 0.11. Change-Id: Icd4f3186fce5aa1dfb33b19d282717ca70debbf1 --- gnu/packages/rust-apps.scm | 26 ++++++++++++++------------ 1 file changed, 14 insertions(+), 12 deletions(-) (limited to 'gnu/packages/rust-apps.scm') diff --git a/gnu/packages/rust-apps.scm b/gnu/packages/rust-apps.scm index 9456316f4b..812efee26a 100644 --- a/gnu/packages/rust-apps.scm +++ b/gnu/packages/rust-apps.scm @@ -2165,37 +2165,39 @@ consecutive lines and since program start.") (define-public skim (package (name "skim") - (version "0.9.4") + (version "0.10.4") (source (origin (method url-fetch) (uri (crate-uri "skim" version)) - (file-name (string-append name "-" version ".tar.gz")) + ;; Keep the same file name as the crate in crates-io + (file-name (string-append "rust-skim-" version ".tar.gz")) (sha256 - (base32 "1d5v9vq8frkdjm7bnw3455h6xf3c277d51il2qasn7r20kwik7ab")))) + (base32 "0chgv9nr8cmlf2mg2k94igh3m5svjsfxxwbnl21xsb6blvh8vlp5")))) (build-system cargo-build-system) (arguments - `(#:cargo-inputs (("rust-atty-0.2" ,rust-atty-0.2) + `(#:install-source? #f + #:cargo-inputs (("rust-atty" ,rust-atty-0.2) ("rust-beef" ,rust-beef-0.5) ("rust-bitflags" ,rust-bitflags-1) ("rust-chrono" ,rust-chrono-0.4) - ("rust-clap" ,rust-clap-2) + ("rust-clap" ,rust-clap-3) ("rust-crossbeam" ,rust-crossbeam-0.8) ("rust-defer-drop" ,rust-defer-drop-1) - ("rust-derive-builder" ,rust-derive-builder-0.9) - ("rust-env-logger" ,rust-env-logger-0.8) + ("rust-derive-builder" ,rust-derive-builder-0.11) + ("rust-env-logger" ,rust-env-logger-0.9) ("rust-fuzzy-matcher" ,rust-fuzzy-matcher-0.3) ("rust-lazy-static" ,rust-lazy-static-1) ("rust-log" ,rust-log-0.4) - ("rust-nix" ,rust-nix-0.19) + ("rust-nix" ,rust-nix-0.25) ("rust-rayon" ,rust-rayon-1) ("rust-regex" ,rust-regex-1) - ("rust-shlex" ,rust-shlex-0.1) - ("rust-time" ,rust-time-0.2) + ("rust-shlex" ,rust-shlex-1) + ("rust-time" ,rust-time-0.3) ("rust-timer" ,rust-timer-0.2) - ("rust-tuikit" ,rust-tuikit-0.4) + ("rust-tuikit" ,rust-tuikit-0.5) ("rust-unicode-width" ,rust-unicode-width-0.1) - ("rust-vte" ,rust-vte-0.9)) + ("rust-vte" ,rust-vte-0.11)) #:phases (modify-phases %standard-phases (add-after 'install 'install-extras (lambda* (#:key outputs #:allow-other-keys) -- cgit v1.2.3 From d715677cece3376259ea4c7b296a4bbbf4fdfe28 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Thu, 4 Jan 2024 22:01:31 +0200 Subject: gnu: rust-fat-macho-0.4: Move to (gnu packages crates-apple). * gnu/packages/crates-io.scm (rust-fat-macho-0.4): Move from here ... * gnu/packages/crates-apple.scm: ... to here. Change-Id: I94db36b2d2a02952f3ae141edbb72d7a8a445e9f --- gnu/packages/crates-apple.scm | 26 ++++++++++++++++++++++++++ gnu/packages/crates-io.scm | 25 ------------------------- gnu/packages/rust-apps.scm | 1 + 3 files changed, 27 insertions(+), 25 deletions(-) (limited to 'gnu/packages/rust-apps.scm') diff --git a/gnu/packages/crates-apple.scm b/gnu/packages/crates-apple.scm index b7a02ad724..58e6bb8ae5 100644 --- a/gnu/packages/crates-apple.scm +++ b/gnu/packages/crates-apple.scm @@ -31,6 +31,7 @@ #:use-module (guix download) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) + #:use-module (guix gexp) #:use-module (guix utils) #:use-module (gnu packages) #:use-module (gnu packages crates-graphics) @@ -663,6 +664,31 @@ Central Dispatch.") "019nzy993hxaiazcdnayx3csv2iki34i535asw11ki96hakkrs84")))) (arguments '(#:tests? #f)))) ; Tests only run on Mac. +(define-public rust-fat-macho-0.4 + (package + (name "rust-fat-macho") + (version "0.4.7") + (source (origin + (method url-fetch) + (uri (crate-uri "fat-macho" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0ywr3xqi884i12d5mfidbma1hrd4rxj9f8jw7p4bignagmy13yk3")) + (snippet + #~(begin (use-modules (guix build utils)) + (delete-file-recursively "tests/fixtures"))))) + (build-system cargo-build-system) + (arguments + `(#:tests? #f ; Test files removed. + #:cargo-inputs + (("rust-goblin" ,rust-goblin-0.7) + ("rust-llvm-bitcode" ,rust-llvm-bitcode-0.1)))) + (home-page "https://github.com/messense/fat-macho-rs.git") + (synopsis "Mach-O Fat Binary Reader and Writer") + (description "This package provides a Mach-O Fat Binary Reader and Writer.") + (license license:expat))) + (define-public rust-fsevent-2 (package (name "rust-fsevent") diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm index 1155dc10a1..fe9080c4f0 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -24461,31 +24461,6 @@ floats.") ("rust-wasm-bindgen-test" ,rust-wasm-bindgen-test-0.3) ("rust-wyhash" ,rust-wyhash-0.5)))))) -(define-public rust-fat-macho-0.4 - (package - (name "rust-fat-macho") - (version "0.4.7") - (source (origin - (method url-fetch) - (uri (crate-uri "fat-macho" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "0ywr3xqi884i12d5mfidbma1hrd4rxj9f8jw7p4bignagmy13yk3")) - (snippet - #~(begin (use-modules (guix build utils)) - (delete-file-recursively "tests/fixtures"))))) - (build-system cargo-build-system) - (arguments - `(#:tests? #f ; Test files removed. - #:cargo-inputs - (("rust-goblin" ,rust-goblin-0.7) - ("rust-llvm-bitcode" ,rust-llvm-bitcode-0.1)))) - (home-page "https://github.com/messense/fat-macho-rs.git") - (synopsis "Mach-O Fat Binary Reader and Writer") - (description "This package provides a Mach-O Fat Binary Reader and Writer.") - (license license:expat))) - (define-public rust-fd-lock-3 (package (name "rust-fd-lock") diff --git a/gnu/packages/rust-apps.scm b/gnu/packages/rust-apps.scm index 812efee26a..6a224762a8 100644 --- a/gnu/packages/rust-apps.scm +++ b/gnu/packages/rust-apps.scm @@ -58,6 +58,7 @@ #:use-module (gnu packages base) #:use-module (gnu packages bash) #:use-module (gnu packages compression) + #:use-module (gnu packages crates-apple) #:use-module (gnu packages crates-io) #:use-module (gnu packages crates-graphics) #:use-module (gnu packages crates-tls) -- cgit v1.2.3 From 7fcbe80fcd26ca8126477c44e3bea771b33f6d3a Mon Sep 17 00:00:00 2001 From: Jaeme Sifat Date: Fri, 5 Jan 2024 23:52:42 -0500 Subject: gnu: Add git-delta. * gnu/packages/rust-apps.scm (git-delta): New variable. Change-Id: I2319ab35b01842cb66b88df13fa64f31de4f20e5 Signed-off-by: Efraim Flashner --- gnu/packages/rust-apps.scm | 86 +++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 85 insertions(+), 1 deletion(-) (limited to 'gnu/packages/rust-apps.scm') diff --git a/gnu/packages/rust-apps.scm b/gnu/packages/rust-apps.scm index 6a224762a8..0df46b9b1d 100644 --- a/gnu/packages/rust-apps.scm +++ b/gnu/packages/rust-apps.scm @@ -25,7 +25,7 @@ ;;; Copyright © 2022 Greg Hogan ;;; Copyright © 2023 Arnav Andrew Jose ;;; Copyright © 2023 Wilko Meyer -;;; Copyright © 2023 Jaeme Sifat +;;; Copyright © 2023, 2024 Jaeme Sifat ;;; Copyright © 2023 Steve George ;;; ;;; This file is part of GNU Guix. @@ -2532,6 +2532,90 @@ are safe to modify, and which staged changes belong to each of those commits. It will then write @code{fixup!} commits for each of those changes.") (license license:bsd-3))) +(define-public git-delta + (package + (name "git-delta") + (version "0.16.5") + (source + (origin + (method url-fetch) + (uri (crate-uri "git-delta" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1pvy5jcpj3xzf2b8k9d5xwwamwlv9pzsx6p2yq61am38igafg9qb")) + (modules '((guix build utils))) + (snippet + '(begin (substitute* "Cargo.toml" + (("\"=([[:digit:]]+(\\.[[:digit:]]+)*)" _ version) + (string-append "\"^" version))))))) + (build-system cargo-build-system) + (arguments + (list + #:install-source? #f + #:cargo-inputs + `(("rust-ansi-colours" ,rust-ansi-colours-1) + ("rust-ansi-term" ,rust-ansi-term-0.12) + ("rust-anyhow" ,rust-anyhow-1) + ("rust-atty" ,rust-atty-0.2) + ("rust-bat" ,rust-bat-0.22) + ("rust-bitflags" ,rust-bitflags-2) + ("rust-box-drawing" ,rust-box-drawing-0.1) + ("rust-bytelines" ,rust-bytelines-2) + ("rust-chrono" ,rust-chrono-0.4) + ("rust-chrono-humanize" ,rust-chrono-humanize-0.2) + ("rust-clap" ,rust-clap-4) + ("rust-console" ,rust-console-0.15) + ("rust-ctrlc" ,rust-ctrlc-3) + ("rust-dirs" ,rust-dirs-4) + ("rust-git2" ,rust-git2-0.16) + ("rust-grep-cli" ,rust-grep-cli-0.1) + ("rust-itertools" ,rust-itertools-0.10) + ("rust-lazy-static" ,rust-lazy-static-1) + ("rust-palette" ,rust-palette-0.6) + ("rust-pathdiff" ,rust-pathdiff-0.2) + ("rust-regex" ,rust-regex-1) + ("rust-serde" ,rust-serde-1) + ("rust-serde-json" ,rust-serde-json-1) + ("rust-shell-words" ,rust-shell-words-1) + ("rust-smol-str" ,rust-smol-str-0.1) + ("rust-syntect" ,rust-syntect-5) + ("rust-sysinfo" ,rust-sysinfo-0.28) + ("rust-unicode-segmentation" ,rust-unicode-segmentation-1) + ("rust-unicode-width" ,rust-unicode-width-0.1) + ("rust-vte" ,rust-vte-0.11) + ("rust-xdg" ,rust-xdg-2)) + #:phases + #~(modify-phases %standard-phases + (add-after 'install 'install-extras + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (share (string-append out "/share")) + (bash-completions-dir + (string-append share "/bash-completion/completions")) + (zsh-completions-dir + (string-append share "/zsh/site-functions")) + (fish-completions-dir + (string-append share "/fish/vendor_completions.d"))) + (mkdir-p bash-completions-dir) + (mkdir-p zsh-completions-dir) + (mkdir-p fish-completions-dir) + (copy-file "etc/completion/completion.bash" + (string-append bash-completions-dir "/delta")) + (copy-file "etc/completion/completion.zsh" + (string-append zsh-completions-dir "/_delta")) + (copy-file "etc/completion/completion.fish" + (string-append fish-completions-dir "/delta.fish")))))))) + (native-inputs (list git-minimal pkg-config)) + (inputs (list libgit2 openssl zlib)) + (home-page "https://github.com/dandavison/delta") + (synopsis "Syntax-highlighting pager for git") + (description + "This package provides a syntax-highlighting pager for @command{git}. It +uses @command{bat} for syntax highlighting and provides many features such as +advanced keybindings, word-level diff highlighting, syntax highlighting for +@command{grep} and a stylized box presentation.") + (license license:expat))) + (define-public rust-xremap (package (name "rust-xremap") -- cgit v1.2.3 From 4dbb0bb1f23ec1c23048da45045efe633c9d9e4b Mon Sep 17 00:00:00 2001 From: Jaeme Sifat Date: Sat, 20 Jan 2024 12:55:31 -0500 Subject: gnu: fd: Update to 9.0.0. * gnu/packages/rust-apps.scm (fd): Update to 9.0.0. [arguments]: Use gexps. Remove phase adjusting the feature-flags for rust-clap-4. [cargo-inputs]: Add rust-aho-corasick-1, rust-etcetera-0.8. Replace rust-lscolors-0.13 with 0.16, rust-nix-0.26 with 0.27, rust-normpath-0.3 with 1, rust-nu-ansi-term-0.46 with 0.49, rust-regex-syntax-0.6 with 0.8. Remove rust-atty-0.2, rust-dirs-next-2, rust-num-cpus-1, rust-once-cell-1, rust-users-0.11. [cargo-development-inputs]: Replace rust-test-case-2 with 3. Change-Id: I8ce2d61e668cceafc49c9aa29c00703344f6b0b0 Signed-off-by: Efraim Flashner --- gnu/packages/rust-apps.scm | 116 +++++++++++++++++++++------------------------ 1 file changed, 54 insertions(+), 62 deletions(-) (limited to 'gnu/packages/rust-apps.scm') diff --git a/gnu/packages/rust-apps.scm b/gnu/packages/rust-apps.scm index 0df46b9b1d..19602c4f37 100644 --- a/gnu/packages/rust-apps.scm +++ b/gnu/packages/rust-apps.scm @@ -525,7 +525,7 @@ This package is the community maintained fork of @code{exa}.") (define-public fd (package (name "fd") - (version "8.7.0") + (version "9.0.0") (source (origin (method url-fetch) @@ -534,85 +534,77 @@ This package is the community maintained fork of @code{exa}.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "186217yyb0znfn4jcc9l3i51fhfyb23lhbm3gg084sdrbj6bdnbg")))) + "1is6xrsnbiy4la3lrmxzl3pzzkygnx9mp8h5k8gfrc29bq8m7891")))) (build-system cargo-build-system) (arguments - `(#:cargo-test-flags - '("--release" - "--" - ;; No user 'root' in the build environment. - "--skip=test_owner_root") - #:install-source? #f - #:cargo-inputs - (("rust-anyhow" ,rust-anyhow-1) + (list + #:cargo-test-flags + ;; No user 'root' in the build environment. + '(list "--release" "--" + "--skip=test_owner_root") + #:install-source? #f + #:cargo-inputs + `(("rust-aho-corasick" ,rust-aho-corasick-1) + ("rust-anyhow" ,rust-anyhow-1) ("rust-argmax" ,rust-argmax-0.3) - ("rust-atty" ,rust-atty-0.2) ("rust-chrono" ,rust-chrono-0.4) ("rust-clap" ,rust-clap-4) ("rust-clap-complete" ,rust-clap-complete-4) ("rust-crossbeam-channel" ,rust-crossbeam-channel-0.5) ("rust-ctrlc" ,rust-ctrlc-3) - ("rust-dirs-next" ,rust-dirs-next-2) + ("rust-etcetera" ,rust-etcetera-0.8) ("rust-faccess" ,rust-faccess-0.2) ("rust-globset" ,rust-globset-0.4) ("rust-humantime" ,rust-humantime-2) ("rust-ignore" ,rust-ignore-0.4) ("rust-jemallocator" ,rust-jemallocator-0.5) ("rust-libc" ,rust-libc-0.2) - ("rust-lscolors" ,rust-lscolors-0.13) - ("rust-nix" ,rust-nix-0.26) - ("rust-normpath" ,rust-normpath-0.3) - ("rust-nu-ansi-term" ,rust-nu-ansi-term-0.46) - ("rust-num-cpus" ,rust-num-cpus-1) - ("rust-once-cell" ,rust-once-cell-1) + ("rust-lscolors" ,rust-lscolors-0.16) + ("rust-nix" ,rust-nix-0.27) + ("rust-normpath" ,rust-normpath-1) + ("rust-nu-ansi-term" ,rust-nu-ansi-term-0.49) ("rust-regex" ,rust-regex-1) - ("rust-regex-syntax" ,rust-regex-syntax-0.6) - ("rust-users" ,rust-users-0.11) + ("rust-regex-syntax" ,rust-regex-syntax-0.8) ("rust-version-check" ,rust-version-check-0.9)) - #:cargo-development-inputs - (("rust-diff" ,rust-diff-0.1) + #:cargo-development-inputs + `(("rust-diff" ,rust-diff-0.1) ("rust-filetime" ,rust-filetime-0.2) ("rust-tempfile" ,rust-tempfile-3) - ("rust-test-case" ,rust-test-case-2)) - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'override-jemalloc - (lambda* (#:key inputs #:allow-other-keys) - (let ((jemalloc (assoc-ref inputs "jemalloc"))) - ;; This flag is needed when not using the bundled jemalloc. - ;; https://github.com/tikv/jemallocator/issues/19 - (setenv "CARGO_FEATURE_UNPREFIXED_MALLOC_ON_SUPPORTED_PLATFORMS" "1") - (setenv "JEMALLOC_OVERRIDE" - (string-append jemalloc "/lib/libjemalloc.so"))))) - (add-after 'unpack 'adjust-feature-flags - (lambda _ - ;; unstable-grouped was stablized in rust-clap 4.2.0 - (substitute* "Cargo.toml" - ((".*unstable-grouped.*") "")))) - (add-after 'install 'install-extra - (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) - ;; Manpages - (install-file "doc/fd.1" (string-append out "/share/man/man1")) - ;; Completions require running the built binary. - (unless ,(%current-target-system) - (invoke "make" "completions") - (install-file "autocomplete/fd.bash" - (string-append out "/etc/bash_completion.d")) - (install-file "autocomplete/fd.fish" - (string-append out "/share/fish/vendor_completions.d")) - (install-file "autocomplete/_fd" - (string-append out "/share/zsh/site-functions")) - (rename-file (string-append out "/etc/bash_completion.d/fd.bash") - (string-append out "/etc/bash_completion.d/fd"))))))))) - (inputs (list jemalloc)) - (home-page "https://github.com/sharkdp/fd") - (synopsis "Simple, fast and user-friendly alternative to find") - (description - "@code{fd} is a simple, fast and user-friendly alternative to @code{find}. -While it does not seek to mirror all of find's powerful functionality, it -provides defaults for 80% of the use cases.") - (license (list license:expat license:asl2.0)))) + ("rust-test-case" ,rust-test-case-3)) + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'override-jemalloc + (lambda* (#:key inputs #:allow-other-keys) + (let ((jemalloc (assoc-ref inputs "jemalloc"))) + ;; This flag is needed when not using the bundled jemalloc. + ;; https://github.com/tikv/jemallocator/issues/19 + (setenv "CARGO_FEATURE_UNPREFIXED_MALLOC_ON_SUPPORTED_PLATFORMS" "1") + (setenv "JEMALLOC_OVERRIDE" + (string-append jemalloc "/lib/libjemalloc.so"))))) + (add-after 'install 'install-extras + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + ;; Manpages + (install-file "doc/fd.1" (string-append out "/share/man/man1")) + ;; Completions require running the built binary. + (unless #$(%current-target-system) + (invoke "make" "completions") + (install-file "autocomplete/fd.bash" + (string-append out "/etc/bash_completion.d")) + (install-file "autocomplete/fd.fish" + (string-append out "/share/fish/vendor_completions.d")) + (install-file "autocomplete/_fd" + (string-append out "/share/zsh/site-functions")) + (rename-file (string-append out "/etc/bash_completion.d/fd.bash") + (string-append out "/etc/bash_completion.d/fd"))))))))) + (inputs (list jemalloc)) + (home-page "https://github.com/sharkdp/fd") + (synopsis "Simple, fast and user-friendly alternative to find") + (description + "@code{fd} is a simple, fast and user-friendly alternative to @code{find}. +While it does not seek to mirror all of find's powerful functionality, it provides +defaults for 80% of the use cases.") + (license (list license:expat license:asl2.0)))) (define-public hexyl (package -- cgit v1.2.3 From f4e6eef623fd8a6fc5df6f91ab97c80b34db6e9f Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 21 Jan 2024 13:47:46 +0200 Subject: gnu: rust-aes: Move to (gnu packages crates-crypto). * gnu/packages/crates-io.scm (rust-aes-0.8, rust-aes-0.7, rust-aes-0.6, rust-aes-0.4, rust-aes-0.3, rust-aes-ctr-0.6, rust-aes-gcm-0.10, rust-aes-gcm-0.8, rust-aes-gcm-0.6, rust-aes-gcm-0.5, rust-aes-soft-0.6, rust-aes-soft-0.4, rust-aesni-0.10, rust-aesni-0.7, rust-aesni-0.6): Move from here ... * gnu/packages/crates-crypto.scm: ... to here. Change-Id: I1720213127044ac898e46f4d66e78d93b34059a3 --- gnu/packages/crates-crypto.scm | 381 +++++++++++++++++++++++++++++++++++++++++ gnu/packages/crates-io.scm | 374 ---------------------------------------- gnu/packages/rust-apps.scm | 1 + 3 files changed, 382 insertions(+), 374 deletions(-) (limited to 'gnu/packages/rust-apps.scm') diff --git a/gnu/packages/crates-crypto.scm b/gnu/packages/crates-crypto.scm index 3b6c5be991..f51fb986e9 100644 --- a/gnu/packages/crates-crypto.scm +++ b/gnu/packages/crates-crypto.scm @@ -1,6 +1,13 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2019 John Soo +;;; Copyright © 2020 Arun Isaac +;;; Copyright © 2021 Nicolas Goaziou +;;; Copyright © 2021 Vinicius Monego +;;; Copyright © 2022 Nicolas Graves +;;; Copyright © 2022 Aleksandr Vityazev ;;; Copyright © 2023 Efraim Flashner +;;; Copyright © 2023 Steve George +;;; Copyright © 2023 VÖRÖSKŐI András ;;; ;;; This file is part of GNU Guix. ;;; @@ -32,6 +39,380 @@ ;;; Please: Try to add new module packages in alphabetic order. ;;; +(define-public rust-aes-0.8 + (package + (name "rust-aes") + (version "0.8.3") + (source + (origin + (method url-fetch) + (uri (crate-uri "aes" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1qi7z96wf3zd6alg116nh2myp34bw2574jwly4zrhpz9k19887xc")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-cfg-if" ,rust-cfg-if-1) + ("rust-cipher" ,rust-cipher-0.4) + ("rust-cpufeatures" ,rust-cpufeatures-0.2) + ("rust-zeroize" ,rust-zeroize-1)) + #:cargo-development-inputs + (("rust-cipher" ,rust-cipher-0.4) + ("rust-hex-literal" ,rust-hex-literal-0.3)))) + (home-page "https://github.com/RustCrypto/block-ciphers") + (synopsis "Facade for AES (Rijndael) block ciphers implementations") + (description "This package provides a facade for AES (Rijndael) block +ciphers implementations.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-aes-0.7 + (package + (inherit rust-aes-0.8) + (name "rust-aes") + (version "0.7.5") + (source + (origin + (method url-fetch) + (uri (crate-uri "aes" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1f0sdx2fsa8w3l7xzsyi9ry3shvnnsgc0znh50if9fm95vslg2wy")))) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-cfg-if" ,rust-cfg-if-1) + ("rust-cipher" ,rust-cipher-0.3) + ("rust-cpufeatures" ,rust-cpufeatures-0.2) + ("rust-ctr" ,rust-ctr-0.8) + ("rust-opaque-debug" ,rust-opaque-debug-0.3)))))) + +(define-public rust-aes-0.6 + (package + (inherit rust-aes-0.7) + (name "rust-aes") + (version "0.6.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "aes" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "0q85mw70mgr4glza9y9lrs9nxfa1cdcqzfk6wx0smb3623pr2hw8")))) + (arguments + `(#:cargo-inputs + (("rust-aes-soft" ,rust-aes-soft-0.6) + ("rust-aesni" ,rust-aesni-0.10) + ("rust-cipher" ,rust-cipher-0.2)) + #:cargo-development-inputs + (("rust-cipher" ,rust-cipher-0.2)))))) + +(define-public rust-aes-0.4 + (package + (inherit rust-aes-0.6) + (name "rust-aes") + (version "0.4.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "aes" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1xgsp2bn5llsppald60iw4497gaspslg0a8hknhniiz4zmki607p")))) + (arguments + `(#:cargo-inputs + (("rust-aes-soft" ,rust-aes-soft-0.4) + ("rust-aesni" ,rust-aesni-0.7) + ("rust-block-cipher" ,rust-block-cipher-0.7)) + #:cargo-development-inputs + (("rust-block-cipher" ,rust-block-cipher-0.7)))))) + +(define-public rust-aes-0.3 + (package + (inherit rust-aes-0.4) + (name "rust-aes") + (version "0.3.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "aes" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1j90iwpax0y1dqq14i8y9xgpcnnlgnljwkxg3mhzrralwf7ivssl")))) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-aes-soft" ,rust-aes-soft-0.3) + ("rust-aesni" ,rust-aesni-0.6) + ("rust-block-cipher-trait" ,rust-block-cipher-trait-0.6)))))) + +(define-public rust-aes-ctr-0.6 + (package + (name "rust-aes-ctr") + (version "0.6.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "aes-ctr" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "0qspjxzrclnb83501595y01dhc0km1ssrbjnwlxhcrsdwp6w6abp")))) + (build-system cargo-build-system) + (arguments + (list #:cargo-inputs + `(("rust-aesni" ,rust-aesni-0.10) + ("rust-aes-soft" ,rust-aes-soft-0.6) + ("rust-cipher" ,rust-cipher-0.2) + ("rust-ctr" ,rust-ctr-0.6)) + #:cargo-development-inputs `(("rust-cipher" ,rust-cipher-0.2)))) + (home-page "https://github.com/RustCrypto/block-ciphers/tree/master/aes") + (synopsis "Pure Rust implementation of AES") + (description + "A pure Rust implementation of the @acronym{AES, Advanced Encryption +Standard}. Use the AES crate if possible, as the aes-ctr has been into it.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-aes-gcm-0.10 + (package + (name "rust-aes-gcm") + (version "0.10.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "aes-gcm" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "0z2429v2d2wyf809h2wc4vwwibwypz3y4p7sn4kzkjb91ip3dqc2")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-aead" ,rust-aead-0.5) + ("rust-aes" ,rust-aes-0.8) + ("rust-cipher" ,rust-cipher-0.4) + ("rust-ctr" ,rust-ctr-0.9) + ("rust-ghash" ,rust-ghash-0.5) + ("rust-subtle" ,rust-subtle-2) + ("rust-zeroize" ,rust-zeroize-1)) + #:cargo-development-inputs + (("rust-aead" ,rust-aead-0.5) + ("rust-hex-literal" ,rust-hex-literal-0.3)))) + (home-page "https://github.com/RustCrypto/AEADs") + (synopsis "AES-GCM (Galois/Counter Mode) Authenticated Encryption") + (description "This package provides a pure Rust implementation of the +AES-GCM (Galois/Counter Mode) Authenticated Encryption with Associated +Data (AEAD) Cipher with optional architecture-specific hardware +acceleration.") + (license (list license:asl2.0 license:expat)))) + +(define-public rust-aes-gcm-0.8 + (package + (inherit rust-aes-gcm-0.10) + (name "rust-aes-gcm") + (version "0.8.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "aes-gcm" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1nl8iwlh209y1vj9n2lm1a70i69clvg2z6x69bi4dgdrpgxbay2j")))) + (arguments + `(#:cargo-inputs + (("rust-aead" ,rust-aead-0.3) + ("rust-aes" ,rust-aes-0.6) + ("rust-cipher" ,rust-cipher-0.2) + ("rust-ctr" ,rust-ctr-0.6) + ("rust-ghash" ,rust-ghash-0.3) + ("rust-subtle" ,rust-subtle-2) + ("rust-zeroize" ,rust-zeroize-1)) + #:cargo-development-inputs + (("rust-hex-literal" ,rust-hex-literal-0.2)))))) + +(define-public rust-aes-gcm-0.6 + (package + (inherit rust-aes-gcm-0.8) + (name "rust-aes-gcm") + (version "0.6.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "aes-gcm" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1lga8my3zlc0b1nhcpc1hrbykfm014fqs6d64bwrjqii05w01xc6")))) + (arguments + `(#:cargo-inputs + (("rust-aead" ,rust-aead-0.3) + ("rust-aes" ,rust-aes-0.4) + ("rust-block-cipher" ,rust-block-cipher-0.7) + ("rust-ghash" ,rust-ghash-0.3) + ("rust-subtle" ,rust-subtle-2) + ("rust-zeroize" ,rust-zeroize-1)) + #:cargo-development-inputs + (("rust-criterion" ,rust-criterion-0.3) + ("rust-criterion-cycles-per-byte" + ,rust-criterion-cycles-per-byte-0.1) + ("rust-hex-literal" ,rust-hex-literal-0.2)))))) + +(define-public rust-aes-gcm-0.5 + (package + (inherit rust-aes-gcm-0.6) + (name "rust-aes-gcm") + (version "0.5.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "aes-gcm" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "0f66b5bmyj38r1hj55wzamlzw3y1aql34lgwr2vxn93073d6njl3")))) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-aead" ,rust-aead-0.2) + ("rust-aes" ,rust-aes-0.3) + ("rust-block-cipher-trait" ,rust-block-cipher-trait-0.6) + ("rust-ghash" ,rust-ghash-0.2) + ("rust-subtle" ,rust-subtle-2) + ("rust-zeroize" ,rust-zeroize-1)))))) + +(define-public rust-aes-soft-0.6 + (package + (name "rust-aes-soft") + (version "0.6.4") + (source + (origin + (method url-fetch) + (uri (crate-uri "aes-soft" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "0wj0fi2pvmlw09yvb1aqf0mfkzrfxmjsf90finijh255ir4wf55y")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-block-cipher" ,rust-block-cipher-0.7) + ("rust-byteorder" ,rust-byteorder-1) + ("rust-opaque-debug" ,rust-opaque-debug-0.2)) + #:cargo-development-inputs + (("rust-block-cipher" ,rust-block-cipher-0.7)))) + (home-page "https://github.com/RustCrypto/block-ciphers") + (synopsis "Bit-sliced implementation of AES (Rijndael) block ciphers") + (description "This package provides a bit-sliced implementation of +AES (Rijndael) block ciphers. + +This package is deprecated and was replaced by the @code{aes} crate.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-aes-soft-0.4 + (package + (inherit rust-aes-soft-0.6) + (name "rust-aes-soft") + (version "0.4.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "aes-soft" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "19szsg0qqxq42k7bj5p3svb147n8wxy9a20n4g7mcl2fwrz689a9")))) + (arguments + `(#:cargo-inputs + (("rust-block-cipher" ,rust-block-cipher-0.7) + ("rust-byteorder" ,rust-byteorder-1) + ("rust-opaque-debug" ,rust-opaque-debug-0.2)) + #:cargo-development-inputs + (("rust-block-cipher" ,rust-block-cipher-0.7)))))) + +(define-public rust-aes-soft-0.3 + (package + (inherit rust-aes-soft-0.4) + (name "rust-aes-soft") + (version "0.3.3") + (source + (origin + (method url-fetch) + (uri (crate-uri "aes-soft" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "039si7yjp0wcd750sgq52c60sh2ikaxwd7rq7g0ba7ws7ypfgmyg")))) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-block-cipher-trait" ,rust-block-cipher-trait-0.6) + ("rust-byteorder" ,rust-byteorder-1) + ("rust-opaque-debug" ,rust-opaque-debug-0.2)))))) + +(define-public rust-aesni-0.10 + (package + (name "rust-aesni") + (version "0.10.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "aesni" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1kmh07fp9hbi1aa8dr2rybbgw8vqz6hjmk34c4w7sbscx7si2bpa")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-cipher" ,rust-cipher-0.2) + ("rust-opaque-debug" ,rust-opaque-debug-0.3)))) + (home-page "https://github.com/RustCrypto/block-ciphers") + (synopsis "AES (Rijndael) block ciphers implementation using AES-NI") + (description "This package provides an implementation of AES (Rijndael) +block ciphers using AES-NI. + +This package is deprecated and was replaced by the @code{aes} crate.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-aesni-0.7 + (package + (inherit rust-aesni-0.10) + (name "rust-aesni") + (version "0.7.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "aesni" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0r6j0mjkyqnwvgib01cvrwfw8rlx1biw75234niv723n1fdx6l6h")))) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-block-cipher" ,rust-block-cipher-0.7) + ("rust-opaque-debug" ,rust-opaque-debug-0.2) + ("rust-stream-cipher" ,rust-stream-cipher-0.4)) + #:cargo-development-inputs + (("rust-block-cipher" ,rust-block-cipher-0.7) + ("rust-stream-cipher" ,rust-stream-cipher-0.4)))))) + +(define-public rust-aesni-0.6 + (package + (inherit rust-aesni-0.7) + (name "rust-aesni") + (version "0.6.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "aesni" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "007imgcfl82nilfpamj5dik83pkcmkzvbkxp384p7r3iz6sscw1g")))) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-block-cipher-trait" ,rust-block-cipher-trait-0.6) + ("rust-opaque-debug" ,rust-opaque-debug-0.2) + ("rust-stream-cipher" ,rust-stream-cipher-0.3)))))) + (define-public rust-botan-0.10 (package (name "rust-botan") diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm index 2eebe90bd6..91fd2dc3b4 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -736,380 +736,6 @@ with Associated Data (AEAD) algorithms.") (("rust-generic-array" ,rust-generic-array-0.12) ("rust-heapless" ,rust-heapless-0.5)))))) -(define-public rust-aes-0.8 - (package - (name "rust-aes") - (version "0.8.3") - (source - (origin - (method url-fetch) - (uri (crate-uri "aes" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "1qi7z96wf3zd6alg116nh2myp34bw2574jwly4zrhpz9k19887xc")))) - (build-system cargo-build-system) - (arguments - `(#:cargo-inputs - (("rust-cfg-if" ,rust-cfg-if-1) - ("rust-cipher" ,rust-cipher-0.4) - ("rust-cpufeatures" ,rust-cpufeatures-0.2) - ("rust-zeroize" ,rust-zeroize-1)) - #:cargo-development-inputs - (("rust-cipher" ,rust-cipher-0.4) - ("rust-hex-literal" ,rust-hex-literal-0.3)))) - (home-page "https://github.com/RustCrypto/block-ciphers") - (synopsis "Facade for AES (Rijndael) block ciphers implementations") - (description "This package provides a facade for AES (Rijndael) block -ciphers implementations.") - (license (list license:expat license:asl2.0)))) - -(define-public rust-aes-0.7 - (package - (inherit rust-aes-0.8) - (name "rust-aes") - (version "0.7.5") - (source - (origin - (method url-fetch) - (uri (crate-uri "aes" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "1f0sdx2fsa8w3l7xzsyi9ry3shvnnsgc0znh50if9fm95vslg2wy")))) - (arguments - `(#:skip-build? #t - #:cargo-inputs - (("rust-cfg-if" ,rust-cfg-if-1) - ("rust-cipher" ,rust-cipher-0.3) - ("rust-cpufeatures" ,rust-cpufeatures-0.2) - ("rust-ctr" ,rust-ctr-0.8) - ("rust-opaque-debug" ,rust-opaque-debug-0.3)))))) - -(define-public rust-aes-0.6 - (package - (inherit rust-aes-0.7) - (name "rust-aes") - (version "0.6.0") - (source - (origin - (method url-fetch) - (uri (crate-uri "aes" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "0q85mw70mgr4glza9y9lrs9nxfa1cdcqzfk6wx0smb3623pr2hw8")))) - (arguments - `(#:cargo-inputs - (("rust-aes-soft" ,rust-aes-soft-0.6) - ("rust-aesni" ,rust-aesni-0.10) - ("rust-cipher" ,rust-cipher-0.2)) - #:cargo-development-inputs - (("rust-cipher" ,rust-cipher-0.2)))))) - -(define-public rust-aes-0.4 - (package - (inherit rust-aes-0.6) - (name "rust-aes") - (version "0.4.0") - (source - (origin - (method url-fetch) - (uri (crate-uri "aes" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "1xgsp2bn5llsppald60iw4497gaspslg0a8hknhniiz4zmki607p")))) - (arguments - `(#:cargo-inputs - (("rust-aes-soft" ,rust-aes-soft-0.4) - ("rust-aesni" ,rust-aesni-0.7) - ("rust-block-cipher" ,rust-block-cipher-0.7)) - #:cargo-development-inputs - (("rust-block-cipher" ,rust-block-cipher-0.7)))))) - -(define-public rust-aes-0.3 - (package - (inherit rust-aes-0.4) - (name "rust-aes") - (version "0.3.2") - (source - (origin - (method url-fetch) - (uri (crate-uri "aes" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "1j90iwpax0y1dqq14i8y9xgpcnnlgnljwkxg3mhzrralwf7ivssl")))) - (arguments - `(#:skip-build? #t - #:cargo-inputs - (("rust-aes-soft" ,rust-aes-soft-0.3) - ("rust-aesni" ,rust-aesni-0.6) - ("rust-block-cipher-trait" ,rust-block-cipher-trait-0.6)))))) - -(define-public rust-aes-ctr-0.6 - (package - (name "rust-aes-ctr") - (version "0.6.0") - (source - (origin - (method url-fetch) - (uri (crate-uri "aes-ctr" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "0qspjxzrclnb83501595y01dhc0km1ssrbjnwlxhcrsdwp6w6abp")))) - (build-system cargo-build-system) - (arguments - (list #:cargo-inputs - `(("rust-aesni" ,rust-aesni-0.10) - ("rust-aes-soft" ,rust-aes-soft-0.6) - ("rust-cipher" ,rust-cipher-0.2) - ("rust-ctr" ,rust-ctr-0.6)) - #:cargo-development-inputs `(("rust-cipher" ,rust-cipher-0.2)))) - (home-page "https://github.com/RustCrypto/block-ciphers/tree/master/aes") - (synopsis "Pure Rust implementation of AES") - (description - "A pure Rust implementation of the @acronym{AES, Advanced Encryption -Standard}. Use the AES crate if possible, as the aes-ctr has been into it.") - (license (list license:expat license:asl2.0)))) - -(define-public rust-aes-gcm-0.10 - (package - (name "rust-aes-gcm") - (version "0.10.1") - (source - (origin - (method url-fetch) - (uri (crate-uri "aes-gcm" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "0z2429v2d2wyf809h2wc4vwwibwypz3y4p7sn4kzkjb91ip3dqc2")))) - (build-system cargo-build-system) - (arguments - `(#:cargo-inputs - (("rust-aead" ,rust-aead-0.5) - ("rust-aes" ,rust-aes-0.8) - ("rust-cipher" ,rust-cipher-0.4) - ("rust-ctr" ,rust-ctr-0.9) - ("rust-ghash" ,rust-ghash-0.5) - ("rust-subtle" ,rust-subtle-2) - ("rust-zeroize" ,rust-zeroize-1)) - #:cargo-development-inputs - (("rust-aead" ,rust-aead-0.5) - ("rust-hex-literal" ,rust-hex-literal-0.3)))) - (home-page "https://github.com/RustCrypto/AEADs") - (synopsis "AES-GCM (Galois/Counter Mode) Authenticated Encryption") - (description "This package provides a pure Rust implementation of the -AES-GCM (Galois/Counter Mode) Authenticated Encryption with Associated -Data (AEAD) Cipher with optional architecture-specific hardware -acceleration.") - (license (list license:asl2.0 license:expat)))) - -(define-public rust-aes-gcm-0.8 - (package - (inherit rust-aes-gcm-0.10) - (name "rust-aes-gcm") - (version "0.8.0") - (source - (origin - (method url-fetch) - (uri (crate-uri "aes-gcm" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "1nl8iwlh209y1vj9n2lm1a70i69clvg2z6x69bi4dgdrpgxbay2j")))) - (arguments - `(#:cargo-inputs - (("rust-aead" ,rust-aead-0.3) - ("rust-aes" ,rust-aes-0.6) - ("rust-cipher" ,rust-cipher-0.2) - ("rust-ctr" ,rust-ctr-0.6) - ("rust-ghash" ,rust-ghash-0.3) - ("rust-subtle" ,rust-subtle-2) - ("rust-zeroize" ,rust-zeroize-1)) - #:cargo-development-inputs - (("rust-hex-literal" ,rust-hex-literal-0.2)))))) - -(define-public rust-aes-gcm-0.6 - (package - (inherit rust-aes-gcm-0.8) - (name "rust-aes-gcm") - (version "0.6.0") - (source - (origin - (method url-fetch) - (uri (crate-uri "aes-gcm" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "1lga8my3zlc0b1nhcpc1hrbykfm014fqs6d64bwrjqii05w01xc6")))) - (arguments - `(#:cargo-inputs - (("rust-aead" ,rust-aead-0.3) - ("rust-aes" ,rust-aes-0.4) - ("rust-block-cipher" ,rust-block-cipher-0.7) - ("rust-ghash" ,rust-ghash-0.3) - ("rust-subtle" ,rust-subtle-2) - ("rust-zeroize" ,rust-zeroize-1)) - #:cargo-development-inputs - (("rust-criterion" ,rust-criterion-0.3) - ("rust-criterion-cycles-per-byte" - ,rust-criterion-cycles-per-byte-0.1) - ("rust-hex-literal" ,rust-hex-literal-0.2)))))) - -(define-public rust-aes-gcm-0.5 - (package - (inherit rust-aes-gcm-0.6) - (name "rust-aes-gcm") - (version "0.5.0") - (source - (origin - (method url-fetch) - (uri (crate-uri "aes-gcm" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "0f66b5bmyj38r1hj55wzamlzw3y1aql34lgwr2vxn93073d6njl3")))) - (arguments - `(#:skip-build? #t - #:cargo-inputs - (("rust-aead" ,rust-aead-0.2) - ("rust-aes" ,rust-aes-0.3) - ("rust-block-cipher-trait" ,rust-block-cipher-trait-0.6) - ("rust-ghash" ,rust-ghash-0.2) - ("rust-subtle" ,rust-subtle-2) - ("rust-zeroize" ,rust-zeroize-1)))))) - -(define-public rust-aes-soft-0.6 - (package - (name "rust-aes-soft") - (version "0.6.4") - (source - (origin - (method url-fetch) - (uri (crate-uri "aes-soft" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "0wj0fi2pvmlw09yvb1aqf0mfkzrfxmjsf90finijh255ir4wf55y")))) - (build-system cargo-build-system) - (arguments - `(#:skip-build? #t - #:cargo-inputs - (("rust-block-cipher" ,rust-block-cipher-0.7) - ("rust-byteorder" ,rust-byteorder-1) - ("rust-opaque-debug" ,rust-opaque-debug-0.2)) - #:cargo-development-inputs - (("rust-block-cipher" ,rust-block-cipher-0.7)))) - (home-page "https://github.com/RustCrypto/block-ciphers") - (synopsis "Bit-sliced implementation of AES (Rijndael) block ciphers") - (description "This package provides a bit-sliced implementation of -AES (Rijndael) block ciphers. - -This package is deprecated and was replaced by the @code{aes} crate.") - (license (list license:expat license:asl2.0)))) - -(define-public rust-aes-soft-0.4 - (package - (inherit rust-aes-soft-0.6) - (name "rust-aes-soft") - (version "0.4.0") - (source - (origin - (method url-fetch) - (uri (crate-uri "aes-soft" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "19szsg0qqxq42k7bj5p3svb147n8wxy9a20n4g7mcl2fwrz689a9")))) - (arguments - `(#:cargo-inputs - (("rust-block-cipher" ,rust-block-cipher-0.7) - ("rust-byteorder" ,rust-byteorder-1) - ("rust-opaque-debug" ,rust-opaque-debug-0.2)) - #:cargo-development-inputs - (("rust-block-cipher" ,rust-block-cipher-0.7)))))) - -(define-public rust-aes-soft-0.3 - (package - (inherit rust-aes-soft-0.4) - (name "rust-aes-soft") - (version "0.3.3") - (source - (origin - (method url-fetch) - (uri (crate-uri "aes-soft" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "039si7yjp0wcd750sgq52c60sh2ikaxwd7rq7g0ba7ws7ypfgmyg")))) - (arguments - `(#:skip-build? #t - #:cargo-inputs - (("rust-block-cipher-trait" ,rust-block-cipher-trait-0.6) - ("rust-byteorder" ,rust-byteorder-1) - ("rust-opaque-debug" ,rust-opaque-debug-0.2)))))) - -(define-public rust-aesni-0.10 - (package - (name "rust-aesni") - (version "0.10.0") - (source - (origin - (method url-fetch) - (uri (crate-uri "aesni" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "1kmh07fp9hbi1aa8dr2rybbgw8vqz6hjmk34c4w7sbscx7si2bpa")))) - (build-system cargo-build-system) - (arguments - `(#:skip-build? #t - #:cargo-inputs - (("rust-cipher" ,rust-cipher-0.2) - ("rust-opaque-debug" ,rust-opaque-debug-0.3)))) - (home-page "https://github.com/RustCrypto/block-ciphers") - (synopsis "AES (Rijndael) block ciphers implementation using AES-NI") - (description "This package provides an implementation of AES (Rijndael) -block ciphers using AES-NI. - -This package is deprecated and was replaced by the @code{aes} crate.") - (license (list license:expat license:asl2.0)))) - -(define-public rust-aesni-0.7 - (package - (inherit rust-aesni-0.10) - (name "rust-aesni") - (version "0.7.0") - (source - (origin - (method url-fetch) - (uri (crate-uri "aesni" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "0r6j0mjkyqnwvgib01cvrwfw8rlx1biw75234niv723n1fdx6l6h")))) - (arguments - `(#:skip-build? #t - #:cargo-inputs - (("rust-block-cipher" ,rust-block-cipher-0.7) - ("rust-opaque-debug" ,rust-opaque-debug-0.2) - ("rust-stream-cipher" ,rust-stream-cipher-0.4)) - #:cargo-development-inputs - (("rust-block-cipher" ,rust-block-cipher-0.7) - ("rust-stream-cipher" ,rust-stream-cipher-0.4)))))) - -(define-public rust-aesni-0.6 - (package - (inherit rust-aesni-0.7) - (name "rust-aesni") - (version "0.6.0") - (source - (origin - (method url-fetch) - (uri (crate-uri "aesni" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "007imgcfl82nilfpamj5dik83pkcmkzvbkxp384p7r3iz6sscw1g")))) - (arguments - `(#:skip-build? #t - #:cargo-inputs - (("rust-block-cipher-trait" ,rust-block-cipher-trait-0.6) - ("rust-opaque-debug" ,rust-opaque-debug-0.2) - ("rust-stream-cipher" ,rust-stream-cipher-0.3)))))) - (define-public rust-afl-0.12 (package (name "rust-afl") diff --git a/gnu/packages/rust-apps.scm b/gnu/packages/rust-apps.scm index 19602c4f37..f50b1fee75 100644 --- a/gnu/packages/rust-apps.scm +++ b/gnu/packages/rust-apps.scm @@ -59,6 +59,7 @@ #:use-module (gnu packages bash) #:use-module (gnu packages compression) #:use-module (gnu packages crates-apple) + #:use-module (gnu packages crates-crypto) #:use-module (gnu packages crates-io) #:use-module (gnu packages crates-graphics) #:use-module (gnu packages crates-tls) -- cgit v1.2.3 From 07bf7ea36c734f6713f3e4c9ca917a934d39ba7b Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Tue, 23 Jan 2024 11:09:08 +0200 Subject: gnu: rbw: Accept newer versions of dependencies. * gnu/packages/rust-apps.scm (rbw)[source]: Add snippet to allow newer versions of dependencies. Change-Id: Ic2786b11f815789c691b0a1daf9f753b273b8dd1 --- gnu/packages/rust-apps.scm | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'gnu/packages/rust-apps.scm') diff --git a/gnu/packages/rust-apps.scm b/gnu/packages/rust-apps.scm index f50b1fee75..adb088eef8 100644 --- a/gnu/packages/rust-apps.scm +++ b/gnu/packages/rust-apps.scm @@ -1976,7 +1976,12 @@ runs a command whenever it detects modifications.") (uri (crate-uri "rbw" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "1p8bzpqgdc20l2vbb80gsb2ri5j16af958bixpnnp73mfvwzxvg1")))) + (base32 "1p8bzpqgdc20l2vbb80gsb2ri5j16af958bixpnnp73mfvwzxvg1")) + (modules '((guix build utils))) + (snippet + '(begin (substitute* "Cargo.toml" + (("\"=([[:digit:]]+(\\.[[:digit:]]+)*)" _ version) + (string-append "\"^" version))))))) (build-system cargo-build-system) (arguments `(#:install-source? #f -- cgit v1.2.3 From cb03e75847f4913765fe7baa2535a18fab84360f Mon Sep 17 00:00:00 2001 From: Troy Figiel Date: Mon, 22 Jan 2024 22:54:15 +0100 Subject: gnu: rust-cbindgen-0.24: Update to 0.24.5. * gnu/packages/rust-apps.scm (rust-cbindgen-0.24): Update to 0.24.5. Signed-off-by: Efraim Flashner Change-Id: If980a44286a0d7dda62b4ff2219161e4efef266f --- gnu/packages/rust-apps.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'gnu/packages/rust-apps.scm') diff --git a/gnu/packages/rust-apps.scm b/gnu/packages/rust-apps.scm index adb088eef8..396c7be16b 100644 --- a/gnu/packages/rust-apps.scm +++ b/gnu/packages/rust-apps.scm @@ -27,6 +27,7 @@ ;;; Copyright © 2023 Wilko Meyer ;;; Copyright © 2023, 2024 Jaeme Sifat ;;; Copyright © 2023 Steve George +;;; Copyright © 2024 Troy Figiel ;;; ;;; This file is part of GNU Guix. ;;; @@ -1592,14 +1593,14 @@ rebase.") (package (inherit rust-cbindgen-0.26) (name "rust-cbindgen") - (version "0.24.3") + (version "0.24.5") (source (origin (method url-fetch) (uri (crate-uri "cbindgen" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1yqxqsz2d0cppd8zwihk2139g5gy38wqgl9snj6rnk8gyvnqsdd6")))))) + "13g1k2zljdp326b0cv1nhyh7jsacd364fh0cr2g828hiyfm2z4jb")))))) (define-public rust-cbindgen-0.23 (package -- cgit v1.2.3 From 9778ce6b898021bc8f0e4a6e51fda8c13d78b310 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Tue, 23 Jan 2024 16:41:42 +0200 Subject: gnu: diffr: Update to 0.1.5. * gnu/packages/rust-apps.scm (diffr): Update to 0.1.5. [arguments]: Update cargo-test-flags. [cargo-inputs]: Remove rust-clap-2, rust-diffr-lib-0.1. Change-Id: Id92bed18548ec6021da259aa7f556f20c40894e4 --- gnu/packages/rust-apps.scm | 29 ++++++++++++++--------------- 1 file changed, 14 insertions(+), 15 deletions(-) (limited to 'gnu/packages/rust-apps.scm') diff --git a/gnu/packages/rust-apps.scm b/gnu/packages/rust-apps.scm index 396c7be16b..021df682cf 100644 --- a/gnu/packages/rust-apps.scm +++ b/gnu/packages/rust-apps.scm @@ -313,35 +313,34 @@ paging.") (define-public diffr (package (name "diffr") - (version "0.1.4") + (version "0.1.5") (source (origin (method url-fetch) (uri (crate-uri "diffr" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "1b0mz1ki2ksxni6g49x5l5j9ijpyhc11mywvxr9i9h3nr098nc5l")))) + (base32 "1kdngd5g1ssdiq7d10jr3jwg0sx740x3vmhq3j594a5kd467ikib")))) (build-system cargo-build-system) (arguments `(#:install-source? #f ;; https://github.com/mookid/diffr/issues/79 #:cargo-test-flags '("--release" "--" - "--skip=tests::success" - "--skip=test_cli::color_invalid_attribute_name" - "--skip=test_cli::color_invalid_color_not_done" - "--skip=test_cli::color_invalid_color_value_ansi" - "--skip=test_cli::color_invalid_color_value_name" - "--skip=test_cli::color_invalid_color_value_rgb" - "--skip=test_cli::color_invalid_face_name" - "--skip=test_cli::color_ok" - "--skip=test_cli::color_ok_multiple" - "--skip=test_cli::color_only_face_name" - "--skip=test_cli::debug_flag") + "--skip=tests_cli::color_invalid_attribute_name" + "--skip=tests_cli::color_invalid_color_not_done" + "--skip=tests_cli::color_invalid_color_value_ansi" + "--skip=tests_cli::color_invalid_color_value_name" + "--skip=tests_cli::color_invalid_color_value_rgb" + "--skip=tests_cli::color_invalid_face_name" + "--skip=tests_cli::color_ok" + "--skip=tests_cli::color_ok_multiple" + "--skip=tests_cli::color_only_face_name" + "--skip=tests_cli::debug_flag" + "--skip=tests_cli::line_numbers_style" + "--skip=tests_cli::test_bad_argument") #:cargo-inputs (("rust-atty" ,rust-atty-0.2) - ("rust-clap" ,rust-clap-2) - ("rust-diffr-lib" ,rust-diffr-lib-0.1) ("rust-termcolor" ,rust-termcolor-1)))) (home-page "https://github.com/mookid/diffr") (synopsis "Longest Common Sequence based diff highlighting tool") -- cgit v1.2.3 From 3aeb9c50a025a841725c285b9978d0b32d019c95 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Tue, 23 Jan 2024 16:45:46 +0200 Subject: gnu: ripgrep: Update to 14.1.0. * gnu/packages/rust-apps.scm (ripgrep): Update to 14.1.0. Change-Id: Ib80ecaa7422c9444753dfee8f9b07155ea391c29 --- gnu/packages/rust-apps.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu/packages/rust-apps.scm') diff --git a/gnu/packages/rust-apps.scm b/gnu/packages/rust-apps.scm index 021df682cf..0deb3b025f 100644 --- a/gnu/packages/rust-apps.scm +++ b/gnu/packages/rust-apps.scm @@ -1170,14 +1170,14 @@ on the terminal in a visually appealing way.") (define-public ripgrep (package (name "ripgrep") - (version "14.0.3") + (version "14.1.0") (source (origin (method url-fetch) (uri (crate-uri "ripgrep" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "192n1lih9vzhf7r2ak985fap23x608qjdq9pqjcf43h3g9mjzjh0")))) + (base32 "1n3zb5jfb8pv65jm4zmrcxlgpppkpd9pmcpg1ifvv13sqhxbrg6p")))) (build-system cargo-build-system) (arguments (list -- cgit v1.2.3 From f79b586fa5a668f1f4db445b2bb1abb61bb8b93a Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Tue, 23 Jan 2024 16:50:57 +0200 Subject: gnu: rot8: Update to 1.0.0. * gnu/packages/rust-apps.scm (rot8): Update to 1.0.0. [arguments]: Don't install the sources. [cargo-inputs]: Add rust-wayland-client-0.31, rust-wayland-protocols-wlr-0.2. Replace rust-clap-2 with 3. Change-Id: I6104c654a500323d2fca22ac4e4815f13e2544b3 --- gnu/packages/rust-apps.scm | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) (limited to 'gnu/packages/rust-apps.scm') diff --git a/gnu/packages/rust-apps.scm b/gnu/packages/rust-apps.scm index 0deb3b025f..03d7833822 100644 --- a/gnu/packages/rust-apps.scm +++ b/gnu/packages/rust-apps.scm @@ -1247,21 +1247,25 @@ search tools like The Silver Searcher, @command{ack} and @command{grep}.") (define-public rot8 (package (name "rot8") - (version "0.1.4") + (version "1.0.0") (source (origin (method url-fetch) (uri (crate-uri "rot8" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1m5kzpqq9pgc19lbnh20iaq654lzlmc1m5fc9f73w2vpwqdiw1qf")))) + "1bvb87sr9pkf6sj5ghgmga4nrp5kwiqnllzi672da5vs915xh8li")))) (build-system cargo-build-system) (arguments - `(#:cargo-inputs (("rust-clap" ,rust-clap-2) - ("rust-glob" ,rust-glob-0.3) - ("rust-regex" ,rust-regex-1) - ("rust-serde" ,rust-serde-1) - ("rust-serde-json" ,rust-serde-json-1)))) + `(#:install-source? #f + #:cargo-inputs + (("rust-clap" ,rust-clap-3) + ("rust-glob" ,rust-glob-0.3) + ("rust-regex" ,rust-regex-1) + ("rust-serde" ,rust-serde-1) + ("rust-serde-json" ,rust-serde-json-1) + ("rust-wayland-client" ,rust-wayland-client-0.31) + ("rust-wayland-protocols-wlr" ,rust-wayland-protocols-wlr-0.2)))) (home-page "https://github.com/efernau/rot8/") (synopsis "Automatic display rotation using built-in accelerometer") (description "@command{rot8} is a daemon that automates rotating screen and -- cgit v1.2.3 From a6b79e790ae88bf4e220ebf25158523b278c11bd Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Tue, 23 Jan 2024 17:07:49 +0200 Subject: gnu: sniffglue: Update to 0.16.0. * gnu/packages/rust-apps.scm (sniffglue): Update to 0.16.0. [arguments]: Don't install the source. [cargo-inputs]: Add rust-clap-4, rust-clap-complete-4, rust-data-encoding-2, rust-httparse-1, rust-uzers-0.11. Replace rust-bstr-0.2 with 1, rust-env-logger-0.9 with 0.10, rust-nix-0.23 with 0.27, rust-syscallz-0.16 with 0.17, rust-toml-0.5 with 0.8. Remove rust-atty-0.2, rust-base64-0.13, rust-structopt-0.3, rust-users-0.11. [cargo-development-inputs]: Replace rust-boxxy-0.12 with 0.13. Change-Id: I1e803ad29e8aef76d41c8660378ca84fb065710a --- gnu/packages/rust-apps.scm | 31 ++++++++++++++++--------------- 1 file changed, 16 insertions(+), 15 deletions(-) (limited to 'gnu/packages/rust-apps.scm') diff --git a/gnu/packages/rust-apps.scm b/gnu/packages/rust-apps.scm index 03d7833822..b31e7c9829 100644 --- a/gnu/packages/rust-apps.scm +++ b/gnu/packages/rust-apps.scm @@ -1621,31 +1621,33 @@ rebase.") (define-public sniffglue (package (name "sniffglue") - (version "0.15.0") + (version "0.16.0") (source (origin (method url-fetch) (uri (crate-uri "sniffglue" version)) - (file-name - (string-append name "-" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "038wcjiiay825wc8inmn62flklc1adxskg5fmjhmxqnhwmj1k5gn")))) + "0q63dysxzzqyknm3kqk0dff1vm8j6g05dkjwn7kqaglmf9ksd7v3")))) (build-system cargo-build-system) (arguments - `(#:cargo-inputs + `(#:install-source? #f + #:cargo-inputs (("rust-ansi-term" ,rust-ansi-term-0.12) ("rust-anyhow" ,rust-anyhow-1) - ("rust-atty" ,rust-atty-0.2) - ("rust-base64" ,rust-base64-0.13) - ("rust-bstr" ,rust-bstr-0.2) + ("rust-bstr" ,rust-bstr-1) + ("rust-clap" ,rust-clap-4) + ("rust-clap-complete" ,rust-clap-complete-4) + ("rust-data-encoding" ,rust-data-encoding-2) ("rust-dhcp4r" ,rust-dhcp4r-0.2) ("rust-dirs-next" ,rust-dirs-next-2) ("rust-dns-parser" ,rust-dns-parser-0.8) - ("rust-env-logger" ,rust-env-logger-0.9) + ("rust-env-logger" ,rust-env-logger-0.10) + ("rust-httparse" ,rust-httparse-1) ("rust-libc" ,rust-libc-0.2) ("rust-log" ,rust-log-0.4) - ("rust-nix" ,rust-nix-0.23) + ("rust-nix" ,rust-nix-0.27) ("rust-nom" ,rust-nom-7) ("rust-num-cpus" ,rust-num-cpus-1) ("rust-pcap-sys" ,rust-pcap-sys-0.1) @@ -1655,13 +1657,12 @@ rebase.") ("rust-serde-derive" ,rust-serde-derive-1) ("rust-serde-json" ,rust-serde-json-1) ("rust-sha2" ,rust-sha2-0.10) - ("rust-structopt" ,rust-structopt-0.3) - ("rust-syscallz" ,rust-syscallz-0.16) + ("rust-syscallz" ,rust-syscallz-0.17) ("rust-tls-parser" ,rust-tls-parser-0.11) - ("rust-toml" ,rust-toml-0.5) - ("rust-users" ,rust-users-0.11)) + ("rust-toml" ,rust-toml-0.8) + ("rust-uzers" ,rust-uzers-0.11)) #:cargo-development-inputs - (("rust-boxxy" ,rust-boxxy-0.12)))) + (("rust-boxxy" ,rust-boxxy-0.13)))) (inputs (list libpcap libseccomp)) (home-page "https://github.com/kpcyrd/sniffglue") -- cgit v1.2.3 From ed8af9ad1fe6b3e283817f81364feb0f8d1d14dc Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Tue, 23 Jan 2024 17:19:08 +0200 Subject: gnu: hex: Update to 0.6.0. * gnu/packages/rust-apps.scm (hex): Update to 0.6.0. [source]: Add snippet to remove dependency on rusty-hook. [arguments]: Don't install the sources. [cargo-inputs]: Replace rust-clap-2 with 4. Remove rust-atty-0.2. [cargo-development-inputs]: Replace rust-assert-cmd-1 with 2. Change-Id: Ifb92a65cc55ea563e9c562cfa89a3db75d584643 --- gnu/packages/rust-apps.scm | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) (limited to 'gnu/packages/rust-apps.scm') diff --git a/gnu/packages/rust-apps.scm b/gnu/packages/rust-apps.scm index b31e7c9829..9fee03f88c 100644 --- a/gnu/packages/rust-apps.scm +++ b/gnu/packages/rust-apps.scm @@ -1813,26 +1813,32 @@ revert and check changes. (define-public hex (package (name "hex") - (version "0.4.2") + (version "0.6.0") (source (origin ;; crates.io does not provide the test data. + ;; Not all releases are pushed to crates.io. (method git-fetch) (uri (git-reference (url "https://github.com/sitkevij/hex") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "03x27nixdlnkkrh85gy4152arp02kpjwq0i9dn9p73lyr24s64lv")))) + (base32 "0kv07ghibifs6rnskg1na6a0hdb0f8vqfbpv5k8g09lc2075gjv1")) + (snippet + #~(begin (use-modules (guix build utils)) + (substitute* "Cargo.toml" + ;; rusty-hook provides a git hook for CI. + ((".*rusty-hook.*") "")))))) (build-system cargo-build-system) (arguments - `(#:cargo-inputs + `(#:install-source? #f + #:cargo-inputs (("rust-ansi-term" ,rust-ansi-term-0.12) - ("rust-atty" ,rust-atty-0.2) - ("rust-clap" ,rust-clap-2) + ("rust-clap" ,rust-clap-4) ("rust-no-color" ,rust-no-color-0.1)) #:cargo-development-inputs - (("rust-assert-cmd" ,rust-assert-cmd-1)))) + (("rust-assert-cmd" ,rust-assert-cmd-2)))) (home-page "https://github.com/sitkevij/hex") (synopsis "Hexadecimal colorized view of a file") (description -- cgit v1.2.3 From edea52e2fe6cfc47ff8811cd611feefa1ae4a233 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Tue, 23 Jan 2024 17:23:13 +0200 Subject: gnu: hex: Install manpage. * gnu/packages/rust-apps.scm (hex)[arguments]: Add a phase to install the included manpage. Change-Id: I976ff6a8cc1b6cb16d84373be361f5d6c6781a74 --- gnu/packages/rust-apps.scm | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'gnu/packages/rust-apps.scm') diff --git a/gnu/packages/rust-apps.scm b/gnu/packages/rust-apps.scm index 9fee03f88c..ae99790d92 100644 --- a/gnu/packages/rust-apps.scm +++ b/gnu/packages/rust-apps.scm @@ -1838,7 +1838,13 @@ revert and check changes. ("rust-clap" ,rust-clap-4) ("rust-no-color" ,rust-no-color-0.1)) #:cargo-development-inputs - (("rust-assert-cmd" ,rust-assert-cmd-2)))) + (("rust-assert-cmd" ,rust-assert-cmd-2)) + #:phases + (modify-phases %standard-phases + (add-after 'install 'install-more + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (install-file "hx.1" (string-append out "/share/man/man1")))))))) (home-page "https://github.com/sitkevij/hex") (synopsis "Hexadecimal colorized view of a file") (description -- cgit v1.2.3 From 92a7b944d934cc4f64b9ab68136cb4b831b5bf1c Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Wed, 24 Jan 2024 10:04:24 +0200 Subject: gnu: git-absorb: Update to 0.6.11. * gnu/packages/rust-apps.scm (git-absorb): Update to 0.6.11. [source]: Add snippet to relax version requirements, delete manpage. [arguments]: Don't install the sources. Remove phase relaxing version requirements. Adjust 'install-manual-page phase to generate the manpage. [cargo-inputs]: Replace rust-git2-0.13 with 0.18. [native-inputs]: Add asciidoc. [inputs]: Add libgit2-1.7. Remoev libgit2-1.3. Change-Id: I45d56739ed5d01f891a35a91d275b23ab381d9fd --- gnu/packages/rust-apps.scm | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) (limited to 'gnu/packages/rust-apps.scm') diff --git a/gnu/packages/rust-apps.scm b/gnu/packages/rust-apps.scm index ae99790d92..88d27cede7 100644 --- a/gnu/packages/rust-apps.scm +++ b/gnu/packages/rust-apps.scm @@ -2500,7 +2500,7 @@ Full featured offline client with caching support.") (define-public git-absorb (package (name "git-absorb") - (version "0.6.6") + (version "0.6.11") (source (origin ;; crates.io does not include the manual page. @@ -2510,13 +2510,19 @@ Full featured offline client with caching support.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "04v10bn24acify34vh5ayymsr1flcyb05f3az9k1s2m6nlxy5gb9")))) + (base32 "1mgqmbk2rz87blas86k340nshiy0zbw9pq76b8nqknpgghm4k029")) + (snippet + #~(begin (use-modules (guix build utils)) + (substitute* "Cargo.toml" + (("\"~") "\"")) + (delete-file "Documentation/git-absorb.1"))))) (build-system cargo-build-system) (arguments - `(#:cargo-inputs + `(#:install-source? #f + #:cargo-inputs (("rust-anyhow" ,rust-anyhow-1) ("rust-clap" ,rust-clap-2) - ("rust-git2" ,rust-git2-0.13) + ("rust-git2" ,rust-git2-0.18) ("rust-memchr" ,rust-memchr-2) ("rust-slog" ,rust-slog-2) ("rust-slog-async" ,rust-slog-async-2) @@ -2525,19 +2531,17 @@ Full featured offline client with caching support.") (("rust-tempfile" ,rust-tempfile-3)) #:phases (modify-phases %standard-phases - (add-after 'unpack 'relax-version-requirements - (lambda _ - (substitute* "Cargo.toml" - (("\"~") "\"")))) (add-after 'install 'install-manual-page (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) (man (string-append out "/share/man/man1"))) + (with-directory-excursion "Documentation" + (invoke "a2x" "-L" "-d" "manpage" "-f" "manpage" "git-absorb.txt")) (install-file "Documentation/git-absorb.1" man))))))) (native-inputs - (list pkg-config)) + (list asciidoc pkg-config)) (inputs - (list libgit2-1.3 zlib)) + (list libgit2-1.7 zlib)) (home-page "https://github.com/tummychow/git-absorb") (synopsis "Git tool for making automatic fixup commits") (description -- cgit v1.2.3 From a17f2fc3a5341af198b910393249ab230362b6d5 Mon Sep 17 00:00:00 2001 From: Herman Rimm Date: Sat, 27 Jan 2024 09:50:38 +0100 Subject: gnu: Add cargo-machete. * gnu/packages/rust-apps.scm (cargo-machete): New variable. Change-Id: Ic73bbb347a976d008d383557669e696e6fe3bdfa Signed-off-by: Efraim Flashner --- gnu/packages/rust-apps.scm | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) (limited to 'gnu/packages/rust-apps.scm') diff --git a/gnu/packages/rust-apps.scm b/gnu/packages/rust-apps.scm index 88d27cede7..5cd15de7ed 100644 --- a/gnu/packages/rust-apps.scm +++ b/gnu/packages/rust-apps.scm @@ -28,6 +28,7 @@ ;;; Copyright © 2023, 2024 Jaeme Sifat ;;; Copyright © 2023 Steve George ;;; Copyright © 2024 Troy Figiel +;;; Copyright © 2024 Herman Rimm ;;; ;;; This file is part of GNU Guix. ;;; @@ -310,6 +311,36 @@ highlighting for a large number of languages, git integration, and automatic paging.") (license (list license:expat license:asl2.0)))) +(define-public cargo-machete + (package + (name "cargo-machete") + (version "0.6.0") + (source + (origin + (method url-fetch) + (uri (crate-uri name version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "0lbymfxgcizmj1c1ydpzinjbjhc7c9j0wb5y1xq33j80s5hzayaz")))) + (build-system cargo-build-system) + (arguments + `(#:tests? #f ;Error: No such file or directory (os error 2) + #:cargo-inputs (("rust-anyhow" ,rust-anyhow-1) + ("rust-argh" ,rust-argh-0.1) + ("rust-cargo-metadata" ,rust-cargo-metadata-0.18) + ("rust-cargo-toml" ,rust-cargo-toml-0.16) + ("rust-grep" ,rust-grep-0.2) + ("rust-log" ,rust-log-0.4) + ("rust-pretty-env-logger" ,rust-pretty-env-logger-0.5) + ("rust-rayon" ,rust-rayon-1) + ("rust-serde" ,rust-serde-1) + ("rust-toml-edit" ,rust-toml-edit-0.20) + ("rust-walkdir" ,rust-walkdir-2)))) + (home-page "https://github.com/est31/cargo-udeps") + (synopsis "Find unused dependencies in Cargo.toml") + (description "@code{cargo-machete} finds unused dependencies in Cargo.toml.") + (license (list license:expat license:asl2.0)))) + (define-public diffr (package (name "diffr") -- cgit v1.2.3 From 86f7cd249bdfb61a0d3d388dd21983aa33e572c9 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Mon, 29 Jan 2024 09:00:35 +0200 Subject: gnu: agate: Update to 3.2.4. * gnu/packages/rust-apps.scm (agate): Update to 3.2.4. [arguments]: Don't install the sources. [cargo-inputs]: Add rust-futures-util-0.3, rust-rcgen-0.9, rust-webpki-0.22. Replace rust-configparser-2 with 3, rust-env-logger-0.8 with 0.9, rust-rustls-0.19 with 0.20, rust-tokio-rustls-0.22 with 0.23. [cargo-development-inputs]: Add rust-anyhow-1, rust-gemini-fetch-0.2. Change-Id: I6e6aa187563a19ab0d3c6755dee5ea61ccc19fcf --- gnu/packages/rust-apps.scm | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) (limited to 'gnu/packages/rust-apps.scm') diff --git a/gnu/packages/rust-apps.scm b/gnu/packages/rust-apps.scm index 5cd15de7ed..d41028a2ff 100644 --- a/gnu/packages/rust-apps.scm +++ b/gnu/packages/rust-apps.scm @@ -100,29 +100,35 @@ (define-public agate (package (name "agate") - (version "2.5.2") + (version "3.2.4") (source (origin (method url-fetch) (uri (crate-uri "agate" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "1mhrl4j5r6wzsnwpqsbgzny5vqschyjm3gnk4y88har7skk7j19v")))) + (base32 "1wvbhzm4k3hdy8x7aq8rj3galhgfizdwf5fi419hzvg3kmvbawh1")))) (build-system cargo-build-system) (arguments - `(#:cargo-inputs - (("rust-configparser" ,rust-configparser-2) - ("rust-env-logger" ,rust-env-logger-0.8) + `(#:install-source? #f + #:cargo-inputs + (("rust-configparser" ,rust-configparser-3) + ("rust-env-logger" ,rust-env-logger-0.9) + ("rust-futures-util" ,rust-futures-util-0.3) ("rust-getopts" ,rust-getopts-0.2) ("rust-glob" ,rust-glob-0.3) ("rust-log" ,rust-log-0.4) ("rust-mime-guess" ,rust-mime-guess-2) ("rust-once-cell" ,rust-once-cell-1) ("rust-percent-encoding" ,rust-percent-encoding-2) - ("rust-rustls" ,rust-rustls-0.19) + ("rust-rcgen" ,rust-rcgen-0.9) + ("rust-rustls" ,rust-rustls-0.20) ("rust-tokio" ,rust-tokio-1) - ("rust-tokio-rustls" ,rust-tokio-rustls-0.22) - ("rust-url" ,rust-url-2)))) + ("rust-tokio-rustls" ,rust-tokio-rustls-0.23) + ("rust-url" ,rust-url-2) + ("rust-webpki" ,rust-webpki-0.22)) + #:cargo-development-inputs (("rust-anyhow" ,rust-anyhow-1) + ("rust-gemini-fetch" ,rust-gemini-fetch-0.2)))) (home-page "https://github.com/mbrubeck/agate") (synopsis "Very simple server for the Gemini hypertext protocol") (description -- cgit v1.2.3 From 4064b48eb1b4d87a061b09468175e8280b106812 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Mon, 29 Jan 2024 09:09:40 +0200 Subject: gnu: drill: Update to 0.8.2. * gnu/packages/rust-apps.scm (drill): Update to 0.8.2. [arguments]: Don't install the sources. [cargo-inputs]: Add rust-hdrhistogram-7, rust-openssl-sys-0.9. Replace rust-colored-1 with 2, rust-rand-0.7 with 0.8, rust-reqwest-0.10 with 0.11, rust-tokio-0.2 with 1. Change-Id: I097230b1d2aa538b52478310fcf3ce51a4a577ee --- gnu/packages/rust-apps.scm | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) (limited to 'gnu/packages/rust-apps.scm') diff --git a/gnu/packages/rust-apps.scm b/gnu/packages/rust-apps.scm index d41028a2ff..1ee30b1f7f 100644 --- a/gnu/packages/rust-apps.scm +++ b/gnu/packages/rust-apps.scm @@ -389,31 +389,34 @@ highlighting tool to ease code review from your terminal.") (define-public drill (package (name "drill") - (version "0.7.1") + (version "0.8.2") (source (origin (method url-fetch) (uri (crate-uri "drill" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "1m73d7rzi0p5c1hn0081d2235kcyapdza7h0vqf5jhnirpnjn793")))) + (base32 "0jp9r19zc9m3hgxc7a98fhyi1ga0qwjprxjsqaxiykmjpb86bxf3")))) (build-system cargo-build-system) (arguments - `(#:cargo-inputs + `(#:install-source? #f + #:cargo-inputs (("rust-async-trait" ,rust-async-trait-0.1) ("rust-clap" ,rust-clap-2) - ("rust-colored" ,rust-colored-1) + ("rust-colored" ,rust-colored-2) ("rust-csv" ,rust-csv-1) ("rust-futures" ,rust-futures-0.3) + ("rust-hdrhistogram" ,rust-hdrhistogram-7) ("rust-lazy-static" ,rust-lazy-static-1) ("rust-linked-hash-map" ,rust-linked-hash-map-0.5) ("rust-num-cpus" ,rust-num-cpus-1) - ("rust-rand" ,rust-rand-0.7) + ("rust-openssl-sys" ,rust-openssl-sys-0.9) + ("rust-rand" ,rust-rand-0.8) ("rust-regex" ,rust-regex-1) - ("rust-reqwest" ,rust-reqwest-0.10) + ("rust-reqwest" ,rust-reqwest-0.11) ("rust-serde" ,rust-serde-1) ("rust-serde-json" ,rust-serde-json-1) - ("rust-tokio" ,rust-tokio-0.2) + ("rust-tokio" ,rust-tokio-1) ("rust-url" ,rust-url-2) ("rust-yaml-rust" ,rust-yaml-rust-0.4)))) (native-inputs @@ -423,7 +426,7 @@ highlighting tool to ease code review from your terminal.") (home-page "https://github.com/fcsonline/drill") (synopsis "HTTP load testing application") (description - "Drill is a HTTP load testing application written in Rust inspired by + "Drill is a HTTP load testing application written in Rust inspired by Ansible syntax. Benchmark files can be written in YAML.") (license license:gpl3))) -- cgit v1.2.3 From 595ef43e9b0e2a7b387a008d7f850236aace0d6d Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Mon, 29 Jan 2024 09:22:33 +0200 Subject: gnu: hexyl: Update to 0.14.0. * gnu/packages/rust-apps.scm (hexyl): Update to 0.14.0. [arguments]: Don't install the sources. [cargo-inputs]: Add rust-anyhow-1, rust-const-format-0.2, rust-owo-colors-3, rust-supports-color-2, rust-terminal-size-0.2, rust-thiserror-1. Replace rust-clap-2 with 4. Remove rust-ansi-term-0.12, rust-atty-0.2. [cargo-development-inputs]: Add rust-assert-cmd-2, rust-predicates-3, rust-pretty-assertions-1. Change-Id: I8ccd870e70e559753c8c6aa3a987a1cc857f587b --- gnu/packages/rust-apps.scm | 27 +++++++++++++++++---------- 1 file changed, 17 insertions(+), 10 deletions(-) (limited to 'gnu/packages/rust-apps.scm') diff --git a/gnu/packages/rust-apps.scm b/gnu/packages/rust-apps.scm index 1ee30b1f7f..f5d4062d2c 100644 --- a/gnu/packages/rust-apps.scm +++ b/gnu/packages/rust-apps.scm @@ -650,23 +650,30 @@ defaults for 80% of the use cases.") (define-public hexyl (package (name "hexyl") - (version "0.8.0") + (version "0.14.0") (source (origin (method url-fetch) (uri (crate-uri "hexyl" version)) - (file-name - (string-append name "-" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 - "0sipag77196467idbznbk5q5lwhqz85zw7y1pwg9b27jxqyk04rp")))) + (base32 "0fhbc4ibpbbgcgx2v6wzxcn63jz76cvdp2f8jdg747h65hvp5bcm")))) (build-system cargo-build-system) (arguments - `(#:cargo-inputs - (("rust-ansi-term" ,rust-ansi-term-0.12) - ("rust-atty" ,rust-atty-0.2) - ("rust-clap" ,rust-clap-2) - ("rust-libc" ,rust-libc-0.2)))) + `(#:install-source? #f + #:cargo-inputs + (("rust-anyhow" ,rust-anyhow-1) + ("rust-clap" ,rust-clap-4) + ("rust-const-format" ,rust-const-format-0.2) + ("rust-libc" ,rust-libc-0.2) + ("rust-owo-colors" ,rust-owo-colors-3) + ("rust-supports-color" ,rust-supports-color-2) + ("rust-terminal-size" ,rust-terminal-size-0.2) + ("rust-thiserror" ,rust-thiserror-1)) + #:cargo-development-inputs + (("rust-assert-cmd" ,rust-assert-cmd-2) + ("rust-predicates" ,rust-predicates-3) + ("rust-pretty-assertions" ,rust-pretty-assertions-1)))) (home-page "https://github.com/sharkdp/hexyl") (synopsis "Command-line hex viewer") (description -- cgit v1.2.3 From fe4a77e672174c326f7d8cf9ad7810ed34f1f4e0 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Mon, 29 Jan 2024 09:54:15 +0200 Subject: gnu: hexyl: Install man-page. * gnu/packages/rust-apps.scm (hexyl)[source]: Add snippet to fix the version string in the man-page. [arguments]: Add a phase to build the man-page. [native-inputs]: Add pandoc on systems where it is supported. Change-Id: I1dc98862020a5176f15adb8a2579f249c233f2da --- gnu/packages/rust-apps.scm | 26 ++++++++++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) (limited to 'gnu/packages/rust-apps.scm') diff --git a/gnu/packages/rust-apps.scm b/gnu/packages/rust-apps.scm index f5d4062d2c..fe27bdf675 100644 --- a/gnu/packages/rust-apps.scm +++ b/gnu/packages/rust-apps.scm @@ -657,7 +657,11 @@ defaults for 80% of the use cases.") (uri (crate-uri "hexyl" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "0fhbc4ibpbbgcgx2v6wzxcn63jz76cvdp2f8jdg747h65hvp5bcm")))) + (base32 "0fhbc4ibpbbgcgx2v6wzxcn63jz76cvdp2f8jdg747h65hvp5bcm")) + (snippet + #~(begin (use-modules (guix build utils)) + (substitute* "doc/hexyl.1.md" + (("0\\.12\\.0") "0.14.0")))))) (build-system cargo-build-system) (arguments `(#:install-source? #f @@ -673,7 +677,25 @@ defaults for 80% of the use cases.") #:cargo-development-inputs (("rust-assert-cmd" ,rust-assert-cmd-2) ("rust-predicates" ,rust-predicates-3) - ("rust-pretty-assertions" ,rust-pretty-assertions-1)))) + ("rust-pretty-assertions" ,rust-pretty-assertions-1)) + #:phases + (modify-phases %standard-phases + (add-after 'install 'install-manual + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((man1 (string-append (assoc-ref outputs "out") + "/share/man/man1"))) + (when (assoc-ref inputs "pandoc") + (mkdir-p man1) + (with-output-to-file (string-append man1 "/hexyl.1") + (lambda _ + (invoke "pandoc" "--standalone" + "--from" "markdown" + "--to" "man" + "doc/hexyl.1.md")))))))))) + (native-inputs + (if (supported-package? pandoc) + (list pandoc) + '())) (home-page "https://github.com/sharkdp/hexyl") (synopsis "Command-line hex viewer") (description -- cgit v1.2.3 From e64d40abede0adac071d7bb7671b7f70329d6ee6 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Mon, 29 Jan 2024 10:13:54 +0200 Subject: gnu: just: Update to 1.23.0. * gnu/packages/rust-apps.scm (just): Update to 1.23.0. [cargo-inputs]: Add rust-dirs-5. Replace rust-snafu-0.7 with 0.8. Change-Id: Ia2294324e226f78ef1b911ef2535c40c649718e8 --- gnu/packages/rust-apps.scm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'gnu/packages/rust-apps.scm') diff --git a/gnu/packages/rust-apps.scm b/gnu/packages/rust-apps.scm index fe27bdf675..c2ce1007a9 100644 --- a/gnu/packages/rust-apps.scm +++ b/gnu/packages/rust-apps.scm @@ -865,13 +865,13 @@ bar. It is also compatible with sway.") (define-public just (package (name "just") - (version "1.17.0") + (version "1.23.0") (source (origin (method url-fetch) (uri (crate-uri "just" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "1nlwrbawgg6sysfydi2334y4pbsinq50axnqm0cz0m29r8n0ljxd")))) + (base32 "0wpjv098a2yymsb41h6104cdia4gb6hwwh05pkwj5fx7b7g41a2q")))) (build-system cargo-build-system) (arguments `(#:cargo-test-flags @@ -886,6 +886,7 @@ bar. It is also compatible with sway.") ("rust-clap" ,rust-clap-2) ("rust-ctrlc" ,rust-ctrlc-3) ("rust-derivative" ,rust-derivative-2) + ("rust-dirs" ,rust-dirs-5) ("rust-dotenvy" ,rust-dotenvy-0.15) ("rust-edit-distance" ,rust-edit-distance-2) ("rust-env-logger" ,rust-env-logger-0.10) @@ -900,7 +901,7 @@ bar. It is also compatible with sway.") ("rust-serde-json" ,rust-serde-json-1) ("rust-sha2" ,rust-sha2-0.10) ("rust-similar" ,rust-similar-2) - ("rust-snafu" ,rust-snafu-0.7) + ("rust-snafu" ,rust-snafu-0.8) ("rust-strum" ,rust-strum-0.25) ("rust-target" ,rust-target-2) ("rust-tempfile" ,rust-tempfile-3) -- cgit v1.2.3 From 3697b24251ae499ba54e480e3de29c2b58374f72 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Mon, 29 Jan 2024 11:03:37 +0200 Subject: gnu: swayr: Update to 0.27.3. * gnu/packages/rust-apps.scm (swayr): Update to 0.27.3. [arguments]: Don't skip the tests. Add cargo-test-flags. [cargo-inputs]: Add rust-peg-0.8. Replace rust-clap-3 with 4, rust-directories-4 with 5, rust-env-logger-0.9 with 0.10, rust-toml-0.5 with 0.8. Change-Id: Icbce815e9d6e7f470ac38e287e8a6f5625da49b4 --- gnu/packages/rust-apps.scm | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) (limited to 'gnu/packages/rust-apps.scm') diff --git a/gnu/packages/rust-apps.scm b/gnu/packages/rust-apps.scm index c2ce1007a9..e92d902594 100644 --- a/gnu/packages/rust-apps.scm +++ b/gnu/packages/rust-apps.scm @@ -2454,37 +2454,41 @@ terminal won't have to take up any space.") (define-public swayr (package (name "swayr") - (version "0.18.0") + (version "0.27.3") (source (origin (method url-fetch) (uri (crate-uri "swayr" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "1m443lwbs3lm20kkviw60db56w9i59dm393z1sn6llpfi2xihh3h")))) + (base32 "1akmq1qa3v8jxn7qgwmr70dhgamb1mvn2jkqdawc6i8accz33gca")))) (build-system cargo-build-system) (arguments - `(#:tests? #f + `(#:cargo-test-flags + '("--release" "--" + "--skip=config::test_load_swayr_config") + #:install-source? #f #:cargo-inputs - (("rust-clap" ,rust-clap-3) - ("rust-directories" ,rust-directories-4) - ("rust-env-logger" ,rust-env-logger-0.9) + (("rust-clap" ,rust-clap-4) + ("rust-directories" ,rust-directories-5) + ("rust-env-logger" ,rust-env-logger-0.10) ("rust-log" ,rust-log-0.4) ("rust-once-cell" ,rust-once-cell-1) + ("rust-peg" ,rust-peg-0.8) ("rust-rand" ,rust-rand-0.8) ("rust-regex" ,rust-regex-1) ("rust-rt-format" ,rust-rt-format-0.3) ("rust-serde" ,rust-serde-1) ("rust-serde-json" ,rust-serde-json-1) ("rust-swayipc" ,rust-swayipc-3) - ("rust-toml" ,rust-toml-0.5)))) + ("rust-toml" ,rust-toml-0.8)))) (home-page "https://sr.ht/~tsdh/swayr/") (synopsis "Window-switcher for the sway window manager") (description "This package provides a last-recently-used window-switcher for the sway -window manager. Swayr consists of a daemon, and a client. The swayrd daemon +window manager. Swayr consists of a daemon, and a client. The swayrd daemon records window/workspace creations, deletions, and focus changes using sway's -JSON IPC interface. The swayr client offers subcommands, and sends them to the +JSON IPC interface. The swayr client offers subcommands, and sends them to the daemon which executes them.") (license license:gpl3+))) -- cgit v1.2.3 From 10ad89189c88aebd68240129dbae7947a9b2ccca Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Mon, 29 Jan 2024 11:16:36 +0200 Subject: gnu: rust-xremap: Update to 0.8.14. * gnu/packages/rust-apps.scm (rust-xremap): Update to 0.8.14. [cargo-inputs]: Add rust-toml-0.8. Replace rust-x11rb-0.12 with 0.13. Change-Id: I9d3356aaac04b09cfa51013075181cb5b4d74e0b --- gnu/packages/rust-apps.scm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'gnu/packages/rust-apps.scm') diff --git a/gnu/packages/rust-apps.scm b/gnu/packages/rust-apps.scm index e92d902594..5f84a60800 100644 --- a/gnu/packages/rust-apps.scm +++ b/gnu/packages/rust-apps.scm @@ -2712,7 +2712,7 @@ advanced keybindings, word-level diff highlighting, syntax highlighting for (define-public rust-xremap (package (name "rust-xremap") - (version "0.8.9") + (version "0.8.14") (source (origin (method url-fetch) @@ -2720,7 +2720,7 @@ advanced keybindings, word-level diff highlighting, syntax highlighting for (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1815hz1a93brj6v9102xypds1qslf6gxgk9vcvxhxlhy1c2pfxvj")))) + "1691clzqbwcywz66k0lf5wjz3q5cpbks0l090bfv42idzr5a0ghl")))) (build-system cargo-build-system) (arguments `(#:features '() @@ -2744,9 +2744,10 @@ advanced keybindings, word-level diff highlighting, syntax highlighting for ("rust-serde-with" ,rust-serde-with-3) ("rust-serde-yaml" ,rust-serde-yaml-0.9) ("rust-swayipc" ,rust-swayipc-3) + ("rust-toml" ,rust-toml-0.8) ("rust-wayland-client" ,rust-wayland-client-0.30) ("rust-wayland-protocols-wlr" ,rust-wayland-protocols-wlr-0.1) - ("rust-x11rb" ,rust-x11rb-0.12) + ("rust-x11rb" ,rust-x11rb-0.13) ("rust-zbus" ,rust-zbus-1)) #:phases (modify-phases %standard-phases -- cgit v1.2.3 From a1a2a5c31aa19ccb517388bd231ce8d0b628a900 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Mon, 29 Jan 2024 11:31:46 +0200 Subject: gnu: zoxide: Update to 0.9.2. * gnu/packages/rust-apps.scm (zoxide): Update to 0.9.2. [cargo-inputs]: Add rust-color-print-0.3, rust-ouroboros-0.17. Replace rust-askama-0.11 with 0.12, rust-clap-3 with 4, rust-clap-complete-3 with 4, rust-clap-complete-fig-3 with 4, rust-dirs-4 with 5, rust-fastrand-1 with 2, rust-nix-0.24 with 0.26. [cargo-development-inputs]: Replace rust-rstest-0.15 with 0.18, rust-rstest-reuse-0.4 with 0.6. Change-Id: Icfd83e6bc30ce6853308405969bcabd4cd0d4213 --- gnu/packages/rust-apps.scm | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) (limited to 'gnu/packages/rust-apps.scm') diff --git a/gnu/packages/rust-apps.scm b/gnu/packages/rust-apps.scm index 5f84a60800..37ab0c51c2 100644 --- a/gnu/packages/rust-apps.scm +++ b/gnu/packages/rust-apps.scm @@ -2849,35 +2849,37 @@ advanced keybindings, word-level diff highlighting, syntax highlighting for (define-public zoxide (package (name "zoxide") - (version "0.8.3") + (version "0.9.2") (source (origin (method url-fetch) (uri (crate-uri "zoxide" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "0y5v2vgl9f3n0n0w4b3iddbfyxv0hls0vw5406ry0hcvnnjyy2l3")))) + (base32 "1dqndbxpnv0g82d52jaszsgh62y9cv9hq8rgypsimgkk9yxhn4rw")))) (build-system cargo-build-system) (arguments (list #:install-source? #f #:cargo-inputs `(("rust-anyhow" ,rust-anyhow-1) - ("rust-askama" ,rust-askama-0.11) + ("rust-askama" ,rust-askama-0.12) ("rust-bincode" ,rust-bincode-1) - ("rust-clap" ,rust-clap-3) - ("rust-clap-complete" ,rust-clap-complete-3) - ("rust-clap-complete-fig" ,rust-clap-complete-fig-3) - ("rust-dirs" ,rust-dirs-4) + ("rust-clap" ,rust-clap-4) + ("rust-clap-complete" ,rust-clap-complete-4) + ("rust-clap-complete-fig" ,rust-clap-complete-fig-4) + ("rust-color-print" ,rust-color-print-0.3) + ("rust-dirs" ,rust-dirs-5) ("rust-dunce" ,rust-dunce-1) - ("rust-fastrand" ,rust-fastrand-1) + ("rust-fastrand" ,rust-fastrand-2) ("rust-glob" ,rust-glob-0.3) - ("rust-nix" ,rust-nix-0.24) + ("rust-nix" ,rust-nix-0.26) + ("rust-ouroboros" ,rust-ouroboros-0.17) ("rust-serde" ,rust-serde-1) ("rust-which" ,rust-which-4)) #:cargo-development-inputs `(("rust-assert-cmd" ,rust-assert-cmd-2) - ("rust-rstest" ,rust-rstest-0.15) - ("rust-rstest-reuse" ,rust-rstest-reuse-0.4) + ("rust-rstest" ,rust-rstest-0.18) + ("rust-rstest-reuse" ,rust-rstest-reuse-0.6) ("rust-tempfile" ,rust-tempfile-3)))) (home-page "https://github.com/ajeetdsouza/zoxide/") (synopsis "Fast way to navigate your file system") -- cgit v1.2.3 From 777a92dec0b7211c9a56756463f86d469ec6a59a Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Mon, 29 Jan 2024 11:55:09 +0200 Subject: gnu: zoxide: Install man-pages, completions. * gnu/packages/rust-apps.scm (zoxide)[arguments]: Add a phase to install the man-pages and the shell completions. Change-Id: I9487aadf8593b292dd2958ea764fd2b1588530bc --- gnu/packages/rust-apps.scm | 33 ++++++++++++++++++++++++++++++++- 1 file changed, 32 insertions(+), 1 deletion(-) (limited to 'gnu/packages/rust-apps.scm') diff --git a/gnu/packages/rust-apps.scm b/gnu/packages/rust-apps.scm index 37ab0c51c2..2d714c4861 100644 --- a/gnu/packages/rust-apps.scm +++ b/gnu/packages/rust-apps.scm @@ -2880,7 +2880,38 @@ advanced keybindings, word-level diff highlighting, syntax highlighting for `(("rust-assert-cmd" ,rust-assert-cmd-2) ("rust-rstest" ,rust-rstest-0.18) ("rust-rstest-reuse" ,rust-rstest-reuse-0.6) - ("rust-tempfile" ,rust-tempfile-3)))) + ("rust-tempfile" ,rust-tempfile-3)) + #:phases + #~(modify-phases %standard-phases + (add-after 'install 'install-more + (lambda _ + (let* ((out #$output) + (share (string-append out "/share")) + (man1 (string-append share "/man/man1")) + (bash-completions-dir + (string-append out "/etc/bash-completion.d")) + (zsh-completions-dir + (string-append share "/zsh/site-functions")) + (fish-completions-dir + (string-append share "/fish/vendor_completions.d")) + (elvish-completions-dir + (string-append share "/elvish/lib"))) + ;; The completions are generated in build.rs. + (mkdir-p man1) + (mkdir-p bash-completions-dir) + (mkdir-p elvish-completions-dir) + (for-each (lambda (file) + (install-file file man1)) + (find-files "man/man1")) + (copy-file "contrib/completions/zoxide.bash" + (string-append bash-completions-dir "/zoxide")) + (install-file "contrib/completions/zoxide.fish" + fish-completions-dir) + (install-file "contrib/completions/_zoxide" + zsh-completions-dir) + (copy-file "contrib/completions/zoxide.elv" + (string-append elvish-completions-dir + "/zoxide")))))))) (home-page "https://github.com/ajeetdsouza/zoxide/") (synopsis "Fast way to navigate your file system") (description -- cgit v1.2.3 From b517c10459226c4ae3e00409a13cfa32ab137149 Mon Sep 17 00:00:00 2001 From: VÖRÖSKŐI András Date: Tue, 30 Jan 2024 20:25:16 +0100 Subject: gnu: rbw: Update to 1.9.0. * gnu/packages/rust-apps.scm (rbw): Update to 1.9.0. [cargo-inputs]: Add rust-is-terminal-0.4. Replace rust-copypasta-0.8 with 0.10, rust-nix-0.24 with 0.26, rust-terminal-size-0.2 with 0.3, rust-tokio-tungstenite-0.19 with 0.20. Change-Id: Ia3675326ad5a82a6668e10ea19a86cf3cb2f8199 Signed-off-by: Efraim Flashner --- gnu/packages/rust-apps.scm | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) (limited to 'gnu/packages/rust-apps.scm') diff --git a/gnu/packages/rust-apps.scm b/gnu/packages/rust-apps.scm index 2d714c4861..b796279fe2 100644 --- a/gnu/packages/rust-apps.scm +++ b/gnu/packages/rust-apps.scm @@ -2055,7 +2055,7 @@ runs a command whenever it detects modifications.") (define-public rbw (package (name "rbw") - (version "1.8.3") + (version "1.9.0") (outputs '("out" "scripts")) (source (origin @@ -2063,7 +2063,7 @@ runs a command whenever it detects modifications.") (uri (crate-uri "rbw" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "1p8bzpqgdc20l2vbb80gsb2ri5j16af958bixpnnp73mfvwzxvg1")) + (base32 "0rlp55kcac9k0rz1zfhyslkfgsim1ka6bkllfzqrayvdfyxqq51i")) (modules '((guix build utils))) (snippet '(begin (substitute* "Cargo.toml" @@ -2084,7 +2084,7 @@ runs a command whenever it detects modifications.") ("rust-cbc" ,rust-cbc-0.1) ("rust-clap" ,rust-clap-4) ("rust-clap-complete" ,rust-clap-complete-4) - ("rust-copypasta" ,rust-copypasta-0.8) + ("rust-copypasta" ,rust-copypasta-0.10) ("rust-daemonize" ,rust-daemonize-0.5) ("rust-directories" ,rust-directories-5) ("rust-env-logger" ,rust-env-logger-0.10) @@ -2094,9 +2094,10 @@ runs a command whenever it detects modifications.") ("rust-hkdf" ,rust-hkdf-0.12) ("rust-hmac" ,rust-hmac-0.12) ("rust-humantime" ,rust-humantime-2) + ("rust-is-terminal" ,rust-is-terminal-0.4) ("rust-libc" ,rust-libc-0.2) ("rust-log" ,rust-log-0.4) - ("rust-nix" ,rust-nix-0.24) + ("rust-nix" ,rust-nix-0.26) ("rust-pbkdf2" ,rust-pbkdf2-0.12) ("rust-percent-encoding" ,rust-percent-encoding-2) ("rust-pkcs8" ,rust-pkcs8-0.10) @@ -2112,12 +2113,12 @@ runs a command whenever it detects modifications.") ("rust-sha1" ,rust-sha1-0.10) ("rust-sha2" ,rust-sha2-0.10) ("rust-tempfile" ,rust-tempfile-3) - ("rust-terminal-size" ,rust-terminal-size-0.2) + ("rust-terminal-size" ,rust-terminal-size-0.3) ("rust-textwrap" ,rust-textwrap-0.16) ("rust-thiserror" ,rust-thiserror-1) ("rust-tokio" ,rust-tokio-1) ("rust-tokio-stream" ,rust-tokio-stream-0.1) - ("rust-tokio-tungstenite" ,rust-tokio-tungstenite-0.19) + ("rust-tokio-tungstenite" ,rust-tokio-tungstenite-0.20) ("rust-totp-lite" ,rust-totp-lite-2) ("rust-url" ,rust-url-2) ("rust-uuid" ,rust-uuid-1) -- cgit v1.2.3 From 8a8c1f5d54d69637b62fdc401e8e5dd3027617f0 Mon Sep 17 00:00:00 2001 From: Herman Rimm Date: Tue, 30 Jan 2024 16:25:23 +0100 Subject: gnu: i3status-rust: Update to 0.32.3. * gnu/packages/rust-apps.scm (i3status-rust): Update to 0.32.3. [source]: Remove patch. Add snippet to adjust package dependencies. [arguments]: Remove features flag. Replace 'enable-unstable-features phase with 'remove-optional-icu-deps phase to skip the calendar option. [cargo-inputs]: Add rust-anyhow-1, rust-async-once-cell-0.5, rust-async-trait-0.1, rust-backon-0.4, rust-calibright-0.1, rust-clap-4, rust-clap-mangen-0.2, rust-dirs-5, rust-env-logger-0.10, rust-futures-0.3, rust-glob-0.3, rust-hyper-0.14, rust-libc-0.2, rust-log-0.4, rust-neli-0.6, rust-neli-wifi-0.6, rust-nom-7, rust-once-cell-1, rust-pandoc-0.8, rust-regex-1, rust-reqwest-0.11, rust-sensors-0.2, rust-serde-with-3, rust-shellexpand-3, rust-signal-hook-tokio-0.3, rust-smart-default-0.7, rust-swayipc-async-2, rust-thiserror-1, rust-tokio-1, rust-unicode-segmentation-1, rust-wayrs-client-1, rust-wayrs-protocols-0.13, rust-zbus-3. Replace rust-chrono-tz-0.5 with 0.8, rust-inotify-0.9 with 0.10, rust-maildir-0.5 with 0.6, rust-notmuch-0.6 with 0.8, rust-nix-0.20 with 0.27, rust-toml-0.5 with 0.8. Remove rust-curl-0.4, rust-dbus-0.9, rust-dbus-tree-0.9, rust-lazy-static-1, rust-nl80211-0.0.2, rust-progress-0.2, rust-serde-derive-1, rust-swayipc-2, rust-cpuprofiler-0.0. [cargo-development-inputs]: Remove rust-assert-fs-1. [inputs]: Switch from lm-sensors to its "lib" output. [synopsis]: Expand. * gnu/packages/patches/i3status-rust-enable-unstable-features.patch: Remove file. * gnu/local.mk (dist_patch_DATA): Remove it. Change-Id: I84e34ee0f60c3c10a013e3b8edc42f157db5732c Signed-off-by: Efraim Flashner --- gnu/local.mk | 1 - .../i3status-rust-enable-unstable-features.patch | 20 ---- gnu/packages/rust-apps.scm | 102 ++++++++++++++------- 3 files changed, 67 insertions(+), 56 deletions(-) delete mode 100644 gnu/packages/patches/i3status-rust-enable-unstable-features.patch (limited to 'gnu/packages/rust-apps.scm') diff --git a/gnu/local.mk b/gnu/local.mk index 917ff9db97..3b1a4db9d8 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -2009,7 +2009,6 @@ dist_patch_DATA = \ %D%/packages/patches/rust-1.70-fix-rustix-build.patch \ %D%/packages/patches/rust-cargo-edit-remove-ureq.patch \ %D%/packages/patches/rust-ring-0.17-ring-core.patch \ - %D%/packages/patches/i3status-rust-enable-unstable-features.patch \ %D%/packages/patches/rust-ndarray-remove-blas-src-dep.patch \ %D%/packages/patches/rust-ndarray-0.13-remove-blas-src.patch \ %D%/packages/patches/rust-ndarray-0.14-remove-blas-src.patch \ diff --git a/gnu/packages/patches/i3status-rust-enable-unstable-features.patch b/gnu/packages/patches/i3status-rust-enable-unstable-features.patch deleted file mode 100644 index 535b45d865..0000000000 --- a/gnu/packages/patches/i3status-rust-enable-unstable-features.patch +++ /dev/null @@ -1,20 +0,0 @@ -From 3006390c0058f06c255d9850327163aebcdc3b40 Mon Sep 17 00:00:00 2001 -From: Petr Hodina -Date: Mon, 11 Oct 2021 22:35:39 +0200 -Subject: [PATCH] Enable unstable features. - - -diff --git a/src/main.rs b/src/main.rs -index d9e964b..820e22e 100644 ---- a/src/main.rs -+++ b/src/main.rs -@@ -1,3 +1,6 @@ -+#![feature(bool_to_option)] -+#![feature(clamp)] -+ - #[macro_use] - mod de; - #[macro_use] --- -2.33.0 - diff --git a/gnu/packages/rust-apps.scm b/gnu/packages/rust-apps.scm index b796279fe2..f5fd0623ef 100644 --- a/gnu/packages/rust-apps.scm +++ b/gnu/packages/rust-apps.scm @@ -768,7 +768,7 @@ characters, ASCII whitespace characters, other ASCII characters and non-ASCII.") (define-public i3status-rust (package (name "i3status-rust") - (version "0.20.1") + (version "0.32.3") (source (origin (method git-fetch) @@ -776,42 +776,73 @@ characters, ASCII whitespace characters, other ASCII characters and non-ASCII.") (url "https://github.com/greshake/i3status-rust") (commit (string-append "v" version)))) (file-name (git-file-name name version)) - (patches (search-patches "i3status-rust-enable-unstable-features.patch")) (sha256 - (base32 "00gzm3g297s9bfp13vnb623p7dfac3g6cdhz2b3lc6l0kmnnqs1s")))) + (base32 "11n32kkfwlv38mj9018hp5rbg4w3d1vq9f6x8rhqahs19mm5amqa")) + (snippet + #~(begin + (use-modules (guix build utils)) + ;; This comes a few commits after the 0.32.3 tag. + (substitute* "Cargo.toml" + (("^(wayrs-client = \\{ version = \")0\\.12\"" all most) + (string-append most "1.0\"")) + (("^(wayrs-protocols = \\{ version = \")0\\.12\"" all most) + (string-append most "0.13\""))))))) (build-system cargo-build-system) (arguments - `(#:features '("pulseaudio" "libpulse-binding") - #:install-source? #f + `(#:install-source? #f #:cargo-inputs - (("rust-chrono" ,rust-chrono-0.4) - ("rust-chrono-tz" ,rust-chrono-tz-0.5) - ("rust-crossbeam-channel" ,rust-crossbeam-channel-0.5) - ("rust-curl" ,rust-curl-0.4) - ("rust-dbus" ,rust-dbus-0.9) - ("rust-dbus-tree" ,rust-dbus-tree-0.9) - ("rust-lazy-static" ,rust-lazy-static-1) - ("rust-nix" ,rust-nix-0.20) - ("rust-nl80211" ,rust-nl80211-0.0.2) + (("rust-anyhow" ,rust-anyhow-1) ; Dependency of xtask. + ("rust-async-once-cell" ,rust-async-once-cell-0.5) + ("rust-async-trait" ,rust-async-trait-0.1) + ("rust-backon" ,rust-backon-0.4) + ("rust-calibright" ,rust-calibright-0.1) + ("rust-chrono" ,rust-chrono-0.4) + ("rust-chrono-tz" ,rust-chrono-tz-0.8) + ("rust-clap" ,rust-clap-4) ; Dependency of xtask also. + ("rust-clap-mangen" ,rust-clap-mangen-0.2) ; Dependency of xtask. + ("rust-dirs" ,rust-dirs-5) + ("rust-env-logger" ,rust-env-logger-0.10) + ("rust-futures" ,rust-futures-0.3) + ("rust-glob" ,rust-glob-0.3) + ("rust-hyper" ,rust-hyper-0.14) + ("rust-inotify" ,rust-inotify-0.10) + ("rust-libc" ,rust-libc-0.2) + ("rust-libpulse-binding" ,rust-libpulse-binding-2) + ("rust-log" ,rust-log-0.4) + ("rust-maildir" ,rust-maildir-0.6) + ("rust-neli" ,rust-neli-0.6) + ("rust-neli-wifi" ,rust-neli-wifi-0.6) + ("rust-nix" ,rust-nix-0.27) + ("rust-nom" ,rust-nom-7) + ("rust-notmuch" ,rust-notmuch-0.8) + ("rust-once-cell" ,rust-once-cell-1) + ("rust-pandoc" ,rust-pandoc-0.8) ; Dependency of xtask. + ("rust-regex" ,rust-regex-1) + ("rust-reqwest" ,rust-reqwest-0.11) + ("rust-sensors" ,rust-sensors-0.2) ("rust-serde" ,rust-serde-1) - ("rust-serde-derive" ,rust-serde-derive-1) ("rust-serde-json" ,rust-serde-json-1) + ("rust-serde-with" ,rust-serde-with-3) + ("rust-shellexpand" ,rust-shellexpand-3) ("rust-signal-hook" ,rust-signal-hook-0.3) - ("rust-swayipc" ,rust-swayipc-2) - ("rust-toml" ,rust-toml-0.5) - ("rust-cpuprofiler" ,rust-cpuprofiler-0.0) - ("rust-inotify" ,rust-inotify-0.9) - ("rust-libpulse-binding" ,rust-libpulse-binding-2) - ("rust-maildir" ,rust-maildir-0.5) - ("rust-notmuch" ,rust-notmuch-0.6) - ("rust-progress" ,rust-progress-0.2)) - #:cargo-development-inputs - (("rust-assert-fs" ,rust-assert-fs-1)) + ("rust-signal-hook-tokio" ,rust-signal-hook-tokio-0.3) + ("rust-smart-default" ,rust-smart-default-0.7) + ("rust-swayipc-async" ,rust-swayipc-async-2) + ("rust-thiserror" ,rust-thiserror-1) + ("rust-tokio" ,rust-tokio-1) + ("rust-toml" ,rust-toml-0.8) + ("rust-unicode-segmentation" ,rust-unicode-segmentation-1) + ("rust-wayrs-client" ,rust-wayrs-client-1) + ("rust-wayrs-protocols" ,rust-wayrs-protocols-0.13) + ("rust-zbus" ,rust-zbus-3)) #:phases (modify-phases %standard-phases - (add-after 'unpack 'enable-unstable-features + (add-after 'unpack 'remove-optional-icu-deps (lambda _ - (setenv "RUSTC_BOOTSTRAP" "1"))) + (substitute* "Cargo.toml" + (("^icu_calendar.*") "") + (("^icu_datetime.*") "") + (("^icu_locid.*") "")))) (add-after 'unpack 'fix-resources-path (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) @@ -827,11 +858,12 @@ characters, ASCII whitespace characters, other ASCII characters and non-ASCII.") (let ((out (assoc-ref outputs "out")) (paths (map (lambda (input) - (string-append (assoc-ref inputs input) "/bin")) - '("alsa-utils" "coreutils" "curl" "dbus" "ibus" "iproute" - "kdeconnect" "lm-sensors" "pulseaudio" - "openssl" - "setxkbmap" "speedtest-cli" "xdg-utils" "xrandr" + (string-append + (assoc-ref inputs input) "/bin")) + '("alsa-utils" "coreutils" "curl" "dbus" + "ibus" "iproute" "kdeconnect" "lm-sensors" + "pulseaudio" "openssl" "setxkbmap" + "speedtest-cli" "xdg-utils" "xrandr" "zlib")))) (wrap-program (string-append out "/bin/i3status-rs") `("PATH" prefix ,paths)))))))) @@ -846,7 +878,7 @@ characters, ASCII whitespace characters, other ASCII characters and non-ASCII.") ("ibus" ,ibus) ("iproute" ,iproute) ("kdeconnect" ,kdeconnect) - ("lm-sensors" ,lm-sensors) + ("lm-sensors" ,lm-sensors "lib") ("pulseaudio" ,pulseaudio) ("openssl" ,openssl) ("setxkbmap" ,setxkbmap) @@ -854,8 +886,8 @@ characters, ASCII whitespace characters, other ASCII characters and non-ASCII.") ("xdg-utils" ,xdg-utils) ("xrandr" ,xrandr) ("zlib" ,zlib))) - (home-page "https://github.com/greshake/i3status-rust") - (synopsis "i3status, written in pure Rust") + (home-page "https://github.com/greshake/i3status-rust/") + (synopsis "Replacement for i3status, written in Rust") (description "@code{i3status-rs} is a feature-rich and resource-friendly replacement for i3status, written in pure Rust. It provides a way to display @code{blocks} of system information (time, battery status, volume, etc) on the i3 -- cgit v1.2.3 From b8711c4b9d04eaeef6ac57e5838cebb4fd4ac606 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Mon, 12 Feb 2024 13:47:31 +0200 Subject: gnu: i3status-rust: Substitute full paths of commands. * gnu/packages/rust-apps.scm (i3status-rust)[arguments]: Add a phase to substitute the full paths of commands. Adjust wrap-i3status phase to wrap fewer packages. [inputs]: Remove input labels. Change-Id: Ib712ff56562a8ec53965971c1d7ca5bfcbc2abdc --- gnu/packages/rust-apps.scm | 59 +++++++++++++++++++++++++++++----------------- 1 file changed, 38 insertions(+), 21 deletions(-) (limited to 'gnu/packages/rust-apps.scm') diff --git a/gnu/packages/rust-apps.scm b/gnu/packages/rust-apps.scm index f5fd0623ef..46dec9e9b1 100644 --- a/gnu/packages/rust-apps.scm +++ b/gnu/packages/rust-apps.scm @@ -849,6 +849,26 @@ characters, ASCII whitespace characters, other ASCII characters and non-ASCII.") (share (string-append out "/share"))) (substitute* "src/util.rs" (("/usr/share/i3status-rust") share))))) + (add-after 'unpack 'substitute-package-paths + (lambda* (#:key inputs #:allow-other-keys) + (define* (substitute-command-block* file command full-command) + (substitute* file + (((string-append "Command::new\\(\"" command "\"\\)")) + (string-append "Command::new(\"" full-command "\")")))) + (substitute-command-block* "src/blocks/keyboard_layout/set_xkb_map.rs" + "setxkbmap" (search-input-file inputs "/bin/setxkbmap")) + (substitute-command-block* "src/blocks/sound/alsa.rs" + "alsactl" (search-input-file inputs "/sbin/alsactl")) + (substitute-command-block* "src/blocks/sound/alsa.rs" + "amixer" (search-input-file inputs "/bin/amixer")) + (substitute-command-block* "src/blocks/speedtest.rs" + "speedtest-cli" (search-input-file inputs "/bin/speedtest-cli")) + (substitute-command-block* "src/blocks/xrandr.rs" + "xrandr" (search-input-file inputs "/bin/xrandr")) + (substitute-command-block* "src/util.rs" + "sh" (search-input-file inputs "/bin/sh")) + (substitute-command-block* "src/subprocess.rs" + "sh" (search-input-file inputs "/bin/sh")))) (add-after 'install 'install-resources (lambda* (#:key outputs #:allow-other-keys) (let ((out (assoc-ref outputs "out"))) @@ -860,32 +880,29 @@ characters, ASCII whitespace characters, other ASCII characters and non-ASCII.") (lambda (input) (string-append (assoc-ref inputs input) "/bin")) - '("alsa-utils" "coreutils" "curl" "dbus" - "ibus" "iproute" "kdeconnect" "lm-sensors" - "pulseaudio" "openssl" "setxkbmap" - "speedtest-cli" "xdg-utils" "xrandr" - "zlib")))) + '("coreutils" "curl" "ibus" "iproute2" "kdeconnect" + "xdg-utils" "zlib")))) (wrap-program (string-append out "/bin/i3status-rs") `("PATH" prefix ,paths)))))))) (native-inputs (list pkg-config)) (inputs - `(("alsa-utils" ,alsa-utils) - ("bash-minimal" ,bash-minimal) - ("coreutils" ,coreutils) - ("curl" ,curl) - ("dbus" ,dbus) - ("ibus" ,ibus) - ("iproute" ,iproute) - ("kdeconnect" ,kdeconnect) - ("lm-sensors" ,lm-sensors "lib") - ("pulseaudio" ,pulseaudio) - ("openssl" ,openssl) - ("setxkbmap" ,setxkbmap) - ("speedtest-cli" ,speedtest-cli) - ("xdg-utils" ,xdg-utils) - ("xrandr" ,xrandr) - ("zlib" ,zlib))) + (list alsa-utils + bash-minimal + coreutils + curl + dbus + ibus + iproute + kdeconnect + (list lm-sensors "lib") + pulseaudio + openssl + setxkbmap + speedtest-cli + xdg-utils + xrandr + zlib)) (home-page "https://github.com/greshake/i3status-rust/") (synopsis "Replacement for i3status, written in Rust") (description "@code{i3status-rs} is a feature-rich and resource-friendly -- cgit v1.2.3 From e9704f0a1f8edd5bf4dfef139d69a88c02e67c80 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Mon, 12 Feb 2024 13:49:52 +0200 Subject: gnu: i3status-rust: Remove some inputs. * gnu/packages/rust-apps.scm (i3status-rust)[inputs]: Remove coreutils, curl, ibus, xdg-utils, zlib. Change-Id: I5466d369158be437ae545faa7a3dc4fc08902fb4 --- gnu/packages/rust-apps.scm | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) (limited to 'gnu/packages/rust-apps.scm') diff --git a/gnu/packages/rust-apps.scm b/gnu/packages/rust-apps.scm index 46dec9e9b1..93eb4ca68b 100644 --- a/gnu/packages/rust-apps.scm +++ b/gnu/packages/rust-apps.scm @@ -880,8 +880,7 @@ characters, ASCII whitespace characters, other ASCII characters and non-ASCII.") (lambda (input) (string-append (assoc-ref inputs input) "/bin")) - '("coreutils" "curl" "ibus" "iproute2" "kdeconnect" - "xdg-utils" "zlib")))) + '("iproute2" "kdeconnect")))) (wrap-program (string-append out "/bin/i3status-rs") `("PATH" prefix ,paths)))))))) (native-inputs @@ -889,10 +888,7 @@ characters, ASCII whitespace characters, other ASCII characters and non-ASCII.") (inputs (list alsa-utils bash-minimal - coreutils - curl dbus - ibus iproute kdeconnect (list lm-sensors "lib") @@ -900,9 +896,7 @@ characters, ASCII whitespace characters, other ASCII characters and non-ASCII.") openssl setxkbmap speedtest-cli - xdg-utils - xrandr - zlib)) + xrandr)) (home-page "https://github.com/greshake/i3status-rust/") (synopsis "Replacement for i3status, written in Rust") (description "@code{i3status-rs} is a feature-rich and resource-friendly -- cgit v1.2.3 From a733604598c112f55990261a9168a892bfe36b08 Mon Sep 17 00:00:00 2001 From: Tomas Volf <~@wolfsden.cz> Date: Thu, 15 Feb 2024 21:26:59 +0100 Subject: gnu: Add netavark. * gnu/packages/rust-apps.scm (netavark): New variable. Change-Id: I0febde1f419fe16154e55b7a72dd29554e939fba Signed-off-by: Efraim Flashner --- gnu/packages/rust-apps.scm | 61 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) (limited to 'gnu/packages/rust-apps.scm') diff --git a/gnu/packages/rust-apps.scm b/gnu/packages/rust-apps.scm index 93eb4ca68b..01e01ecba3 100644 --- a/gnu/packages/rust-apps.scm +++ b/gnu/packages/rust-apps.scm @@ -29,6 +29,7 @@ ;;; Copyright © 2023 Steve George ;;; Copyright © 2024 Troy Figiel ;;; Copyright © 2024 Herman Rimm +;;; Copyright © 2024 Tomas Volf <~@wolfsden.cz> ;;; ;;; This file is part of GNU Guix. ;;; @@ -87,6 +88,7 @@ #:use-module (gnu packages pcre) #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) + #:use-module (gnu packages protobuf) #:use-module (gnu packages pulseaudio) #:use-module (gnu packages python) #:use-module (gnu packages python-build) @@ -1280,6 +1282,65 @@ on the terminal in a visually appealing way.") @code{cffi} bindings as well as rust binaries as python packages.") (license (list license:expat license:asl2.0)))) +(define-public netavark + (package + (name "netavark") + (version "1.10.3") + (source + (origin + (method url-fetch) + (uri (crate-uri "netavark" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1viyj9xqq9hkcsghrfx7wjmky3hkxfr96952f9favd4zg9ih64yw")))) + (build-system cargo-build-system) + (arguments + `(#:install-source? #f + #:cargo-inputs (("rust-anyhow" ,rust-anyhow-1) + ("rust-chrono" ,rust-chrono-0.4) + ("rust-clap" ,rust-clap-4) + ("rust-env-logger" ,rust-env-logger-0.11) + ("rust-fs2" ,rust-fs2-0.4) + ("rust-futures-channel" ,rust-futures-channel-0.3) + ("rust-futures-core" ,rust-futures-core-0.3) + ("rust-futures-util" ,rust-futures-util-0.3) + ("rust-ipnet" ,rust-ipnet-2) + ("rust-iptables" ,rust-iptables-0.5) + ("rust-libc" ,rust-libc-0.2) + ("rust-log" ,rust-log-0.4) + ("rust-mozim" ,rust-mozim-0.2) + ("rust-netlink-packet-core" ,rust-netlink-packet-core-0.7) + ("rust-netlink-packet-route" ,rust-netlink-packet-route-0.18) + ("rust-netlink-packet-utils" ,rust-netlink-packet-utils-0.5) + ("rust-netlink-sys" ,rust-netlink-sys-0.8) + ("rust-nftables" ,rust-nftables-0.3) + ("rust-nispor" ,rust-nispor-1) + ("rust-nix" ,rust-nix-0.27) + ("rust-prost" ,rust-prost-0.12) + ("rust-rand" ,rust-rand-0.8) + ("rust-serde" ,rust-serde-1) + ("rust-serde-value" ,rust-serde-value-0.7) + ("rust-serde-json" ,rust-serde-json-1) + ("rust-sha2" ,rust-sha2-0.10) + ("rust-sysctl" ,rust-sysctl-0.5) + ("rust-tokio" ,rust-tokio-1) + ("rust-tokio-stream" ,rust-tokio-stream-0.1) + ("rust-tonic" ,rust-tonic-0.10) + ("rust-tonic-build" ,rust-tonic-build-0.10) + ("rust-tower" ,rust-tower-0.4) + ("rust-url" ,rust-url-2) + ("rust-zbus" ,rust-zbus-3)) + #:cargo-development-inputs (("rust-once-cell" ,rust-once-cell-1) + ("rust-rand" ,rust-rand-0.8) + ("rust-tempfile" ,rust-tempfile-3)))) + (native-inputs (list protobuf)) + (home-page "https://github.com/containers/netavark") + (synopsis "Container network stack") + (description "Netavark is a rust based network stack for containers. It +is being designed to work with Podman but is also applicable for other OCI +container management applications.") + (license license:asl2.0))) + (define-public ripgrep (package (name "ripgrep") -- cgit v1.2.3