diff options
Diffstat (limited to 'gnu/packages/rust-apps.scm')
-rw-r--r-- | gnu/packages/rust-apps.scm | 3167 |
1 files changed, 946 insertions, 2221 deletions
diff --git a/gnu/packages/rust-apps.scm b/gnu/packages/rust-apps.scm index 00611559e2..024be3f141 100644 --- a/gnu/packages/rust-apps.scm +++ b/gnu/packages/rust-apps.scm @@ -6,11 +6,11 @@ ;;; Copyright © 2020 Leo Famulari <leo@famulari.name> ;;; Copyright © 2020 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2020 Gabriel Arazas <foo.dogsquared@gmail.com> -;;; Copyright © 2020-2024 Nicolas Goaziou <mail@nicolasgoaziou.fr> +;;; Copyright © 2020-2025 Nicolas Goaziou <mail@nicolasgoaziou.fr> ;;; Copyright © 2020 Arun Isaac <arunisaac@systemreboot.net> ;;; Copyright © 2021 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2021 Sharlatan Hellseher <sharlatanus@gmail.ccom> -;;; Copyright © 2021, 2022 Zheng Junjie <873216071@qq.com> +;;; Copyright © 2021, 2022, 2025 Zheng Junjie <z572@z572.online> ;;; Copyright © 2021 Alexandru-Sergiu Marton <brown121407@posteo.ro> ;;; Copyright © 2021, 2023, 2024 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2021, 2022 Petr Hodina <phodina@protonmail.com> @@ -32,9 +32,14 @@ ;;; Copyright © 2024 Tomas Volf <~@wolfsden.cz> ;;; Copyright © 2024 Suhail Singh <suhail@bayesians.ca> ;;; Copyright © 2024 Jordan Moore <lockbox@struct.foo> +;;; Copyright © 2024 muradm <mail@muradm.net> ;;; Copyright © 2024 normally_js <normally_js@posteo.net> ;;; Copyright © 2025 Divya Ranjan Pattanaik <divya@subvertising.org> ;;; Copyright © 2025 Andrew Wong <wongandj@icloud.com> +;;; Copyright © 2024 Danny Milosavljevic <dannym@friendly-machines.com> +;;; Copyright © 2024 David Elsing <david.elsing@posteo.net> +;;; Copyright © 2025 Gabriel Santos <gabrielsantosdesouza@disroot.org> +;;; Copyright © 2025 Timo Wilken <guix@twilken.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -56,6 +61,7 @@ #:use-module (guix build-system glib-or-gtk) #:use-module (guix build-system meson) #:use-module (guix build-system pyproject) + #:use-module (guix build-system python) #:use-module (guix deprecation) #:use-module (guix download) #:use-module (guix gexp) @@ -71,20 +77,6 @@ #:use-module (gnu packages c) #:use-module (gnu packages cmake) #:use-module (gnu packages compression) - #:use-module (gnu packages crates-apple) - #:use-module (gnu packages crates-audio) - #:use-module (gnu packages crates-check) - #:use-module (gnu packages crates-compression) - #:use-module (gnu packages crates-crypto) - #:use-module (gnu packages crates-database) - #:use-module (gnu packages crates-io) - #:use-module (gnu packages crates-graphics) - #:use-module (gnu packages crates-gtk) - #:use-module (gnu packages crates-shell) - #: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 documentation) @@ -117,8 +109,11 @@ #:use-module (gnu packages python) #:use-module (gnu packages python-build) #:use-module (gnu packages python-xyz) + #:use-module (gnu packages rust) #:use-module (gnu packages sqlite) + #:use-module (gnu packages textutils) #:use-module (gnu packages tls) + #:use-module (gnu packages tree-sitter) #:use-module (gnu packages version-control) #:use-module (gnu packages webkit) #:use-module (gnu packages xorg)) @@ -126,35 +121,18 @@ (define-public aardvark-dns (package (name "aardvark-dns") - (version "1.13.0") + (version "1.14.0") (source (origin (method url-fetch) (uri (crate-uri "aardvark-dns" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "0765p0jscj9c061rvb3dv922lnysvsk2xw88scjf41gr20hly3g6")) - (modules '((guix build utils))) - (snippet - '(begin (substitute* (find-files "." "^Cargo\\.toml$") - (("\"~([[:digit:]]+(\\.[[:digit:]]+)*)" _ version) - (string-append "\"^" version))))))) + (base32 "1d2bs5lmijv6s3n71gqc986n1wy7ny9w74741njjix7932a7yd5f")))) (build-system cargo-build-system) (arguments - `(#:install-source? #f - #:cargo-inputs (("rust-arc-swap" ,rust-arc-swap-1) - ("rust-chrono" ,rust-chrono-0.4) - ("rust-clap" ,rust-clap-4) - ("rust-flume" ,rust-flume-0.11) - ("rust-futures-util" ,rust-futures-util-0.3) - ("rust-hickory-client" ,rust-hickory-client-0.24) - ("rust-hickory-proto" ,rust-hickory-proto-0.24) - ("rust-hickory-server" ,rust-hickory-server-0.24) - ("rust-libc" ,rust-libc-0.2) - ("rust-log" ,rust-log-0.4) - ("rust-nix" ,rust-nix-0.29) - ("rust-syslog" ,rust-syslog-7) - ("rust-tokio" ,rust-tokio-1)))) + `(#:install-source? #f)) + (inputs (cargo-inputs 'aardvark-dns)) (home-page "https://github.com/containers/aardvark-dns") (synopsis "Container-focused DNS A/AAAA record server") (description @@ -165,33 +143,19 @@ records. It can forward other requests to configured resolvers.") (define-public agate (package (name "agate") - (version "3.3.11") + (version "3.3.14") (source (origin (method url-fetch) (uri (crate-uri "agate" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "0m18vsbrs4crg618vckywn5qsy36gd1vb10h4k92q15zaarrv24a")))) + (base32 "1g1zrk3zmyckafcy8rjqjpk9hmas8wgxydhgm70cirsxhz661as6")))) (build-system cargo-build-system) (arguments - `(#:install-source? #f - #:cargo-inputs - (("rust-configparser" ,rust-configparser-3) - ("rust-env-logger" ,rust-env-logger-0.11) - ("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-percent-encoding" ,rust-percent-encoding-2) - ("rust-rcgen" ,rust-rcgen-0.13) - ("rust-tokio" ,rust-tokio-1) - ("rust-tokio-rustls" ,rust-tokio-rustls-0.26) - ("rust-url" ,rust-url-2)) - #:cargo-development-inputs (("rust-trotter" ,rust-trotter-1)))) + `(#:install-source? #f)) (native-inputs (list pkg-config)) - (inputs (list openssl)) + (inputs (cons openssl (cargo-inputs 'agate))) (home-page "https://github.com/mbrubeck/agate") (synopsis "Very simple server for the Gemini hypertext protocol") (description @@ -218,69 +182,26 @@ low-end hardware and serving many concurrent requests.") #~(begin (use-modules (guix build utils)) ;; Use a packaged version of web-view. (substitute* "Cargo.toml" - (("git = .*web-view\",") "version = \"0.7.3\",") + (("git = .*web-view\",") "version = \"*\",") ((", git = .*ureq\"") "") (("git = .*ecies-ed25519-ng.*version") "version")))))) (build-system cargo-build-system) (arguments - `(#:cargo-test-flags + `(#:install-source? #f + #:cargo-test-flags '("--release" "--" "--skip=dns::client::tests::test_tcp_client" - "--skip=dns::client::tests::test_udp_client") - #:cargo-inputs - (("rust-getopts" ,rust-getopts-0.2) - ("rust-log" ,rust-log-0.4) - ("rust-simplelog" ,rust-simplelog-0.12) - ("rust-toml" ,rust-toml-0.8) - ("rust-digest" ,rust-digest-0.10) - ("rust-sha2" ,rust-sha2-0.10) - ("rust-ed25519-dalek" ,rust-ed25519-dalek-2) - ("rust-x25519-dalek" ,rust-x25519-dalek-2) - ("rust-ecies-ed25519-ng" ,rust-ecies-ed25519-ng-0.5) - ("rust-chacha20poly1305" ,rust-chacha20poly1305-0.10) - ("rust-signature" ,rust-signature-2) - ("rust-blakeout" ,rust-blakeout-0.3) - ("rust-num-cpus" ,rust-num-cpus-1) - ("rust-byteorder" ,rust-byteorder-1) - ("rust-serde" ,rust-serde-1) - ("rust-serde-json" ,rust-serde-json-1) - ("rust-bincode" ,rust-bincode-1) - ("rust-serde-cbor" ,rust-serde-cbor-0.11) - ("rust-base64" ,rust-base64-0.22) - ("rust-num-bigint" ,rust-num-bigint-0.4) - ("rust-num-traits" ,rust-num-traits-0.2) - ("rust-chrono" ,rust-chrono-0.4) - ("rust-rand" ,rust-rand-0.8) - ("rust-sqlite" ,rust-sqlite-0.36) - ("rust-uuid" ,rust-uuid-1) - ("rust-mio" ,rust-mio-1) - ("rust-ureq" ,rust-ureq-2) - ("rust-lru" ,rust-lru-0.12) - ("rust-derive-more" ,rust-derive-more-0.99) - ("rust-lazy-static" ,rust-lazy-static-1) - ("rust-spmc" ,rust-spmc-0.3) - ("rust-tinyfiledialogs" ,rust-tinyfiledialogs-3) - ("rust-web-view" ,rust-web-view-0.7) - ("rust-open" ,rust-open-5) - ("rust-winapi" ,rust-winapi-0.3) - ("rust-windows-service" ,rust-windows-service-0.7) - ("rust-thread-priority" ,rust-thread-priority-1) - ("rust-winres" ,rust-winres-0.1)) - #:cargo-development-inputs - (("rust-serde-bytes" ,rust-serde-bytes-0.11) - ("rust-serde-derive" ,rust-serde-derive-1)))) + "--skip=dns::client::tests::test_udp_client"))) (native-inputs (list pkg-config)) (inputs - (list at-spi2-core - gtk - glib - pango - sqlite - webkitgtk-with-libsoup2 - ;; Packaged from a git checkout, so add it here so we can grab the - ;; sources from the cargo tarball we create while building it. - rust-ecies-ed25519-ng-0.5)) + (cons* at-spi2-core + gtk + glib + pango + sqlite + webkitgtk-with-libsoup2 + (cargo-inputs 'alfis))) (home-page "https://github.com/Revertron/Alfis") (synopsis "Alternative Free Identity System") (description @@ -309,46 +230,6 @@ alternative zones.") (arguments (list #:install-source? #f - #:cargo-inputs - `(("rust-ansi-colours" ,rust-ansi-colours-1) - ("rust-bincode" ,rust-bincode-1) - ("rust-bugreport" ,rust-bugreport-0.5) - ("rust-bytesize" ,rust-bytesize-1) - ("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-encoding-rs" ,rust-encoding-rs-0.8) - ("rust-etcetera" ,rust-etcetera-0.8) - ("rust-flate2" ,rust-flate2-1) - ("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.9) - ("rust-shell-words" ,rust-shell-words-1) - ("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-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)) #:phases #~(modify-phases %standard-phases (add-before 'build 'pre-build @@ -376,7 +257,7 @@ alternative zones.") fish-completions-dir) (install-file "target/assets/manual/bat.1" man1))))))) (native-inputs (list pkg-config)) - (inputs (list libgit2-1.7 zlib)) + (inputs (cons* libgit2-1.7 oniguruma zlib (cargo-inputs 'bat))) (home-page "https://github.com/sharkdp/bat") (synopsis "@command{cat} clone with syntax highlighting and git integration") (description @@ -410,50 +291,6 @@ paging.") "--skip=valid_config_tests::test_styling_sanity_check" "--skip=valid_config_tests::test_styling_sanity_check_2" "--skip=valid_config_tests::test_theme") - #:cargo-inputs (("rust-anyhow" ,rust-anyhow-1) - ("rust-backtrace" ,rust-backtrace-0.3) - ("rust-cfg-if" ,rust-cfg-if-1) - ("rust-clap" ,rust-clap-4) - ("rust-clap-complete" ,rust-clap-complete-4) - ("rust-clap-complete-fig" ,rust-clap-complete-fig-4) - ("rust-clap-complete-nushell" ,rust-clap-complete-nushell-4) - ("rust-clap-mangen" ,rust-clap-mangen-0.2) - ("rust-concat-string" ,rust-concat-string-1) - ("rust-core-foundation" ,rust-core-foundation-0.9) - ("rust-crossterm" ,rust-crossterm-0.27) - ("rust-ctrlc" ,rust-ctrlc-3) - ("rust-dirs" ,rust-dirs-5) - ("rust-fern" ,rust-fern-0.6) - ("rust-filedescriptor" ,rust-filedescriptor-0.8) - ("rust-hashbrown" ,rust-hashbrown-0.14) - ("rust-humantime" ,rust-humantime-2) - ("rust-indexmap" ,rust-indexmap-2) - ("rust-indoc" ,rust-indoc-2) - ("rust-itertools" ,rust-itertools-0.13) - ("rust-libc" ,rust-libc-0.2) - ("rust-log" ,rust-log-0.4) - ("rust-mach2" ,rust-mach2-0.4) - ("rust-nvml-wrapper" ,rust-nvml-wrapper-0.10) - ("rust-ratatui" ,rust-ratatui-0.27) - ("rust-regex" ,rust-regex-1) - ("rust-rustix" ,rust-rustix-0.38) - ("rust-schemars" ,rust-schemars-0.8) - ("rust-serde" ,rust-serde-1) - ("rust-serde-json" ,rust-serde-json-1) - ("rust-starship-battery" ,rust-starship-battery-0.9) - ("rust-strum" ,rust-strum-0.26) - ("rust-sysctl" ,rust-sysctl-0.5) - ("rust-sysinfo" ,rust-sysinfo-0.30) - ("rust-time" ,rust-time-0.3) - ("rust-toml-edit" ,rust-toml-edit-0.22) - ("rust-unicode-ellipsis" ,rust-unicode-ellipsis-0.2) - ("rust-unicode-segmentation" ,rust-unicode-segmentation-1) - ("rust-unicode-width" ,rust-unicode-width-0.1) - ("rust-windows" ,rust-windows-0.58)) - #:cargo-development-inputs (("rust-assert-cmd" ,rust-assert-cmd-2) - ("rust-cargo-husky" ,rust-cargo-husky-1) - ("rust-portable-pty" ,rust-portable-pty-0.8) - ("rust-predicates" ,rust-predicates-3)) #:phases (modify-phases %standard-phases (add-after 'unpack 'enable-building-completions @@ -488,6 +325,7 @@ paging.") (mkdir-p nu-completions-dir) (copy-file "target/tmp/bottom/completion/btm.nu" (string-append nu-completions-dir "/btm")))))))) + (inputs (cargo-inputs 'bottom)) (home-page "https://github.com/ClementTsang/bottom") (synopsis "Customizable graphical process/system monitor for the terminal") (description @@ -495,6 +333,99 @@ paging.") the terminal.") (license license:expat))) +;; Note: It has expat license. +;; Note: That is supposedly the (unreleased) version 0.6.3. +(define %tinycbor-source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/intel/tinycbor") + (commit "d393c16f3eb30d0c47e6f9d92db62272f0ec4dc7"))) + (file-name "tinycbor-src") + (sha256 + (base32 + "0w38lzj0rz36skc1cn3shllc82c7nn32h88frb8f164a8haq3hkw")))) + +(define-public c2rust + (package + (name "c2rust") + (version "0.20.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "c2rust" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "05cm423m7v30b6gwgfzizhyqn3ncnfndin5zbkhyg9ah3pqccgps")))) + (build-system cargo-build-system) + (native-inputs (list clang cmake-minimal %tinycbor-source)) + (inputs (cons llvm (cargo-inputs 'c2rust))) + (arguments + (list #:install-source? #f + #:phases + #~(modify-phases %standard-phases + (add-before 'build 'patch + (lambda _ + ;; The build process will slightly patch the sources. + (copy-recursively + #+(this-package-native-input "tinycbor-src") + "/tmp/tinycbor") + (substitute* + (string-append "guix-vendor/rust-c2rust-ast-exporter-" + #$(package-version this-package) + ".tar.gz/src/CMakeLists.txt") + (("GIT_TAG .*") "") + (("GIT_REPOSITORY .*") + "SOURCE_DIR \"/tmp/tinycbor\"\n"))))))) + (home-page "https://c2rust.com/") + (synopsis "C to Rust translation, refactoring, and cross-checking") + (description + "This package provides C to Rust translation, refactoring, and cross-checking.") + (license license:bsd-3))) + +(define-public catppuccin-whiskers + (package + (name "catppuccin-whiskers") + (version "2.5.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "catppuccin-whiskers" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "0jjh8qkc7a0vn9wshfi6qmn8b03694kdz9r95fgxmw0fpw6vpnjn")))) + (build-system cargo-build-system) + (arguments '(#:install-source? #f)) + (inputs (cargo-inputs 'catppuccin-whiskers)) + (home-page "https://github.com/catppuccin/whiskers") + (synopsis "Soothing port creation tool for the high-spirited") + (description + "Whiskers is a helper tool that is custom-built to create ports of the +Catppuccin color theme, allowing developers to define template files which +the palette can be injected into.") + (license license:expat))) + +(define-public cargo-audit + (package + (name "cargo-audit") + (version "0.21.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "cargo-audit" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1a00yqpckkw86zh2hg7ra82c5fx0ird5766dyynimbvqiwg2ps0n")))) + (build-system cargo-build-system) + (arguments (list #:install-source? #f)) + (inputs (cargo-inputs 'cargo-audit)) + (home-page "https://rustsec.org/") + (synopsis "Audit Cargo.lock for crates with security vulnerabilities") + (description + "This package provides a Cargo subcommand, @command{cargo audit}, to +audit @file{Cargo.lock} for crates with security vulnerabilities.") + (license (list license:asl2.0 license:expat)))) + (define-public cargo-bloat (package (name "cargo-bloat") @@ -508,15 +439,8 @@ the terminal.") (base32 "0zhimclamvy4dggwnciras6w5ilc0wg0c0f7q8hq1qsmmf1w9qjn")))) (build-system cargo-build-system) (arguments - `(#:install-source? #f - #:cargo-inputs (("rust-binfarce" ,rust-binfarce-0.2) - ("rust-json" ,rust-json-0.12) - ("rust-memmap2" ,rust-memmap2-0.9) - ("rust-multimap" ,rust-multimap-0.10) - ("rust-pdb" ,rust-pdb-0.8) - ("rust-pico-args" ,rust-pico-args-0.5) - ("rust-regex" ,rust-regex-1) - ("rust-term-size" ,rust-term-size-0.3)))) + `(#:install-source? #f)) + (inputs (cargo-inputs 'cargo-bloat)) (home-page "https://github.com/RazrFalcon/cargo-bloat") (synopsis "Find out what takes most of the space in your executable") (description @@ -524,17 +448,38 @@ the terminal.") in your executable.") (license license:expat))) +(define-public cargo-license + (package + (name "cargo-license") + (version "0.6.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "cargo-license" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "0jw9sn91a23ry6sx3337gi6d56vykgar0i9rrrxgxh93mvdw0qgh")))) + (build-system cargo-build-system) + (arguments (list #:install-source? #f)) + (inputs (cargo-inputs 'cargo-license)) + (home-page "https://github.com/onur/cargo-license") + (synopsis "Cargo subcommand to see license of dependencies") + (description + "This package provides a Cargo subcommand, @command{cargo license}, to see +license of dependencies.") + (license license:expat))) + (define-public cargo-machete (package (name "cargo-machete") - (version "0.7.0") + (version "0.8.0") (source (origin (method url-fetch) (uri (crate-uri name version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "0ha5z1xr26mjprk4vbiy2v9wcwr7ww2jxiamlc8fqwi3d5hvhk1n")))) + (base32 "1f9dlc2db5kak85fpq4m31ca0jcb66v3vdjfkwj96h9q3q2hphn1")))) (build-system cargo-build-system) (arguments `(#:cargo-test-flags @@ -551,20 +496,10 @@ in your executable.") "--skip=search_unused::test_unused_renamed_in_spec" "--skip=search_unused::test_unused_transitive" "--skip=search_unused::test_with_bench" + "--skip=search_unused::test_workspace_from_relative_path" "--skip=test_ignore_target") - #:install-source? #f - #: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.20) - ("rust-grep" ,rust-grep-0.3) - ("rust-ignore" ,rust-ignore-0.4) - ("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.22) - ("rust-walkdir" ,rust-walkdir-2)))) + #:install-source? #f)) + (inputs (cargo-inputs 'cargo-machete)) (home-page "https://github.com/bnjbvr/cargo-machete") (synopsis "Find unused dependencies in Cargo.toml") (description "@code{cargo-machete} finds unused dependencies in Cargo.toml.") @@ -586,13 +521,6 @@ in your executable.") (build-system cargo-build-system) (arguments `(#:install-source? #f - #:cargo-inputs (("rust-clap" ,rust-clap-4) - ("rust-lazy-static" ,rust-lazy-static-1) - ("rust-percent-encoding" ,rust-percent-encoding-2) - ("rust-regex" ,rust-regex-1) - ("rust-serde" ,rust-serde-1) - ("rust-toml" ,rust-toml-0.8)) - #:cargo-development-inputs (("rust-assert-cli" ,rust-assert-cli-0.6)) #:phases (modify-phases %standard-phases (add-before 'check 'fix-test-warnings @@ -602,6 +530,7 @@ in your executable.") (when (file-exists? ".cargo/config") (rename-file ".cargo/config" ".cargo/config.toml"))))))) + (inputs (cargo-inputs 'cargo-readme)) (home-page "https://github.com/webern/cargo-readme") (synopsis "Cargo subcommand to generate README.md content from doc comments") @@ -623,31 +552,9 @@ comments.") (base32 "0hfg3drsmyif7g8sqc40a5nzkzygqr9gqdajhaydh7dah2w8gkyq")))) (build-system cargo-build-system) (arguments - `(#:install-source? #f - #:cargo-inputs (("rust-anyhow" ,rust-anyhow-1) - ("rust-askama" ,rust-askama-0.12) - ("rust-cargo-metadata" ,rust-cargo-metadata-0.15) - ("rust-clap" ,rust-clap-4) - ("rust-colored" ,rust-colored-2) - ("rust-env-logger" ,rust-env-logger-0.10) - ("rust-fxhash" ,rust-fxhash-0.2) - ("rust-hashbrown" ,rust-hashbrown-0.13) - ("rust-html-escape" ,rust-html-escape-0.2) - ("rust-indicatif" ,rust-indicatif-0.17) - ("rust-log" ,rust-log-0.4) - ("rust-mimalloc" ,rust-mimalloc-0.1) - ("rust-opener" ,rust-opener-0.6) - ("rust-rayon" ,rust-rayon-1) - ("rust-regex" ,rust-regex-1) - ("rust-rust-embed" ,rust-rust-embed-6) - ("rust-rustc-demangle" ,rust-rustc-demangle-0.1) - ("rust-serde" ,rust-serde-1) - ("rust-serde-json" ,rust-serde-json-1) - ("rust-serde-yaml" ,rust-serde-yaml-0.9)) - #:cargo-development-inputs (("rust-insta" ,rust-insta-1) - ("rust-tempfile" ,rust-tempfile-3)))) + `(#:install-source? #f)) (inputs - (list mimalloc)) + (cons mimalloc (cargo-inputs 'cargo-remark))) (home-page "https://github.com/kobzol/cargo-remark") (synopsis "Cargo subcommand for displaying LLVM optimization remarks from compiling Rust programs") @@ -669,24 +576,9 @@ compiling Rust programs.") (base32 "01dg77r3jbbbvf5icl46l24vhw2x8q13nqw414aj77p95jk2gf2g")))) (build-system cargo-build-system) (inputs - (list capstone)) + (cons capstone (cargo-inputs 'cargo-show-asm))) (arguments - `(#:install-source? #f - #:cargo-inputs (("rust-anyhow" ,rust-anyhow-1) - ("rust-ar" ,rust-ar-0.9) - ("rust-bpaf" ,rust-bpaf-0.9) - ("rust-capstone" ,rust-capstone-0.13) - ("rust-cargo-metadata" ,rust-cargo-metadata-0.19.2) - ("rust-line-span" ,rust-line-span-0.1) - ("rust-nom" ,rust-nom-7) - ("rust-object" ,rust-object-0.36) - ("rust-owo-colors" ,rust-owo-colors-4) - ("rust-regex" ,rust-regex-1) - ("rust-rustc-demangle" ,rust-rustc-demangle-0.1) - ("rust-same-file" ,rust-same-file-1) - ("rust-serde" ,rust-serde-1) - ("rust-supports-color" ,rust-supports-color-3)) - #:cargo-development-inputs (("rust-bpaf" ,rust-bpaf-0.9)))) + `(#:install-source? #f)) (home-page "https://github.com/pacak/cargo-show-asm") (synopsis "cargo subcommand that displays the generated assembly of Rust source code.") @@ -710,14 +602,8 @@ Rust source code.") (base32 "127ifblgp7v2vv8iafl88y1cjyskymqdi0nzsavnyab0x9jiskcr")))) (build-system cargo-build-system) (arguments - `(#:install-source? #f - #:cargo-inputs (("rust-clap" ,rust-clap-2) - ("rust-env-logger" ,rust-env-logger-0.6) - ("rust-failure" ,rust-failure-0.1) - ("rust-log" ,rust-log-0.4) - ("rust-serde" ,rust-serde-1) - ("rust-serde-json" ,rust-serde-json-1) - ("rust-void" ,rust-void-1)))) + `(#:install-source? #f)) + (inputs (cargo-inputs 'cargo-with)) (home-page "https://github.com/cbourjau/cargo-with/") (synopsis "Cargo extension to run build artifacts through tools like `gdb`.") @@ -741,32 +627,6 @@ through tools like `gdb`.") (arguments (list #:install-source? #f - #:cargo-inputs - (list rust-anyhow-1 - rust-chrono-0.4 - rust-clap-4 - rust-clap-complete-4 - rust-comfy-table-7 - rust-config-0.14 - rust-derive-new-0.7 - rust-dirs-5 - rust-forgejo-api-0.4 - rust-git2-0.19 - rust-indicatif-0.17 - rust-inquire-0.7 - rust-itertools-0.13 - rust-serde-1 - rust-serde-json-1 - rust-strum-0.26 - rust-termsize-0.1 - rust-time-0.3 - rust-tokio-1 - rust-toml-0.8 - rust-tracing-0.1 - rust-tracing-subscriber-0.3 - rust-url-2 - rust-webbrowser-1) - #:cargo-development-inputs (list rust-insta-1) #:phases #~(modify-phases %standard-phases (add-after 'install 'install-extras @@ -807,7 +667,8 @@ through tools like `gdb`.") (list this-package) '()) (list pkg-config))) - (inputs (list libgit2-1.8 libssh2 openssl zlib)) + (inputs + (cons* libgit2-1.8 libssh2 openssl zlib (cargo-inputs 'codeberg-cli))) (home-page "https://codeberg.org/Aviac/codeberg-cli") (synopsis "CLI Tool for codeberg similar to gh and glab") (description @@ -830,27 +691,9 @@ through tools like `gdb`.") (build-system cargo-build-system) (arguments (list - #:install-source? #f - #:cargo-inputs `(("rust-anyhow" ,rust-anyhow-1) - ("rust-bumpalo" ,rust-bumpalo-3) - ("rust-chic" ,rust-chic-1) - ("rust-clap" ,rust-clap-4) - ("rust-env-logger" ,rust-env-logger-0.10) - ("rust-hashbrown" ,rust-hashbrown-0.13) - ("rust-indexmap" ,rust-indexmap-2) - ("rust-itertools" ,rust-itertools-0.10) - ("rust-log" ,rust-log-0.4) - ("rust-nom" ,rust-nom-7) - ("rust-nom-locate" ,rust-nom-locate-4) - ("rust-railroad" ,rust-railroad-0.2) - ("rust-regex" ,rust-regex-1) - ("rust-roaring" ,rust-roaring-0.10) - ("rust-slice-group-by" ,rust-slice-group-by-0.3) - ("rust-tempfile" ,rust-tempfile-3) - ("rust-thiserror" ,rust-thiserror-1) - ("rust-ustr" ,rust-ustr-0.9)) - #:cargo-development-inputs `(("rust-proptest" ,rust-proptest-1)))) + #:install-source? #f)) (native-inputs (list git-minimal)) + (inputs (cargo-inputs 'complgen)) (home-page "https://github.com/adaszko/complgen") (synopsis "Declarative bash/fish/zsh completions without writing shell scripts") @@ -889,30 +732,6 @@ from a single, concise, @code{EBNF}-like grammar.") "--skip=test_lsusb_vidpid" ;; unable to find hwdb.bin database file "--skip=udev::hwdb::get") - #:cargo-inputs (("rust-clap" ,rust-clap-4) - ("rust-clap-complete" ,rust-clap-complete-4) - ("rust-clap-mangen" ,rust-clap-mangen-0.2) - ("rust-colored" ,rust-colored-2) - ("rust-dirs" ,rust-dirs-4) - ("rust-heck" ,rust-heck-0.4) - ("rust-itertools" ,rust-itertools-0.10) - ("rust-lazy-static" ,rust-lazy-static-1) - ("rust-log" ,rust-log-0.4) - ("rust-rand" ,rust-rand-0.8) - ("rust-rusb" ,rust-rusb-0.9) - ("rust-serde" ,rust-serde-1) - ("rust-serde-json" ,rust-serde-json-1) - ("rust-serde-with" ,rust-serde-with-2) - ("rust-simple-logger" ,rust-simple-logger-4) - ("rust-strum" ,rust-strum-0.24) - ("rust-strum-macros" ,rust-strum-macros-0.24) - ("rust-terminal-size" ,rust-terminal-size-0.2) - ("rust-udev" ,rust-udev-0.8) - ("rust-udevrs" ,rust-udevrs-0.3) - ("rust-usb-ids" ,rust-usb-ids-1)) - #:cargo-development-inputs - (("rust-assert-json-diff" ,rust-assert-json-diff-2) - ("rust-diff" ,rust-diff-0.1)) #:phases (modify-phases %standard-phases (add-after 'install 'install-extras @@ -926,7 +745,7 @@ from a single, concise, @code{EBNF}-like grammar.") (string-append out "/share/fish/vendor_completions.d")) (install-file "doc/_cyme" (string-append out "/share/zsh/site-functions")))))))) - (inputs (list libusb)) + (inputs (cons libusb (cargo-inputs 'cyme))) (native-inputs (list pkg-config)) (home-page "https://github.com/tuna-f1sh/cyme") (synopsis "List system USB buses and devices") @@ -963,10 +782,8 @@ similar to lsusb.") "--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-termcolor" ,rust-termcolor-1)))) + "--skip=tests_cli::test_bad_argument"))) + (inputs (cargo-inputs 'diffr)) (home-page "https://github.com/mookid/diffr") (synopsis "Longest Common Sequence based diff highlighting tool") (description @@ -974,6 +791,45 @@ similar to lsusb.") highlighting tool to ease code review from your terminal.") (license license:expat))) +(define-public difftastic + (package + (name "difftastic") + (version "0.63.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "difftastic" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0md332fch4b87akdvljzxp4m2k5yri7cpkz3n54jc762j7j9qmrz")))) + (build-system cargo-build-system) + (arguments + `(#:install-source? #f + #:cargo-test-flags + `("--release" "--" + "--skip=display::side_by_side::tests::test_display_hunks" + "--skip=display::style::tests::split_string_cjk" + "--skip=display::style::tests::split_string_cjk2" + "--skip=display::style::tests::split_string_simple" + "--skip=display::style::tests::split_string_unicode" + "--skip=display::style::tests::test_combining_char" + "--skip=display::style::tests::test_split_and_apply" + ,(string-append "--skip=display::style::tests::" + "test_split_and_apply_gap_between_styles_on_wrap_boundary") + "--skip=display::style::tests::test_split_and_apply_trailing_text" + "--skip=display::style::tests::test_split_and_apply_trailing_text_newline"))) + (inputs + (cons mimalloc (cargo-inputs 'difftastic))) + (home-page "https://difftastic.wilfred.me.uk/") + (synopsis "Structural diff command that understands syntax") + (description + "@command{difft} provides a structural diff that understands syntax. It +compares files using the syntax, not line-by-line providing accurate diffs +that are easier to read. It works with a variety of languages including +Javascript, Python, Rust and Scheme.") + (license license:expat))) + (define-public drill (package (name "drill") @@ -987,30 +843,11 @@ highlighting tool to ease code review from your terminal.") (base32 "0jp9r19zc9m3hgxc7a98fhyi1ga0qwjprxjsqaxiykmjpb86bxf3")))) (build-system cargo-build-system) (arguments - `(#:install-source? #f - #:cargo-inputs - (("rust-async-trait" ,rust-async-trait-0.1) - ("rust-clap" ,rust-clap-2) - ("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-openssl-sys" ,rust-openssl-sys-0.9) - ("rust-rand" ,rust-rand-0.8) - ("rust-regex" ,rust-regex-1) - ("rust-reqwest" ,rust-reqwest-0.11) - ("rust-serde" ,rust-serde-1) - ("rust-serde-json" ,rust-serde-json-1) - ("rust-tokio" ,rust-tokio-1) - ("rust-url" ,rust-url-2) - ("rust-yaml-rust" ,rust-yaml-rust-0.4)))) + `(#:install-source? #f)) (native-inputs (list pkg-config)) (inputs - (list openssl)) + (cons openssl (cargo-inputs 'drill))) (home-page "https://github.com/fcsonline/drill") (synopsis "HTTP load testing application") (description @@ -1031,14 +868,8 @@ Ansible syntax. Benchmark files can be written in YAML.") (base32 "1611h27i8fm3jndscd6w65z8z7w09nnrm61vdgs9kb8ln57gqm8x")))) (build-system cargo-build-system) (arguments - `(#:install-source? #f - #:cargo-inputs - (("rust-getopts" ,rust-getopts-0.2) - ("rust-regex" ,rust-regex-1) - ("rust-signal-hook" ,rust-signal-hook-0.1) - ("rust-terminal-size" ,rust-terminal-size-0.1) - ("rust-unicode-segmentation" ,rust-unicode-segmentation-1) - ("rust-unicode-width" ,rust-unicode-width-0.1)))) + `(#:install-source? #f)) + (inputs (cargo-inputs 'dutree)) (home-page "https://ownyourbits.com/2018/03/25/analyze-disk-usage-with-dutree/") (synopsis "Command line tool to analyze disk usage") (description @@ -1057,7 +888,7 @@ Features include: (define-public emacs-lsp-booster (package (name "emacs-lsp-booster") - (version "0.2.0") + (version "0.2.1") (source (origin (method git-fetch) @@ -1066,23 +897,12 @@ Features include: (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1xx32ms3mpi1clxf74mx7nanj0iw9qkmhi0a53fx8fkz0jw2fq8f")))) + (base32 "12vrgqyvm1841i9ld9b3axa9ybgqf3kr6nbfd0l4zdnhyljz3zxq")))) (build-system cargo-build-system) (arguments - (list - #:cargo-inputs `(("rust-anyhow" ,rust-anyhow-1) - ("rust-clap" ,rust-clap-4) - ("rust-clap-verbosity-flag" ,rust-clap-verbosity-flag-2) - ("rust-lazy-static" ,rust-lazy-static-1) - ("rust-log" ,rust-log-0.4) - ("rust-serde" ,rust-serde-1) - ("rust-serde-json" ,rust-serde-json-1) - ("rust-smallvec" ,rust-smallvec-1) - ("rust-env-logger" ,rust-env-logger-0.10)) - #:cargo-development-inputs `(("rust-emacs" ,rust-emacs-0.18) - ("rust-tempfile" ,rust-tempfile-3)) - #:install-source? #f)) + (list #:install-source? #f)) (native-inputs (list emacs)) ; Not emacs-minimal + (inputs (cargo-inputs 'emacs-lsp-booster)) (home-page "https://github.com/blahgeek/emacs-lsp-booster") (synopsis "Emacs LSP performance booster") (description @@ -1106,18 +926,9 @@ configuration instructions.") (base32 "182ry573q8kjsxx2hvxk9d6clahpll1vh50zvs5g652jd6a2f038")))) (build-system cargo-build-system) - (arguments - (list #:cargo-inputs `(("rust-anyhow" ,rust-anyhow-1) - ("rust-clap" ,rust-clap-4) - ("rust-env-logger" ,rust-env-logger-0.11) - ("rust-evdev-rs" ,rust-evdev-rs-0.6) - ("rust-libc" ,rust-libc-0.2) - ("rust-log" ,rust-log-0.4) - ("rust-serde" ,rust-serde-1) - ("rust-thiserror" ,rust-thiserror-1) - ("rust-toml" ,rust-toml-0.8)))) + (arguments (list #:install-source? #f)) (native-inputs (list pkg-config)) - (inputs (list libevdev)) + (inputs (cons libevdev (cargo-inputs 'evremap))) (home-page "https://github.com/wez/evremap") (synopsis "Keyboard input remappper") (description @@ -1134,49 +945,18 @@ console.") (define-public eza (package (name "eza") - (version "0.20.14") + (version "0.21.3") (source (origin (method url-fetch) (uri (crate-uri "eza" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "0lk94dwala52hc7jfk89wjky0p5szfirm6v3awpwhw99928jsx4n")))) + (base32 "09jksgqqsvzxha335a9cv5xqm1mr9gsamk85bg1giwnhqgfg1kkw")))) (build-system cargo-build-system) (arguments (list #:install-source? #f - #:cargo-inputs `(("rust-ansi-width" ,rust-ansi-width-0.1) - ("rust-backtrace" ,rust-backtrace-0.3) - ("rust-chrono" ,rust-chrono-0.4) - ("rust-dirs" ,rust-dirs-5) - ("rust-git2" ,rust-git2-0.19) - ("rust-glob" ,rust-glob-0.3) - ("rust-libc" ,rust-libc-0.2) - ("rust-locale" ,rust-locale-0.2) - ("rust-log" ,rust-log-0.4) - ("rust-natord" ,rust-natord-1) - ("rust-nu-ansi-term" ,rust-nu-ansi-term-0.50) - ("rust-number-prefix" ,rust-number-prefix-0.4) - ("rust-once-cell" ,rust-once-cell-1) - ("rust-palette" ,rust-palette-0.7) - ("rust-path-clean" ,rust-path-clean-1) - ("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-rayon" ,rust-rayon-1) - ("rust-serde" ,rust-serde-1) - ("rust-serde-norway" ,rust-serde-norway-0.9) - ("rust-terminal-size" ,rust-terminal-size-0.4) - ("rust-timeago" ,rust-timeago-0.4) - ("rust-unicode-width" ,rust-unicode-width-0.2) - ("rust-uutils-term-grid" ,rust-uutils-term-grid-0.6) - ("rust-uzers" ,rust-uzers-0.12) - ("rust-windows-sys" ,rust-windows-sys-0.59) - ("rust-zoneinfo-compiled" ,rust-zoneinfo-compiled-0.5)) - #:cargo-development-inputs `(("rust-criterion" ,rust-criterion-0.5) - ("rust-trycmd" ,rust-trycmd-0.15)) #:phases #~(modify-phases %standard-phases (add-after 'build 'build-manual @@ -1221,19 +1001,73 @@ console.") (if (supported-package? pandoc) (list pandoc) '()))) - (inputs (list libgit2-1.8 zlib)) - (home-page "https://github.com/eza-community/eza") + (inputs (cons* libgit2-1.9 zlib (cargo-inputs 'eza))) + (home-page "https://eza.rocks/") (synopsis "Modern replacement for ls") (description "@code{eza} 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. This package is the community maintained fork of @code{exa}.") - (license license:expat))) + (license license:eupl1.2))) (define-public exa (deprecated-package "exa" eza)) +(define-public fclones + (package + (name "fclones") + (version "0.35.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "fclones" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1danl1sn7l1b5wz27aqbx43nnvsm9nflly8l8xqf41c4ainq5j07")))) + (build-system cargo-build-system) + (arguments + (list + #:install-source? #f + #:modules + '((guix build cargo-build-system) + (guix build utils) + (ice-9 match)) + #:phases + #~(modify-phases %standard-phases + (add-after 'install 'install-completions + (lambda* (#:key native-inputs #:allow-other-keys) + (for-each + (match-lambda + ((shell . path) + (mkdir-p (in-vicinity #$output (dirname path))) + (let ((binary + (if #$(%current-target-system) + (search-input-file native-inputs "bin/fclones") + (in-vicinity #$output "bin/fclones")))) + (with-output-to-file (in-vicinity #$output path) + (lambda _ + (invoke binary "complete" shell)))))) + '(("bash" . "share/bash-completion/completions/fclones") + ("elvish" . "share/elvish/lib/fclones") + ("fish" . "share/fish/vendor_completions.d/fclones.fish") + ("zsh" . "share/zsh/site-functions/_fclones")))))))) + (native-inputs + (if (%current-target-system) + (list this-package) + '())) + (inputs (cargo-inputs 'fclones)) + (home-page "https://github.com/pkolaczk/fclones") + (synopsis "Find and operate on duplicate files") + (description + "@command{fclones} is a command line utility that identifies groups of +identical files and gets rid of the file copies you no longer need. It comes +with plenty of configuration options for controlling the search scope and +offers many ways of removing duplicates. For maximum flexibility, it +integrates well with other Unix utilities like @command{find} and it speaks +JSON, so you have a lot of control over the search and cleanup process.") + (license license:expat))) + (define-public fd (package (name "fd") @@ -1254,34 +1088,6 @@ This package is the community maintained fork of @code{exa}.") '(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-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-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.19) - ("rust-nix" ,rust-nix-0.29) - ("rust-normpath" ,rust-normpath-1) - ("rust-nu-ansi-term" ,rust-nu-ansi-term-0.50) - ("rust-regex" ,rust-regex-1) - ("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) - ("rust-filetime" ,rust-filetime-0.2) - ("rust-tempfile" ,rust-tempfile-3) - ("rust-test-case" ,rust-test-case-3)) #:phases #~(modify-phases %standard-phases (add-after 'unpack 'override-jemalloc @@ -1308,7 +1114,7 @@ This package is the community maintained fork of @code{exa}.") (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)) + (inputs (cons jemalloc (cargo-inputs 'fd))) (home-page "https://github.com/sharkdp/fd") (synopsis "Simple, fast and user-friendly alternative to find") (description @@ -1330,34 +1136,15 @@ defaults for 80% of the use cases.") (base32 "0a3f10317fv0qmwnv53vzs5dilax0xqhix3idrgjz4rcvjs42d25")))) (build-system cargo-build-system) (arguments - (list #:install-source? #f - #:cargo-inputs - (list rust-auth-git2-0.5 - rust-base64ct-1 - rust-cfg-if-1 - rust-clap-4 - rust-comrak-0.26 - rust-crossterm-0.27 - rust-directories-5 - rust-eyre-0.6 - rust-forgejo-api-0.5 - rust-futures-0.3 - rust-git2-0.19 - rust-hyper-1 - rust-hyper-util-0.1 - rust-open-5 - rust-rand-0.8 - rust-semver-1 - rust-serde-1 - rust-serde-json-1 - rust-sha256-1 - rust-soft-assert-0.1 - rust-time-0.3 - rust-tokio-1 - rust-url-2 - rust-uuid-1))) + (list #:install-source? #f)) (native-inputs (list pkg-config)) - (inputs (list libgit2-1.8 libssh2 openssl zlib)) + (inputs + (cons* libgit2-1.8 + libssh2 + oniguruma + openssl + zlib + (cargo-inputs 'forgejo-cli))) (home-page "https://codeberg.org/Cyborus/forgejo-cli/") (synopsis "CLI tool for Forgejo") (description "This package provides a CLI tool for Forgejo.") @@ -1366,37 +1153,18 @@ defaults for 80% of the use cases.") (define-public gitoxide (package (name "gitoxide") - (version "0.37.0") + (version "0.42.0") (source (origin (method url-fetch) (uri (crate-uri "gitoxide" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "0lhnra6xsp1bk67ixzjdxwpbs40ylc71vnyigikx867lbs96sd2l")))) + (base32 "19nrari83270csawjiyc88dm6s0h7lk0x9p8clbg7y8wj08g6rag")))) (build-system cargo-build-system) (arguments `(#:features '("gix-features/zlib-stock") #:install-source? #f - #:cargo-inputs (("rust-anyhow" ,rust-anyhow-1) - ("rust-clap" ,rust-clap-4) - ("rust-clap-complete" ,rust-clap-complete-4) - ("rust-crosstermion" ,rust-crosstermion-0.13) - ("rust-document-features" ,rust-document-features-0.2) - ("rust-env-logger" ,rust-env-logger-0.10) - ("rust-futures-lite" ,rust-futures-lite-2) - ("rust-gitoxide-core" ,gitoxide-core) - ("rust-gix" ,rust-gix-0.64) - ("rust-gix-features" ,rust-gix-features-0.38) - ("rust-is-terminal" ,rust-is-terminal-0.4) - ("rust-once-cell" ,rust-once-cell-1) - ("rust-prodash" ,rust-prodash-28) - ("rust-serde-derive" ,rust-serde-derive-1) - ("rust-terminal-size" ,rust-terminal-size-0.3) - ("rust-time" ,rust-time-0.3) - ("rust-tracing" ,rust-tracing-0.1) - ("rust-tracing-forest" ,rust-tracing-forest-0.1) - ("rust-tracing-subscriber" ,rust-tracing-subscriber-0.3)) #:phases (modify-phases %standard-phases (add-after 'install 'install-extras @@ -1453,7 +1221,7 @@ defaults for 80% of the use cases.") (list this-package) '()) (list cmake-minimal pkg-config))) - (inputs (list curl openssl zlib)) + (inputs (cons* curl openssl sqlite zlib (cargo-inputs 'gitoxide))) (home-page "https://github.com/GitoxideLabs/gitoxide") (synopsis "command-line application for interacting with git repositories") (description @@ -1461,78 +1229,24 @@ defaults for 80% of the use cases.") repositories.") (license (list license:expat license:asl2.0)))) -(define-public gitoxide-core - (package - (name "gitoxide-core") - (version "0.39.1") - (source - (origin - (method url-fetch) - (uri (crate-uri "gitoxide-core" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "005lbpwifm3450952p22q21rycclqp33xwnyfgbb0mnbs8s68rp9")))) - (build-system cargo-build-system) - (arguments - `(#:cargo-inputs (("rust-anyhow" ,rust-anyhow-1) - ("rust-async-io" ,rust-async-io-2) - ("rust-async-net" ,rust-async-net-2) - ("rust-async-trait" ,rust-async-trait-0.1) - ("rust-blocking" ,rust-blocking-1) - ("rust-bytesize" ,rust-bytesize-1) - ("rust-crossbeam-channel" ,rust-crossbeam-channel-0.5) - ("rust-document-features" ,rust-document-features-0.2) - ("rust-fs-err" ,rust-fs-err-2) - ("rust-futures-io" ,rust-futures-io-0.3) - ("rust-futures-lite" ,rust-futures-lite-2) - ("rust-gix" ,rust-gix-0.64) - ("rust-gix-archive" ,rust-gix-archive-0.13) - ("rust-gix-fsck" ,rust-gix-fsck-0.4) - ("rust-gix-pack" ,rust-gix-pack-0.51) - ("rust-gix-status" ,rust-gix-status-0.11) - ("rust-gix-transport" ,rust-gix-transport-0.42) - ("rust-gix-url" ,rust-gix-url-0.27) - ("rust-jwalk" ,rust-jwalk-0.8) - ("rust-layout-rs" ,rust-layout-rs-0.1) - ("rust-open" ,rust-open-5) - ("rust-parking-lot" ,rust-parking-lot-0.12) - ("rust-rusqlite" ,rust-rusqlite-0.31) - ("rust-serde" ,rust-serde-1) - ("rust-serde-json" ,rust-serde-json-1) - ("rust-smallvec" ,rust-smallvec-1) - ("rust-sysinfo" ,rust-sysinfo-0.30) - ("rust-tempfile" ,rust-tempfile-3) - ("rust-thiserror" ,rust-thiserror-1) - ("rust-tracing" ,rust-tracing-0.1) - ("rust-tracing-forest" ,rust-tracing-forest-0.1) - ("rust-tracing-subscriber" ,rust-tracing-subscriber-0.3)))) - (home-page "https://github.com/GitoxideLabs/gitoxide") - (synopsis "The library implementing all capabilities of the gitoxide CLI") - (description - "This package provides the library implementing all capabilities of the -gitoxide CLI.") - ;; Only used as an implementation detail for gitoxide. - (properties `((hidden? . #t))) - (license (list license:expat license:asl2.0)))) - (define-public gitui (package (name "gitui") - (version "0.26.3") + (version "0.27.0") (source (origin (method url-fetch) (uri (crate-uri "gitui" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "0pqx3j2spw3xc9wipzcwdxn2l58x2fa803wi528370rl83zznhk6")) + (base32 "0mbf7gqnlkprx6scyghnp0g5cq2ap0j9c48gnpv0kqlhig0c5r07")) (modules '((guix build utils))) (snippet - '(begin (substitute* "Cargo.toml" - (("\"=([[:digit:]]+(\\.[[:digit:]]+)*)" _ version) - (string-append "\"^" version)) - ;; Remove vendor-openssl from the default features. - ((".*\"vendor-openssl\",.*") "")))))) + '(begin + (delete-file-recursively "wix") + (substitute* "Cargo.toml" + ;; Remove vendor-openssl from the default features. + ((".*\"vendor-openssl\",.*") "")))))) (build-system cargo-build-system) (arguments `(#:cargo-test-flags @@ -1545,52 +1259,9 @@ gitoxide CLI.") (add-after 'unpack 'set-release-variable (lambda _ (setenv "GITUI_RELEASE" "true") - (setenv "BUILD_GIT_COMMIT_ID" "GNUGUIX")))) - #:cargo-inputs (("rust-anyhow" ,rust-anyhow-1) - ("rust-asyncgit" ,rust-asyncgit-0.26) - ("rust-backtrace" ,rust-backtrace-0.3) - ("rust-bitflags" ,rust-bitflags-2) - ("rust-bugreport" ,rust-bugreport-0.5) - ("rust-bwrap" ,rust-bwrap-1) - ("rust-bytesize" ,rust-bytesize-1) - ("rust-chrono" ,rust-chrono-0.4) - ("rust-clap" ,rust-clap-4) - ("rust-crossbeam-channel" ,rust-crossbeam-channel-0.5) - ("rust-crossterm" ,rust-crossterm-0.27) - ("rust-dirs" ,rust-dirs-5) - ("rust-easy-cast" ,rust-easy-cast-0.5) - ("rust-filetreelist" ,rust-filetreelist-0.5) - ("rust-fuzzy-matcher" ,rust-fuzzy-matcher-0.3) - ("rust-gh-emoji" ,rust-gh-emoji-1) - ("rust-indexmap" ,rust-indexmap-2) - ("rust-itertools" ,rust-itertools-0.12) - ("rust-log" ,rust-log-0.4) - ("rust-notify" ,rust-notify-6) - ("rust-notify-debouncer-mini" ,rust-notify-debouncer-mini-0.4) - ("rust-once-cell" ,rust-once-cell-1) - ("rust-parking-lot-core" ,rust-parking-lot-core-0.9) - ("rust-ratatui" ,rust-ratatui-0.26) - ("rust-rayon-core" ,rust-rayon-core-1) - ("rust-ron" ,rust-ron-0.8) - ("rust-scopeguard" ,rust-scopeguard-1) - ("rust-scopetime" ,rust-scopetime-0.1) - ("rust-serde" ,rust-serde-1) - ("rust-shellexpand" ,rust-shellexpand-3) - ("rust-simplelog" ,rust-simplelog-0.12) - ("rust-struct-patch" ,rust-struct-patch-0.4) - ("rust-syntect" ,rust-syntect-5) - ("rust-tui-textarea" ,rust-tui-textarea-0.4) - ("rust-two-face" ,rust-two-face-0.4) - ("rust-unicode-segmentation" ,rust-unicode-segmentation-1) - ("rust-unicode-truncate" ,rust-unicode-truncate-1) - ("rust-unicode-width" ,rust-unicode-width-0.1) - ("rust-which" ,rust-which-6)) - #:cargo-development-inputs - (("rust-env-logger" ,rust-env-logger-0.11) - ("rust-pretty-assertions" ,rust-pretty-assertions-1) - ("rust-tempfile" ,rust-tempfile-3)))) - (native-inputs (list pkg-config)) - (inputs (list libgit2-1.7 libssh2 openssl zlib)) + (setenv "BUILD_GIT_COMMIT_ID" "GNUGUIX")))))) + (native-inputs (list cmake-minimal pkg-config)) + (inputs (cons* libgit2-1.9 libssh2 openssl zlib (cargo-inputs 'gitui))) (home-page "https://github.com/extrawurst/gitui") (synopsis "Terminal UI for git") (description "This package provides a fast Terminal UI for git.") @@ -1609,28 +1280,15 @@ gitoxide CLI.") (file-name (git-file-name name version)) (sha256 (base32 "1q8gkx7djrfdl8fykppsqkxiadsq47v0xhj612nxlrvjz8n77ygn")))) - (build-system cargo-build-system) + (build-system meson-build-system) (arguments - `(#:install-source? #f - #:vendor-dir "vendor" - #:cargo-inputs (("rust-glib" ,rust-glib-0.18) - ("rust-libadwaita" ,rust-libadwaita-0.5) - ("rust-libc" ,rust-libc-0.2) - ("rust-log" ,rust-log-0.4) - ("rust-once-cell" ,rust-once-cell-1) - ("rust-pipewire" ,rust-pipewire-0.7)) - #:imported-modules (,@%meson-build-system-modules - ,@%glib-or-gtk-build-system-modules + `(#:imported-modules (,@%meson-build-system-modules ,@%cargo-build-system-modules) - #:modules ((guix build cargo-build-system) - ((guix build glib-or-gtk-build-system) #:prefix glib-or-gtk:) - ((guix build meson-build-system) #:prefix meson:) + #:modules (((guix build cargo-build-system) #:prefix cargo:) + (guix build meson-build-system) (guix build utils)) #:phases (modify-phases %standard-phases - (add-after 'unpack 'generate-gdk-pixbuf-loaders-cache-file - (assoc-ref glib-or-gtk:%standard-phases - 'generate-gdk-pixbuf-loaders-cache-file)) (add-after 'unpack 'prepare-for-build (lambda _ (substitute* "meson.build" @@ -1639,30 +1297,22 @@ gitoxide CLI.") (("update_desktop_database: true") "update_desktop_database: false")) (delete-file "Cargo.lock"))) - ;; Add meson-configure phase here and not before 'configure because - ;; the meson 'configure phase changes to a different directory and + ;; The meson 'configure phase changes to a different directory and ;; we need it created before unpacking the crates. - (add-before 'unpack-rust-crates 'meson-configure - (lambda args - (apply (assoc-ref meson:%standard-phases 'configure) - #:build-type "debugoptimized" - #:configure-flags '() - args))) - (replace 'build - (assoc-ref meson:%standard-phases 'build)) - (replace 'check + (add-after 'configure 'prepare-cargo-build-system (lambda args - (apply (assoc-ref meson:%standard-phases 'check) - #:test-options '() - args))) - (replace 'install - (assoc-ref meson:%standard-phases 'install)) - (add-after 'install 'glib-or-gtk-compile-schemas - (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-compile-schemas)) - (add-after 'install 'glib-or-gtk-wrap - (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap))))) - (native-inputs (list clang pkg-config meson ninja)) - (inputs (list glib gtk libadwaita pipewire)) + (for-each + (lambda (phase) + (format #t "Running cargo phase: ~a~%" phase) + (apply (assoc-ref cargo:%standard-phases phase) + #:vendor-dir "vendor" + args)) + '(unpack-rust-crates + configure + check-for-pregenerated-files + patch-cargo-checksums))))))) + (native-inputs (list clang pkg-config rust `(,rust "cargo"))) + (inputs (cons* glib gtk libadwaita pipewire (cargo-inputs 'helvum))) (home-page "https://gitlab.freedesktop.org/pipewire/helvum") (synopsis "GTK patchbay for pipewire") (description "This package provides a GTK patchbay for pipewire.") @@ -1671,30 +1321,17 @@ gitoxide CLI.") (define-public hexyl (package (name "hexyl") - (version "0.15.0") + (version "0.16.0") (source (origin (method url-fetch) (uri (crate-uri "hexyl" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "19i9g18nnyizas2af2s3ikivcpazmgfh3n71v5fmfm9ibnkjp1a2")))) + (base32 "1y2yrr8nh3idya5wviqqnvz57y4mvw1jx3gi57acddkj9386vma3")))) (build-system cargo-build-system) (arguments `(#: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-4) - ("rust-supports-color" ,rust-supports-color-3) - ("rust-terminal-size" ,rust-terminal-size-0.4) - ("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)) #:phases (modify-phases %standard-phases (add-after 'install 'install-manual @@ -1713,6 +1350,7 @@ gitoxide CLI.") (if (supported-package? pandoc) (list pandoc) '())) + (inputs (cargo-inputs 'hexyl)) (home-page "https://github.com/sharkdp/hexyl") (synopsis "Command-line hex viewer") (description @@ -1724,7 +1362,7 @@ characters, ASCII whitespace characters, other ASCII characters and non-ASCII.") (define-public hyperfine (package (name "hyperfine") - (version "1.18.0") + (version "1.19.0") (source (origin (method url-fetch) @@ -1732,42 +1370,13 @@ characters, ASCII whitespace characters, other ASCII characters and non-ASCII.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "146064gf713pwbhpwypa70921bvc62p1px5w1fq3h7zj1alzl7ay")) - (modules '((guix build utils))) - (snippet - '(begin (substitute* (find-files "." "^Cargo\\.toml$") - (("\"=([[:digit:]]+(\\.[[:digit:]]+)*)" _ version) - (string-append "\"^" version))))))) + "07pm8i71l9y50awz0d97zb231lcvp3c2hmdh98znq4m9a02xd7hv")))) (build-system cargo-build-system) (arguments `(#:modules ((guix build cargo-build-system) (guix build utils) (srfi srfi-26)) #:install-source? #f - #:cargo-inputs - (("rust-anyhow" ,rust-anyhow-1) - ("rust-atty" ,rust-atty-0.2) - ("rust-clap" ,rust-clap-4) - ("rust-clap-complete" ,rust-clap-complete-4) - ("rust-colored" ,rust-colored-2) - ("rust-csv" ,rust-csv-1) - ("rust-indicatif" ,rust-indicatif-0.17) - ("rust-libc" ,rust-libc-0.2) - ("rust-nix" ,rust-nix-0.26) - ("rust-once-cell" ,rust-once-cell-1) - ("rust-rand" ,rust-rand-0.8) - ("rust-rust-decimal" ,rust-rust-decimal-1) - ("rust-serde" ,rust-serde-1) - ("rust-serde-json" ,rust-serde-json-1) - ("rust-shell-words" ,rust-shell-words-1) - ("rust-statistical" ,rust-statistical-1) - ("rust-thiserror" ,rust-thiserror-1) - ("rust-windows-sys" ,rust-windows-sys-0.48)) - #:cargo-development-inputs - (("rust-approx" ,rust-approx-0.5) - ("rust-assert-cmd" ,rust-assert-cmd-2) - ("rust-predicates" ,rust-predicates-3) - ("rust-tempfile" ,rust-tempfile-3)) #:phases (modify-phases %standard-phases (add-after 'install 'install-more @@ -1787,6 +1396,7 @@ characters, ASCII whitespace characters, other ASCII characters and non-ASCII.") (find-files "target" "^hyperfine.fish$")) (for-each (cut install-file <> zsh) (find-files "target" "^_hyperfine$")))))))) + (inputs (cargo-inputs 'hyperfine)) (home-page "https://github.com/sharkdp/hyperfine") (synopsis "Command-line benchmarking tool") (description @@ -1796,7 +1406,7 @@ characters, ASCII whitespace characters, other ASCII characters and non-ASCII.") (define-public i3status-rust (package (name "i3status-rust") - (version "0.32.3") + (version "0.33.2") (source (origin (method git-fetch) @@ -1805,72 +1415,12 @@ characters, ASCII whitespace characters, other ASCII characters and non-ASCII.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (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\""))))))) + (base32 "17fl0gx17mqc05jvr35g031d8z43cnlvqmjdwdbybl0lq4rbi6f4")))) (build-system cargo-build-system) (arguments `(#:install-source? #f - #:cargo-inputs - (("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-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-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 'remove-optional-icu-deps - (lambda _ - (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")) @@ -1914,17 +1464,18 @@ characters, ASCII whitespace characters, other ASCII characters and non-ASCII.") (native-inputs (list pkg-config)) (inputs - (list alsa-utils - bash-minimal - dbus - iproute - kdeconnect - (list lm-sensors "lib") - pulseaudio - openssl - setxkbmap - speedtest-cli - xrandr)) + (cons* alsa-utils + bash-minimal + dbus + iproute + kdeconnect + (list lm-sensors "lib") + pulseaudio + openssl + setxkbmap + speedtest-cli + xrandr + (cargo-inputs 'i3status-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 @@ -1933,16 +1484,74 @@ replacement for i3status, written in pure Rust. It provides a way to display bar. It is also compatible with sway.") (license license:gpl3))) +(define-public jless + (package + (name "jless") + (version "0.9.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "jless" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1mij8c0lp62mnfvcbzrhmf1g70fq29lj2s9l05qx7njsqs64xqkf")))) + (build-system cargo-build-system) + (arguments + `(#:install-source? #f)) + (native-inputs (list python pkg-config)) ;needed by rust-xcb + (inputs (cons* libx11 libxcb (cargo-inputs 'jless))) + (home-page "https://github.com/PaulJuliusMartinez/jless") + (synopsis "Command-line JSON viewer") + (description "This package provides a command-line JSON viewer.") + (license license:expat))) + +(define-public jujutsu + (package + (name "jujutsu") + (version "0.32.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/jj-vcs/jj") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0cib02kyzkfznzww2iz7wixphxradwhg8agr8hyi62alr37r8ljc")))) + (build-system cargo-build-system) + (arguments + (list #:install-source? #f + #:cargo-install-paths ''("cli"))) + (native-inputs + (list pkg-config + ;; For tests. + git + openssh)) + (inputs (cons* zlib openssl libssh2 libgit2-1.9 (cargo-inputs 'jujutsu))) + (home-page "https://github.com/jj-vcs/jj") + (synopsis "Git-compatible distributed version control system") + (description + "Jujutsu is a version control system designed to be easy to use. It uses a +real commit to represent the working copy, records all operations performed on +the repository and supports automatic conflict resolution. + +Although Jujutsu uses a Git repository as its storage backend, it internally +abstracts the user interface and version control algorithms from the storage +systems. This opens possibility for it to serve as a version control system +with other physical backends.") + (license license:asl2.0))) + (define-public just (package (name "just") - (version "1.38.0") + (version "1.40.0") (source (origin (method url-fetch) (uri (crate-uri "just" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "031yn8dijn89cdiwrlsh5l8ah83f2ci51j90z659aqrksflz44vw")))) + (base32 "03k9ifgxwxvx41f7xc9hv09h0w6j9k46cazfdxzynq56dly3kl7c")))) (build-system cargo-build-system) (arguments `(#:cargo-test-flags @@ -1952,46 +1561,6 @@ bar. It is also compatible with sway.") "--skip=functions::env_var_functions" "--skip=string::shebang_backtick") #:install-source? #f - #:cargo-inputs - (("rust-ansi-term" ,rust-ansi-term-0.12) - ("rust-blake3" ,rust-blake3-1) - ("rust-camino" ,rust-camino-1) - ("rust-chrono" ,rust-chrono-0.4) - ("rust-clap" ,rust-clap-4) - ("rust-clap-complete" ,rust-clap-complete-4) - ("rust-clap-mangen" ,rust-clap-mangen-0.2) - ("rust-ctrlc" ,rust-ctrlc-3) - ("rust-derive-where" ,rust-derive-where-1) - ("rust-dirs" ,rust-dirs-5) - ("rust-dotenvy" ,rust-dotenvy-0.15) - ("rust-edit-distance" ,rust-edit-distance-2) - ("rust-heck" ,rust-heck-0.5) - ("rust-lexiclean" ,rust-lexiclean-0.0.1) - ("rust-libc" ,rust-libc-0.2) - ("rust-num-cpus" ,rust-num-cpus-1) - ("rust-once-cell" ,rust-once-cell-1) - ("rust-percent-encoding" ,rust-percent-encoding-2) - ("rust-rand" ,rust-rand-0.8) - ("rust-regex" ,rust-regex-1) - ("rust-rustversion" ,rust-rustversion-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-shellexpand" ,rust-shellexpand-3) - ("rust-similar" ,rust-similar-2) - ("rust-snafu" ,rust-snafu-0.8) - ("rust-strum" ,rust-strum-0.26) - ("rust-target" ,rust-target-2) - ("rust-tempfile" ,rust-tempfile-3) - ("rust-typed-arena" ,rust-typed-arena-2) - ("rust-unicode-width" ,rust-unicode-width-0.2) - ("rust-uuid" ,rust-uuid-1)) - #:cargo-development-inputs - (("rust-executable-path" ,rust-executable-path-1) - ("rust-pretty-assertions" ,rust-pretty-assertions-1) - ("rust-temptree" ,rust-temptree-0.2) - ("rust-which" ,rust-which-7)) #:phases (modify-phases %standard-phases (add-after 'unpack 'replace-hardcoded-paths @@ -2046,13 +1615,37 @@ bar. It is also compatible with sway.") (native-inputs (if (%current-target-system) (list this-package) '())) - (inputs (list bash-minimal coreutils-minimal)) + (inputs (cons* bash-minimal coreutils-minimal (cargo-inputs 'just))) (home-page "https://github.com/casey/just") (synopsis "Command runner") (description "This package provides @code{just}, a command runner. @code{just} is a handy way to save and run project-specific commands.") (license license:cc0))) +(define-public kanata + (package + (name "kanata") + (version "1.8.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "kanata" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1632iaclw9qy6sswm2wqapa28px7rdxqchk8b1wwp6k2scysr2bs")))) + (build-system cargo-build-system) + (arguments + (list #:install-source? #f)) + (inputs (cargo-inputs 'kanata)) + (home-page "https://github.com/jtroo/kanata") + (synopsis "Multi-layer keyboard customization") + (description + "Kanata is a keyboard re-mapper. It supports multiple layers of key, +and advanced key behavior customization, such as tap-hold, macros and +Unicode.") + (license license:lgpl3))) + (define-public kibi (package (name "kibi") @@ -2073,12 +1666,6 @@ bar. It is also compatible with sway.") #:install-source? #f #:cargo-test-flags `(list "--release" "--" "--skip=syntax::tests::syntax_d_files") - #:cargo-inputs `(("rust-libc" ,rust-libc-0.2) - ("rust-unicode-width" ,rust-unicode-width-0.1) - ("rust-winapi" ,rust-winapi-0.3) - ("rust-winapi-util" ,rust-winapi-util-0.1)) - #:cargo-development-inputs `(("rust-serial-test" ,rust-serial-test-0.5) - ("rust-tempfile" ,rust-tempfile-3)) #:phases #~(modify-phases %standard-phases (add-after 'install 'install-extras (lambda* (#:key outputs #:allow-other-keys) @@ -2090,6 +1677,7 @@ bar. It is also compatible with sway.") (copy-recursively "syntax.d" syntax.d) (rename-file "config_example.ini" "config.ini") (install-file "config.ini" etc))))))) + (inputs (cargo-inputs 'kibi)) (home-page "https://github.com/ilai-deutel/kibi") (synopsis "Featureful text editor in less than 1024 lines of code") (description @@ -2108,49 +1696,10 @@ more.") (uri (crate-uri "lsd" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "06l0ynhny43q74dyb8m4r2j1w9xz29m0xrqmnpysm1f09bx3dzrj")) - (snippet - #~(begin (use-modules (guix build utils)) - ;; Don't depend on a specific minor version. - (substitute* "Cargo.toml" - (("([[:digit:]]\\.[[:digit:]]+)\\.\\*" _ version) - version)))))) + (base32 "06l0ynhny43q74dyb8m4r2j1w9xz29m0xrqmnpysm1f09bx3dzrj")))) (build-system cargo-build-system) (arguments `(#:install-source? #f - #:cargo-inputs (("rust-chrono" ,rust-chrono-0.4) - ("rust-chrono-humanize" ,rust-chrono-humanize-0.2) - ("rust-clap" ,rust-clap-4) - ("rust-clap-complete" ,rust-clap-complete-4) - ("rust-crossterm" ,rust-crossterm-0.27) - ("rust-dirs" ,rust-dirs-5) - ("rust-git2" ,rust-git2-0.18) - ("rust-globset" ,rust-globset-0.4) - ("rust-human-sort" ,rust-human-sort-0.2) - ("rust-libc" ,rust-libc-0.2) - ("rust-lscolors" ,rust-lscolors-0.16) - ("rust-once-cell" ,rust-once-cell-1) - ("rust-serde" ,rust-serde-1) - ("rust-serde-yaml" ,rust-serde-yaml-0.9) - ("rust-sys-locale" ,rust-sys-locale-0.3) - ("rust-term-grid" ,rust-term-grid-0.1) - ("rust-terminal-size" ,rust-terminal-size-0.3) - ("rust-thiserror" ,rust-thiserror-1) - ("rust-unicode-width" ,rust-unicode-width-0.1) - ("rust-url" ,rust-url-2) - ("rust-uzers" ,rust-uzers-0.11) - ("rust-version-check" ,rust-version-check-0.9) - ("rust-vsort" ,rust-vsort-0.2) - ("rust-wild" ,rust-wild-2) - ("rust-windows" ,rust-windows-0.43) - ("rust-xattr" ,rust-xattr-1) - ("rust-xdg" ,rust-xdg-2) - ("rust-yaml-rust" ,rust-yaml-rust-0.4)) - #:cargo-development-inputs (("rust-assert-cmd" ,rust-assert-cmd-2) - ("rust-assert-fs" ,rust-assert-fs-1) - ("rust-predicates" ,rust-predicates-3) - ("rust-serial-test" ,rust-serial-test-2) - ("rust-tempfile" ,rust-tempfile-3)) #:phases (modify-phases %standard-phases (add-after 'unpack 'set-shell-completion-dir @@ -2177,6 +1726,7 @@ more.") zlib ;; for tests git-minimal)) + (inputs (cargo-inputs 'lsd)) (home-page "https://github.com/lsd-rs/lsd") (synopsis "Mostly ls compatible command with pretty colors") (description @@ -2199,23 +1749,6 @@ and some other stuff.") (arguments (list #:install-source? #f - #:cargo-inputs `(("rust-ansi-to-tui" ,rust-ansi-to-tui-7) - ("rust-atty" ,rust-atty-0.2) - ("rust-bytesize" ,rust-bytesize-1) - ("rust-clap" ,rust-clap-4) - ("rust-colored" ,rust-colored-2) - ("rust-dirs" ,rust-dirs-5) - ("rust-lazy-static" ,rust-lazy-static-1) - ("rust-libmacchina" ,rust-libmacchina-8) - ("rust-rand" ,rust-rand-0.8) - ("rust-ratatui" ,rust-ratatui-0.29) - ("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.8) - ("rust-unicode-width" ,rust-unicode-width-0.1) - ("rust-vergen" ,rust-vergen-8)) #:phases #~(modify-phases %standard-phases (add-after 'install 'install-extras (lambda* (#:key outputs #:allow-other-keys) @@ -2225,7 +1758,7 @@ and some other stuff.") (mkdir-p contrib) (copy-recursively "contrib" contrib))))))) (native-inputs (list pkg-config)) - (inputs (list libgit2 sqlite zlib)) + (inputs (cons* libgit2 sqlite zlib (cargo-inputs 'macchina))) (home-page "https://github.com/Macchina-CLI/macchina") (synopsis "System information fetcher with an emphasis on performance") (description @@ -2234,6 +1767,28 @@ performance. Similar to neofetch, this package prints out system information on the terminal in a visually appealing way.") (license license:expat))) +(define-public matugen + (package + (name "matugen") + (version "2.4.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "matugen" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "0rqljm689say9f1878x9x9v1ahaji52vqrnnm6nmkkilfsyfx550")))) + (build-system cargo-build-system) + (arguments + `(#:install-source? #f)) + (inputs (cargo-inputs 'matugen)) + (home-page "https://github.com/InioX/matugen") + (synopsis "Generate themes using the 'Material You' palette") + (description + "@command{matugen} generates a 'Material You' color palette based on a +specified image or color, easing the process of theme creation.") + (license license:gpl2))) + (define-public maturin (package (name "maturin") @@ -2268,81 +1823,6 @@ on the terminal in a visually appealing way.") "--skip=metadata::test::test_merge_metadata_from_pyproject_toml" "--skip=metadata::test::test_merge_metadata_from_pyproject_toml_with_customized_python_source_dir" "--skip=pyproject_toml::tests::test_warn_missing_maturin_version") - #:cargo-inputs - (("rust-anyhow" ,rust-anyhow-1) - ("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.7) - ;("rust-cargo-xwin" ,rust-cargo-xwin-0.18) - ;("rust-cargo-zigbuild" ,rust-cargo-zigbuild-0.19) - ("rust-cargo-metadata" ,rust-cargo-metadata-0.19) - ("rust-cbindgen" ,rust-cbindgen-0.27) - ("rust-cc" ,rust-cc-1) - ("rust-clap" ,rust-clap-4) - ("rust-clap-complete-command" ,rust-clap-complete-command-0.6) - ("rust-configparser" ,rust-configparser-3) - ("rust-console" ,rust-console-0.15) - ("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-3) - ("rust-glob" ,rust-glob-0.3) - ("rust-goblin" ,rust-goblin-0.9) - ("rust-ignore" ,rust-ignore-0.4) - ("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-2) - ("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.6) - ("rust-pep508-rs" ,rust-pep508-rs-0.6) - ("rust-platform-info" ,rust-platform-info-2) - ("rust-pretty-assertions" ,rust-pretty-assertions-1) - ("rust-pyproject-toml" ,rust-pyproject-toml-0.11) - ("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.23) - ("rust-rustls-pemfile" ,rust-rustls-pemfile-2) - ("rust-same-file" ,rust-same-file-1) - ("rust-schemars" ,rust-schemars-0.8) - ("rust-semver" ,rust-semver-1) - ("rust-serde" ,rust-serde-1) - ("rust-serde-json" ,rust-serde-json-1) - ("rust-sha2" ,rust-sha2-0.10) - ("rust-tar" ,rust-tar-0.4) - ("rust-target-lexicon" ,rust-target-lexicon-0.13) - ("rust-tempfile" ,rust-tempfile-3) - ("rust-textwrap" ,rust-textwrap-0.16) - ("rust-thiserror" ,rust-thiserror-2) - ("rust-time" ,rust-time-0.3) - ("rust-toml" ,rust-toml-0.8) - ("rust-toml-edit" ,rust-toml-edit-0.22) - ("rust-tracing" ,rust-tracing-0.1) - ("rust-tracing-subscriber" ,rust-tracing-subscriber-0.3) - ("rust-unicode-xid" ,rust-unicode-xid-0.2) - ("rust-ureq" ,rust-ureq-2) - ("rust-url" ,rust-url-2) - ("rust-wild" ,rust-wild-2) - ("rust-zip" ,rust-zip-2)) - #:cargo-development-inputs - (("rust-expect-test" ,rust-expect-test-1) - ("rust-fs4" ,rust-fs4-0.12) - ("rust-indoc" ,rust-indoc-2) - ("rust-pretty-assertions" ,rust-pretty-assertions-1) - ("rust-rstest" ,rust-rstest-0.22) - ("rust-rustversion" ,rust-rustversion-1) - ("rust-time" ,rust-time-0.3) - ("rust-trycmd" ,rust-trycmd-0.15) - ("rust-which" ,rust-which-7)) #:phases (modify-phases %standard-phases (add-after 'build 'build-python-module @@ -2395,7 +1875,7 @@ on the terminal in a visually appealing way.") (lambda _ (invoke maturin "completions" "nushell"))))))))) (propagated-inputs (list python-tomli)) - (inputs (list bzip2)) + (inputs (cons bzip2 (cargo-inputs 'maturin))) (native-inputs (list python-wheel python-wrapper @@ -2410,61 +1890,19 @@ on the terminal in a visually appealing way.") (define-public netavark (package (name "netavark") - (version "1.13.1") + (version "1.14.1") (source (origin (method url-fetch) (uri (crate-uri "netavark" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "1lzw30dfrp8zk181vl25g2dkpj7aq1jkalkikp2vsw33w1b611zi")) - (modules '((guix build utils))) - (snippet - '(begin (substitute* (find-files "." "^Cargo\\.toml$") - (("\"~([[:digit:]]+(\\.[[:digit:]]+)*)" _ version) - (string-append "\"^" version))))))) + (base32 "1dn8ra8rlq1hwb7pay3qbashrisi23293jflvv9k0zciaibsvfyy")))) (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-hyper-util" ,rust-hyper-util-0.1) - ("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.21) - ("rust-netlink-packet-utils" ,rust-netlink-packet-utils-0.5) - ("rust-netlink-sys" ,rust-netlink-sys-0.8) - ("rust-nftables" ,rust-nftables-0.5) - ("rust-nispor" ,rust-nispor-1) - ("rust-nix" ,rust-nix-0.29) - ("rust-prost" ,rust-prost-0.13) - ("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.6) - ("rust-tokio" ,rust-tokio-1) - ("rust-tokio-stream" ,rust-tokio-stream-0.1) - ("rust-tonic" ,rust-tonic-0.12) - ("rust-tonic-build" ,rust-tonic-build-0.12) - ("rust-tower" ,rust-tower-0.5) - ("rust-url" ,rust-url-2) - ("rust-zbus" ,rust-zbus-4)) - #:cargo-development-inputs (("rust-once-cell" ,rust-once-cell-1) - ("rust-rand" ,rust-rand-0.8) - ("rust-tempfile" ,rust-tempfile-3)))) + `(#:install-source? #f)) (native-inputs (list protobuf)) + (inputs (cargo-inputs 'netavark)) (home-page "https://github.com/containers/netavark") (synopsis "Container network stack") (description "Netavark is a rust based network stack for containers. It @@ -2475,56 +1913,24 @@ container management applications.") (define-public ouch (package (name "ouch") - (version "0.5.1") + (version "0.6.1") (source (origin (method url-fetch) (uri (crate-uri "ouch" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "0r5wi3bmks4m7izyyqgvwdxz4qp60b2yy9c5igdq49hkz0m9dzp6")))) + (base32 "1gslgyv63jq66w5pymsn7jnkmh2b8s8wzqvhs6k2iywzc4nm3gxd")))) (build-system cargo-build-system) (arguments `(#:install-source? #f - #:cargo-inputs (("rust-atty" ,rust-atty-0.2) - ("rust-bstr" ,rust-bstr-1) - ("rust-bzip2" ,rust-bzip2-0.4) - ("rust-clap" ,rust-clap-4) - ("rust-clap-complete" ,rust-clap-complete-4) - ("rust-clap-mangen" ,rust-clap-mangen-0.2) - ("rust-filetime-creation" ,rust-filetime-creation-0.1) - ("rust-flate2" ,rust-flate2-1) - ("rust-fs-err" ,rust-fs-err-2) - ("rust-gzp" ,rust-gzp-0.11) - ("rust-ignore" ,rust-ignore-0.4) - ("rust-is-executable" ,rust-is-executable-1) - ("rust-libc" ,rust-libc-0.2) - ("rust-linked-hash-map" ,rust-linked-hash-map-0.5) - ("rust-lz4-flex" ,rust-lz4-flex-0.11) - ("rust-once-cell" ,rust-once-cell-1) - ("rust-rayon" ,rust-rayon-1) - ("rust-same-file" ,rust-same-file-1) - ("rust-sevenz-rust" ,rust-sevenz-rust-0.5) - ("rust-snap" ,rust-snap-1) - ("rust-tar" ,rust-tar-0.4) - ("rust-tempfile" ,rust-tempfile-3) - ("rust-time" ,rust-time-0.3) - ("rust-unrar" ,rust-unrar-0.5) - ("rust-xz2" ,rust-xz2-0.1) - ("rust-zip" ,rust-zip-0.6) - ("rust-zstd" ,rust-zstd-0.13)) - #:cargo-development-inputs (("rust-assert-cmd" ,rust-assert-cmd-2) - ("rust-infer" ,rust-infer-0.15) - ("rust-insta" ,rust-insta-1) - ("rust-parse-display" ,rust-parse-display-0.8) - ("rust-proptest" ,rust-proptest-1) - ("rust-rand" ,rust-rand-0.8) - ("rust-test-strategy" ,rust-test-strategy-0.3)) #:phases (modify-phases %standard-phases (add-before 'build 'pre-build (lambda _ - (setenv "OUCH_ARTIFACTS_FOLDER" "target"))) + (setenv "OUCH_ARTIFACTS_FOLDER" "target") + ;; Uses nonfree library. + (invoke "cargo" "remove" "unrar"))) (add-after 'install 'install-extras (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) @@ -2551,8 +1957,8 @@ container management applications.") (for-each (lambda (manpage) (install-file manpage man1)) (find-files "target" "\\.1$")))))))) - (native-inputs (list pkg-config)) - (inputs (list (list zstd "lib") zlib)) + (native-inputs (list git-minimal/pinned pkg-config)) + (inputs (cons* clang `(,zstd "lib") zlib (cargo-inputs 'ouch))) (home-page "https://github.com/ouch-org/ouch") (synopsis "Compression and decompression utility") (description @@ -2575,35 +1981,6 @@ decompressing files and directories.") (arguments (list #:install-source? #f - #:cargo-inputs (list rust-anyhow-1 - rust-chrono-0.4 - rust-clap-3 - rust-clap-complete-3 - rust-console-0.15 - rust-cpp-demangle-0.4 - rust-ctrlc-3 - rust-env-logger-0.10 - rust-goblin-0.9 - rust-indicatif-0.17 - rust-inferno-0.11 - rust-lazy-static-1 - rust-libc-0.2 - rust-log-0.4 - rust-lru-0.10 - rust-memmap2-0.9 - rust-num-traits-0.2 - rust-proc-maps-0.4 - rust-rand-0.8 - rust-rand-distr-0.4 - rust-regex-1 - rust-remoteprocess-0.5 - rust-serde-1 - rust-serde-derive-1 - rust-serde-json-1 - rust-tempfile-3 - rust-termios-0.3 - rust-winapi-0.3) - #:cargo-development-inputs (list rust-py-spy-testdata-0.1) #:phases #~(modify-phases %standard-phases (add-after 'install 'install-shell-completions @@ -2644,31 +2021,13 @@ decompressing files and directories.") (list this-package) '()) (list python-minimal-wrapper))) - (inputs (list libunwind)) + (inputs (cons libunwind (cargo-inputs 'py-spy))) (home-page "https://github.com/benfred/py-spy") (synopsis "Sampling profiler for Python programs") (description "This package provides a sampling profiler for Python programs.") (license license:expat))) -(define-public rust-py-spy-testdata-0.1 - (hidden-package ; Uninteresting for users. - (package - (name "rust-py-spy-testdata") - (version "0.1.0") - (source - (origin - (method url-fetch) - (uri (crate-uri "py-spy-testdata" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "18d880f2rjdd42828srh97vpvlrs9pg23j28gphw9qd2w3bp128q")))) - (build-system cargo-build-system) - (home-page "https://github.com/benfred/py-spy-testdata") - (synopsis "Python coredumps for testing py-spy") - (description "This package provides Python coredumps for testing py-spy.") - (license license:expat)))) - (define-public ripgrep (package (name "ripgrep") @@ -2683,19 +2042,6 @@ decompressing files and directories.") (build-system cargo-build-system) (arguments (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 @@ -2733,7 +2079,7 @@ decompressing files and directories.") (lambda _ (invoke rg "--generate" "complete-fish"))))))) #:features '(list "pcre2"))) - (inputs (list pcre2)) + (inputs (cons pcre2 (cargo-inputs 'ripgrep))) (native-inputs (cons* pkg-config (if (%current-target-system) (list this-package) '()))) @@ -2759,15 +2105,8 @@ search tools like The Silver Searcher, @command{ack} and @command{grep}.") "1bvb87sr9pkf6sj5ghgmga4nrp5kwiqnllzi672da5vs915xh8li")))) (build-system cargo-build-system) (arguments - `(#: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)))) + `(#:install-source? #f)) + (inputs (cargo-inputs 'rot8)) (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 @@ -2778,7 +2117,7 @@ touchscreen devices.") (define-public rust-swc (package (name "rust-swc") - (version "1.2.124") + (version "1.2.129") (source (origin (method git-fetch) @@ -2788,12 +2127,10 @@ touchscreen devices.") (file-name (git-file-name name version)) (sha256 (base32 - "1cb65vl437sy7shflsazi2k4sz53v3r85dj8rb32ny1j6njczj4h")) + "06dda65mfm5p819lvzkpqnf7zm3migp5j3584znvq5ickax758br")) (modules '((guix build utils))) - (snippet - '(begin (substitute* (find-files "." "^Cargo\\.toml$") - (("\"=([[:digit:]]+(\\.[[:digit:]]+)*)" _ version) - (string-append "\"^" version))))))) + (snippet '(substitute* "Cargo.toml" + ((".*git = .*") ""))))) (build-system cargo-build-system) (arguments `(#:install-source? #f @@ -2801,114 +2138,9 @@ touchscreen devices.") '("--release" "-p" "swc_cli") #:cargo-test-flags '("--release" "-p" "swc_cli") - #:cargo-inputs - (("rust-abi-stable" ,rust-abi-stable-0.10) - ("rust-ahash" ,rust-ahash-0.7) - ("rust-ansi-term" ,rust-ansi-term-0.12) - ("rust-anyhow" ,rust-anyhow-1) - ("rust-arrayvec" ,rust-arrayvec-0.5) - ("rust-arbitrary" ,rust-arbitrary-1) - ("rust-auto-impl" ,rust-auto-impl-0.5) - ("rust-auto-impl" ,rust-auto-impl-0.4) - ("rust-backtrace" ,rust-backtrace-0.3) - ("rust-bincode" ,rust-bincode-1) - ("rust-bitflags" ,rust-bitflags-1) - ("rust-browserslist-rs" ,rust-browserslist-rs-0.6) - ("rust-cfg-if" ,rust-cfg-if-0.1) - ("rust-console-error-panic-hook" ,rust-console-error-panic-hook-0.1) - ("rust-copyless" ,rust-copyless-0.1) - ("rust-crc" ,rust-crc-1) - ("rust-darling" ,rust-darling-0.10) - ("rust-dashmap" ,rust-dashmap-4) - ("rust-debug-unreachable" ,rust-debug-unreachable-0.1) - ("rust-difference" ,rust-difference-2) - ("rust-either" ,rust-either-1) - ("rust-glob" ,rust-glob-0.3) - ("rust-hex" ,rust-hex-0.4) - ("rust-indexmap" ,rust-indexmap-1) - ("rust-inflector" ,rust-inflector-0.11) - ("rust-is-macro" ,rust-is-macro-0.1) - ("rust-lexical" ,rust-lexical-5) - ("rust-libloading" ,rust-libloading-0.7) - ("rust-lru" ,rust-lru-0.7) - ("rust-mimalloc-rust" ,rust-mimalloc-rust-0.1) - ("rust-napi" ,rust-napi-2) - ("rust-napi-build" ,rust-napi-build-1) - ("rust-napi-derive" ,rust-napi-derive-2) - ("rust-nom" ,rust-nom-5) - ("rust-normpath" ,rust-normpath-0.2) - ("rust-num-bigint" ,rust-num-bigint-0.2) - ("rust-once-cell" ,rust-once-cell-1) - ("rust-ordered-float" ,rust-ordered-float-2) - ("rust-owning-ref" ,rust-owning-ref-0.4) - ("rust-parking-lot" ,rust-parking-lot-0.11) - ("rust-parking-lot" ,rust-parking-lot-0.7) - ("rust-parking-lot-core" ,rust-parking-lot-core-0.8) - ("rust-path-clean" ,rust-path-clean-0.1) - ("rust-pathdiff" ,rust-pathdiff-0.2) - ("rust-paw" ,rust-paw-1) - ("rust-petgraph" ,rust-petgraph-0.5) - ("rust-phf" ,rust-phf-0.8) - ("rust-pmutil" ,rust-pmutil-0.5) - ("rust-pretty-assertions" ,rust-pretty-assertions-0.7) - ("rust-pretty-assertions" ,rust-pretty-assertions-0.6) - ("rust-proc-macro2" ,rust-proc-macro2-1) - ("rust-quote" ,rust-quote-1) - ("rust-rayon" ,rust-rayon-1) - ("rust-radix-fmt" ,rust-radix-fmt-1) - ("rust-regex" ,rust-regex-1) - ("rust-relative-path" ,rust-relative-path-1) - ("rust-retain-mut" ,rust-retain-mut-0.1) - ("rust-rustc-hash" ,rust-rustc-hash-1) - ("rust-scoped-tls" ,rust-scoped-tls-1) - ("rust-semver" ,rust-semver-0.9) - ("rust-serde" ,rust-serde-1) - ("rust-serde-json" ,rust-serde-json-1) - ("rust-serde-regex" ,rust-serde-regex-1) - ("rust-sha-1" ,rust-sha-1-0.9) - ("rust-smallvec" ,rust-smallvec-1) - ("rust-sourcemap" ,rust-sourcemap-6) - ("rust-st-map" ,rust-st-map-0.1) - ("rust-string-cache" ,rust-string-cache-0.8) - ("rust-string-cache-codegen" ,rust-string-cache-codegen-0.5) - ("rust-structopt" ,rust-structopt-0.3) - ("rust-syn" ,rust-syn-1) - ("rust-termcolor" ,rust-termcolor-1) - ("rust-tracing" ,rust-tracing-0.1) - ("rust-tracing-subscriber" ,rust-tracing-subscriber-0.3) - ("rust-typed-arena" ,rust-typed-arena-2) - ("rust-walkdir" ,rust-walkdir-2) - ("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2) - ("rust-wasm-bindgen-futures" ,rust-wasm-bindgen-futures-0.4) - ("rust-unicode-width" ,rust-unicode-width-0.1) - ("rust-unicode-xid" ,rust-unicode-xid-0.2) - ("rust-url" ,rust-url-2)) - #:cargo-development-inputs - (("rust-ansi-term" ,rust-ansi-term-0.12) - ("rust-anyhow" ,rust-anyhow-1) - ("rust-dashmap" ,rust-dashmap-4) - ("rust-env-logger" ,rust-env-logger-0.7) - ("rust-hex" ,rust-hex-0.4) - ("rust-ntest" ,rust-ntest-0.7) - ("rust-path-clean" ,rust-path-clean-0.1) - ("rust-pretty-assertions" ,rust-pretty-assertions-0.7) - ("rust-pretty-assertions" ,rust-pretty-assertions-0.6) - ("rust-reqwest" ,rust-reqwest-0.11) - ("rust-serde" ,rust-serde-1) - ("rust-serde-json" ,rust-serde-json-1) - ("rust-sha-1" ,rust-sha-1-0.9) - ("rust-sourcemap" ,rust-sourcemap-6) - ("rust-tempfile" ,rust-tempfile-3) - ("rust-url" ,rust-url-2) - ("rust-walkdir" ,rust-walkdir-2)) - #:phases - (modify-phases %standard-phases - (replace 'install - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (bin (string-append out "/bin")) - (swc (car (find-files "target" "^swc$")))) - (install-file swc bin))))))) + #:cargo-install-paths + '("crates/swc_cli"))) + (inputs (cargo-inputs 'rust-swc)) (home-page "https://swc.rs/") (synopsis "Typescript/javascript compiler") (description "@code{rust-swc} is a typescript/javascript compiler. It @@ -2923,59 +2155,28 @@ browsers.") (define-public rust-cargo-edit (package (name "rust-cargo-edit") - (version "0.13.0") + (version "0.13.2") (source (origin (method url-fetch) (uri (crate-uri "cargo-edit" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1mlzszj9sz0fy43xffrpram9nhyvlp4nx95jc5493jjmrqjrpfwz")))) + "1y3pa7qdq2r13ya9qfiw0lb8xm0qbs6q64pj548q6c0hdcxw2mdm")))) (build-system cargo-build-system) (arguments `(#:install-source? #f ;; Not all files included. - #:cargo-test-flags '("--" "--skip=::case") - #:cargo-inputs - (("rust-anyhow" ,rust-anyhow-1) - ("rust-cargo-metadata" ,rust-cargo-metadata-0.15) - ("rust-clap" ,rust-clap-4) - ("rust-clap-cargo" ,rust-clap-cargo-0.12) - ("rust-concolor-control" ,rust-concolor-control-0.0.7) - ("rust-dunce" ,rust-dunce-1) - ("rust-env-proxy" ,rust-env-proxy-0.4) - ("rust-hex" ,rust-hex-0.4) - ("rust-home" ,rust-home-0.5) - ("rust-indexmap" ,rust-indexmap-1) - ("rust-pathdiff" ,rust-pathdiff-0.2) - ("rust-regex" ,rust-regex-1) - ("rust-semver" ,rust-semver-1) - ("rust-serde" ,rust-serde-1) - ("rust-serde-derive" ,rust-serde-derive-1) - ("rust-serde-json" ,rust-serde-json-1) - ("rust-subprocess" ,rust-subprocess-0.2) - ("rust-tame-index" ,rust-tame-index-0.13) - ("rust-termcolor" ,rust-termcolor-1) - ("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-cargo-test-macro" ,rust-cargo-test-macro-0.3) - ("rust-cargo-test-support" ,rust-cargo-test-support-0.3) - ("rust-predicates" ,rust-predicates-3) - ("rust-snapbox" ,rust-snapbox-0.6) - ("rust-trycmd" ,rust-trycmd-0.14) - ("rust-url" ,rust-url-2)))) + #:cargo-test-flags '("--" "--skip=::case"))) (native-inputs (list pkg-config)) (inputs - (list curl - libgit2-1.8 - libssh2 - openssl - zlib)) + (cons* curl + libgit2-1.8 + libssh2 + openssl + zlib + (cargo-inputs 'rust-cargo-edit))) (home-page "https://github.com/killercup/cargo-edit") (synopsis "Add and remove dependencies from the command line") (description @@ -3003,34 +2204,6 @@ by modifying your @file{Cargo.toml} file from the command line.") (build-system cargo-build-system) (arguments `(#:install-source? #f - #:cargo-inputs - (("rust-anyhow" ,rust-anyhow-1) - ("rust-bitflags" ,rust-bitflags-2) - ("rust-captur" ,rust-captur-0.1) - ("rust-chrono" ,rust-chrono-0.4) - ("rust-crossbeam-channel" ,rust-crossbeam-channel-0.5) - ("rust-crossterm" ,rust-crossterm-0.27) - ("rust-git2" ,rust-git2-0.18) - ("rust-if-chain" ,rust-if-chain-1) - ("rust-lazy-static" ,rust-lazy-static-1) - ("rust-num-format" ,rust-num-format-0.4) - ("rust-parking-lot" ,rust-parking-lot-0.12) - ("rust-pico-args" ,rust-pico-args-0.5) - ("rust-rustc-version" ,rust-rustc-version-0.4) - ("rust-thiserror" ,rust-thiserror-1) - ("rust-unicode-segmentation" ,rust-unicode-segmentation-1) - ("rust-unicode-width" ,rust-unicode-width-0.1) - ("rust-uuid" ,rust-uuid-1) - ("rust-version-track" ,rust-version-track-0.1) - ("rust-xi-unicode" ,rust-xi-unicode-0.3)) - #:cargo-development-inputs - (("rust-claims" ,rust-claims-0.7) - ("rust-itertools" ,rust-itertools-0.13) - ("rust-pretty-assertions" ,rust-pretty-assertions-1) - ("rust-regex" ,rust-regex-1) - ("rust-rstest" ,rust-rstest-0.19) - ("rust-serial-test" ,rust-serial-test-3) - ("rust-tempfile" ,rust-tempfile-3)) #:phases (modify-phases %standard-phases (add-after 'unpack 'set-release-variable @@ -3039,7 +2212,7 @@ by modifying your @file{Cargo.toml} file from the command line.") (native-inputs (list pkg-config)) (inputs - (list libgit2-1.7 zlib)) + (cons* libgit2-1.7 zlib (cargo-inputs 'git-interactive-rebase-tool))) (home-page "https://gitrebasetool.mitmaro.ca/") (synopsis "Terminal based sequence editor for git interactive rebase") (description @@ -3061,21 +2234,8 @@ rebase.") (build-system cargo-build-system) (arguments (list - #:install-source? #f - #:cargo-inputs - `(("rust-atty" ,rust-atty-0.2) - ("rust-clap" ,rust-clap-3) - ("rust-clap-complete" ,rust-clap-complete-3) - ("rust-nom" ,rust-nom-7) - ("rust-once-cell" ,rust-once-cell-1) - ("rust-output-vt100" ,rust-output-vt100-0.1) - ("rust-rand" ,rust-rand-0.8) - ("rust-regex" ,rust-regex-1)) - #:cargo-development-inputs - `(("rust-approx" ,rust-approx-0.5) - ("rust-assert-cmd" ,rust-assert-cmd-2) - ("rust-criterion" ,rust-criterion-0.5) - ("rust-rand-xoshiro" ,rust-rand-xoshiro-0.6)))) + #:install-source? #f)) + (inputs (cargo-inputs 'pastel)) (home-page "https://github.com/sharkdp/pastel") (synopsis "Command-line tool to generate, analyze, convert and manipulate colors") @@ -3086,50 +2246,44 @@ like RGB (sRGB), HSL, CIELAB, CIELCh as well as ANSI 8-bit and 24-bit representations.") (license (list license:expat license:asl2.0)))) +(define-public prettypst + (package + (name "prettypst") + (version "2.0.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/antonWetzel/prettypst") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0727anhd2wl967m8k5z3bxb37h45nsjbbjz8akjn3mq96cfbfsbw")))) + (build-system cargo-build-system) + (arguments (list #:install-source? #f)) + (inputs (cargo-inputs 'prettypst)) + (home-page "https://github.com/antonWetzel/prettypst") + (synopsis "Configurable formatter for Typst") + (description + "Prettypst is a configurable source file formatter for the Typst +typesetting system.") + (license license:expat))) + (define-public procs (package (name "procs") - (version "0.14.8") + (version "0.14.10") (source (origin (method url-fetch) (uri (crate-uri "procs" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "06q9ply29745g0yxpvmxmqzr74r7qix6i0m16sj1cn7cg1gmc7h3")))) + (base32 "1s2vnfsfrzkqamd0xn7p1gh9m6ja3riksc4waw89hvjph9wng8pn")))) (build-system cargo-build-system) (arguments (list #:install-source? #f - #:cargo-inputs `(("rust-anyhow" ,rust-anyhow-1) - ("rust-bsd-kvm" ,rust-bsd-kvm-0.1) - ("rust-bsd-kvm-sys" ,rust-bsd-kvm-sys-0.2) - ("rust-byte-unit" ,rust-byte-unit-5) - ("rust-chrono" ,rust-chrono-0.4) - ("rust-clap" ,rust-clap-4) - ("rust-clap-complete" ,rust-clap-complete-4) - ("rust-console" ,rust-console-0.15) - ("rust-directories" ,rust-directories-5) - ("rust-dockworker" ,rust-dockworker-0.5) - ("rust-errno" ,rust-errno-0.3) - ("rust-getch" ,rust-getch-0.3) - ("rust-libc" ,rust-libc-0.2) - ("rust-libproc" ,rust-libproc-0.14) - ("rust-minus" ,rust-minus-5) - ("rust-nix" ,rust-nix-0.29) - ("rust-once-cell" ,rust-once-cell-1) - ("rust-pager" ,rust-pager-0.16) - ("rust-procfs" ,rust-procfs-0.17) - ("rust-regex" ,rust-regex-1) - ("rust-serde" ,rust-serde-1) - ("rust-serde-derive" ,rust-serde-derive-1) - ("rust-termbg" ,rust-termbg-0.6) - ("rust-tokio" ,rust-tokio-1) - ("rust-toml" ,rust-toml-0.8) - ("rust-unicode-width" ,rust-unicode-width-0.2) - ("rust-uzers" ,rust-uzers-0.12) - ("rust-which" ,rust-which-6) - ("rust-windows-sys" ,rust-windows-sys-0.59)) #:phases #~(modify-phases %standard-phases (add-after 'install 'install-manual-page (lambda* (#:key outputs #:allow-other-keys) @@ -3180,6 +2334,7 @@ representations.") (list this-package) '()) (list asciidoc))) + (inputs (cargo-inputs 'procs)) (home-page "https://github.com/dalance/procs") (synopsis "Modern replacement for @command{ps}") (description "This package provides a modern replacement for @command{ps} @@ -3199,22 +2354,9 @@ support, watch support (like @command{top}) and a tree view.") (sha256 (base32 "1zyiaifg6mcd4wwhhbxk8adzhph6qz4wxzgagvg3ijp95j58dpga")))) (build-system cargo-build-system) - (arguments - `(#:cargo-inputs (("rust-clap" ,rust-clap-4) - ("rust-heck" ,rust-heck-0.4) - ("rust-indexmap" ,rust-indexmap-2) - ("rust-log" ,rust-log-0.4) - ("rust-proc-macro2" ,rust-proc-macro2-1) - ("rust-quote" ,rust-quote-1) - ("rust-serde" ,rust-serde-1) - ("rust-serde-json" ,rust-serde-json-1) - ("rust-syn" ,rust-syn-2) - ("rust-tempfile" ,rust-tempfile-3) - ("rust-toml" ,rust-toml-0.8)) - #:cargo-development-inputs - (("rust-pretty-assertions" ,rust-pretty-assertions-1) - ("rust-serial-test" ,rust-serial-test-2)))) + (arguments (list #:install-source? #f)) (native-inputs (list python-cython)) + (inputs (cargo-inputs 'rust-cbindgen-0.28)) (home-page "https://github.com/mozilla/cbindgen") (synopsis "Tool for generating C bindings to Rust code") (description @@ -3232,22 +2374,7 @@ support, watch support (like @command{top}) and a tree view.") (uri (crate-uri "cbindgen" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "1sqm3axr678d72yihgmpr9d17mj99ccibxfqhw53mgzwzkbqvkiz")))) - (arguments - `(#:cargo-inputs (("rust-clap" ,rust-clap-4) - ("rust-heck" ,rust-heck-0.4) - ("rust-indexmap" ,rust-indexmap-2) - ("rust-log" ,rust-log-0.4) - ("rust-proc-macro2" ,rust-proc-macro2-1) - ("rust-quote" ,rust-quote-1) - ("rust-serde" ,rust-serde-1) - ("rust-serde-json" ,rust-serde-json-1) - ("rust-syn" ,rust-syn-2) - ("rust-tempfile" ,rust-tempfile-3) - ("rust-toml" ,rust-toml-0.8)) - #:cargo-development-inputs - (("rust-pretty-assertions" ,rust-pretty-assertions-1) - ("rust-serial-test" ,rust-serial-test-2)))))) + (base32 "1sqm3axr678d72yihgmpr9d17mj99ccibxfqhw53mgzwzkbqvkiz")))))) (define-public rust-cbindgen-0.26 (package @@ -3261,19 +2388,7 @@ support, watch support (like @command{top}) and a tree view.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 "0jdbxmn5h5nlr4bifx85gny309djv5djs9q78fa1d7sj0wdw2sys")))) - (arguments - `(#:cargo-inputs (("rust-clap" ,rust-clap-3) - ("rust-heck" ,rust-heck-0.4) - ("rust-indexmap" ,rust-indexmap-1) - ("rust-log" ,rust-log-0.4) - ("rust-proc-macro2" ,rust-proc-macro2-1) - ("rust-quote" ,rust-quote-1) - ("rust-serde" ,rust-serde-1) - ("rust-serde-json" ,rust-serde-json-1) - ("rust-syn" ,rust-syn-1) - ("rust-tempfile" ,rust-tempfile-3) - ("rust-toml" ,rust-toml-0.5)) - #:cargo-development-inputs (("rust-serial-test" ,rust-serial-test-0.5)))))) + (inputs (cargo-inputs 'rust-cbindgen-0.26)))) (define-public rust-cbindgen-0.24 (package @@ -3317,12 +2432,6 @@ support, watch support (like @command{top}) and a tree view.") (build-system cargo-build-system) (arguments `(#:install-source? #f - #:cargo-inputs (("rust-bindgen" ,rust-bindgen-0.71) - ("rust-clap-complete" ,rust-clap-complete-4) - ("rust-env-logger" ,rust-env-logger-0.10) - ("rust-log" ,rust-log-0.4) - ("rust-proc-macro2" ,rust-proc-macro2-1) - ("rust-shlex" ,rust-shlex-1)) #:phases (modify-phases %standard-phases (replace 'install @@ -3356,7 +2465,7 @@ support, watch support (like @command{top}) and a tree view.") (string-append share "/elvish/lib/bindgen") (lambda _ (invoke bindgen "--generate-shell-completions" "elvish"))))))))) - (inputs (list bash-minimal clang)) + (inputs (cons* bash-minimal clang (cargo-inputs 'rust-bindgen-cli))) (home-page "https://rust-lang.github.io/rust-bindgen/") (synopsis "Generate Rust FFI bindings to C and C++ libraries") (description "This package can be used to automatically generate Rust FFI @@ -3378,37 +2487,9 @@ command.") "0dkkw8gwrgawd2s5bg47508i3kjnsv1dwmqa3hlijdvdw4wgm9gz")))) (build-system cargo-build-system) (arguments - `(#:install-source? #f - #:cargo-inputs - (("rust-ansi-term" ,rust-ansi-term-0.12) - ("rust-anyhow" ,rust-anyhow-1) - ("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.11) - ("rust-httparse" ,rust-httparse-1) - ("rust-libc" ,rust-libc-0.2) - ("rust-log" ,rust-log-0.4) - ("rust-nix" ,rust-nix-0.29) - ("rust-nom" ,rust-nom-7) - ("rust-num-cpus" ,rust-num-cpus-1) - ("rust-pcap-sys" ,rust-pcap-sys-0.1) - ("rust-pktparse" ,rust-pktparse-0.7) - ("rust-serde" ,rust-serde-1) - ("rust-serde-json" ,rust-serde-json-1) - ("rust-sha2" ,rust-sha2-0.10) - ("rust-syscallz" ,rust-syscallz-0.17) - ("rust-tls-parser" ,rust-tls-parser-0.12) - ("rust-toml" ,rust-toml-0.8) - ("rust-uzers" ,rust-uzers-0.12)) - #:cargo-development-inputs - (("rust-boxxy" ,rust-boxxy-0.13)))) + `(#:install-source? #f)) (inputs - (list libpcap libseccomp)) + (cons* libpcap libseccomp (cargo-inputs 'sniffglue))) (home-page "https://github.com/kpcyrd/sniffglue") (synopsis "Secure multithreaded packet sniffer") (description @@ -3432,16 +2513,6 @@ of the project is to be runnable on untrusted networks without crashing.") (arguments (list #:install-source? #f - #:cargo-inputs `(("rust-alsa" ,rust-alsa-0.9) - ("rust-chrono" ,rust-chrono-0.4) - ("rust-clap" ,rust-clap-4) - ("rust-clap-verbosity-flag" ,rust-clap-verbosity-flag-2) - ("rust-configparser" ,rust-configparser-3) - ("rust-json" ,rust-json-0.12) - ("rust-libc" ,rust-libc-0.2) - ("rust-log" ,rust-log-0.4) - ("rust-signal-hook" ,rust-signal-hook-0.3) - ("rust-simple-logger" ,rust-simple-logger-4)) #:phases #~(modify-phases %standard-phases (add-after 'unpack 'fix-paths @@ -3459,7 +2530,7 @@ of the project is to be runnable on untrusted networks without crashing.") (setenv "SPEAKERSAFETYD_GROUP" "nixbld") (setenv "SPEAKERSAFETYD_USER" "nixbld") (invoke "make" "install")))))) - (inputs (list alsa-lib)) + (inputs (cons alsa-lib (cargo-inputs 'speakersafetyd))) (native-inputs (list pkg-config)) (home-page "https://github.com/AsahiLinux/speakersafetyd/") (synopsis "Speaker protection daemon") @@ -3492,53 +2563,6 @@ model.") #:install-source? #f #:features '(list "external-harfbuzz") #:cargo-test-flags '(list "--features" "external-harfbuzz") - #:cargo-inputs - (list rust-app-dirs2-2 - rust-anyhow-1 - rust-atty-0.2 - rust-byte-unit-4 - rust-byteorder-1 - rust-cc-1 - rust-cfg-if-1 - rust-curl-0.4 - rust-error-chain-0.12 - rust-flate2-1 - rust-fs2-0.4 - rust-html-escape-0.2 - rust-lazy-static-1 - rust-libc-0.2 - rust-md-5-0.10 - rust-nom-7 - rust-open-4 - rust-percent-encoding-2 - rust-pinot-0.1 - rust-pkg-config-0.3 - rust-quick-xml-0.28 - rust-reqwest-0.11 - rust-serde-1 - rust-serde-json-1 - rust-sha2-0.10 - rust-structopt-0.3 - rust-tempfile-3 - rust-tera-1 - rust-termcolor-1 - rust-thiserror-1 - rust-tokio-1 - rust-toml-0.7 - rust-url-2 - rust-vcpkg-0.2 - rust-watchexec-2 - rust-watchexec-filterer-globset-1 - rust-watchexec-signals-1 - rust-zip-0.6) - #:cargo-development-inputs - (list rust-clap-2 - rust-filetime-0.2 - rust-futures-0.3 - rust-headers-0.3 - rust-hyper-0.14 - rust-structopt-0.3 - rust-tempfile-3) #:phases #~(modify-phases %standard-phases (add-after 'install 'install-doc @@ -3549,12 +2573,13 @@ model.") (native-inputs (list pkg-config)) (inputs - (list fontconfig - freetype - graphite2 - harfbuzz - icu4c - openssl)) + (cons* fontconfig + freetype + graphite2 + harfbuzz + icu4c + openssl + (cargo-inputs 'tectonic))) (home-page "https://tectonic-typesetting.github.io/") (synopsis "Complete, embeddable TeX/LaTeX engine") (description @@ -3577,29 +2602,8 @@ of support files.") (base32 "1pfx8kgaf0rc8ijps2fqb61gjnak3sf430hvg52bnby9qqyd51h8")))) (build-system cargo-build-system) (arguments - `(#:install-source? #f - #:cargo-inputs - (("rust-anyhow" ,rust-anyhow-1) - ("rust-clap" ,rust-clap-4) - ("rust-clap-verbosity-flag" ,rust-clap-verbosity-flag-2) - ("rust-console" ,rust-console-0.13) - ("rust-directories" ,rust-directories-3) - ("rust-env-logger" ,rust-env-logger-0.10) - ("rust-filetime" ,rust-filetime-0.2) - ("rust-globset" ,rust-globset-0.4) - ("rust-ignore" ,rust-ignore-0.4) - ("rust-log" ,rust-log-0.4) - ("rust-path-clean" ,rust-path-clean-0.1) - ("rust-rayon" ,rust-rayon-1) - ("rust-serde" ,rust-serde-1) - ("rust-serde-json" ,rust-serde-json-1) - ("rust-sha-1" ,rust-sha-1-0.9) - ("rust-tempfile" ,rust-tempfile-3) - ("rust-toml" ,rust-toml-0.5) - ("rust-which" ,rust-which-4)) - #:cargo-development-inputs - (("rust-criterion" ,rust-criterion-0.3) - ("rust-mockall" ,rust-mockall-0.11)))) + `(#:install-source? #f)) + (inputs (cargo-inputs 'treefmt)) (home-page "https://numtide.github.io/treefmt") (synopsis "Command-line application to format the code tree") (description @@ -3636,12 +2640,7 @@ revert and check changes. (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0kv07ghibifs6rnskg1na6a0hdb0f8vqfbpv5k8g09lc2075gjv1")) - (snippet - #~(begin (use-modules (guix build utils)) - (substitute* "Cargo.toml" - ;; rusty-hook provides a git hook for CI. - ((".*rusty-hook.*") "")))))) + (base32 "0kv07ghibifs6rnskg1na6a0hdb0f8vqfbpv5k8g09lc2075gjv1")))) (build-system cargo-build-system) (arguments `(#:install-source? #f @@ -3653,18 +2652,13 @@ revert and check changes. "--skip=tests::test_cli_input_missing_file" "--skip=tests::test_cli_input_stdin" "--skip=tests::test_cli_missing_param_value") - #:cargo-inputs - (("rust-ansi-term" ,rust-ansi-term-0.12) - ("rust-clap" ,rust-clap-4) - ("rust-no-color" ,rust-no-color-0.1)) - #:cargo-development-inputs - (("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")))))))) + (inputs (cargo-inputs 'hex)) (home-page "https://github.com/sitkevij/hex") (synopsis "Hexadecimal colorized view of a file") (description @@ -3685,39 +2679,11 @@ colorized view to stdout.") (base32 "000w549v1bpw7r57xw656p40ywf1gimvxxx5cjnri2js0xg927x4")))) (build-system cargo-build-system) (arguments - `(#:install-source? #f - #:cargo-inputs - (("rust-aho-corasick" ,rust-aho-corasick-0.7) - ("rust-clap" ,rust-clap-2) - ("rust-crossbeam-channel" ,rust-crossbeam-channel-0.5) - ("rust-dashmap" ,rust-dashmap-4) - ("rust-dirs" ,rust-dirs-3) - ("rust-encoding-rs-io" ,rust-encoding-rs-io-0.1) - ("rust-env-logger" ,rust-env-logger-0.8) - ("rust-grep-searcher" ,rust-grep-searcher-0.1) - ("rust-hex" ,rust-hex-0.4) - ("rust-ignore" ,rust-ignore-0.4) - ("rust-log" ,rust-log-0.4) - ("rust-num-format" ,rust-num-format-0.4) - ("rust-once-cell" ,rust-once-cell-1) - ("rust-parking-lot" ,rust-parking-lot-0.11) - ("rust-rayon" ,rust-rayon-1) - ("rust-regex" ,rust-regex-1) - ("rust-serde" ,rust-serde-1) - ("rust-serde-cbor" ,rust-serde-cbor-0.11) - ("rust-serde-json" ,rust-serde-json-1) - ("rust-serde-yaml" ,rust-serde-yaml-0.8) - ("rust-tera" ,rust-tera-1) - ("rust-term-size" ,rust-term-size-0.3) - ("rust-toml" ,rust-toml-0.5)) - #:cargo-development-inputs - (("rust-git2" ,rust-git2-0.13) - ("rust-regex" ,rust-regex-1) - ("rust-tempfile" ,rust-tempfile-3)))) + `(#:install-source? #f)) (native-inputs (list pkg-config)) (inputs - (list libgit2 openssl zlib)) + (cons* libgit2 openssl zlib (cargo-inputs 'tokei))) (home-page "https://tokei.rs") (synopsis "Count code, quickly") (description @@ -3726,6 +2692,153 @@ show number of files, total lines within those files and code, comments, and blanks grouped by language.") (license (list license:expat license:asl2.0)))) +(define-public typst + (package + (name "typst") + (version "0.13.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "typst-cli" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "10xnxf6z78hcck7647vfq9vigrvvz0a6g4ha4l4vn5zlarrxwd56")))) + (build-system cargo-build-system) + (arguments + (list + #:install-source? #f + #:modules '((guix build cargo-build-system) + (guix build utils) + (ice-9 match) + (srfi srfi-26)) + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'set-version-string + (lambda _ + (setenv "TYPST_VERSION" #$(package-version this-package)))) + (add-after 'configure 'configure-artifacts + (lambda _ + (mkdir "artifacts") + (setenv "GEN_ARTIFACTS" "artifacts"))) + (add-after 'install 'install-artifacts + (lambda _ + (with-directory-excursion "artifacts" + (for-each (cut install-file <> + (string-append #$output "/share/man/man1")) + (find-files "." "\\.1$")) + (rename-file "typst.bash" "typst") + (map + (match-lambda + ((file . loc) + (install-file file (string-append #$output "/share" loc)))) + '(("typst" . "/bash-completion/completions") + ("_typst" . "/zsh/site-functions") + ("typst.elv" . "/elvish/lib") + ("typst.fish" . "/fish/vendor_completions.d"))))))))) + (inputs (cons* openssl (cargo-inputs 'typst))) + (native-search-paths + (list (search-path-specification + (variable "TYPST_PACKAGE_PATH") + (files '("share/typst/packages")) + (separator #f)) + (search-path-specification + (variable "TYPST_FONT_PATHS") + (files '("share/fonts" "share/texmf-dist/fonts"))))) + (home-page "https://typst.app/") + (synopsis "LaTeX-like typesetting system") + (description + "Typst is a markup-based typesetting system that is designed to be as +powerful as LaTeX while being much easier to learn and use. Features include +built-in markup for math typesetting, bibliography management and other common +tasks, an extensible scripting system for uncommon tasks, incremental +compilation, and intuitive error messages.") + (license license:asl2.0))) + +(define-public typstyle + (package + (name "typstyle") + (version "0.13.10") + (source + (origin + (method url-fetch) + (uri (crate-uri "typstyle" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "06mg12rkls1hkiz8wxchj1jqf1l1bq963s80mrvjfiajb08zqdx1")))) + (build-system cargo-build-system) + (arguments + (list + #:install-source? #f + #:modules + '((guix build cargo-build-system) + (guix build utils) + (ice-9 match)) + #:phases + #~(modify-phases %standard-phases + (add-after 'install 'install-completions + (lambda* (#:key native-inputs #:allow-other-keys) + (for-each + (match-lambda + ((shell . path) + (mkdir-p (in-vicinity #$output (dirname path))) + (let ((binary + (if #$(%current-target-system) + (search-input-file native-inputs "bin/typstyle") + (in-vicinity #$output "bin/typstyle")))) + (with-output-to-file (in-vicinity #$output path) + (lambda _ + (invoke binary "completions" shell)))))) + '(("bash" . "share/bash-completion/completions/typstyle") + ("elvish" . "share/elvish/lib/typstyle") + ("fish" . "share/fish/vendor_completions.d/typstyle.fish") + ("zsh" . "share/zsh/site-functions/_typstyle")))))))) + (native-inputs + (if (%current-target-system) + (list this-package) + '())) + (inputs (cargo-inputs 'typstyle)) + (home-page "https://enter-tainer.github.io/typstyle/") + (synopsis "Consistent formatter for Typst") + (description + "Typstyle is a formatter for the Typst typesetting system designed with +universal consistency and correctness as top priorities. It is +configuration-free.") + (license license:asl2.0))) + +(define-public vhdl-ls + (package + (name "vhdl-ls") + (version "0.85.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/VHDL-LS/rust_hdl") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1vb2wmwammbxg89q8hhndskw43kgbamhyz41wdmpzk9skwy658ms")))) + (build-system cargo-build-system) + (arguments + (list + #:install-source? #f + #:cargo-install-paths ''("vhdl_ls") + #:phases + #~(modify-phases %standard-phases + (add-after 'install 'install-libraries + (lambda _ + (mkdir-p (string-append #$output "/share/vhdl_libraries")) + (copy-recursively + "vhdl_libraries" + (string-append #$output "/share/vhdl_libraries"))))))) + (inputs (cargo-inputs 'vhdl-ls)) + (home-page "https://github.com/VHDL-LS/rust_hdl") + (synopsis "VHDL language server") + (description + "This package provides a VHDL language server protocol implementation with +support for diagnostics, navigating to symbol, finding all references etc.") + (license license:mpl2.0))) + (define-public vivid (package (name "vivid") @@ -3739,15 +2852,8 @@ blanks grouped by language.") (base32 "1xynznf7drvhjhhnwdxrbjgr6qgfa5lzwxxqdclnjvzwkbhl2i2q")))) (build-system cargo-build-system) (arguments - `(#:install-source? #f - #:cargo-inputs - (("rust-ansi-colours" ,rust-ansi-colours-1) - ("rust-clap" ,rust-clap-4) - ("rust-etcetera" ,rust-etcetera-0.8) - ("rust-lazy-static" ,rust-lazy-static-1) - ("rust-rust-embed" ,rust-rust-embed-8) - ("rust-yaml-rust" ,rust-yaml-rust-0.4)) - #:cargo-development-inputs (("rust-assert-cmd" ,rust-assert-cmd-2)))) + `(#:install-source? #f)) + (inputs (cargo-inputs 'vivid)) (home-page "https://github.com/sharkdp/vivid") (synopsis "LS_COLORS environment variable manager") (description @@ -3766,17 +2872,18 @@ older terminal emulators.") (define-public watchexec (package (name "watchexec") - (version "1.16.1") + (version "2.3.0") (source (origin (method url-fetch) (uri (crate-uri "watchexec-cli" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "1wp424gzw1zmax5yy5gya15knl24rjx8gi9c7palvq807q3cnj65")))) + (base32 "1qqbcipx90q4hl1l39ijwqqndbd23kmkqha3wxpqn1b8dylfxgy2")))) (build-system cargo-build-system) (arguments - `(#:phases + `(#:install-source? #f + #:phases (modify-phases %standard-phases (add-after 'install 'install-completions (lambda* (#:key outputs #:allow-other-keys) @@ -3788,16 +2895,8 @@ older terminal emulators.") ;; completions. But the GitHub source does not compile. ;; ;; (copy-file "completions/zsh" zsh) - (install-file "README.md" doc))))) - #:cargo-inputs - (("rust-clap" ,rust-clap-2) - ("rust-embed-resource" ,rust-embed-resource-1) - ("rust-env-logger" ,rust-env-logger-0.8) - ("rust-log" ,rust-log-0.4) - ("rust-watchexec" ,rust-watchexec-1)) - #:cargo-development-inputs - (("rust-assert-cmd" ,rust-assert-cmd-1) - ("rust-insta" ,rust-insta-1)))) + (install-file "README.md" doc))))))) + (inputs (cargo-inputs 'watchexec)) (home-page "https://github.com/watchexec/watchexec") (synopsis "Executes commands in response to file modifications") (description @@ -3808,7 +2907,7 @@ runs a command whenever it detects modifications.") (define-public rbw (package (name "rbw") - (version "1.13.1") + (version "1.13.2") (outputs '("out" "scripts")) (source (origin @@ -3816,69 +2915,10 @@ runs a command whenever it detects modifications.") (uri (crate-uri "rbw" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "1viadih6ijwxlinjshkzfyhxvk00jbm643v6gpwp463ylsjpvvyd")) - (modules '((guix build utils))) - (snippet - '(begin (substitute* "Cargo.toml" - (("\"=([[:digit:]]+(\\.[[:digit:]]+)*)" _ version) - (string-append "\"^" version))))))) + (base32 "1plwv71iwdcdprknsn32x7wzlg1hnikq3wqbym4yiwpk5kf6anmm")))) (build-system cargo-build-system) (arguments `(#:install-source? #f - #: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-axum" ,rust-axum-0.7) - ("rust-base32" ,rust-base32-0.5) - ("rust-base64" ,rust-base64-0.22) - ("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-cli-clipboard" ,rust-cli-clipboard-0.4) - ("rust-daemonize" ,rust-daemonize-0.5) - ("rust-directories" ,rust-directories-5) - ("rust-env-logger" ,rust-env-logger-0.11) - ("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-is-terminal" ,rust-is-terminal-0.4) - ("rust-libc" ,rust-libc-0.2) - ("rust-log" ,rust-log-0.4) - ("rust-open" ,rust-open-5) - ("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-regex" ,rust-regex-1) - ("rust-region" ,rust-region-3) - ("rust-reqwest" ,rust-reqwest-0.12) - ("rust-rmpv" ,rust-rmpv-1) - ("rust-rsa" ,rust-rsa-0.9) - ("rust-rustix" ,rust-rustix-0.38) - ("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-sha1" ,rust-sha1-0.10) - ("rust-sha2" ,rust-sha2-0.10) - ("rust-tempfile" ,rust-tempfile-3) - ("rust-terminal-size" ,rust-terminal-size-0.4) - ("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.24) - ("rust-totp-lite" ,rust-totp-lite-2) - ("rust-url" ,rust-url-2) - ("rust-urlencoding" ,rust-urlencoding-2) - ("rust-uuid" ,rust-uuid-1) - ("rust-zeroize" ,rust-zeroize-1)) #:phases (modify-phases %standard-phases (add-after 'install 'install-completions @@ -3928,7 +2968,7 @@ runs a command whenever it detects modifications.") (list this-package) '()))) (inputs - (list coreutils-minimal findutils grep perl sed)) + (cons* coreutils-minimal findutils grep perl sed (cargo-inputs 'rbw))) (home-page "https://git.tozt.net/rbw") (synopsis "Unofficial Bitwarden CLI") (description "This package is an unofficial command line client for @@ -3940,149 +2980,30 @@ work. This allows the client to be used in a much simpler way, with the background agent taking care of maintaining the necessary state.") (license license:expat))) -;; Note: Keep rust-cargo and rust-cargo-c in sync with our current -;; rust:cargo version. -(define-public rust-cargo - (package - (name "rust-cargo") - (version "0.83.0") - (source - (origin - (method url-fetch) - (uri (crate-uri "cargo" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "0yvb3vh87ngrfsgvl6r2drjrq5h1yw07yhq6c6kc39wmigc1z4l2")) - (modules '((guix build utils))) - (snippet - '(begin (substitute* "Cargo.toml" - (("\"=([[:digit:]]+(\\.[[:digit:]]+)*)" _ version) - (string-append "\"^" version))))))) - (build-system cargo-build-system) - (arguments - `(#:tests? #f ; Some of the tests tests hang. - #:cargo-inputs - (("rust-annotate-snippets" ,rust-annotate-snippets-0.11) - ("rust-anstream" ,rust-anstream-0.6) - ("rust-anstyle" ,rust-anstyle-1) - ("rust-anyhow" ,rust-anyhow-1) - ("rust-base64" ,rust-base64-0.22) - ("rust-bytesize" ,rust-bytesize-1) - ("rust-cargo-credential" ,rust-cargo-credential-0.4) - ("rust-cargo-credential-libsecret" ,rust-cargo-credential-libsecret-0.4) - ("rust-cargo-credential-macos-keychain" ,rust-cargo-credential-macos-keychain-0.4) - ("rust-cargo-credential-wincred" ,rust-cargo-credential-wincred-0.4) - ("rust-cargo-platform" ,rust-cargo-platform-0.1) - ("rust-cargo-util" ,rust-cargo-util-0.2) - ("rust-cargo-util-schemas" ,rust-cargo-util-schemas-0.6) - ("rust-clap" ,rust-clap-4) - ("rust-color-print" ,rust-color-print-0.3) - ("rust-crates-io" ,rust-crates-io-0.40) - ("rust-curl" ,rust-curl-0.4) - ("rust-curl-sys" ,rust-curl-sys-0.4) - ("rust-filetime" ,rust-filetime-0.2) - ("rust-flate2" ,rust-flate2-1) - ("rust-git2" ,rust-git2-0.19) - ("rust-git2-curl" ,rust-git2-curl-0.20) - ("rust-gix" ,rust-gix-0.64) - ("rust-glob" ,rust-glob-0.3) - ("rust-hex" ,rust-hex-0.4) - ("rust-hmac" ,rust-hmac-0.12) - ("rust-home" ,rust-home-0.5) - ("rust-http-auth" ,rust-http-auth-0.1) - ("rust-humantime" ,rust-humantime-2) - ("rust-ignore" ,rust-ignore-0.4) - ("rust-im-rc" ,rust-im-rc-15) - ("rust-indexmap" ,rust-indexmap-2) - ("rust-itertools" ,rust-itertools-0.13) - ("rust-jobserver" ,rust-jobserver-0.1) - ("rust-lazycell" ,rust-lazycell-1) - ("rust-libc" ,rust-libc-0.2) - ("rust-libgit2-sys" ,rust-libgit2-sys-0.17) - ("rust-memchr" ,rust-memchr-2) - ("rust-opener" ,rust-opener-0.7) - ("rust-openssl" ,rust-openssl-0.10) - ("rust-os-info" ,rust-os-info-3) - ("rust-pasetors" ,rust-pasetors-0.6) - ("rust-pathdiff" ,rust-pathdiff-0.2) - ("rust-rand" ,rust-rand-0.8) - ("rust-regex" ,rust-regex-1) - ("rust-rusqlite" ,rust-rusqlite-0.32) - ("rust-rustfix" ,rust-rustfix-0.8) - ("rust-same-file" ,rust-same-file-1) - ("rust-semver" ,rust-semver-1) - ("rust-serde" ,rust-serde-1) - ("rust-serde-untagged" ,rust-serde-untagged-0.1) - ("rust-serde-ignored" ,rust-serde-ignored-0.1) - ("rust-serde-json" ,rust-serde-json-1) - ("rust-sha1" ,rust-sha1-0.10) - ("rust-shell-escape" ,rust-shell-escape-0.1) - ("rust-supports-hyperlinks" ,rust-supports-hyperlinks-3) - ("rust-supports-unicode" ,rust-supports-unicode-3) - ("rust-tar" ,rust-tar-0.4) - ("rust-tempfile" ,rust-tempfile-3) - ("rust-time" ,rust-time-0.3) - ("rust-toml" ,rust-toml-0.8) - ("rust-toml-edit" ,rust-toml-edit-0.22) - ("rust-tracing" ,rust-tracing-0.1) - ("rust-tracing-chrome" ,rust-tracing-chrome-0.7) - ("rust-tracing-subscriber" ,rust-tracing-subscriber-0.3) - ("rust-unicase" ,rust-unicase-2) - ("rust-unicode-width" ,rust-unicode-width-0.1) - ("rust-url" ,rust-url-2) - ("rust-walkdir" ,rust-walkdir-2) - ("rust-windows-sys" ,rust-windows-sys-0.59)) - #:cargo-development-inputs - (("rust-annotate-snippets" ,rust-annotate-snippets-0.11) - ("rust-cargo-test-support" ,rust-cargo-test-support-0.4) - ("rust-gix" ,rust-gix-0.64) - ("rust-same-file" ,rust-same-file-1) - ("rust-snapbox" ,rust-snapbox-0.6)))) - (native-inputs - (list pkg-config)) - (inputs - (list curl libssh2 libgit2-1.8 openssl zlib)) - (home-page "https://crates.io") - (synopsis "Package manager for Rust") - (description "Cargo, a package manager for Rust. This package provides -the library crate of Cargo.") - (license (list license:expat license:asl2.0)))) - +;; Note: Keep it in sync with our current rust:cargo version. (define-public rust-cargo-c (package (name "rust-cargo-c") - (version "0.10.5+cargo-0.83.0") + (version "0.10.9+cargo-0.85.0") (source (origin (method url-fetch) (uri (crate-uri "cargo-c" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "02ppkpwngksz22vk66sn8xm0lviihp0zpnki1sa4sf0672lrpyjv")))) + (base32 "1cxawccpssmpvv6a0sn8lkms5nd3gyh46g407bk2i8xyzyh87pvq")))) (build-system cargo-build-system) - (arguments - `(#:cargo-inputs - (("rust-anyhow" ,rust-anyhow-1) - ("rust-cargo" ,rust-cargo) - ("rust-cargo-util" ,rust-cargo-util-0.2) - ("rust-cbindgen" ,rust-cbindgen-0.27) - ("rust-cc" ,rust-cc-1) - ("rust-clap" ,rust-clap-4) - ("rust-glob" ,rust-glob-0.3) - ("rust-implib" ,rust-implib-0.3) - ("rust-itertools" ,rust-itertools-0.13) - ("rust-log" ,rust-log-0.4) - ("rust-object" ,rust-object-0.36) - ("rust-regex" ,rust-regex-1) - ("rust-semver" ,rust-semver-1) - ("rust-serde" ,rust-serde-1) - ("rust-serde-derive" ,rust-serde-derive-1) - ("rust-serde-json" ,rust-serde-json-1) - ("rust-toml" ,rust-toml-0.8)))) + (arguments (list #:install-source? #f)) (native-inputs (list pkg-config)) (inputs - (list curl libgit2-1.8 libssh2 openssl zlib)) + (cons* curl + libgit2-1.8 + libssh2 + openssl + sqlite + zlib + (cargo-inputs 'rust-cargo-c))) (home-page "https://github.com/lu-zero/cargo-c") (synopsis "Build and install C-compatible libraries") (description @@ -4104,9 +3025,8 @@ C-compatible) software.") (base32 "1r1b6fynkjnpj5p3k209sa13mjvh4k0ghzwnribm48dh9v7lfnnv")))) (build-system cargo-build-system) (arguments - `(#:cargo-inputs - (("rust-libc" ,rust-libc-0.2) - ("rust-memchr" ,rust-memchr-2)))) + `(#:install-source? #f)) + (inputs (cargo-inputs 'rtss)) (home-page "https://github.com/Freaky/rtss") (synopsis "Annotate stdout/stderr with elapsed times") (description "@code{rtss} annotates its output with relative durations between @@ -4127,25 +3047,6 @@ consecutive lines and since program start.") (build-system cargo-build-system) (arguments (list - #:cargo-inputs - `(("rust-ansi-term" ,rust-ansi-term-0.12) - ("rust-clap" ,rust-clap-4) - ("rust-is-terminal" ,rust-is-terminal-0.4) - ("rust-memmap2" ,rust-memmap2-0.9) - ("rust-rayon" ,rust-rayon-1) - ("rust-regex" ,rust-regex-1) - ("rust-tempfile" ,rust-tempfile-3) - ("rust-thiserror" ,rust-thiserror-1) - ("rust-unescape" ,rust-unescape-0.1)) - #:cargo-development-inputs - `(("rust-ansi-to-html" ,rust-ansi-to-html-0.1) - ("rust-anyhow" ,rust-anyhow-1) - ("rust-assert-cmd" ,rust-assert-cmd-2) - ("rust-clap-mangen" ,rust-clap-mangen-0.2) - ("rust-console" ,rust-console-0.15) - ("rust-insta" ,rust-insta-1) - ("rust-proptest" ,rust-proptest-1) - ("rust-regex-automata" ,rust-regex-automata-0.4)) #:install-source? #f #:phases #~(modify-phases %standard-phases @@ -4163,6 +3064,7 @@ consecutive lines and since program start.") (mkdir-p elvish-dir) (copy-file "sd.bash" (string-append bash-dir "sd")) (copy-file "sd.elv" (string-append elvish-dir "sd"))))))))) + (inputs (cargo-inputs 'sd)) (home-page "https://github.com/chmln/sd") (synopsis "Intuitive find & replace CLI") (description "@code{sd} is an intuitive find & replace CLI with @@ -4173,7 +3075,7 @@ common-sense defaults.") (define-public skim (package (name "skim") - (version "0.15.7") + (version "0.16.1") (source (origin ;; crates.io doesn't have everything needed. @@ -4183,38 +3085,10 @@ common-sense defaults.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "05j775mgx5a00k2p6nwlgxsdizjlw2380ai5rr5d86n2pg58fhmx")))) + (base32 "00k487pqhifcf9jvx7acwyhag34g5zrn49hry7xiwdflpqq4x1cl")))) (build-system cargo-build-system) (arguments `(#:install-source? #f - #:cargo-inputs (("rust-beef" ,rust-beef-0.5) - ("rust-bitflags" ,rust-bitflags-1) - ("rust-chrono" ,rust-chrono-0.4) - ("rust-clap" ,rust-clap-4) - ("rust-clap-complete" ,rust-clap-complete-4) - ("rust-clap-complete-fig" ,rust-clap-complete-fig-4) - ("rust-clap-complete-nushell" ,rust-clap-complete-nushell-4) - ("rust-clap-mangen" ,rust-clap-mangen-0.2) - ("rust-defer-drop" ,rust-defer-drop-1) - ("rust-derive-builder" ,rust-derive-builder-0.20) - ("rust-env-logger" ,rust-env-logger-0.11) - ("rust-fuzzy-matcher" ,rust-fuzzy-matcher-0.3) - ("rust-indexmap" ,rust-indexmap-2) - ("rust-lazy-static" ,rust-lazy-static-1) - ("rust-log" ,rust-log-0.4) - ("rust-nix" ,rust-nix-0.29) - ("rust-rand" ,rust-rand-0.8) - ("rust-rayon" ,rust-rayon-1) - ("rust-regex" ,rust-regex-1) - ("rust-shell-quote" ,rust-shell-quote-0.7) - ("rust-shlex" ,rust-shlex-1) - ("rust-tempfile" ,rust-tempfile-3) - ("rust-time" ,rust-time-0.3) - ("rust-timer" ,rust-timer-0.2) - ("rust-tuikit" ,rust-tuikit-0.5) - ("rust-unicode-width" ,rust-unicode-width-0.2) - ("rust-vte" ,rust-vte-0.13) - ("rust-which" ,rust-which-7)) #:phases (modify-phases %standard-phases (replace 'install (lambda* (#:key outputs #:allow-other-keys) @@ -4270,6 +3144,7 @@ common-sense defaults.") (copy-file "shell/key-bindings.fish" (string-append fish-vendor "/skim-bindings.fish")))))))) + (inputs (cargo-inputs 'skim)) (home-page "https://github.com/lotabout/skim") (synopsis "Fuzzy Finder in Rust") (description "This package provides a fuzzy finder in Rust.") @@ -4278,55 +3153,23 @@ common-sense defaults.") (define-public spotifyd (package (name "spotifyd") - (version "0.3.5") + (version "0.4.1") (source (origin (method url-fetch) (uri (crate-uri "spotifyd" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "1g6k8xmx8xvc2dpak14y8cc2221djhdflzsjczygvqa9gk5jiadd")))) + (base32 "1m0z1q35by9wskjy2imnf8g8liy4g2ljyd69z6fryvvw64j0qzd6")))) (build-system cargo-build-system) (arguments `(#:install-source? #f - #:cargo-inputs (("rust-alsa" ,rust-alsa-0.7) - ("rust-chrono" ,rust-chrono-0.4) - ("rust-color-eyre" ,rust-color-eyre-0.6) - ("rust-daemonize" ,rust-daemonize-0.5) - ("rust-dbus" ,rust-dbus-0.9) - ("rust-dbus-crossroads" ,rust-dbus-crossroads-0.5) - ("rust-dbus-tokio" ,rust-dbus-tokio-0.7) - ("rust-fern" ,rust-fern-0.6) - ("rust-futures" ,rust-futures-0.3) - ("rust-gethostname" ,rust-gethostname-0.4) - ("rust-hex" ,rust-hex-0.4) - ("rust-keyring" ,rust-keyring-2) - ("rust-libc" ,rust-libc-0.2) - ("rust-librespot-audio" ,rust-librespot-audio-0.4) - ("rust-librespot-connect" ,rust-librespot-connect-0.4) - ("rust-librespot-core" ,rust-librespot-core-0.4) - ("rust-librespot-discovery" ,rust-librespot-discovery-0.4) - ("rust-librespot-playback" ,rust-librespot-playback-0.4) - ("rust-log" ,rust-log-0.4) - ("rust-rspotify" ,rust-rspotify-0.11) - ("rust-serde" ,rust-serde-1) - ("rust-sha-1" ,rust-sha-1-0.10) - ("rust-structopt" ,rust-structopt-0.3) - ("rust-syslog" ,rust-syslog-6) - ("rust-tokio" ,rust-tokio-1) - ("rust-tokio-stream" ,rust-tokio-stream-0.1) - ("rust-toml" ,rust-toml-0.7) - ("rust-url" ,rust-url-2) - ("rust-whoami" ,rust-whoami-1) - ("rust-xdg" ,rust-xdg-2)) - #:cargo-development-inputs (("rust-env-logger" ,rust-env-logger-0.10)) #:features (list "alsa_backend" - "dbus_keyring" - ;"dbus_mpris" ; Conflicts with rust-chrono-0.4 version. + "dbus_mpris" "pulseaudio_backend" "rodio_backend"))) (native-inputs (list pkg-config)) - (inputs (list alsa-lib dbus pulseaudio)) + (inputs (cons* alsa-lib dbus pulseaudio (cargo-inputs 'spotifyd))) (home-page "https://github.com/Spotifyd/spotifyd") (synopsis "Spotify streaming daemon with Spotify Connect support") (description @@ -4338,40 +3181,18 @@ Spotify Connect protocol, which includes the official Spotify mobile apps.") (define-public svd2rust (package (name "svd2rust") - (version "0.35.0") + (version "0.36.1") (source (origin (method url-fetch) (uri (crate-uri "svd2rust" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "0fjkd9b0c2pfxa9czaxjg6bcqy1bnc6s423mv069krbpbyxf2a5g")) - (snippet - #~(begin (use-modules (guix build utils)) - (substitute* "Cargo.toml" - (("\"=([[:digit:]]+(\\.[[:digit:]]+)*)" _ version) - (string-append "\"^" version))))))) + (base32 "0pfbvgxp49j04f1zxgq5n5csv7b1ysnnmafnyal08yisrvg476nw")))) (build-system cargo-build-system) (arguments - `(#:install-source? #f - #:cargo-inputs - (("rust-anyhow" ,rust-anyhow-1) - ("rust-clap" ,rust-clap-4) - ("rust-env-logger" ,rust-env-logger-0.11) - ("rust-inflections" ,rust-inflections-1) - ("rust-irx-config" ,rust-irx-config-3) - ("rust-log" ,rust-log-0.4) - ("rust-proc-macro2" ,rust-proc-macro2-1) - ("rust-quote" ,rust-quote-1) - ("rust-regex" ,rust-regex-1) - ("rust-serde" ,rust-serde-1) - ("rust-serde-json" ,rust-serde-json-1) - ("rust-serde-yaml" ,rust-serde-yaml-0.9) - ("rust-svd-parser" ,rust-svd-parser-0.14) - ("rust-svd-rs" ,rust-svd-rs-0.14) - ("rust-syn" ,rust-syn-2) - ("rust-thiserror" ,rust-thiserror-1) - ("rust-url" ,rust-url-2)))) + `(#:install-source? #f)) + (inputs (cargo-inputs 'svd2rust)) (home-page "https://github.com/rust-embedded/svd2rust/") (synopsis "Generate Rust register maps (`struct`s) from SVD files") (description @@ -4393,9 +3214,6 @@ files.") (build-system cargo-build-system) (arguments `(#:install-source? #f - #:cargo-inputs - (("rust-exitcode" ,rust-exitcode-1) - ("rust-swayipc" ,rust-swayipc-2)) #:phases (modify-phases %standard-phases (add-after 'install 'install-completions @@ -4411,6 +3229,7 @@ files.") (copy-file "completions/swayhide.zsh" (string-append zsh "_swayhide")) (install-file "completions/swayhide.fish" fish))))))) + (inputs (cargo-inputs 'swayhide)) (home-page "https://github.com/NomisIV/swayhide/") (synopsis "Swallow windows on swaywm") (description "swayhide hides the currently active terminal (by moving it @@ -4423,34 +3242,21 @@ terminal won't have to take up any space.") (define-public swayr (package (name "swayr") - (version "0.27.4") + (version "0.28.1") (source (origin (method url-fetch) (uri (crate-uri "swayr" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "19p7pwcfbcbia8hbx7ql9krl2fcdib2db9xs57ylv6cfccgipv9q")))) + (base32 "1q3fim66q74pxsv9vhhcxgdnsjmkz08adsf4ng61sxxvf3hry3lf")))) (build-system cargo-build-system) (arguments `(#:cargo-test-flags '("--" "--skip=config::test_load_swayr_config") - #:install-source? #f - #:cargo-inputs - (("rust-clap" ,rust-clap-4) - ("rust-directories" ,rust-directories-5) - ("rust-env-logger" ,rust-env-logger-0.11) - ("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.8)))) + #:install-source? #f)) + (inputs (cargo-inputs 'swayr)) (home-page "https://sr.ht/~tsdh/swayr/") (synopsis "Window-switcher for the sway window manager") (description @@ -4476,22 +3282,8 @@ daemon which executes them.") (arguments `(#:cargo-test-flags '("--release" "--" "--skip=config::test_load_swayrbar_config") - #:install-source? #f - #:cargo-inputs (("rust-battery" ,rust-battery-0.7) - ("rust-chrono" ,rust-chrono-0.4) - ("rust-clap" ,rust-clap-4) - ("rust-directories" ,rust-directories-5) - ("rust-env-logger" ,rust-env-logger-0.11) - ("rust-log" ,rust-log-0.4) - ("rust-once-cell" ,rust-once-cell-1) - ("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-swaybar-types" ,rust-swaybar-types-3) - ("rust-swayipc" ,rust-swayipc-3) - ("rust-sysinfo" ,rust-sysinfo-0.31) - ("rust-toml" ,rust-toml-0.8)))) + #:install-source? #f)) + (inputs (cargo-inputs 'swayrbar)) (home-page "https://sr.ht/~tsdh/swayr/#swayrbar") (synopsis "Swaybar-protocol implementation for sway/swaybar") (description @@ -4512,10 +3304,6 @@ daemon which executes them.") (build-system cargo-build-system) (arguments `(#:install-source? #f - #:cargo-inputs (("rust-byteorder" ,rust-byteorder-1) - ("rust-clap" ,rust-clap-4) - ("rust-serde" ,rust-serde-1) - ("rust-serde-json" ,rust-serde-json-1)) #:phases (modify-phases %standard-phases (add-after 'install 'install-more @@ -4523,6 +3311,7 @@ daemon which executes them.") (let* ((out (assoc-ref outputs "out")) (man1 (string-append out "/share/man/man1"))) (install-file "swaysome.1" man1))))))) + (inputs (cargo-inputs 'swaysome)) (home-page "https://gitlab.com/hyask/swaysome") (synopsis "Manage your multiple outputs with the sway window manager") (description @@ -4533,7 +3322,7 @@ window manager.") (define-public tealdeer (package (name "tealdeer") - (version "1.7.1") + (version "1.7.2") (source (origin ;; Completions aren't in the release tarball. @@ -4544,7 +3333,7 @@ window manager.") (file-name (git-file-name name version)) (sha256 (base32 - "1qwg2xifazg39qxra5r7ficvgcprianzi02frz853s7dly7q10si")))) + "0yy0cvbw3n16whnqqycr54w18kiv6jlc3v0pl0276zvn9mc7p4qr")))) (build-system cargo-build-system) (arguments `(#:phases @@ -4576,31 +3365,11 @@ window manager.") "--skip=test_spaces_find_command" "--skip=test_autoupdate_cache" "--skip=test_update_cache" - "--skip=test_create_cache_directory_path") - #:cargo-inputs - (("rust-anyhow" ,rust-anyhow-1) - ("rust-app-dirs2" ,rust-app-dirs2-2) - ("rust-clap" ,rust-clap-4) - ("rust-env-logger" ,rust-env-logger-0.11) - ("rust-log" ,rust-log-0.4) - ("rust-pager" ,rust-pager-0.16) - ("rust-reqwest" ,rust-reqwest-0.12) - ("rust-serde" ,rust-serde-1) - ("rust-serde-derive" ,rust-serde-derive-1) - ("rust-toml" ,rust-toml-0.8) - ("rust-walkdir" ,rust-walkdir-2) - ("rust-yansi" ,rust-yansi-1) - ("rust-zip" ,rust-zip-2)) - #:cargo-development-inputs - (("rust-assert-cmd" ,rust-assert-cmd-2) - ("rust-escargot" ,rust-escargot-0.5) - ("rust-filetime" ,rust-filetime-0.2) - ("rust-predicates" ,rust-predicates-3) - ("rust-tempfile" ,rust-tempfile-3)))) + "--skip=test_create_cache_directory_path"))) (native-inputs (list pkg-config)) (inputs - (list openssl)) + (cons openssl (cargo-inputs 'tealdeer))) (home-page "https://github.com/dbrgn/tealdeer/") (synopsis "Fetch and show tldr help pages for many CLI commands") (description @@ -4608,10 +3377,131 @@ window manager.") Full featured offline client with caching support.") (license (list license:expat license:asl2.0)))) +(define-public uv + (package + (name "uv") + (version "0.6.12") + (source + (origin + (method url-fetch) + (uri (pypi-uri "uv" version)) + (sha256 + (base32 "14ajgsl7zzsrig1vppcgs77q4fqg5w858jxma9hqab4b8nrpzxmn")) + (modules '((guix build utils))) + (snippet + #~(for-each delete-file + (find-files "crates/uv-trampoline/trampolines" + "\\.exe$"))))) + (build-system pyproject-build-system) + (arguments + (list + #:imported-modules + (append %cargo-build-system-modules + %pyproject-build-system-modules) + #:modules + '((srfi srfi-26) + (ice-9 match) + ((guix build cargo-build-system) #:prefix cargo:) + (guix build pyproject-build-system) + (guix build utils)) + #:tests? #f ; Tests require multiple python versions and network access. + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'use-guix-vendored-dependencies + (lambda _ + (substitute* "Cargo.toml" + (("git.*, rev.*}") + "version = \"*\"}")))) + (add-after 'unpack 'prepare-cargo-build-system + (lambda args + (for-each + (lambda (phase) + (format #t "Running cargo phase: ~a~%" phase) + (apply (assoc-ref cargo:%standard-phases phase) + args)) + '(unpack-rust-crates + configure + check-for-pregenerated-files + patch-cargo-checksums)))) + (add-before 'build '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"))))) + (replace 'install + ;; We can't use the pyproject install phase because uv is a + ;; binary, not a python script. + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out")) + (wheel (car (find-files "dist" "\\.whl$"))) + (site-dir (site-packages inputs outputs)) + (pyversion + (string-append "python" + (python-version + (assoc-ref inputs "python"))))) + (invoke "python" "-m" "zipfile" "-e" wheel site-dir) + (mkdir-p (string-append out "/bin")) + (for-each delete-file + (find-files (string-append out "/lib/" pyversion) + "^uvx?$")) + (for-each (cut install-file <> (string-append out "/bin")) + (find-files "target" "^uvx?$"))))) + (replace 'check + (lambda args + (setenv "HOME" (getcwd)) + ;; NOTE: ‘#:tests?’ is honored here. + (apply (assoc-ref cargo:%standard-phases 'check) args))) + (add-after 'install 'install-extras + (lambda* (#:key native-inputs #:allow-other-keys) + (let ((uv (if #$(%current-target-system) + (search-input-file native-inputs "/bin/uv") + (string-append #$output "/bin/uv"))) + (uvx (if #$(%current-target-system) + (search-input-file native-inputs "/bin/uvx") + (string-append #$output "/bin/uvx")))) + (for-each + (match-lambda + ((shell uv-name uvx-name completions-dir) + (mkdir-p completions-dir) + (with-output-to-file (in-vicinity completions-dir uv-name) + (lambda _ + (invoke uv "generate-shell-completion" shell))) + (with-output-to-file (in-vicinity completions-dir uvx-name) + (lambda _ + (invoke uvx "--generate-shell-completion" shell))))) + `(("bash" "uv" "uvx" + ,(string-append #$output "/etc/bash_completion.d")) + ("zsh" "_uv" "_uvx" + ,(string-append #$output "/share/zsh/site-functions")) + ("fish" "uv.fish" "uvx.fish" + ,(string-append #$output "/share/fish/vendor_completions.d")) + ("elvish" "uv" "uvx" + ,(string-append #$output "/share/elvish/lib")) + ("nushell" "uv" "uvx" + ,(string-append #$output "/share/nushell/vendor/autoload")))))))))) + (native-inputs + (append + (list maturin pkg-config rust `(,rust "cargo")) + (if (%current-target-system) + (list this-package + (make-rust-sysroot (%current-target-system))) + '()))) + (inputs (cons* jemalloc xz `(,zstd "lib") (cargo-inputs 'uv))) + (home-page "https://docs.astral.sh/uv/") + (synopsis "Python package and project manager written in Rust") + (description + "@command{uv} is a high-performance Python package and project manager +written in Rust, known for its execution speed and compatibility with existing +tools.") + (license (list license:asl2.0 license:expat)))) + (define-public git-absorb (package (name "git-absorb") - (version "0.6.16") + (version "0.7.0") (source (origin ;; crates.io does not include the manual page. @@ -4621,24 +3511,10 @@ Full featured offline client with caching support.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "0az15qskgpbsbbm6sx7mqbka85n9j2xk3h2yir0d2wz6myp85475")) - (snippet - #~(begin (delete-file "Documentation/git-absorb.1"))))) + (base32 "1cqz9m5w7sh7pgfcirvdpv6i7l7nfaqbgs88zx0wr5sqg5wk2zky")))) (build-system cargo-build-system) (arguments `(#:install-source? #f - #:cargo-inputs - (("rust-anyhow" ,rust-anyhow-1) - ("rust-clap" ,rust-clap-4) - ("rust-clap-complete" ,rust-clap-complete-4) - ("rust-clap-complete-nushell" ,rust-clap-complete-nushell-4) - ("rust-git2" ,rust-git2-0.19) - ("rust-memchr" ,rust-memchr-2) - ("rust-slog" ,rust-slog-2) - ("rust-slog-async" ,rust-slog-async-2) - ("rust-slog-term" ,rust-slog-term-2)) - #:cargo-development-inputs - (("rust-tempfile" ,rust-tempfile-3)) #:phases (modify-phases %standard-phases (add-after 'install 'install-manual-page @@ -4650,7 +3526,7 @@ Full featured offline client with caching support.") "--no-xmllint" "--doctype=manpage" "--format=manpage" - "git-absorb.txt")) + "git-absorb.adoc")) (install-file "Documentation/git-absorb.1" man)))) (add-after 'install 'install-completions (lambda* (#:key native-inputs outputs #:allow-other-keys) @@ -4681,9 +3557,9 @@ Full featured offline client with caching support.") (if (%current-target-system) (list this-package) '()) - (list asciidoc pkg-config))) + (list asciidoc git-minimal/pinned pkg-config))) (inputs - (list libgit2-1.8 zlib)) + (cons* libgit2-1.9 zlib (cargo-inputs 'git-absorb))) (home-page "https://github.com/tummychow/git-absorb") (synopsis "Git tool for making automatic fixup commits") (description @@ -4703,12 +3579,7 @@ It will then write @code{fixup!} commits for each of those changes.") (uri (crate-uri "git-delta" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "1bmjan13lm1d6vcy8mh0iryl2rnvh39ml5y4alf6s728xdzc2yhj")) - (modules '((guix build utils))) - (snippet - '(begin (substitute* "Cargo.toml" - (("\"=([[:digit:]]+(\\.[[:digit:]]+)*)" _ version) - (string-append "\"^" version))))))) + (base32 "1bmjan13lm1d6vcy8mh0iryl2rnvh39ml5y4alf6s728xdzc2yhj")))) (build-system cargo-build-system) (arguments (list @@ -4726,41 +3597,6 @@ It will then write @code{fixup!} commits for each of those changes.") "--skip=wrapping::tests::test_alignment_1_line_vs_3_lines" "--skip=wrapping::tests::test_alignment_2_lines_vs_3_lines" "--skip=wrapping::tests::test_wrap_line_newlines") - #:cargo-inputs - `(("rust-ansi-colours" ,rust-ansi-colours-1) - ("rust-ansi-term" ,rust-ansi-term-0.12) - ("rust-anstyle-parse" ,rust-anstyle-parse-0.2) - ("rust-anyhow" ,rust-anyhow-1) - ("rust-bat" ,rust-bat-0.24) - ("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-clap-complete" ,rust-clap-complete-4) - ("rust-console" ,rust-console-0.15) - ("rust-ctrlc" ,rust-ctrlc-3) - ("rust-dirs" ,rust-dirs-5) - ("rust-git2" ,rust-git2-0.18) - ("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.7) - ("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.29) - ("rust-terminal-colorsaurus" ,rust-terminal-colorsaurus-0.4) - ("rust-unicode-segmentation" ,rust-unicode-segmentation-1) - ("rust-unicode-width" ,rust-unicode-width-0.1) - ("rust-xdg" ,rust-xdg-2)) - #:cargo-development-inputs `(("rust-insta" ,rust-insta-1) - ("rust-rstest" ,rust-rstest-0.21)) #:phases #~(modify-phases %standard-phases (add-after 'install 'install-extras @@ -4783,7 +3619,12 @@ It will then write @code{fixup!} commits for each of those changes.") (copy-file "etc/completion/completion.fish" (string-append fish-completions-dir "/delta.fish")))))))) (native-inputs (list git-minimal pkg-config)) - (inputs (list libgit2-1.7 openssl zlib)) + (inputs + (cons* libgit2-1.7 + oniguruma + openssl + zlib + (cargo-inputs 'git-delta))) (home-page "https://github.com/dandavison/delta") (synopsis "Syntax-highlighting pager for git") (description @@ -4796,76 +3637,47 @@ advanced keybindings, word-level diff highlighting, syntax highlighting for (define-public wallust (package (name "wallust") - (version "3.1.0") + (version "3.3.0") (source (origin (method url-fetch) (uri (crate-uri "wallust" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "1frx8py92vn04hc8cq18bs0z5dadx2q271fa3wgsry9bh5qvs6jp")))) + (base32 "08k593k7ixddf5z98drhzg2a858gal15dc8ih3gpsszz5q73y2ly")))) (build-system cargo-build-system) (arguments - `(#:features (list "buildgen") - #:install-source? #f - #: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")) - (install-man - (lambda (filename) - (install-file filename - (string-append - share "/man/man" - (string-take-right filename 1)))))) - (mkdir-p (string-append out "/etc/bash_completion.d")) - (mkdir-p (string-append share "/elvish/lib")) - (copy-file "completions/wallust.bash" - (string-append out "/etc/bash_completion.d/wallust")) - (copy-file "completions/wallust.elv" - (string-append share "/elvish/lib/wallust")) - (install-file "completions/wallust.fish" - (string-append share "/fish/vendor_completions.d/")) - (install-file "completions/_wallust" - (string-append share "/zsh/site-functions/")) - (with-directory-excursion "man" - (for-each install-man (find-files "."))))))) - #:cargo-inputs (("rust-anyhow" ,rust-anyhow-1) - ("rust-clap" ,rust-clap-4) - ("rust-dirs" ,rust-dirs-5) - ("rust-documented" ,rust-documented-0.6) - ("rust-dunce" ,rust-dunce-1) - ("rust-fast-image-resize" ,rust-fast-image-resize-5) - ("rust-fastrand" ,rust-fastrand-2) - ("rust-glob" ,rust-glob-0.3) - ("rust-image" ,rust-image-0.25) - ("rust-itertools" ,rust-itertools-0.13) - ("rust-kmeans-colors" ,rust-kmeans-colors-0.6) - ("rust-minijinja" ,rust-minijinja-2) - ("rust-new-string-template" ,rust-new-string-template-1) - ("rust-num-traits" ,rust-num-traits-0.2) - ("rust-owo-colors" ,rust-owo-colors-4) - ("rust-palette" ,rust-palette-0.7) - ("rust-regex" ,rust-regex-1) - ("rust-serde" ,rust-serde-1) - ("rust-serde-json" ,rust-serde-json-1) - ("rust-shellexpand" ,rust-shellexpand-3) - ("rust-spinners" ,rust-spinners-4) - ("rust-strum" ,rust-strum-0.26) - ("rust-thiserror" ,rust-thiserror-1) - ("rust-toml" ,rust-toml-0.8) - ("rust-toml-edit" ,rust-toml-edit-0.22) - ("rust-vergen-git2" ,rust-vergen-git2-1) - ("wallust-themes" ,wallust-themes)) - #:cargo-development-inputs (("rust-clap-complete" ,rust-clap-complete-4) - ("rust-clap-mangen" ,rust-clap-mangen-0.2) - ("rust-criterion" ,rust-criterion-0.5) - ("rust-dirs" ,rust-dirs-5) - ("rust-tempfile" ,rust-tempfile-3)))) + (list + #:features '(list "buildgen") + #:install-source? #f + #:phases + #~(modify-phases %standard-phases + (add-after 'install 'install-extras + (lambda* (#:key outputs #:allow-other-keys) + (let* ((share (string-append #$output "/share")) + (install-man (lambda (filename) + (install-file filename + (string-append share + "/man/man" + (string-take-right + filename 1)))))) + (mkdir-p (string-append #$output "/etc/bash_completion.d")) + (mkdir-p (string-append share "/elvish/lib")) + (copy-file "completions/wallust.bash" + (string-append #$output + "/etc/bash_completion.d/wallust")) + (copy-file "completions/wallust.elv" + (string-append share "/elvish/lib/wallust")) + (install-file "completions/wallust.fish" + (string-append share + "/fish/vendor_completions.d/")) + (install-file "completions/_wallust" + (string-append share "/zsh/site-functions/")) + (with-directory-excursion "man" + (for-each install-man + (find-files "."))))))))) (native-inputs (list pkg-config)) - (inputs (list libgit2-1.8 zlib)) + (inputs (cons* libgit2-1.9 zlib (cargo-inputs 'wallust))) (home-page "https://explosion-mental.codeberg.page/wallust") (synopsis "Generate themes from images with advanced templating") (description @@ -4876,32 +3688,53 @@ Color generation may be constrained to obey ANSI color standards, meet minimum contrast levels, and more.") (license license:expat))) -(define-public wallust-themes +(define-public rabbitmqadmin (package - (name "wallust-themes") - (version "1.0.0") + (name "rabbitmqadmin") + (version "2.3.0") (source (origin - (method url-fetch) - (uri (crate-uri "wallust_themes" version)) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/rabbitmq/rabbitmqadmin-ng") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 - (base32 "1kgkggdb78sxz81si3glhvqpxbxhz858p9wzqxd51drzlvwgi1m1")))) + (base32 "17x28ph4bgdkv66jv4b2nqwixbmi3j2ld4m842jqp808f0nwj7r7")))) (build-system cargo-build-system) (arguments - `(#:cargo-inputs (("rust-serde" ,rust-serde-1) - ("rust-serde-json" ,rust-serde-json-1)))) - (home-page "https://codeberg.org/explosion-mental/wallust-themes") - (synopsis "Built in colorschemes for Wallust") - (description "This package provides built-in colorschemes for Wallust.") - ;; Only used as an input for wallust. - (properties `((hidden? . #t))) - (license license:expat))) + (list #:tests? #f ;Tests require local instance of RabbitMQ broker. + #:install-source? #f)) + (inputs (cons* mimalloc openssl (cargo-inputs 'rabbitmqadmin))) + (home-page "https://www.rabbitmq.com/docs/management-cli") + (synopsis "Manage RabbitMQ broker via the management plugin") + (description + "@command{rabbitmqadmin} is a tool to manage RabbitMQ broker via +management plugin. + +It supports many of the operations available in the management UI: + +@itemize +@item Listing objects like virtual hosts, users, queues, streams, permissions, +policies, and so on. +@item Creating objects. +@item Deleting objects. +@item Access to cluster and node metrics. +@item Run health checks. +@item Listing feature flag state. +@item Listing deprecated features in use across the cluster. +@item Definition export, transformations, and import. +@item Operations on shovels. +@item Operations on federation upstreams and links. +@item Closing connections. +@item Rebalancing of queue leaders across cluster nodes. +@end itemize") + (license (list license:asl2.0 license:expat)))) (define-public rust-xremap (package (name "rust-xremap") - (version "0.10.4") + (version "0.10.10") (source (origin (method url-fetch) @@ -4909,34 +3742,11 @@ minimum contrast levels, and more.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "13fhh1p51dd7bvmgsjpvsrvvhv4wgpmm8rsv6j07z2nfn8z9s1ia")))) + "00wi8xygkgj7niq4vky7jpg8yr02yrqlkvrhgnc6vbw87n7h5fmi")))) (build-system cargo-build-system) (arguments `(#:features '() #:install-source? #f - #:cargo-inputs - (("rust-anyhow" ,rust-anyhow-1) - ("rust-clap" ,rust-clap-4) - ("rust-clap-complete" ,rust-clap-complete-4) - ("rust-derive-where" ,rust-derive-where-1) - ("rust-env-logger" ,rust-env-logger-0.10) - ("rust-evdev" ,rust-evdev-0.12) - ("rust-fork" ,rust-fork-0.2) - ("rust-hyprland" ,rust-hyprland-0.3) - ("rust-indoc" ,rust-indoc-2) - ("rust-lazy-static" ,rust-lazy-static-1) - ("rust-log" ,rust-log-0.4) - ("rust-nix" ,rust-nix-0.26) - ("rust-regex" ,rust-regex-1) - ("rust-serde" ,rust-serde-1) - ("rust-serde-json" ,rust-serde-json-1) - ("rust-serde-with" ,rust-serde-with-3) - ("rust-serde-yaml" ,rust-serde-yaml-0.9) - ("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.13) - ("rust-zbus" ,rust-zbus-1)) #:phases (modify-phases %standard-phases (add-after 'install 'install-completions @@ -4960,9 +3770,10 @@ minimum contrast levels, and more.") (with-output-to-file (string-append share "/elvish/lib/xremap") (lambda _ (invoke xremap "--completions" "elvish"))))))))) + (inputs (cargo-inputs 'rust-xremap)) (home-page "https://github.com/k0kubun/xremap") - (synopsis "Dynamic key remapp for X and Wayland") - (description "This package provides dynamic key remapp for X and Wayland.") + (synopsis "Dynamic key remapper for X and Wayland") + (description "This package provides dynamic key remapper for X and Wayland.") (license license:expat))) (define-public xremap-gnome @@ -5021,24 +3832,8 @@ minimum contrast levels, and more.") "0pvzr7x5phlya6m5yikvy13vgbazshw0plysckz9zmf2ly5x4jl8")))) (build-system cargo-build-system) (arguments - `(#:cargo-inputs - (("rust-byteorder" ,rust-byteorder-1) - ("rust-chan" ,rust-chan-0.1) - ("rust-csv" ,rust-csv-1) - ("rust-csv-index" ,rust-csv-index-0.1) - ("rust-docopt" ,rust-docopt-1) - ("rust-filetime" ,rust-filetime-0.1) - ("rust-num-cpus" ,rust-num-cpus-1) - ("rust-rand" ,rust-rand-0.4) - ("rust-regex" ,rust-regex-1) - ("rust-serde" ,rust-serde-1) - ("rust-serde-derive" ,rust-serde-derive-1) - ("rust-streaming-stats" ,rust-streaming-stats-0.2) - ("rust-tabwriter" ,rust-tabwriter-1) - ("rust-threadpool" ,rust-threadpool-1)) - #:cargo-development-inputs - (("rust-log" ,rust-log-0.4) - ("rust-quickcheck" ,rust-quickcheck-0.6)))) + `(#:install-source? #f)) + (inputs (cargo-inputs 'xsv)) (home-page "https://github.com/BurntSushi/xsv") (synopsis "High performance CSV command line toolkit") (description @@ -5048,38 +3843,17 @@ minimum contrast levels, and more.") (define-public zoxide (package (name "zoxide") - (version "0.9.6") + (version "0.9.8") (source (origin (method url-fetch) (uri (crate-uri "zoxide" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "0r8rhz01s3ar5i2pkmplp36rhspsk65jyp4sq7vav1dr4vx9fs4a")))) + (base32 "083mg0hlg5z16a1f6vrzwr11k1blq1mwr4djic9a28fkjarpvxn2")))) (build-system cargo-build-system) (arguments (list #:install-source? #f - #:cargo-inputs - `(("rust-anyhow" ,rust-anyhow-1) - ("rust-bincode" ,rust-bincode-1) - ("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-2) - ("rust-glob" ,rust-glob-0.3) - ("rust-nix" ,rust-nix-0.27) - ("rust-ouroboros" ,rust-ouroboros-0.18) - ("rust-rinja" ,rust-rinja-0.3) - ("rust-serde" ,rust-serde-1) - ("rust-which" ,rust-which-6)) - #:cargo-development-inputs - `(("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)) #:phases #~(modify-phases %standard-phases (add-after 'unpack 'patch-references @@ -5101,11 +3875,14 @@ minimum contrast levels, and more.") (fish-completions-dir (string-append share "/fish/vendor_completions.d")) (elvish-completions-dir - (string-append share "/elvish/lib"))) + (string-append share "/elvish/lib")) + (nushell-completions-dir + (string-append share "/nushell/vendor/autoload"))) ;; The completions are generated in build.rs. (mkdir-p man1) (mkdir-p bash-completions-dir) (mkdir-p elvish-completions-dir) + (mkdir-p nushell-completions-dir) (for-each (lambda (file) (install-file file man1)) (find-files "man/man1")) @@ -5117,7 +3894,10 @@ minimum contrast levels, and more.") zsh-completions-dir) (copy-file "contrib/completions/zoxide.elv" (string-append elvish-completions-dir - "/zoxide")))))))) + "/zoxide")) + (install-file "contrib/completions/zoxide.nu" + nushell-completions-dir))))))) + (inputs (cargo-inputs 'zoxide)) (home-page "https://github.com/ajeetdsouza/zoxide/") (synopsis "Fast way to navigate your file system") (description @@ -5139,12 +3919,8 @@ to navigate to the best match.") (base32 "0912cdkz5xji1hzfj1cf42zh1kd860b52xmwwhb7q2jhp6qk25jh")))) (build-system cargo-build-system) (arguments - `(#:cargo-inputs - (("rust-clap" ,rust-clap-2) - ("rust-html5ever" ,rust-html5ever-0.25) - ("rust-kuchiki" ,rust-kuchiki-0.8) - ("rust-lazy-static" ,rust-lazy-static-1) - ("rust-url" ,rust-url-2)))) + `(#:install-source? #f)) + (inputs (cargo-inputs 'htmlq)) (home-page "https://github.com/mgdm/htmlq") (synopsis "Like jq, but for HTML") (description "Extract content from HTML files using CSS selectors.") @@ -5163,24 +3939,8 @@ to navigate to the best match.") (base32 "1j394gv9fpl1wii7l0v4y31mdni6r98l223wd6x2v3ia82091xg4")))) (build-system cargo-build-system) (arguments - `(#:install-source? #f - #:cargo-inputs (("rust-clap" ,rust-clap-4) - ("rust-color-eyre" ,rust-color-eyre-0.6) - ("rust-compose-spec" ,rust-compose-spec-0.2) - ("rust-indexmap" ,rust-indexmap-2) - ("rust-ipnet" ,rust-ipnet-2) - ("rust-k8s-openapi" ,rust-k8s-openapi-0.22) - ("rust-nix" ,rust-nix-0.28) - ("rust-path-clean" ,rust-path-clean-1) - ("rust-serde" ,rust-serde-1) - ("rust-serde-json" ,rust-serde-json-1) - ("rust-serde-yaml" ,rust-serde-yaml-0.9) - ("rust-shlex" ,rust-shlex-1) - ("rust-smart-default" ,rust-smart-default-0.7) - ("rust-thiserror" ,rust-thiserror-1) - ("rust-umask" ,rust-umask-2) - ("rust-url" ,rust-url-2) - ("rust-zbus" ,rust-zbus-4)))) + `(#:install-source? #f)) + (inputs (cargo-inputs 'podlet)) (home-page "https://github.com/containers/podlet") (synopsis "Generate Podman Quadlet files from a Podman command, compose file, @@ -5205,46 +3965,11 @@ compose file, or existing object.") "0vmq3b66yinqypgzfpdivli2ipiyzingakxy84j31srzg70m7maz")))) (build-system cargo-build-system) (inputs - (list eudev)) + (cons eudev (cargo-inputs 'espflash))) (native-inputs (list pkg-config)) (arguments `(#:install-source? #f - #:cargo-inputs (("rust-addr2line" ,rust-addr2line-0.22) - ("rust-base64" ,rust-base64-0.22) - ("rust-bytemuck" ,rust-bytemuck-1) - ("rust-cargo" ,rust-cargo) - ("rust-cargo-metadata" ,rust-cargo-metadata-0.18) - ("rust-clap" ,rust-clap-4) - ("rust-clap-complete" ,rust-clap-complete-4) - ("rust-comfy-table" ,rust-comfy-table-7) - ("rust-crossterm" ,rust-crossterm-0.25) - ("rust-ctrlc" ,rust-ctrlc-3) - ("rust-defmt-decoder" ,rust-defmt-decoder-0.3) - ("rust-defmt-parser" ,rust-defmt-parser-0.3) - ("rust-dialoguer" ,rust-dialoguer-0.11) - ("rust-directories" ,rust-directories-5) - ("rust-env-logger" ,rust-env-logger-0.11) - ("rust-esp-idf-part" ,rust-esp-idf-part-0.5) - ("rust-flate2" ,rust-flate2-1) - ("rust-hex" ,rust-hex-0.4) - ("rust-indicatif" ,rust-indicatif-0.17) - ("rust-lazy-static" ,rust-lazy-static-1) - ("rust-libc" ,rust-libc-0.2) - ("rust-log" ,rust-log-0.4) - ("rust-md-5" ,rust-md-5-0.10) - ("rust-miette" ,rust-miette-7) - ("rust-parse-int" ,rust-parse-int-0.6) - ("rust-regex" ,rust-regex-1) - ("rust-serde" ,rust-serde-1) - ("rust-serialport" ,rust-serialport-4) - ("rust-sha2" ,rust-sha2-0.10) - ("rust-slip-codec" ,rust-slip-codec-0.4) - ("rust-strum" ,rust-strum-0.26) - ("rust-thiserror" ,rust-thiserror-1) - ("rust-toml" ,rust-toml-0.8) - ("rust-update-informer" ,rust-update-informer-1) - ("rust-xmas-elf" ,rust-xmas-elf-0.9)) #:phases (modify-phases %standard-phases (add-after 'unpack 'chdir |