From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ricardo Wurmus Subject: [PATCH] Haskell packages towards Pandoc. Date: Thu, 26 Nov 2015 17:14:53 +0100 Message-ID: Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:44544) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1a1zCR-0003GB-5q for guix-devel@gnu.org; Thu, 26 Nov 2015 11:15:18 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1a1zCN-0007sy-07 for guix-devel@gnu.org; Thu, 26 Nov 2015 11:15:11 -0500 Received: from sinope.bbbm.mdc-berlin.de ([141.80.25.23]:39351) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1a1zCM-0007oq-88 for guix-devel@gnu.org; Thu, 26 Nov 2015 11:15:06 -0500 Received: from localhost (localhost [127.0.0.1]) by sinope.bbbm.mdc-berlin.de (Postfix) with ESMTP id 592232808A4 for ; Thu, 26 Nov 2015 17:15:04 +0100 (CET) Received: from sinope.bbbm.mdc-berlin.de ([127.0.0.1]) by localhost (sinope.bbbm.mdc-berlin.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id eTbPnxe00vt5 for ; Thu, 26 Nov 2015 17:14:55 +0100 (CET) Received: from HTCAONE.mdc-berlin.net (mab.citx.mdc-berlin.de [141.80.36.102]) by sinope.bbbm.mdc-berlin.de (Postfix) with ESMTP for ; Thu, 26 Nov 2015 17:14:54 +0100 (CET) List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org To: guix-devel --=-=-= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Hi Guix, I wanted to package Pandoc (because it=E2=80=99s popular on its own and u= sed by the popular rmarkdown R package) and went down the Haskell rabbit hole. Here=E2=80=99s a first collection of patches and new packages that I gath= ered on the way down. ~~ Ricardo --=-=-= Content-Type: text/x-patch Content-Disposition: inline; filename="0001-gnu-ghc-haskell-src-exts-Propagate-some-inputs.patch" >From f7cce09deb7d6734ffbb394e4ba06ba6bad32b73 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus 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 --=-=-= Content-Type: text/x-patch Content-Disposition: inline; filename="0002-gnu-ghc-aeson-Propagate-input.patch" >From a8b3b93be82ad6a5e5b6931727afbd6730080eb5 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus 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 --=-=-= Content-Type: text/x-patch Content-Disposition: inline; filename="0003-gnu-Add-ghc-deepseq-generics.patch" >From 09c818a249ac8fbe9a5fc8ae122f095a21ace836 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus 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 --=-=-= Content-Type: text/x-patch Content-Disposition: inline; filename="0004-gnu-Add-ghc-pandoc-types.patch" >From edf06f10528504365abf3bf75f660488586a8324 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus 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 --=-=-= Content-Type: text/x-patch Content-Disposition: inline; filename="0005-gnu-Add-ghc-texmath.patch" >From 0f9ec74aeae87aa2974a645a70f0a0dc5f726073 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus 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 --=-=-= Content-Type: text/x-patch Content-Disposition: inline; filename="0006-gnu-Add-ghc-regex-pcre-builtin.patch" >From f6b0d3dcc669877770c6941003fbe9d0e02b0503 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus 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 --=-=-= Content-Type: text/x-patch Content-Disposition: inline; filename="0007-gnu-Add-ghc-diff.patch" >From e9d388fde14640a8234e5f3932cc8735236a036c Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus 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 --=-=-= Content-Type: text/x-patch Content-Disposition: inline; filename="0008-gnu-Add-ghc-highlighting-kate.patch" >From f2ca430eebb2b3788b0f9290ed16f4d324ebb00d Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus 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 --=-=-= Content-Type: text/x-patch Content-Disposition: inline; filename="0009-gnu-Add-ghc-cmark.patch" >From a5f3aa0eab6c43031ad1072075cf5e50d3817093 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus 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 --=-=-= Content-Type: text/x-patch Content-Disposition: inline; filename="0010-gnu-Add-ghc-executable-path.patch" >From aab6383c6db36ea7637b07a7fcd123b8e09cdccc Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus 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 --=-=-= Content-Type: text/x-patch Content-Disposition: inline; filename="0011-gnu-Add-ghc-enclosed-exceptions.patch" >From 2fe5549cafddb19706b262bac34b9ad6daad3c68 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus 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 --=-=-= Content-Type: text/x-patch Content-Disposition: inline; filename="0012-gnu-Add-ghc-packedstring.patch" >From bc0cf1c7a0f92e27f71c4b9fd44b40afec731cc2 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus 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 --=-=-= Content-Type: text/x-patch Content-Disposition: inline; filename="0013-gnu-Add-ghc-th-lift.patch" >From 214b3bda472558fa4abe0cc78a06e9dc8b3a6c83 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus 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 --=-=-= Content-Type: text/x-patch Content-Disposition: inline; filename="0014-gnu-Add-ghc-th-expand-syns.patch" >From 742842d631a1a10806a78ee1925aea3069233a54 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus 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 --=-=-= Content-Type: text/x-patch Content-Disposition: inline; filename="0015-gnu-Add-ghc-th-reify-many.patch" >From 698c41ca77466f33c42daa236c1c41f658d667db Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus 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 --=-=-= Content-Type: text/x-patch Content-Disposition: inline; filename="0016-gnu-Add-ghc-th-orphans.patch" >From e0d3a7b558967593db571994adfc4166d3c10ede Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus 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 --=-=-= Content-Type: text/x-patch Content-Disposition: inline; filename="0017-gnu-Add-ghc-haskell-src-meta.patch" >From d78eb9ddda87967dad46a0b252c323257dc8df9c Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus 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 --=-=-= Content-Type: text/x-patch Content-Disposition: inline; filename="0018-gnu-Add-ghc-aeson-qq.patch" >From be6eb5d37110673c2276c1a024b05f3899063ed9 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus 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 --=-=-=--