Subject: [bug#64490] [PATCH] gnu: Add gnome-shell-extension-vitals.

From: Liliana Marie Prikler <[email-masked]>
Date: Sat, 08 Jul 2023 17:52:40 +0200

Am Donnerstag, dem 06.07.2023 um 12:10 +0300 schrieb Eidvilas
Markevičius:
> * gnu/packages/gnome-xyz.scm (gnome-shell-extension-vitals): New
> variable.
> ---
>  gnu/packages/gnome-xyz.scm | 56
> ++++++++++++++++++++++++++++++++++++++
>  1 file changed, 56 insertions(+)
> 
> diff --git a/gnu/packages/gnome-xyz.scm b/gnu/packages/gnome-xyz.scm
> index 4ce102d8ed..b2652d422f 100644
> --- a/gnu/packages/gnome-xyz.scm
> +++ b/gnu/packages/gnome-xyz.scm
> @@ -19,6 +19,7 @@
>  ;;; Copyright © 2022 Eric Bavier <[email-masked]>
>  ;;; Copyright © 2022 Sughosha <[email-masked]>
>  ;;; Copyright © 2022 Denis 'GNUtoo' Carikli
> <[email-masked]>
> +;;; Copyright © 2023 Eidvilas Markevičius
> <[email-masked]>
>  ;;;
>  ;;; This file is part of GNU Guix.
>  ;;;
> @@ -1328,6 +1329,61 @@ (define-public gnome-shell-extension-
> transparent-window
>  of windows.")
>        (license license:expat))))
>  
> +(define-public gnome-shell-extension-vitals
> +  (package
> +    (name "gnome-shell-extension-vitals")
> +    (version "62.0.0")
> +    (source
> +      (origin
> +        (method git-fetch)
> +        (uri (git-reference
> +               (url "https://github.com/corecoding/Vitals")
> +               (commit (string-append "v" version))))
> +        (file-name (git-file-name name version))
> +        (sha256 (base32
> "0wmw5yd38vyv13x6frbafp21bdhlyjd5ggimdf2696irfhnm828h"))
> +        (modules '((guix build utils)))
> +        (snippet
> +          '(begin
> +             (delete-file "schemas/gschemas.compiled")
> +             (for-each delete-file
> +               (find-files "locale" "\\.mo$"))))))
> +    (build-system copy-build-system)
> +    (native-inputs (list `(,glib "bin") gettext-minimal))
> +    (inputs (list libgtop))
Inputs should go below arguments.  I'm also curious as to how vitals
ingests libgtop.  Being Javascript, I'd assume you'd need a wrapper.
> +    (arguments
> +     '(#:modules
> +       ((guix build copy-build-system)
> +        (guix build utils)
> +        (ice-9 string-fun))
> +       #:phases
> +       (modify-phases %standard-phases
> +         (add-before 'install 'compile-schemas
> +           (lambda _
> +             (invoke "glib-compile-schemas" "--strict" "schemas")))
> +         (add-before 'install 'compile-locales
> +           (lambda _
> +             (for-each (lambda (file)
> +                         (let ((destfile (string-replace-substring
> file ".po" ".mo")))
> +                           (invoke "msgfmt" "-c" file "-o"
> destfile)))
I think you should just replace the end of the file name, which is a
little more complicated, but saves you the #:modules blurb.
> +               (find-files "locale" "\\.po$")))))
> +       #:install-plan
> +       '(("." "share/gnome-shell/extensions/[email-masked]"
> +          #:include-regexp
> +          ("\\.js(on)?$"
> +           "\\.css$"
> +           "\\.ui$"
> +           "\\.svg$"
> +           "\\.xml$"
> +           "\\.mo$"
> +           "\\.compiled$")))))
Preferably, install plans go before phases.
> +    (home-page "https://github.com/corecoding/Vitals")
> +    (synopsis "GNOME Shell extension for monitoring your computer's
> sensors' stats")
> +    (description "Vitals is a GNOME Shell extension that gives you a
> glimpse into your
> +computer's temperature, voltage, fan speed, memory usage and CPU
> load, right from the top
> +menu bar of the GNOME Shell.  It is a one stop shop for monitoring
> all the vital sensors
> +of your computer.")
> +    (license license:gpl2)))
No +?

Cheers