summary refs log tree commit diff
path: root/gnu/packages
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 /gnu/packages
parent66c18d23da3e88b3ba278346c1372c8529ddb7e2 (diff)
downloadguix-970fb81c6293a35a81608e5c1c377abeb6f1d69e.tar.gz
gnu: Add just.
* gnu/packages/rust-apps.scm (just): New variable.

Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
Diffstat (limited to 'gnu/packages')
-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")