diff mbox series

[bug#49058] gnu: Add duc.

Message ID 20210616064352.13688-1-brice@waegenei.re
State Accepted
Headers show
Series [bug#49058] gnu: Add duc. | expand

Checks

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

Commit Message

Brice Waegeneire June 16, 2021, 6:43 a.m. UTC
* gnu/packages/disk.scm (duc): New variable.
---
 gnu/packages/disk.scm | 53 +++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 53 insertions(+)

Comments

Xinglu Chen June 18, 2021, 2:25 p.m. UTC | #1
On Wed, Jun 16 2021, Brice Waegeneire wrote:

> +(define-public duc
> +  (package
> +    (name "duc")
> +    (version "1.4.4")
> +    (source (origin
> +              (method git-fetch)
> +              (uri (git-reference
> +                    (url "https://github.com/zevv/duc")
> +                    (commit version)))
> +              (file-name (git-file-name name version))
> +              (sha256
> +               (base32
> +                "1i7ry25xzy027g6ysv6qlf09ax04q4vy0kikl8h0aq5jbxsl9q52"))))
> +    (build-system gnu-build-system)
> +    (arguments
> +     `(#:phases
> +       (modify-phases %standard-phases
> +         (add-after 'unpack 'patch
> +           (lambda* (#:key outputs #:allow-other-keys)
> +             (let* ((out (assoc-ref outputs "out")))
> +               (substitute* "src/duc/cmd-ui.c"
> +                 (("ncursesw/ncurses.h") "ncurses.h"))
> +               (substitute* "examples/index.cgi"
> +                 (("/usr/local/bin/duc")
> +                  (string-append out "/bin/duc")))
> +               #t)))

The trailing #t can be dropped, phases don’t need to end with #t once
the ‘core-updates’ branch gets merged (hopefully soon :)).

> +         (add-after 'install 'install-examples
> +           (lambda* (#:key outputs #:allow-other-keys)
> +             (let* ((out (assoc-ref outputs "out"))
> +                    (doc (string-append out "/share/doc/" ,name "-" ,version)))
> +               (copy-recursively "examples" (string-append doc "/examples"))))))))
> +    (native-inputs
> +     `(("autoconf" ,autoconf)
> +       ("automake" ,automake)
> +       ("libtool" ,libtool)
> +       ("pkg-config" ,pkg-config)))
> +    (inputs
> +     `(("cairo" ,cairo)
> +       ("pango" ,pango)
> +       ("tokyocabinet" ,tokyocabinet)
> +       ("ncurses" ,ncurses)))
> +    (synopsis "Library and suite of tools for inspecting disk usage")
> +    (description " Duc maintains a database of accumulated sizes of
                    ^^
Redundant whitespace

> +directories of the file system, and allows you to query this database with
> +some tools, or create fancy graphs showing you where your bytes are.
> +
> +Duc comes with console utilities, ncurses and X11 user interfaces and a CGI
> +wrapper for disk usage querying and visualisation.")
> +    (license license:lgpl3+)
> +    (home-page "http://duc.zevv.nl")))

Nit: the ‘home-page’ field usually comes before ‘synopsis’

Otherwise, LGTM.
Brice Waegeneire June 19, 2021, 8:10 p.m. UTC | #2
Hello Xinglu,

Thank you for the review!

Xinglu Chen <public@yoctocell.xyz> writes:

> The trailing #t can be dropped, phases don’t need to end with #t once
> the ‘core-updates’ branch gets merged (hopefully soon :)).

Removed.

>> +    (description " Duc maintains a database of accumulated sizes of
>                     ^^
> Redundant whitespace

Fixed.  I wanted to to factorize your checker
`check-no-trailing-whitespace description` to include leading
whitespaces but I didn't find how to does it nicely.

>> +    (license license:lgpl3+)
>> +    (home-page "http://duc.zevv.nl")))
>
> Nit: the ‘home-page’ field usually comes before ‘synopsis’

Moved over synopsis.

> Otherwise, LGTM.

Pused as 9fd9364492b95baf48baf054a326145fde5bc21b.

Cheers,
- Bricec
Xinglu Chen June 19, 2021, 8:52 p.m. UTC | #3
On Sat, Jun 19 2021, Brice Waegeneire wrote:

> Hello Xinglu,
>
> Thank you for the review!

You are welcome!

>>> +    (description " Duc maintains a database of accumulated sizes of
>>                     ^^
>> Redundant whitespace
>
> Fixed.  I wanted to to factorize your checker
> `check-no-trailing-whitespace description` to include leading
> whitespaces but I didn't find how to does it nicely.

Yeah, it would be nice to also make it check for leading whitespace.
diff mbox series

Patch

diff --git a/gnu/packages/disk.scm b/gnu/packages/disk.scm
index ccda71b268..ab9c29f081 100644
--- a/gnu/packages/disk.scm
+++ b/gnu/packages/disk.scm
@@ -20,6 +20,7 @@ 
 ;;; Copyright © 2020 Raghav Gururajan <raghavgururajan@disroot.org>
 ;;; Copyright © 2021 Michael Rohleder <mike@rohleder.de>
 ;;; Copyright © 2021 Mathieu Othacehe <othacehe@gnu.org>
+;;; Copyright © 2021 Brice Waegeneire <brice@waegenei.re>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -46,6 +47,7 @@ 
   #:use-module (gnu packages compression)
   #:use-module (gnu packages crypto)
   #:use-module (gnu packages cryptsetup)
+  #:use-module (gnu packages databases)
   #:use-module (gnu packages docbook)
   #:use-module (gnu packages documentation)
   #:use-module (gnu packages elf)
@@ -1303,3 +1305,54 @@  like raw system image files, can be copied or flashed a lot faster and more
 reliably with @code{bmaptool} than with traditional tools, like @code{dd} or
 @code{cp}.")
     (license license:gpl2)))
+
+(define-public duc
+  (package
+    (name "duc")
+    (version "1.4.4")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/zevv/duc")
+                    (commit version)))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1i7ry25xzy027g6ysv6qlf09ax04q4vy0kikl8h0aq5jbxsl9q52"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out")))
+               (substitute* "src/duc/cmd-ui.c"
+                 (("ncursesw/ncurses.h") "ncurses.h"))
+               (substitute* "examples/index.cgi"
+                 (("/usr/local/bin/duc")
+                  (string-append out "/bin/duc")))
+               #t)))
+         (add-after 'install 'install-examples
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (doc (string-append out "/share/doc/" ,name "-" ,version)))
+               (copy-recursively "examples" (string-append doc "/examples"))))))))
+    (native-inputs
+     `(("autoconf" ,autoconf)
+       ("automake" ,automake)
+       ("libtool" ,libtool)
+       ("pkg-config" ,pkg-config)))
+    (inputs
+     `(("cairo" ,cairo)
+       ("pango" ,pango)
+       ("tokyocabinet" ,tokyocabinet)
+       ("ncurses" ,ncurses)))
+    (synopsis "Library and suite of tools for inspecting disk usage")
+    (description " Duc maintains a database of accumulated sizes of
+directories of the file system, and allows you to query this database with
+some tools, or create fancy graphs showing you where your bytes are.
+
+Duc comes with console utilities, ncurses and X11 user interfaces and a CGI
+wrapper for disk usage querying and visualisation.")
+    (license license:lgpl3+)
+    (home-page "http://duc.zevv.nl")))