Subject: Re: [bug#31999] [PATCH 3/7] gnu: Add libbytesize.

From: Marius Bakke <[email-masked]>
Date: Mon, 30 Jul 2018 20:42:25 +0200

Pierre Neidhardt <[email-masked]> writes:

> * gnu/package/c.scm (libbytesize): New variable.

[...]

> +(define-public libbytesize
> +  (package
> +    (name "libbytesize")
> +    (version "1.3")
> +    (source (origin
> +              (method url-fetch)
> +              (uri (string-append
> +                    "https://github.com/storaged-project/libbytesize/archive/"
> +                    version ".tar.gz"))
> +              (file-name (string-append name "-" version "-checkout"))
> +              (sha256
> +               (base32
> +                "0pfm1d0cpm3l0f17n567fhfh9dxjn9y59pgjajgsagp0nc0lmf2x"))))

Please use the release tarball instead of a git checkout:
https://github.com/storaged-project/libbytesize/releases/download/1.3/libbytesize-1.3.tar.gz

> +    (build-system gnu-build-system)
> +    (native-inputs
> +     `(("autoconf" ,autoconf)
> +       ("automake" ,automake)
> +       ("libtool" ,libtool)
> +       ("gettext" ,gettext-minimal)

...then you can (probably) remove these inputs as well.

Apart from that LGTM!

> +       ("pkg-config" ,pkg-config)
> +       ("python" ,python)))
> +    (inputs
> +     `(("mpfr" ,mpfr)
> +       ("pcre" ,pcre)))
> +    ;; One test fails because busctl (systemd only?) and python2-pocketlint
> +    ;; are missing.  Should we fix it, we would need the "python-2" ,
> +    ;; "python2-polib" and "python2-six" native-inputs.
> +    (arguments `(#:tests? #f))
> +    (home-page "https://github.com/storaged-project/libbytesize")
> +    (synopsis "Tiny C library for working with arbitrary big sizes in bytes")
> +    (description
> +     "The goal of this project is to provide a tiny library that would
> +facilitate the common operations with sizes in bytes.  Many projects need to
> +work with sizes in bytes (be it sizes of storage space, memory...) and all of
> +them need to deal with the same issues like:
> +
> +@itemize
> +@item How to get a human-readable string for the given size?
> +@item How to store the given size so that no significant information is lost?
> +@item If we store the size in bytes, what if the given size gets over the
> +MAXUINT64 value?
> +@item How to interpret sizes entered by users according to their locale and
> +typing conventions?
> +@item How to deal with the decimal/binary units (MB versus MiB) ambiguity?
> +@end itemize
> +
> +@code{libbytesize} offers a generally usable solution that could be used by
> +every project that needs to deal with sizes in bytes.  It is written in the C
> +language with thin bindings for other languages.")
> +    (license license:lgpl2.1+)))
> -- 
> 2.18.0