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