summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Jose <arnav.jose@gmail.com>2023-09-21 18:14:57 +0530
committerEfraim Flashner <efraim@flashner.co.il>2023-09-28 21:17:20 +0300
commit970fb81c6293a35a81608e5c1c377abeb6f1d69e (patch)
tree75b5544676c93da5e661053898559c2b39c95ff5
parent66c18d23da3e88b3ba278346c1372c8529ddb7e2 (diff)
gnu: Add just.
* gnu/packages/rust-apps.scm (just): New variable. Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
-rw-r--r--gnu/packages/rust-apps.scm71
1 files changed, 71 insertions, 0 deletions
diff --git a/gnu/packages/rust-apps.scm b/gnu/packages/rust-apps.scm
index 76d48e55f1..a18f7b31c7 100644
--- a/gnu/packages/rust-apps.scm
+++ b/gnu/packages/rust-apps.scm
@@ -23,6 +23,7 @@
;;; Copyright © 2022 ( <paren@disroot.org>
;;; Copyright © 2022 John Kehayias <john.kehayias@protonmail.com>
;;; Copyright © 2022 Greg Hogan <code@greghogan.com>
+;;; Copyright © 2023 Arnav Andrew Jose <arnav.jose@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -737,6 +738,76 @@ 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 just
+ (package
+ (name "just")
+ (version "1.14.0")
+ (source (origin
+ (method url-fetch)
+ (uri (crate-uri "just" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32 "0kafd87zmjf7wswyiqakqd2r5b8q3a761ipsihmrg9wr57k5zlis"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-test-flags
+ '("--release" "--"
+ "--skip=functions::env_var_functions"
+ "--skip=string::shebang_backtick")
+ #:install-source? #f
+ #:cargo-inputs
+ (("rust-ansi-term" ,rust-ansi-term-0.12)
+ ("rust-atty" ,rust-atty-0.2)
+ ("rust-camino" ,rust-camino-1)
+ ("rust-clap" ,rust-clap-2)
+ ("rust-ctrlc" ,rust-ctrlc-3)
+ ("rust-derivative" ,rust-derivative-2)
+ ("rust-dotenvy" ,rust-dotenvy-0.15)
+ ("rust-edit-distance" ,rust-edit-distance-2)
+ ("rust-env-logger" ,rust-env-logger-0.10)
+ ("rust-heck" ,rust-heck-0.4)
+ ("rust-lexiclean" ,rust-lexiclean-0.0.1)
+ ("rust-libc" ,rust-libc-0.2)
+ ("rust-log" ,rust-log-0.4)
+ ("rust-regex" ,rust-regex-1)
+ ("rust-serde" ,rust-serde-1)
+ ("rust-serde-json" ,rust-serde-json-1)
+ ("rust-sha2" ,rust-sha2-0.10)
+ ("rust-similar" ,rust-similar-2)
+ ("rust-snafu" ,rust-snafu-0.7)
+ ("rust-strum" ,rust-strum-0.24)
+ ("rust-target" ,rust-target-2)
+ ("rust-tempfile" ,rust-tempfile-3)
+ ("rust-typed-arena" ,rust-typed-arena-2)
+ ("rust-unicode-width" ,rust-unicode-width-0.1)
+ ("rust-uuid" ,rust-uuid-1))
+ #:cargo-development-inputs
+ (("rust-cradle" ,rust-cradle-0.2)
+ ("rust-executable-path" ,rust-executable-path-1)
+ ("rust-pretty-assertions" ,rust-pretty-assertions-1)
+ ("rust-temptree" ,rust-temptree-0.2)
+ ("rust-which" ,rust-which-4)
+ ("rust-yaml-rust" ,rust-yaml-rust-0.4))
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'replace-hardcoded-paths
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* (cons "src/justfile.rs"
+ (find-files "tests/" "\\.rs$"))
+ (("/bin/sh")
+ (search-input-file inputs "/bin/sh"))
+ (("/usr/bin/env sh")
+ (search-input-file inputs "/bin/sh"))
+ (("/usr/bin/env")
+ (search-input-file inputs "/bin/env"))
+ (("/bin/echo")
+ (search-input-file inputs "/bin/echo"))))))))
+ (home-page "https://github.com/casey/just")
+ (synopsis "Just a 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 maturin
(package
(name "maturin")