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

Message ID 878szz8fzn.fsf@gmail.com
State Accepted
Headers show
Series [bug#33987] gnu: Add ghc-tldr. | expand

Checks

Context Check Description
cbaines/applying patch fail Apply failed

Commit Message

Gabriel Hondet Jan. 5, 2019, 12:05 p.m. UTC
* gnu/packages/haskell.scm (ghc-tldr): New variable.
---
 gnu/packages/haskell.scm | 33 +++++++++++++++++++++++++++++++++
 1 file changed, 33 insertions(+)

Comments

Ludovic Courtès Jan. 14, 2019, 10:13 p.m. UTC | #1
Hi,

Gabriel Hondet <gabrielhondet@gmail.com> 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’.

Patch

diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index 8d0e2aef6..9a05f2a5c 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -11365,4 +11365,37 @@  embedded in your Haskell code.")
 avoid the problem of partial intermediate files.")
     (license license:expat)))
 
+(define-public ghc-tldr
+  (package
+    (name "ghc-tldr")
+    (version "0.4.0.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "https://hackage.haskell.org/package/tldr/tldr-"
+             version
+             ".tar.gz"))
+       (sha256
+        (base32
+         "0nc581y9jjzwd8l88g48c72mla7k6q1w102akl7gl5jsk9ljamd3"))))
+    (build-system haskell-build-system)
+    (inputs
+     `(("ghc-cmark" ,ghc-cmark)
+       ("ghc-text" ,ghc-text)
+       ("ghc-ansi-terminal" ,ghc-ansi-terminal)
+       ("ghc-optparse-applicative"
+        ,ghc-optparse-applicative)
+       ("ghc-typed-process" ,ghc-typed-process)
+       ("ghc-semigroups" ,ghc-semigroups)))
+    (native-inputs
+     `(("ghc-tasty" ,ghc-tasty)
+       ("ghc-tasty-golden" ,ghc-tasty-golden)))
+    (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.")
+    (license license:bsd-3)))
+
 ;;; haskell.scm ends here