Subject: [bug#33987] [PATCH] gnu: Add ghc-tldr.

From: Ludovic Courtès <[email-masked]>
Date: Mon, 14 Jan 2019 23:13:38 +0100

Hi,

Gabriel Hondet <[email-masked]> skribis:

> * gnu/packages/haskell.scm (ghc-tldr): New variable.

This fails to build for me on 64d25f0be214795050b058047133d11f1d5dcbf5:

--8<---------------cut here---------------start------------->8---
[1 of 1] Compiling Tldr             ( src/Tldr.hs, dist/build/Tldr.o )

src/Tldr.hs:60:61: error:
    • Couldn't match expected type ‘Text’
                  with actual type ‘text-1.2.3.0:Data.Text.Internal.Text’
      NB: ‘text-1.2.3.0:Data.Text.Internal.Text’
            is defined in ‘Data.Text.Internal’ in package ‘text-1.2.3.0’
          ‘Text’ is defined in ‘Data.Text.Internal’ in package ‘text-1.2.3.0’
    • In the second argument of ‘TIO.hPutStrLn’, namely ‘txt’
      In the expression: TIO.hPutStrLn handle txt
      In an equation for ‘renderNode’:
          renderNode (TEXT txt) handle = TIO.hPutStrLn handle txt
   |
60 | renderNode (TEXT txt) handle         = TIO.hPutStrLn handle txt
   |                                                             ^^^

src/Tldr.hs:61:61: error:
    • Couldn't match expected type ‘Text’
                  with actual type ‘text-1.2.3.0:Data.Text.Internal.Text’
      NB: ‘text-1.2.3.0:Data.Text.Internal.Text’
            is defined in ‘Data.Text.Internal’ in package ‘text-1.2.3.0’
          ‘Text’ is defined in ‘Data.Text.Internal’ in package ‘text-1.2.3.0’
    • In the second argument of ‘TIO.hPutStrLn’, namely ‘txt’
      In the expression: TIO.hPutStrLn handle txt
      In an equation for ‘renderNode’:
          renderNode (HTML_BLOCK txt) handle = TIO.hPutStrLn handle txt
   |
61 | renderNode (HTML_BLOCK txt) handle   = TIO.hPutStrLn handle txt
   |                                                             ^^^

src/Tldr.hs:62:61: error:
    • Couldn't match expected type ‘Text’
                  with actual type ‘text-1.2.3.0:Data.Text.Internal.Text’
      NB: ‘text-1.2.3.0:Data.Text.Internal.Text’
            is defined in ‘Data.Text.Internal’ in package ‘text-1.2.3.0’
          ‘Text’ is defined in ‘Data.Text.Internal’ in package ‘text-1.2.3.0’
    • In the second argument of ‘TIO.hPutStrLn’, namely ‘txt’
      In the expression: TIO.hPutStrLn handle txt
      In an equation for ‘renderNode’:
          renderNode (CODE_BLOCK _ txt) handle = TIO.hPutStrLn handle txt
   |
62 | renderNode (CODE_BLOCK _ txt) handle = TIO.hPutStrLn handle txt
   |                                                             ^^^

src/Tldr.hs:63:61: error:
    • Couldn't match expected type ‘Text’
                  with actual type ‘text-1.2.3.0:Data.Text.Internal.Text’
      NB: ‘text-1.2.3.0:Data.Text.Internal.Text’
            is defined in ‘Data.Text.Internal’ in package ‘text-1.2.3.0’
          ‘Text’ is defined in ‘Data.Text.Internal’ in package ‘text-1.2.3.0’
    • In the second argument of ‘TIO.hPutStrLn’, namely ‘txt’
      In the expression: TIO.hPutStrLn handle txt
      In an equation for ‘renderNode’:
          renderNode (HTML_INLINE txt) handle = TIO.hPutStrLn handle txt
   |
63 | renderNode (HTML_INLINE txt) handle  = TIO.hPutStrLn handle txt
   |                                                             ^^^

src/Tldr.hs:64:62: error:
    • Couldn't match expected type ‘Text’
                  with actual type ‘text-1.2.3.0:Data.Text.Internal.Text’
      NB: ‘text-1.2.3.0:Data.Text.Internal.Text’
            is defined in ‘Data.Text.Internal’ in package ‘text-1.2.3.0’
          ‘Text’ is defined in ‘Data.Text.Internal’ in package ‘text-1.2.3.0’
    • In the second argument of ‘TIO.hPutStrLn’, namely
        ‘("   " <> txt)’
      In the expression: TIO.hPutStrLn handle ("   " <> txt)
      In an equation for ‘renderNode’:
          renderNode (CODE txt) handle = TIO.hPutStrLn handle ("   " <> txt)
   |
64 | renderNode (CODE txt) handle         = TIO.hPutStrLn handle ("   " <> txt)
   |                                                              ^^^^^^^^^^^^

src/Tldr.hs:87:41: error:
    • Couldn't match expected type ‘Text’
                  with actual type ‘text-1.2.3.0:Data.Text.Internal.Text’
      NB: ‘text-1.2.3.0:Data.Text.Internal.Text’
            is defined in ‘Data.Text.Internal’ in package ‘text-1.2.3.0’
          ‘Text’ is defined in ‘Data.Text.Internal’ in package ‘text-1.2.3.0’
    • In the expression: txt
      In an equation for ‘handleSubsetNodeType’:
          handleSubsetNodeType (HTML_BLOCK txt) = txt
   |
87 | handleSubsetNodeType (HTML_BLOCK txt) = txt
   |                                         ^^^

src/Tldr.hs:88:43: error:
    • Couldn't match expected type ‘Text’
                  with actual type ‘text-1.2.3.0:Data.Text.Internal.Text’
      NB: ‘text-1.2.3.0:Data.Text.Internal.Text’
            is defined in ‘Data.Text.Internal’ in package ‘text-1.2.3.0’
          ‘Text’ is defined in ‘Data.Text.Internal’ in package ‘text-1.2.3.0’
    • In the expression: txt
      In an equation for ‘handleSubsetNodeType’:
          handleSubsetNodeType (CODE_BLOCK _ txt) = txt
   |
88 | handleSubsetNodeType (CODE_BLOCK _ txt) = txt
   |                                           ^^^

src/Tldr.hs:89:35: error:
    • Couldn't match expected type ‘Text’
                  with actual type ‘text-1.2.3.0:Data.Text.Internal.Text’
      NB: ‘text-1.2.3.0:Data.Text.Internal.Text’
            is defined in ‘Data.Text.Internal’ in package ‘text-1.2.3.0’
          ‘Text’ is defined in ‘Data.Text.Internal’ in package ‘text-1.2.3.0’
    • In the expression: txt
      In an equation for ‘handleSubsetNodeType’:
          handleSubsetNodeType (TEXT txt) = txt
   |
89 | handleSubsetNodeType (TEXT txt) = txt
   |                                   ^^^

src/Tldr.hs:90:42: error:
    • Couldn't match expected type ‘Text’
                  with actual type ‘text-1.2.3.0:Data.Text.Internal.Text’
      NB: ‘text-1.2.3.0:Data.Text.Internal.Text’
            is defined in ‘Data.Text.Internal’ in package ‘text-1.2.3.0’
          ‘Text’ is defined in ‘Data.Text.Internal’ in package ‘text-1.2.3.0’
    • In the expression: txt
      In an equation for ‘handleSubsetNodeType’:
          handleSubsetNodeType (HTML_INLINE txt) = txt
   |
90 | handleSubsetNodeType (HTML_INLINE txt) = txt
   |                                          ^^^

src/Tldr.hs:91:35: error:
    • Couldn't match expected type ‘Text’
                  with actual type ‘text-1.2.3.0:Data.Text.Internal.Text’
      NB: ‘text-1.2.3.0:Data.Text.Internal.Text’
            is defined in ‘Data.Text.Internal’ in package ‘text-1.2.3.0’
          ‘Text’ is defined in ‘Data.Text.Internal’ in package ‘text-1.2.3.0’
    • In the expression: txt
      In an equation for ‘handleSubsetNodeType’:
          handleSubsetNodeType (CODE txt) = txt
   |
91 | handleSubsetNodeType (CODE txt) = txt
   |                                   ^^^

src/Tldr.hs:114:34: error:
    • Couldn't match expected type ‘text-1.2.3.0:Data.Text.Internal.Text’
                  with actual type ‘Text’
      NB: ‘Text’
            is defined in ‘Data.Text.Internal’ in package ‘text-1.2.3.0’
          ‘text-1.2.3.0:Data.Text.Internal.Text’
            is defined in ‘Data.Text.Internal’ in package ‘text-1.2.3.0’
    • In the second argument of ‘commonmarkToNode’, namely ‘page’
      In the expression: commonmarkToNode [] page
      In an equation for ‘node’: node = commonmarkToNode [] page
    |
114 |   let node = commonmarkToNode [] page
    |                                  ^^^^
--8<---------------cut here---------------end--------------->8---

Also, some minor issues:

> +    (home-page
> +     "https://github.com/psibi/tldr-hs#readme")
> +    (synopsis "Haskell tldr client")
> +    (description
> +     "Haskell tldr client with support for updating and viewing tldr pages.")

Please write a full sentence for the description.  It’s also a good idea
to write “a client library for the tldr foo bar service” rather than
just “tldr client”, to give a bit of context (replace “foo bar” with
whatever makes sense, of course :-)).

Could you send an updated patch?

Thanks,
Ludo’.