diff mbox series

[bug#59276] gnu: Add smem.

Message ID 20221115044928.9926-1-jgart@dismail.de
State New
Headers show
Series [bug#59276] gnu: Add smem. | expand

Checks

Context Check Description
cbaines/comparison success View comparision
cbaines/git-branch success View Git branch
cbaines/applying patch success
cbaines/issue success View issue
cbaines/comparison success View comparision
cbaines/git-branch success View Git branch
cbaines/applying patch success
cbaines/issue success View issue

Commit Message

jgart Nov. 15, 2022, 4:49 a.m. UTC
* gnu/packages/admin.scm (smem): New variable.
---
 gnu/packages/admin.scm | 44 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 44 insertions(+)

Comments

Christopher Baines Nov. 19, 2022, 2:04 p.m. UTC | #1
<#secure method=pgpmime mode=sign>

jgart via Guix-patches via <guix-patches@gnu.org> writes:

> * gnu/packages/admin.scm (smem): New variable.
> ---
>  gnu/packages/admin.scm | 44 ++++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 44 insertions(+)

Thanks, I've made some tweaks and pushed this to master as
85f4d87b8154238480dc176b77b8c54dde84e1c4.

> +    (source (origin
> +             (method url-fetch)
> +             (uri (string-append "https://selenic.com/repo/smem/archive/"
> +                                 version ".tar.bz2"))
> +             (sha256
> +              (base32
> +               "19ibv1byxf2b68186ysrgrhy5shkc5mc69abark1h18yigp3j34m"))))

As the linter points out, "the source file name should contain the
package name".

> +               (replace 'install
> +                  (lambda _
> +                    (let ((bin (string-append #$output "/bin"))
> +                          (man1 (string-append #$output "/share/man/man8")))
> +                      (install-file "smemcap" bin)
> +                      (install-file "smem" bin)
> +                      (mkdir-p man1)
> +                      (copy-file "smem.8" (string-append man1 "/smem.8"))))))))

I tweaked the indentation above.

> +    (home-page "http://smem.sourceforge.net")

As the linter points out, this page doesn't currently work. As the
source is being fetched from selenic.com, I changed the homepage
accordingly.

> +    (description
> +"This package provides a command line tool that can give numerous reports
> +on memory usage on GNU/Linux systems.")

I also tweaked the indentation above.
diff mbox series

Patch

diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
index ee730ac8e3..f493140ca7 100644
--- a/gnu/packages/admin.scm
+++ b/gnu/packages/admin.scm
@@ -54,6 +54,7 @@ 
 ;;; Copyright © 2022 Andreas Rammhold <andreas@rammhold.de>
 ;;; Copyright © 2022 ( <paren@disroot.org>
 ;;; Copyright © 2022 Matthew James Kraai <kraai@ftbfs.org>
+;;; Copyright © 2022 jgart <jgart@dismail.de>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -730,6 +731,49 @@  (define-public btop
 and processes.")
     (license license:asl2.0)))
 
+(define-public smem
+  (package
+    (name "smem")
+    (version "1.5")
+    (source (origin
+             (method url-fetch)
+             (uri (string-append "https://selenic.com/repo/smem/archive/"
+                                 version ".tar.bz2"))
+             (sha256
+              (base32
+               "19ibv1byxf2b68186ysrgrhy5shkc5mc69abark1h18yigp3j34m"))))
+    (build-system gnu-build-system)
+    (arguments
+     (list #:tests? #f ; There is no test suite.
+           #:make-flags #~(list "smemcap")
+           #:phases
+           #~(modify-phases %standard-phases
+               (delete 'configure)
+               (replace 'build
+                 (lambda _
+                   (let* ((system #$(cond ((target-x86?) "X86")
+                                          ((target-arm?) "ARM")
+                                          ((target-powerpc?) "POWER")
+                                          (else "CROSS_FINGERS"))))
+                     (format #t "Building for ~a~%" system)
+                     (invoke #$(cc-for-target) "-o" "smemcap" "smemcap.c"
+                             "-g" "-Wall" "-D" system))))
+               (replace 'install
+                  (lambda _
+                    (let ((bin (string-append #$output "/bin"))
+                          (man1 (string-append #$output "/share/man/man8")))
+                      (install-file "smemcap" bin)
+                      (install-file "smem" bin)
+                      (mkdir-p man1)
+                      (copy-file "smem.8" (string-append man1 "/smem.8"))))))))
+    (native-inputs (list python-minimal-wrapper))
+    (home-page "http://smem.sourceforge.net")
+    (synopsis "Memory reporting tool")
+    (description
+"This package provides a command line tool that can give numerous reports
+on memory usage on GNU/Linux systems.")
+    (license license:gpl2+)))
+
 (define-public htop
   (package
     (name "htop")