Subject: [bug#49058] [PATCH] gnu: Add duc.

From: Xinglu Chen <[email-masked]>
Date: Fri, 18 Jun 2021 16:25:03 +0200

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.