efraim pushed a commit to branch rust-team
in repository guix.

commit 57148c69456e5d59398a1ce9b09edf79f586a56e
Author: Divya Ranjan <[email protected]>
AuthorDate: Sun Jan 5 07:04:20 2025 +0000

    gnu: Add bottom.
    
    * gnu/packages/rust-apps.scm (bottom): New variable.
    
    Signed-off-by: Efraim Flashner <[email protected]>
    Change-Id: I81e05d6da3757f70439e4b1e7ab59985ca710a64
---
 gnu/packages/rust-apps.scm | 111 +++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 111 insertions(+)

diff --git a/gnu/packages/rust-apps.scm b/gnu/packages/rust-apps.scm
index 2182daa2f3..dbf253b366 100644
--- a/gnu/packages/rust-apps.scm
+++ b/gnu/packages/rust-apps.scm
@@ -33,6 +33,7 @@
 ;;; Copyright © 2024 Suhail Singh <[email protected]>
 ;;; Copyright © 2024 Jordan Moore <[email protected]>
 ;;; Copyright © 2024 normally_js <[email protected]>
+;;; Copyright © 2025 Divya Ranjan Pattanaik <[email protected]>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -377,6 +378,116 @@ highlighting for a large number of languages, git 
integration, and automatic
 paging.")
     (license (list license:expat license:asl2.0))))
 
+(define-public bottom
+  (package
+    (name "bottom")
+    (version "0.10.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "bottom" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "0y9wjbzrmcvh0fvfr5cizzwzy6f18hagk970mljwhccrwdsbaapg"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:install-source? #f
+       #:cargo-test-flags
+       '("--"
+         "--skip=valid_config_tests::test_all_proc"
+         "--skip=valid_config_tests::test_basic"
+         "--skip=valid_config_tests::test_cpu_doughnut"
+         "--skip=valid_config_tests::test_empty"
+         "--skip=valid_config_tests::test_filtering"
+         "--skip=valid_config_tests::test_many_proc"
+         "--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
+           (lambda _
+             (setenv "BTM_GENERATE" "true")))
+         (add-after 'install 'install-extras
+           (lambda* (#:key native-inputs outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (share (string-append out "/share"))
+                    (man1 (string-append share "/man/man1"))
+                    (bash-completions-dir
+                     (string-append out "/etc/bash_completion.d/"))
+                    (zsh-completions-dir
+                     (string-append share "/zsh/site-functions"))
+                    (fish-completions-dir
+                     (string-append share "/fish/vendor_completions.d"))
+                    (elvish-completions-dir
+                     (string-append share "/elvish/lib"))
+                    (nu-completions-dir
+                     (string-append share "/nushell/vendor/autoload")))
+               (install-file "target/tmp/bottom/manpage/btm.1" man1)
+               (install-file "target/tmp/bottom/completion/_btm"
+                             zsh-completions-dir)
+               (install-file "target/tmp/bottom/completion/btm.fish"
+                             fish-completions-dir)
+               (mkdir-p bash-completions-dir)
+               (copy-file "target/tmp/bottom/completion/btm.bash"
+                          (string-append bash-completions-dir "/btm"))
+               (mkdir-p elvish-completions-dir)
+               (copy-file "target/tmp/bottom/completion/btm.elv"
+                          (string-append elvish-completions-dir "/btm"))
+               (mkdir-p nu-completions-dir)
+               (copy-file "target/tmp/bottom/completion/btm.nu"
+                          (string-append nu-completions-dir "/btm"))))))))
+    (home-page "https://github.com/ClementTsang/bottom";)
+    (synopsis "Customizable graphical process/system monitor for the terminal")
+    (description
+     "This package provides a customizable graphical process/system monitor for
+the terminal.")
+    (license license:expat)))
+
 (define-public cargo-machete
   (package
     (name "cargo-machete")

Reply via email to