futurile pushed a commit to branch rust-team
in repository guix.
commit b8692833d2f257e263efcc7552387f7887d2973a
Author: Petr Hodina <[email protected]>
AuthorDate: Sat Mar 22 22:35:34 2025 +0000
gnu: Add jless.
* gnu/packages/rust-apps.scm (jless): New variable.
Change-Id: Iadd198442b1d77c043839d48f6c7550b9b3d8900
Signed-off-by: Steve George <[email protected]>
---
gnu/packages/rust-apps.scm | 52 ++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 52 insertions(+)
diff --git a/gnu/packages/rust-apps.scm b/gnu/packages/rust-apps.scm
index aa486a29f2..264ab95d5b 100644
--- a/gnu/packages/rust-apps.scm
+++ b/gnu/packages/rust-apps.scm
@@ -1745,6 +1745,58 @@ 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
+ `(#:cargo-inputs
+ (("rust-clap" ,rust-clap-4)
+ ("rust-clipboard" ,rust-clipboard-0.5)
+ ("rust-atty" ,rust-atty-0.2) ;; replace isatty
+ ("rust-lazy-static" ,rust-lazy-static-1)
+ ("rust-libc" ,rust-libc-0.2)
+ ("rust-libc-stdhandle" ,rust-libc-stdhandle-0.1)
+ ("rust-logos" ,rust-logos-0.12)
+ ("rust-regex" ,rust-regex-1)
+ ("rust-rustyline" ,rust-rustyline-9)
+ ("rust-signal-hook" ,rust-signal-hook-0.3)
+ ("rust-termion" ,rust-termion-1)
+ ("rust-unicode-segmentation" ,rust-unicode-segmentation-1)
+ ("rust-unicode-width" ,rust-unicode-width-0.1)
+ ("rust-yaml-rust" ,rust-yaml-rust-0.4))
+ #:cargo-development-inputs (("rust-indoc" ,rust-indoc-1))
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'fix-version-requirements
+ (lambda _
+ ;; isatty crate is deprecated use atty instead
+ (substitute* "src/main.rs"
+ (("isatty::stdout_isatty\\(") "atty::is(atty::Stream::Stdout")
+ (("isatty::stdin_isatty\\(") "atty::is(atty::Stream::Stdin"))
+ ;; fix requirement versions
+ (substitute* "Cargo.toml"
+ (("isatty") "atty")
+ (("1.5.6") ,(package-version rust-termion-1))
+ (("\"0.1\"") (string-append "\""
+ ,(package-version rust-atty-0.2)
+ "\""))))))))
+ (native-inputs (list python pkg-config)) ;needed by rust-xcb
+ (inputs (list libx11 libxcb))
+ (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 just
(package
(name "just")