Patchwork gnu: Add radeontop.

login
register
mail settings
Submitter Tobias Geerinckx-Rice
Date Oct. 27, 2016, 11:07 p.m.
Message ID <20161027230749.23186-1-me@tobias.gr>
Download mbox | patch
Permalink /patch/16874/
State New
Headers show

Comments

Tobias Geerinckx-Rice - Oct. 27, 2016, 11:07 p.m.
* gnu/packages/linux.scm (radeontop): New variable.
---

Ahoy Guix,

Like top, but for mediocre GPUs.

I'm too ignorant of anything beyond x86 to know if supported-systems is
needed or even makes sense here.

Kind regards,

T G-R

 gnu/packages/linux.scm | 44 ++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 44 insertions(+)
Ludovic Courtès - Oct. 28, 2016, 1:49 p.m.
Hi!

Tobias Geerinckx-Rice <me@tobias.gr> skribis:

> * gnu/packages/linux.scm (radeontop): New variable.

[...]

> I'm too ignorant of anything beyond x86 to know if supported-systems is
> needed or even makes sense here.

I’m guessing the program is not very useful on non-x86 machines… but it
may build fine anyway.

We can add ‘supported-systems’ later if/when we have evidence that it
doesn’t build on other arches.

> +(define-public radeontop
> +  (package
> +    (name "radeontop")
> +    (version "0.9")
> +    (source (origin
> +              (method url-fetch)
> +              (uri (string-append "https://github.com/clbr/radeontop/archive/v"

You could move ‘home-page’ above ‘source’ and reference it here.

Otherwise LGTM, thanks!

> +    (license license:gpl3)))

It’s indeed v3-only, bah.

Ludo’.
Tobias Geerinckx-Rice - Oct. 28, 2016, 3:55 p.m.
Ludo',

On 28/10/16 15:49, Ludovic Courtès wrote:
> We can add ‘supported-systems’ later if/when we have evidence that it
> doesn’t build on other arches.

OK!

> You could move ‘home-page’ above ‘source’ and reference it here.

Done. Nice to know that's not considered over-factorisation; I quite
like it.

>> +    (license license:gpl3)))
> It’s indeed v3-only, bah.

Yup :-/

Because you never know what those freedom-smoking hippies at the FSF
will come up with in future.

Thanks!

T G-R

Patch

diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index c959f62..f6cde13 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -70,6 +70,8 @@ 
   #:use-module (gnu packages texinfo)
   #:use-module (gnu packages tls)
   #:use-module (gnu packages xml)
+  #:use-module (gnu packages xdisorg)
+  #:use-module (gnu packages xorg)
   #:use-module (guix build-system cmake)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system python)
@@ -3044,3 +3046,45 @@  interface that should be familiar to, and easily adopted by, application
 developers.")
     (home-page "https://github.com/seccomp/libseccomp")
     (license license:lgpl2.1)))
+
+(define-public radeontop
+  (package
+    (name "radeontop")
+    (version "0.9")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://github.com/clbr/radeontop/archive/v"
+                                  version ".tar.gz"))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "07fnimn6wwablmdjw0av11hk9a6xilbryh09izq4b2ic4b8md2p7"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:phases (modify-phases %standard-phases
+                  ;; getver.sh uses ‘git --describe’, isn't worth an extra git
+                  ;; dependency, and doesn't even work on release(!) tarballs.
+                  (add-after 'unpack 'report-correct-version
+                    (lambda _ (substitute* "getver.sh"
+                                (("ver=unknown")
+                                 (string-append "ver=" ,version)))))
+                  (delete 'configure))  ; no configure script
+       #:make-flags (list "CC=gcc"
+                          (string-append "PREFIX=" %output))
+       #:tests? #f))                    ; no tests
+    (native-inputs
+     `(("gnu-gettext" ,gnu-gettext)
+       ("pkg-config" ,pkg-config)))
+    (inputs
+     `(("libdrm" ,libdrm)
+       ("libpciaccess" ,libpciaccess)
+       ("ncurses" ,ncurses)))
+    (home-page "https://github.com/clbr/radeontop/")
+    (synopsis "Usage monitor for AMD Radeon graphics")
+    (description "RadeonTop monitors resource consumption on supported AMD
+Radeon Graphics Processing Units (GPUs), either in real time as bar graphs on
+a terminal or saved to a file for further processing.  It measures both the
+activity of the GPU as a whole, which is also accurate during OpenCL
+computations, as well as separate component statistics that are only meaningful
+under OpenGL graphics workloads.")
+    (license license:gpl3)))