all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Ricardo Wurmus <ricardo.wurmus@mdc-berlin.de>
To: guix-devel <guix-devel@gnu.org>
Subject: [PATCH] Haskell packages towards Pandoc.
Date: Thu, 26 Nov 2015 17:14:53 +0100	[thread overview]
Message-ID: <idjtwo8agaq.fsf@bimsb-sys02.mdc-berlin.net> (raw)

[-- Attachment #1: Type: text/plain, Size: 269 bytes --]

Hi Guix,

I wanted to package Pandoc (because it’s popular on its own and used by
the popular rmarkdown R package) and went down the Haskell rabbit hole.

Here’s a first collection of patches and new packages that I gathered on
the way down.

~~ Ricardo


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-gnu-ghc-haskell-src-exts-Propagate-some-inputs.patch --]
[-- Type: text/x-patch, Size: 1738 bytes --]

From f7cce09deb7d6734ffbb394e4ba06ba6bad32b73 Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus <ricardo.wurmus@mdc-berlin.de>
Date: Thu, 26 Nov 2015 17:01:01 +0100
Subject: [PATCH 01/18] gnu: ghc-haskell-src-exts: Propagate some inputs.

* gnu/packages/haskell.scm (ghc-haskell-src-exts)[inputs]: Remove field.
[propagated-inputs]: Move "cpphs", "ghc-mtl", "ghc-happy", and "ghc-syb"
from inputs field here.
[native-inputs]: Move "ghc-smallcheck", "ghc-tasty",
"ghc-tasty-smallcheck", and "ghc-tasty-golden" from inputs field here.
---
 gnu/packages/haskell.scm | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index 137f6e9..fb3dca9 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -765,15 +765,16 @@ Happy works in a similar way to the yacc tool for C.")
         (base32
          "1h8gjw5g92rvvzadqzpscg73x7ajvs1wlphrh27afim3scdd8frz"))))
     (build-system haskell-build-system)
-    (inputs
+    (propagated-inputs
      `(("cpphs" ,cpphs)
        ("ghc-mtl" ,ghc-mtl)
-       ("ghc-smallcheck" ,ghc-smallcheck)
-       ("ghc-tasty" ,ghc-tasty)
        ("ghc-happy" ,ghc-happy)
-       ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
-       ("ghc-tasty-golden" ,ghc-tasty-golden)
        ("ghc-syb" ,ghc-syb)))
+    (native-inputs
+     `(("ghc-smallcheck" ,ghc-smallcheck)
+       ("ghc-tasty" ,ghc-tasty)
+       ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
+       ("ghc-tasty-golden" ,ghc-tasty-golden)))
     (home-page "https://github.com/haskell-suite/haskell-src-exts")
     (synopsis "Library for manipulating Haskell source")
     (description "Haskell-Source with Extensions (HSE, haskell-src-exts) is an
-- 
2.1.0


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #3: 0002-gnu-ghc-aeson-Propagate-input.patch --]
[-- Type: text/x-patch, Size: 1111 bytes --]

From a8b3b93be82ad6a5e5b6931727afbd6730080eb5 Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus <ricardo.wurmus@mdc-berlin.de>
Date: Thu, 26 Nov 2015 17:02:42 +0100
Subject: [PATCH 02/18] gnu: ghc-aeson: Propagate input.

* gnu/packages/haskell.scm (ghc-aeson)[inputs]: Move
  "ghc-unordered-containers" from here ...
[propagated-inputs]: ... to here.
---
 gnu/packages/haskell.scm | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index fb3dca9..7731e24 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -4811,11 +4811,11 @@ notation}.")
        ("ghc-mtl" ,ghc-mtl)
        ("ghc-scientific" ,ghc-scientific)
        ("ghc-syb" ,ghc-syb)
+       ("ghc-unordered-containers" ,ghc-unordered-containers)
        ("ghc-vector" ,ghc-vector)))
     (inputs
      `(("ghc-hashable" ,ghc-hashable)
        ("ghc-text" ,ghc-text)
-       ("ghc-unordered-containers" ,ghc-unordered-containers)
        ("ghc-hunit" ,ghc-hunit)
        ("ghc-quickcheck" ,ghc-quickcheck)))
     (home-page "https://github.com/bos/aeson")
-- 
2.1.0


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #4: 0003-gnu-Add-ghc-deepseq-generics.patch --]
[-- Type: text/x-patch, Size: 2003 bytes --]

From 09c818a249ac8fbe9a5fc8ae122f095a21ace836 Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus <ricardo.wurmus@mdc-berlin.de>
Date: Thu, 26 Nov 2015 17:03:55 +0100
Subject: [PATCH 03/18] gnu: Add ghc-deepseq-generics.

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

diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index 7731e24..5ebc1f1 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -4941,6 +4941,39 @@ communication between web applications and web servers.")
 functionality.")
     (license expat)))
 
+(define-public ghc-deepseq-generics
+  (package
+    (name "ghc-deepseq-generics")
+    (version "0.1.1.2")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "http://hackage.haskell.org/package/"
+                                  "deepseq-generics/deepseq-generics-"
+                                  version ".tar.gz"))
+              (sha256
+               (base32
+                "01pvigx8n9p8hwbzp2qiq6kzf7cxiam843jz2sjgliacmmp1v7l3"))))
+    (build-system haskell-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'relax-ghc-prim-dependency
+          (lambda _
+            (substitute* "deepseq-generics.cabal"
+              (("< 0.4") "< 0.5"))
+            #t)))))
+    (native-inputs
+     `(("ghc-hunit" ,ghc-hunit)
+       ("ghc-test-framework" ,ghc-test-framework)
+       ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
+    (home-page "https://github.com/hvr/deepseq-generics")
+    (synopsis "Generic RNF implementation")
+    (description
+     "This package provides a @code{GHC.Generics}-based
+@code{Control.DeepSeq.Generics.genericRnf} function which can be used for
+providing an 'rnf' implementation.")
+    (license bsd-3)))
+
 (define-public idris
   (package
     (name "idris")
-- 
2.1.0


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #5: 0004-gnu-Add-ghc-pandoc-types.patch --]
[-- Type: text/x-patch, Size: 1732 bytes --]

From edf06f10528504365abf3bf75f660488586a8324 Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus <ricardo.wurmus@mdc-berlin.de>
Date: Thu, 26 Nov 2015 17:04:19 +0100
Subject: [PATCH 04/18] gnu: Add ghc-pandoc-types.

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

diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index 5ebc1f1..587250d 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -4974,6 +4974,31 @@ functionality.")
 providing an 'rnf' implementation.")
     (license bsd-3)))
 
+(define-public ghc-pandoc-types
+  (package
+    (name "ghc-pandoc-types")
+    (version "1.12.4.7")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "http://hackage.haskell.org/package/"
+                                  "pandoc-types/pandoc-types-"
+                                  version ".tar.gz"))
+              (sha256
+               (base32
+                "108n11kbdaj2ii3cyf0xczhsx90p1gjbxwqp1f0wyn2m3cls632n"))))
+    (build-system haskell-build-system)
+    (propagated-inputs
+     `(("ghc-syb" ,ghc-syb)
+       ("ghc-aeson" ,ghc-aeson)
+       ("ghc-deepseq-generics" ,ghc-deepseq-generics)))
+    (home-page "http://johnmacfarlane.net/pandoc")
+    (synopsis "Types for representing a structured document")
+    (description
+     "This module defines the @code{Pandoc} data structure, which is used by
+pandoc to represent structured documents.  It also provides functions for
+building up, manipulating and serialising @code{Pandoc} structures.")
+    (license bsd-3)))
+
 (define-public idris
   (package
     (name "idris")
-- 
2.1.0


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #6: 0005-gnu-Add-ghc-texmath.patch --]
[-- Type: text/x-patch, Size: 2639 bytes --]

From 0f9ec74aeae87aa2974a645a70f0a0dc5f726073 Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus <ricardo.wurmus@mdc-berlin.de>
Date: Thu, 26 Nov 2015 17:05:13 +0100
Subject: [PATCH 05/18] gnu: Add ghc-texmath.

* gnu/packages/haskell.scm (ghc-texmath): New variable.
---
 gnu/packages/haskell.scm | 37 ++++++++++++++++++++++++++++++++++++-
 1 file changed, 36 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index 587250d..c97dd00 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -21,7 +21,9 @@
 
 (define-module (gnu packages haskell)
   #:use-module (ice-9 regex)
-  #:use-module ((guix licenses) #:select (bsd-3 lgpl2.1 lgpl2.1+ gpl3+ expat))
+  #:use-module ((guix licenses) #:select (bsd-3
+                                          lgpl2.1 lgpl2.1+ gpl2+ gpl3+
+                                          expat))
   #:use-module (guix packages)
   #:use-module (guix download)
   #:use-module (guix utils)
@@ -4999,6 +5001,39 @@ pandoc to represent structured documents.  It also provides functions for
 building up, manipulating and serialising @code{Pandoc} structures.")
     (license bsd-3)))
 
+(define-public ghc-texmath
+  (package
+    (name "ghc-texmath")
+    (version "0.8.4")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "http://hackage.haskell.org/package/"
+                                  "texmath/texmath-" version ".tar.gz"))
+              (sha256
+               (base32
+                "15821jg64fbr4rwaglp5ksah6q8qqz1vkjxlqp6d3bbb1rj8v2ri"))))
+    (build-system haskell-build-system)
+    (propagated-inputs
+     `(("ghc-syb" ,ghc-syb)
+       ("ghc-network-uri" ,ghc-network-uri)
+       ("ghc-split" ,ghc-split)
+       ("ghc-temporary" ,ghc-temporary)
+       ("ghc-utf8-string" ,ghc-utf8-string)
+       ("ghc-xml" ,ghc-xml)
+       ("ghc-parsec" ,ghc-parsec)
+       ("ghc-mtl" ,ghc-mtl)
+       ("ghc-pandoc-types" ,ghc-pandoc-types)))
+    (home-page "http://github.com/jgm/texmath")
+    (synopsis "Conversion between formats used to represent mathematics")
+    (description
+     "The texmath library provides functions to read and write TeX math,
+presentation MathML, and OMML (Office Math Markup Language, used in Microsoft
+Office).  Support is also included for converting math formats to pandoc's
+native format (allowing conversion, via pandoc, to a variety of different
+markup formats).  The TeX reader supports basic LaTeX and AMS extensions, and
+it can parse and apply LaTeX macros.")
+    (license gpl2+)))
+
 (define-public idris
   (package
     (name "idris")
-- 
2.1.0


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #7: 0006-gnu-Add-ghc-regex-pcre-builtin.patch --]
[-- Type: text/x-patch, Size: 1714 bytes --]

From f6b0d3dcc669877770c6941003fbe9d0e02b0503 Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus <ricardo.wurmus@mdc-berlin.de>
Date: Thu, 26 Nov 2015 17:05:32 +0100
Subject: [PATCH 06/18] gnu: Add ghc-regex-pcre-builtin.

* gnu/packages/haskell.scm (ghc-regex-pcre-builtin): New variable.
---
 gnu/packages/haskell.scm | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index c97dd00..2cc6661 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -5034,6 +5034,29 @@ markup formats).  The TeX reader supports basic LaTeX and AMS extensions, and
 it can parse and apply LaTeX macros.")
     (license gpl2+)))
 
+(define-public ghc-regex-pcre-builtin
+  (package
+    (name "ghc-regex-pcre-builtin")
+    (version "0.94.4.8.8.35")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "http://hackage.haskell.org/package/"
+                                  "regex-pcre-builtin/regex-pcre-builtin-"
+                                  version ".tar.gz"))
+              (sha256
+               (base32
+                "0y7as9wqlkykpipka2cfdhmcnin345q01pp0wsva8fwmvsavdl8b"))))
+    (build-system haskell-build-system)
+    (propagated-inputs
+     `(("ghc-regex-base" ,ghc-regex-base)))
+    (home-page "http://hackage.haskell.org/package/regex-pcre")
+    (synopsis "Enhancement of the builtin Text.Regex library")
+    (description
+     "This package is an enhancement of the Text.Regex library, providing the
+PCRE backend to accompany regex-base, with bundled code from
+@url{www.pcre.org}.")
+    (license bsd-3)))
+
 (define-public idris
   (package
     (name "idris")
-- 
2.1.0


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #8: 0007-gnu-Add-ghc-diff.patch --]
[-- Type: text/x-patch, Size: 1415 bytes --]

From e9d388fde14640a8234e5f3932cc8735236a036c Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus <ricardo.wurmus@mdc-berlin.de>
Date: Thu, 26 Nov 2015 17:05:59 +0100
Subject: [PATCH 07/18] gnu: Add ghc-diff.

* gnu/packages/haskell.scm (ghc-diff): Add variable.
---
 gnu/packages/haskell.scm | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index 2cc6661..26d7277 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -5057,6 +5057,25 @@ PCRE backend to accompany regex-base, with bundled code from
 @url{www.pcre.org}.")
     (license bsd-3)))
 
+(define-public ghc-diff
+  (package
+    (name "ghc-diff")
+    (version "0.3.2")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "http://hackage.haskell.org/package/"
+                                  "Diff/Diff-" version ".tar.gz"))
+              (sha256
+               (base32
+                "13iqqmpadcm7fvqwbfrz94w030rvjh66w2bdls1253128ac2n0vz"))))
+    (build-system haskell-build-system)
+    (home-page "http://hub.darcs.net/sterlingclover/Diff")
+    (synopsis "O(ND) diff algorithm in Haskell.")
+    (description
+     "This package provides an implementation of the standard diff algorithm,
+and utilities for pretty printing.")
+    (license bsd-3)))
+
 (define-public idris
   (package
     (name "idris")
-- 
2.1.0


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #9: 0008-gnu-Add-ghc-highlighting-kate.patch --]
[-- Type: text/x-patch, Size: 2122 bytes --]

From f2ca430eebb2b3788b0f9290ed16f4d324ebb00d Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus <ricardo.wurmus@mdc-berlin.de>
Date: Thu, 26 Nov 2015 17:06:22 +0100
Subject: [PATCH 08/18] gnu: Add ghc-highlighting-kate.

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

diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index 26d7277..77339b1 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -5076,6 +5076,38 @@ PCRE backend to accompany regex-base, with bundled code from
 and utilities for pretty printing.")
     (license bsd-3)))
 
+(define-public ghc-highlighting-kate
+  (package
+    (name "ghc-highlighting-kate")
+    (version "0.6")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "http://hackage.haskell.org/package/"
+                                  "highlighting-kate/highlighting-kate-"
+                                  version ".tar.gz"))
+              (sha256
+               (base32
+                "16334fbiyq6017zbgc59qc00h0bk24xh4dcrbqx63dvf72ac37dk"))))
+    (build-system haskell-build-system)
+    (propagated-inputs
+     `(("ghc-diff" ,ghc-diff)
+       ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)))
+    (native-inputs
+     `(("ghc-parsec" ,ghc-parsec)
+       ("ghc-blaze-html" ,ghc-blaze-html)
+       ("ghc-utf8-string" ,ghc-utf8-string)
+       ("ghc-mtl" ,ghc-mtl)))
+    (home-page "http://github.com/jgm/highlighting-kate")
+    (synopsis "Syntax highlighting library")
+    (description
+     "Highlighting-kate is a syntax highlighting library with support for
+nearly one hundred languages.  The syntax parsers are automatically generated
+from Kate syntax descriptions (@url{http://kate-editor.org/}), so any syntax
+supported by Kate can be added.  An (optional) command-line program is
+provided, along with a utility for generating new parsers from Kate XML syntax
+descriptions.")
+    (license gpl2+)))
+
 (define-public idris
   (package
     (name "idris")
-- 
2.1.0


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #10: 0009-gnu-Add-ghc-cmark.patch --]
[-- Type: text/x-patch, Size: 1733 bytes --]

From a5f3aa0eab6c43031ad1072075cf5e50d3817093 Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus <ricardo.wurmus@mdc-berlin.de>
Date: Thu, 26 Nov 2015 17:06:42 +0100
Subject: [PATCH 09/18] gnu: Add ghc-cmark.

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

diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index 77339b1..746bf0b 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -5108,6 +5108,31 @@ provided, along with a utility for generating new parsers from Kate XML syntax
 descriptions.")
     (license gpl2+)))
 
+(define-public ghc-cmark
+  (package
+    (name "ghc-cmark")
+    (version "0.4.1")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "http://hackage.haskell.org/package/"
+                                  "cmark/cmark-" version ".tar.gz"))
+              (sha256
+               (base32
+                "0c134qh65viaq4q6pv7bnnr5wchzivg94nv0dj8pc1326sx0dw12"))))
+    (build-system haskell-build-system)
+    (propagated-inputs
+     `(("ghc-text" ,ghc-text)))
+    (native-inputs
+     `(("ghc-hunit" ,ghc-hunit)))
+    (home-page "https://github.com/jgm/commonmark-hs")
+    (synopsis "Fast, accurate CommonMark (Markdown) parser and renderer")
+    (description
+     "This package provides Haskell bindings for
+libcmark (@url{https://github.com/jgm/cmark}), the reference parser for
+CommonMark, a fully specified variant of Markdown.  It includes sources for
+libcmark (0.21.0) and does not require prior installation of the C library.")
+    (license bsd-3)))
+
 (define-public idris
   (package
     (name "idris")
-- 
2.1.0


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #11: 0010-gnu-Add-ghc-executable-path.patch --]
[-- Type: text/x-patch, Size: 2138 bytes --]

From aab6383c6db36ea7637b07a7fcd123b8e09cdccc Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus <ricardo.wurmus@mdc-berlin.de>
Date: Thu, 26 Nov 2015 17:07:08 +0100
Subject: [PATCH 10/18] gnu: Add ghc-executable-path.

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

diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index 746bf0b..6902e77 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -23,6 +23,7 @@
   #:use-module (ice-9 regex)
   #:use-module ((guix licenses) #:select (bsd-3
                                           lgpl2.1 lgpl2.1+ gpl2+ gpl3+
+                                          public-domain
                                           expat))
   #:use-module (guix packages)
   #:use-module (guix download)
@@ -5133,6 +5134,28 @@ CommonMark, a fully specified variant of Markdown.  It includes sources for
 libcmark (0.21.0) and does not require prior installation of the C library.")
     (license bsd-3)))
 
+(define-public ghc-executable-path
+  (package
+    (name "ghc-executable-path")
+    (version "0.0.3")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "http://hackage.haskell.org/package/"
+                                  "executable-path/executable-path-"
+                                  version ".tar.gz"))
+              (sha256
+               (base32
+                "1jg58qf19qz93c60ryglcavwdcysz4fd4qn8kpw5im9w9kniawlc"))))
+    (build-system haskell-build-system)
+    (home-page "http://hackage.haskell.org/package/executable-path")
+    (synopsis "Find out the full path of the executable")
+    (description
+     "The documentation of @code{System.Environment.getProgName} says that
+\"However, this is hard-to-impossible to implement on some non-Unix OSes, so
+instead, for maximum portability, we just return the leafname of the program
+as invoked.\" This library tries to provide the missing path.")
+    (license public-domain)))
+
 (define-public idris
   (package
     (name "idris")
-- 
2.1.0


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #12: 0011-gnu-Add-ghc-enclosed-exceptions.patch --]
[-- Type: text/x-patch, Size: 2018 bytes --]

From 2fe5549cafddb19706b262bac34b9ad6daad3c68 Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus <ricardo.wurmus@mdc-berlin.de>
Date: Thu, 26 Nov 2015 17:07:29 +0100
Subject: [PATCH 11/18] gnu: Add ghc-enclosed-exceptions.

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

diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index 6902e77..3167c0a 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -5156,6 +5156,35 @@ instead, for maximum portability, we just return the leafname of the program
 as invoked.\" This library tries to provide the missing path.")
     (license public-domain)))
 
+(define-public ghc-enclosed-exceptions
+  (package
+    (name "ghc-enclosed-exceptions")
+    (version "1.0.1.1")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "http://hackage.haskell.org/package/"
+                                  "enclosed-exceptions/enclosed-exceptions-"
+                                  version ".tar.gz"))
+              (sha256
+               (base32
+                "16ax1kqdsk4apg642qxkm2hf9vb5hzmkd14zmkxra8ssp8rn28z5"))))
+    (build-system haskell-build-system)
+    (propagated-inputs
+     `(("ghc-lifted-base" ,ghc-lifted-base)
+       ("ghc-monad-control" ,ghc-monad-control)
+       ("ghc-async" ,ghc-async)
+       ("ghc-transformers-base" ,ghc-transformers-base)))
+    (native-inputs
+     `(("ghc-hspec" ,ghc-hspec)
+       ("ghc-quickcheck" ,ghc-quickcheck)))
+    (home-page "https://github.com/jcristovao/enclosed-exceptions")
+    (synopsis "Catch all exceptions from within an enclosed computation")
+    (description
+     "This library implements a technique to catch all exceptions raised
+within an enclosed computation, while remaining responsive to (external)
+asynchronous exceptions.")
+    (license expat)))
+
 (define-public idris
   (package
     (name "idris")
-- 
2.1.0


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #13: 0012-gnu-Add-ghc-packedstring.patch --]
[-- Type: text/x-patch, Size: 1852 bytes --]

From bc0cf1c7a0f92e27f71c4b9fd44b40afec731cc2 Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus <ricardo.wurmus@mdc-berlin.de>
Date: Thu, 26 Nov 2015 17:07:55 +0100
Subject: [PATCH 12/18] gnu: Add ghc-packedstring.

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

diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index 3167c0a..c54b17a 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -5185,6 +5185,35 @@ within an enclosed computation, while remaining responsive to (external)
 asynchronous exceptions.")
     (license expat)))
 
+(define-public ghc-packedstring
+  (package
+    (name "ghc-packedstring")
+    (version "0.1.0.1")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "http://hackage.haskell.org/package/"
+                                  "packedstring/packedstring-"
+                                  version ".tar.gz"))
+              (sha256
+               (base32
+                "1x78pzzdlnpcmh9p37rlf8m5cxf3yqm2alf3whl4zpr9w25r0qj8"))))
+    (build-system haskell-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'enable-extension
+          (lambda _
+            ;; This package won't compile without the StandaloneDeriving
+            ;; extension.
+            (substitute* "packedstring.cabal"
+              (("CPP") "CPP, StandaloneDeriving"))
+            #t)))))
+    (home-page "http://hackage.haskell.org/package/packedstring")
+    (synopsis "Library for packed strings")
+    (description
+     "This deprecated library provides an implementation of packed strings.")
+    (license bsd-3)))
+
 (define-public idris
   (package
     (name "idris")
-- 
2.1.0


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #14: 0013-gnu-Add-ghc-th-lift.patch --]
[-- Type: text/x-patch, Size: 1513 bytes --]

From 214b3bda472558fa4abe0cc78a06e9dc8b3a6c83 Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus <ricardo.wurmus@mdc-berlin.de>
Date: Thu, 26 Nov 2015 17:08:12 +0100
Subject: [PATCH 13/18] gnu: Add ghc-th-lift.

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

diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index c54b17a..1361982 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -5214,6 +5214,27 @@ asynchronous exceptions.")
      "This deprecated library provides an implementation of packed strings.")
     (license bsd-3)))
 
+(define-public ghc-th-lift
+  (package
+    (name "ghc-th-lift")
+    (version "0.7.5")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "http://hackage.haskell.org/package/"
+                                  "th-lift/th-lift-" version ".tar.gz"))
+              (sha256
+               (base32
+                "13xdkk1chdghf059sfx8d3d8r0mj1dbzdi5kf2zf0mjmz3qq7m7k"))))
+    (build-system haskell-build-system)
+    (propagated-inputs
+     `(("ghc-packedstring" ,ghc-packedstring)))
+    (home-page "http://github.com/mboes/th-lift")
+    (synopsis "Derive Template Haskell's Lift class for datatypes")
+    (description
+     "This is a Haskell library to derive Template Haskell's Lift class for
+datatypes.")
+    (license bsd-3)))
+
 (define-public idris
   (package
     (name "idris")
-- 
2.1.0


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #15: 0014-gnu-Add-ghc-th-expand-syns.patch --]
[-- Type: text/x-patch, Size: 1550 bytes --]

From 742842d631a1a10806a78ee1925aea3069233a54 Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus <ricardo.wurmus@mdc-berlin.de>
Date: Thu, 26 Nov 2015 17:08:34 +0100
Subject: [PATCH 14/18] gnu: Add ghc-th-expand-syns.

* gnu/packages/haskell.scm (ghc-th-expand-syns): New variable.
---
 gnu/packages/haskell.scm | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index 1361982..f95f576 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -5235,6 +5235,28 @@ asynchronous exceptions.")
 datatypes.")
     (license bsd-3)))
 
+(define-public ghc-th-expand-syns
+  (package
+    (name "ghc-th-expand-syns")
+    (version "0.3.0.6")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "http://hackage.haskell.org/package/"
+                                  "th-expand-syns/th-expand-syns-"
+                                  version ".tar.gz"))
+              (sha256
+               (base32
+                "03qv93pyqk8all39knsf0mzmbfdck5x61kqnyn8rbisw5c1ymx6j"))))
+    (build-system haskell-build-system)
+    (propagated-inputs
+     `(("ghc-syb" ,ghc-syb)))
+    (home-page "http://hackage.haskell.org/package/th-expand-syns")
+    (synopsis "Expands type synonyms in Template Haskell ASTs")
+    (description
+     "This package enables users to expand type synonyms in Template Haskell
+@dfn{abstract syntax trees} (ASTs).")
+    (license bsd-3)))
+
 (define-public idris
   (package
     (name "idris")
-- 
2.1.0


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #16: 0015-gnu-Add-ghc-th-reify-many.patch --]
[-- Type: text/x-patch, Size: 1783 bytes --]

From 698c41ca77466f33c42daa236c1c41f658d667db Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus <ricardo.wurmus@mdc-berlin.de>
Date: Thu, 26 Nov 2015 17:08:57 +0100
Subject: [PATCH 15/18] gnu: Add ghc-th-reify-many.

* gnu/packages/haskell.scm (ghc-th-reify-many): New variable.
---
 gnu/packages/haskell.scm | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index f95f576..6fbfb75 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -5257,6 +5257,32 @@ datatypes.")
 @dfn{abstract syntax trees} (ASTs).")
     (license bsd-3)))
 
+(define-public ghc-th-reify-many
+  (package
+    (name "ghc-th-reify-many")
+    (version "0.1.3")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "http://hackage.haskell.org/package/"
+                                  "th-reify-many/th-reify-many-"
+                                  version ".tar.gz"))
+              (sha256
+               (base32
+                "00hryljcs434wcv1vaamfdbjk857f46djxv7mlwplkl3zsmfhlfx"))))
+    (build-system haskell-build-system)
+    (propagated-inputs
+     `(("ghc-mtl" ,ghc-mtl)
+       ("ghc-safe" ,ghc-safe)
+       ("ghc-th-expand-syns" ,ghc-th-expand-syns)))
+    (home-page "http://github.com/mgsloan/th-reify-many")
+    (synopsis "Recurseively reify template haskell datatype info")
+    (description
+     "th-reify-many provides functions for recursively reifying top level
+declarations.  The main intended use case is for enumerating the names of
+datatypes reachable from an initial datatype, and passing these names to some
+function which generates instances.")
+    (license bsd-3)))
+
 (define-public idris
   (package
     (name "idris")
-- 
2.1.0


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #17: 0016-gnu-Add-ghc-th-orphans.patch --]
[-- Type: text/x-patch, Size: 1945 bytes --]

From e0d3a7b558967593db571994adfc4166d3c10ede Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus <ricardo.wurmus@mdc-berlin.de>
Date: Thu, 26 Nov 2015 17:09:23 +0100
Subject: [PATCH 16/18] gnu: Add ghc-th-orphans.

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

diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index 6fbfb75..ca96832 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -5283,6 +5283,34 @@ datatypes reachable from an initial datatype, and passing these names to some
 function which generates instances.")
     (license bsd-3)))
 
+(define-public ghc-th-orphans
+  (package
+    (name "ghc-th-orphans")
+    (version "0.13.0")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "http://hackage.haskell.org/package/"
+                                  "th-orphans/th-orphans-" version ".tar.gz"))
+              (sha256
+               (base32
+                "105y03bxh0a2r69l603i7md17gg1vxs1jj1n40pn5q486lmfxbmx"))))
+    (build-system haskell-build-system)
+    (propagated-inputs
+     `(("ghc-th-lift" ,ghc-th-lift)
+       ("ghc-th-reify-many" ,ghc-th-reify-many)
+       ("ghc-mtl" ,ghc-mtl)
+       ("ghc-generic-deriving" ,ghc-generic-deriving)))
+    (native-inputs
+     `(("ghc-hspec" ,ghc-hspec)))
+    (home-page "http://hackage.haskell.org/package/th-orphans")
+    (synopsis "Orphan instances for TH datatypes")
+    (description
+     "This package provides orphan instances for Template Haskell datatypes.  In particular,
+instances for @code{Ord} and @code{Lift}, as well as a few missing @code{Show}
+and @code{Eq} instances.  These instances used to live in the haskell-src-meta
+package, and that's where the version number started.")
+    (license bsd-3)))
+
 (define-public idris
   (package
     (name "idris")
-- 
2.1.0


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #18: 0017-gnu-Add-ghc-haskell-src-meta.patch --]
[-- Type: text/x-patch, Size: 1749 bytes --]

From d78eb9ddda87967dad46a0b252c323257dc8df9c Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus <ricardo.wurmus@mdc-berlin.de>
Date: Thu, 26 Nov 2015 17:09:52 +0100
Subject: [PATCH 17/18] gnu: Add ghc-haskell-src-meta.

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

diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index ca96832..01057d7 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -5311,6 +5311,30 @@ and @code{Eq} instances.  These instances used to live in the haskell-src-meta
 package, and that's where the version number started.")
     (license bsd-3)))
 
+(define-public ghc-haskell-src-meta
+  (package
+    (name "ghc-haskell-src-meta")
+    (version "0.6.0.12")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "http://hackage.haskell.org/package/"
+                                  "haskell-src-meta/haskell-src-meta-"
+                                  version ".tar.gz"))
+              (sha256
+               (base32
+                "1mzbfrfvl6pj8068w3m6alzry1403ir1gmz3czg66n5z198l4dql"))))
+    (build-system haskell-build-system)
+    (propagated-inputs
+     `(("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
+       ("ghc-syb" ,ghc-syb)
+       ("ghc-th-orphans" ,ghc-th-orphans)))
+    (home-page "http://hackage.haskell.org/package/haskell-src-meta")
+    (synopsis "Parse source to template-haskell abstract syntax")
+    (description
+     "This package provides tools to parse Haskell sources to the
+template-haskell abstract syntax.")
+    (license bsd-3)))
+
 (define-public idris
   (package
     (name "idris")
-- 
2.1.0


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #19: 0018-gnu-Add-ghc-aeson-qq.patch --]
[-- Type: text/x-patch, Size: 1943 bytes --]

From be6eb5d37110673c2276c1a024b05f3899063ed9 Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus <ricardo.wurmus@mdc-berlin.de>
Date: Thu, 26 Nov 2015 17:10:16 +0100
Subject: [PATCH 18/18] gnu: Add ghc-aeson-qq.

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

diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index 01057d7..ecd687b 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -5335,6 +5335,37 @@ package, and that's where the version number started.")
 template-haskell abstract syntax.")
     (license bsd-3)))
 
+(define-public ghc-aeson-qq
+  (package
+    (name "ghc-aeson-qq")
+    (version "0.8.1")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "http://hackage.haskell.org/package/"
+                                  "aeson-qq/aeson-qq-" version ".tar.gz"))
+              (sha256
+               (base32
+                "1z8kh3qjc4khadz1ijdqm7fbk7dh17sisqhpwd3c9aibj2927k9d"))))
+    (build-system haskell-build-system)
+    (propagated-inputs
+     `(("ghc-base-compat" ,ghc-base-compat)
+       ("ghc-text" ,ghc-text)
+       ("ghc-attoparsec" ,ghc-attoparsec)
+       ("ghc-scientific" ,ghc-scientific)
+       ("ghc-vector" ,ghc-vector)
+       ("ghc-aeson" ,ghc-aeson)
+       ("ghc-parsec" ,ghc-parsec)
+       ("ghc-haskell-src-meta" ,ghc-haskell-src-meta)))
+    (native-inputs
+     `(("ghc-hspec" ,ghc-hspec)))
+    (home-page "http://github.com/zalora/aeson-qq")
+    (synopsis "JSON quasiquoter for Haskell")
+    (description
+     "aeson-qq provides a JSON quasiquoter for Haskell.  This package exposes
+the function @code{aesonQQ} that compile-time converts a string representation
+of a JSON value into a @code{Data.Aeson.Value}.")
+    (license expat)))
+
 (define-public idris
   (package
     (name "idris")
-- 
2.1.0


             reply	other threads:[~2015-11-26 16:15 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-11-26 16:14 Ricardo Wurmus [this message]
2015-11-28 15:49 ` [PATCH] Haskell packages towards Pandoc Ludovic Courtès

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=idjtwo8agaq.fsf@bimsb-sys02.mdc-berlin.net \
    --to=ricardo.wurmus@mdc-berlin.de \
    --cc=guix-devel@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.