guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH] Haskell packages towards Pandoc.


From: Ricardo Wurmus
Subject: [PATCH] Haskell packages towards Pandoc.
Date: Thu, 26 Nov 2015 17:14:53 +0100

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

>From f7cce09deb7d6734ffbb394e4ba06ba6bad32b73 Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus <address@hidden>
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

>From a8b3b93be82ad6a5e5b6931727afbd6730080eb5 Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus <address@hidden>
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

>From 09c818a249ac8fbe9a5fc8ae122f095a21ace836 Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus <address@hidden>
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
address@hidden function which can be used for
+providing an 'rnf' implementation.")
+    (license bsd-3)))
+
 (define-public idris
   (package
     (name "idris")
-- 
2.1.0

>From edf06f10528504365abf3bf75f660488586a8324 Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus <address@hidden>
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

>From 0f9ec74aeae87aa2974a645a70f0a0dc5f726073 Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus <address@hidden>
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

>From f6b0d3dcc669877770c6941003fbe9d0e02b0503 Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus <address@hidden>
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
address@hidden")
+    (license bsd-3)))
+
 (define-public idris
   (package
     (name "idris")
-- 
2.1.0

>From e9d388fde14640a8234e5f3932cc8735236a036c Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus <address@hidden>
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

>From f2ca430eebb2b3788b0f9290ed16f4d324ebb00d Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus <address@hidden>
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

>From a5f3aa0eab6c43031ad1072075cf5e50d3817093 Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus <address@hidden>
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

>From aab6383c6db36ea7637b07a7fcd123b8e09cdccc Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus <address@hidden>
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

>From 2fe5549cafddb19706b262bac34b9ad6daad3c68 Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus <address@hidden>
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

>From bc0cf1c7a0f92e27f71c4b9fd44b40afec731cc2 Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus <address@hidden>
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

>From 214b3bda472558fa4abe0cc78a06e9dc8b3a6c83 Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus <address@hidden>
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

>From 742842d631a1a10806a78ee1925aea3069233a54 Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus <address@hidden>
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
address@hidden syntax trees} (ASTs).")
+    (license bsd-3)))
+
 (define-public idris
   (package
     (name "idris")
-- 
2.1.0

>From 698c41ca77466f33c42daa236c1c41f658d667db Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus <address@hidden>
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

>From e0d3a7b558967593db571994adfc4166d3c10ede Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus <address@hidden>
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

>From d78eb9ddda87967dad46a0b252c323257dc8df9c Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus <address@hidden>
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

>From be6eb5d37110673c2276c1a024b05f3899063ed9 Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus <address@hidden>
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 via email to

[Prev in Thread] Current Thread [Next in Thread]