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

Message ID 87d0oydk8o.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. 15, 2019, 3:16 p.m. UTC
Hello,

On Mon 14 Jan 2019 at 23:13 Ludovic Courtès wrote:

> 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---

It builds correctly for me on 38f18309e1f13b1df9add9dafcbc634f0e15004c
and on 64d25f0be214795050b058047133d11f1d5dcbf5 as well, so I don't
know... But interestingly, I have already seen this error, with
text-1.2.3.0 (when trying to build ghc-conduit-extra for instance).

On the other hand I have removed two dependencies that were specified by
the ~guix import~ command but seemed useless, as it works without them
(ghc-text and ghc-ansi-terminal).

* gnu/packages/haskell.scm (ghc-tldr): New variable.
---
 gnu/packages/haskell.scm | 33 +++++++++++++++++++++++++++++++++
 1 file changed, 33 insertions(+)


Gabriel

Patch

diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index 8d0e2aef6..280d0150f 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -16,6 +16,7 @@ 
 ;;; Copyright © 2018 Tonton <tonton@riseup.net>
 ;;; Copyright © 2018 Timothy Sample <samplet@ngyro.com>
 ;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net>
+;;; Copyright © 2018 Gabriel Hondet <gabrielhondet@gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -11365,4 +11366,36 @@  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-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 client allowing the user to update and view
+@code{tldr} pages from a shell.  The @code{tldr} pages are a community effort
+to simplify the man pages with practical examples.")
+    (license license:bsd-3)))
+
 ;;; haskell.scm ends here
-- 
2.20.1