Subject: [bug#54974] [PATCH] added btop

From: Wil deBeest <[email-masked]>
Date: Mon, 18 Apr 2022 20:02:49 +0200

Greg Hogan <[email-masked]> writes:

> Hi Wil,

Hi Greg,

thank you for the feedback!

> I had recently looked at adding this package so I happen to have a few comments.
> 
> v1.2.6 was released last week.

I had updated the package from v1.0.0 before creating the patch, but
thanks to my mail server I was only able to send it the other day.

> Is it preferable to "(delete 'check)" the test phase or specify the "#:tests? #f" argument?

I am quite new to Guix and Scheme, but `#:tests? #f' seems much better to me.

> Instead of the "replace 'install" lambda, I had done:
> #:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out")))
> which is both shorter and to my understanding more generic (more adaptable to future additional binaries or libraries, though this
> package will likely only ever have a single binary).

That's definitely neater.  I'd suggest you send your patch here to
replace my hacky one, but if you prefer I could also incorporate your
improvements into mine and update the version.

Wil

> Greg
> 
> On Sat, Apr 16, 2022 at 12:18 PM Wil deBeest <[email-masked]> wrote:
> 
> ---
> gnu/packages/admin.scm | 52 ++++++++++++++++++++++++++++++++++++++++++
> 1 file changed, 52 insertions(+)
> 
> diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
> index 1db04adf71..68f09cdbf9 100644
> --- a/gnu/packages/admin.scm
> +++ b/gnu/packages/admin.scm
> @@ -730,6 +730,58 @@ (define-public bpytop
> memory, disks, network and processes.  It's a Python port and continuation of
> @command{bashtop}.")
>     (license license:asl2.0)))
> +(define-public btop
> +  (package
> +    (name "btop")
> +    (version "1.2.5")
> +    (source
> +      (origin
> +       (method git-fetch)
> +       (uri (git-reference
> +             (url "https://github.com/aristocratos/btop")
> +             (commit (string-append "v" version))))
> +       (file-name (git-file-name name version))
> +       (sha256
> +        (base32
> +         "1v0lj296bzwgs29hv9z3r82fwmibiqgsvsqqh2fimxs0jmld7c2v"))))
> +    (build-system gnu-build-system)
> +    (arguments
> +     `(#:phases
> +       (modify-phases %standard-phases
> +         (delete 'configure) ;; not provided
> +         (delete 'check) ;; not provided
> +         (replace 'install
> +           (lambda* (#:key outputs #:allow-other-keys)
> +             (let ((bin (string-append
> +                         (assoc-ref outputs "out")"/bin")))
> +               (install-file "bin/btop" bin)))))))
> +    (home-page "https://github.com/aristocratos/btop")
> +    (synopsis "Resource monitor for processor, memory, disks, network and processes")
> +    (description "Resource monitor that shows usage and stats
> +for processor, memory, disks, network and processes.
> +
> +C++ version and continuation of bashtop and bpytop.
> +
> +Features
> +
> +    Easy to use, with a game inspired menu system.
> +    Full mouse support, all buttons with a highlighted key is clickable
> + and mouse scroll works in process list and menu boxes.
> +    Fast and responsive UI with UP, DOWN keys process selection.
> +    Function for showing detailed stats for selected process.
> +    Ability to filter processes.
> +    Easy switching between sorting options.
> +    Tree view of processes.
> +    Send any signal to selected process.
> +    UI menu for changing all config file options.
> +    Auto scaling graph for network usage.
> +    Shows IO activity and speeds for disks
> +    Battery meter
> +    Selectable symbols for the graphs
> +    Custom presets
> +    And more...
> +")
> +     (license license:asl2.0)))
> 
> (define-public pies
>   (package
> 
> base-commit: 20645d8467852990413c1ea9cf81cec82d23defd
> -- 
> 2.35.1

-- 
Pascal