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")

Reply via email to