Subject: Re: [bug#44174] [PATCH 09/16] gnu: Add ghc-tabular.

From: Christopher Baines <[email-masked]>
Date: Sat, 24 Oct 2020 22:38:15 +0100

Carlo Holl <[email-masked]> writes:

> ---
>  gnu/packages/haskell-xyz.scm | 40 ++++++++++++++++++++++++++++++++++++
>  1 file changed, 40 insertions(+)
>
> diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm
> index c4a8d4c208..0cce72e9f5 100644
> --- a/gnu/packages/haskell-xyz.scm
> +++ b/gnu/packages/haskell-xyz.scm
> @@ -12813,6 +12813,46 @@ Unlike the filepath package, this package does not simply reuse String,
>  increasing type safety.")
>      (license license:expat)))
>  
> +(define-public ghc-tabular
> +  (package
> +    (name "ghc-tabular")
> +    (version "0.2.2.8")
> +    (source
> +      (origin
> +        (method url-fetch)
> +        (uri (string-append
> +               "https://hackage.haskell.org/package/tabular/tabular-"
> +               version
> +               ".tar.gz"))
> +        (sha256
> +          (base32
> +            "0z936gh8n8i8qdkagyxwd9gqq13skd5fv013vdvwsibrxkm0czfb"))))
> +    (build-system haskell-build-system)
> +    (inputs
> +      `(("ghc-csv" ,ghc-csv) ("ghc-html" ,ghc-html)))

I'd put each input on it's own line.

> +    (home-page "https://github.com/bgamari/tabular")
> +    (synopsis
> +      "Two-dimensional data tables with rendering functions")
> +    (description "Tabular provides a Haskell representation of
> +two-dimensional data tables, the kind that you might find in a
> +spreadsheet or or a research report.  It also comes with some
> +default rendering functions for turning those tables into ASCII
> +art, simple text with an arbitrary delimiter, CSV, HTML or LaTeX.
> +
> +Below is an example of the kind of output this library produces.
> +The tabular package can group rows and columns, each group having
> +one of three separators (no line, single line, double line) between
> +its members.
> +
> +    || memtest 1 | memtest 2 ||  time test  | time test 2
> +====++===========+===========++=============+============
> +A 1 ||       hog |  terrible ||        slow |      slower
> +A 2 ||       pig |   not bad ||        fast |     slowest
> +----++-----------+-----------++-------------+------------
> +B 1 ||      good |     awful || intolerable |    bearable
> +B 2 ||    better | no chance ||    crawling |     amazing
> +B 3 ||       meh |   well... ||  worst ever |          ok")
> +    (license license:bsd-3)))

I'm not sure if this is semantically the best option, but if you put
@verbatim before this table, and @end verbatim after it, it should
display correctly in ./pre-inst-env guix show ghc-tabular at least.