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

From: Marius Bakke <[email-masked]>
Date: Thu, 12 Jul 2018 22:20:43 +0200

Pierre Neidhardt <[email-masked]> writes:

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

[...]

> +    (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 vs. MiB) ambiguity?
> +@end itemize
> +
> +Some projects have all the above questions/concerns addressed well, some have
> +them addressed partially some simply don't care.  However, having (partial)
> +solutions implemented in multiple places every time with a different set of
> +bugs, differences in behaviour and this or that missing is a waste of time and
> +effort.  We need a generally usable solution that could be used by every
> +project that needs to deal with sizes in bytes.
> +
> +Since the goal is to provide a solution as much generally usable as possible
> +the implementation has to be small, fast and written in a language that can be
> +easily interfaced from other languages.  The current obvious choice is the C
> +language with thin bindings for other languages.")

Woah.  I wonder if we should shorten this a bit (for once!).  It's a lot
to digest for the curious user.  Can you try to provide a summary?  :-)